mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.7 KiB
65 lines
1.7 KiB
/* |
|
* Copyright © 2010 ST Microelectronics |
|
* Shiraz Hashim <[email protected]> |
|
* |
|
* This file is licensed under the terms of the GNU General Public |
|
* License version 2. This program is licensed "as is" without any |
|
* warranty of any kind, whether express or implied. |
|
*/ |
|
|
|
#ifndef __MTD_SPEAR_SMI_H |
|
#define __MTD_SPEAR_SMI_H |
|
|
|
#include <linux/types.h> |
|
#include <linux/mtd/mtd.h> |
|
#include <linux/mtd/partitions.h> |
|
#include <linux/platform_device.h> |
|
#include <linux/of.h> |
|
|
|
/* max possible slots for serial-nor flash chip in the SMI controller */ |
|
#define MAX_NUM_FLASH_CHIP 4 |
|
|
|
/* macro to define partitions for flash devices */ |
|
#define DEFINE_PARTS(n, of, s) \ |
|
{ \ |
|
.name = n, \ |
|
.offset = of, \ |
|
.size = s, \ |
|
} |
|
|
|
/** |
|
* struct spear_smi_flash_info - platform structure for passing flash |
|
* information |
|
* |
|
* name: name of the serial nor flash for identification |
|
* mem_base: the memory base on which the flash is mapped |
|
* size: size of the flash in bytes |
|
* partitions: parition details |
|
* nr_partitions: number of partitions |
|
* fast_mode: whether flash supports fast mode |
|
*/ |
|
|
|
struct spear_smi_flash_info { |
|
char *name; |
|
unsigned long mem_base; |
|
unsigned long size; |
|
struct mtd_partition *partitions; |
|
int nr_partitions; |
|
u8 fast_mode; |
|
}; |
|
|
|
/** |
|
* struct spear_smi_plat_data - platform structure for configuring smi |
|
* |
|
* clk_rate: clk rate at which SMI must operate |
|
* num_flashes: number of flashes present on board |
|
* board_flash_info: specific details of each flash present on board |
|
*/ |
|
struct spear_smi_plat_data { |
|
unsigned long clk_rate; |
|
int num_flashes; |
|
struct spear_smi_flash_info *board_flash_info; |
|
struct device_node *np[MAX_NUM_FLASH_CHIP]; |
|
}; |
|
|
|
#endif /* __MTD_SPEAR_SMI_H */
|
|
|