| /*********************************************** | |
| *****Storage config of board, for ACS use.***** | |
| ***********************************************/ | |
| #ifndef __STORAGE_H | |
| #define __STORAGE_H | |
| #include <linux/types.h> | |
| #include <asm/arch/romboot.h> | |
| #ifndef __ASSEMBLY__ | |
| //Partition table defines | |
| #define NAND_PART_SIZE_FULL -1 | |
| #define MAX_PART_NUM 16 | |
| #define MAX_PART_NAME_LEN 16 | |
| //#define SZ_1M 0x100000 | |
| #define STORE_CODE 1 | |
| #define STORE_CACHE (1<<1) | |
| #define STORE_DATA (1<<2) | |
| #define SPI_BOOT_FLAG 0 | |
| #define NAND_BOOT_FLAG 1 | |
| #define EMMC_BOOT_FLAG 2 | |
| #define CARD_BOOT_FLAG 3 | |
| #define SPI_NAND_FLAG 4 | |
| #define SPI_EMMC_FLAG 5 | |
| #define CARD_TYPE_SHIFT 4 | |
| #define CARD_TYPE_MASK 0xf | |
| #define CARD_TYPE_UNKNOWN 0 /* unknown */ | |
| //#define CARD_TYPE_MMC 1 /* MMC card */ | |
| //#define CARD_TYPE_SD 2 /* SD card */ | |
| #define CARD_TYPE_SDIO 3 /* SDIO card */ | |
| #define CARD_TYPE_SD_COMBO 4 /* SD combo (IO+mem) card */ | |
| #define CARD_TYPE_NON_SDIO 5 /* NON sdio device (means SD/MMC card) */ | |
| #define AML_GET_CARD_TYPE(val, port) ((val >> (port * CARD_TYPE_SHIFT)) & CARD_TYPE_MASK) | |
| #define AML_SET_CARD_TYPE(val, port, type) \ | |
| (val |= ((type & CARD_TYPE_MASK) << (port * CARD_TYPE_SHIFT))) | |
| /* storage device */ | |
| #define STORAGE_DEV_NOSET (0) | |
| #define STORAGE_DEV_EMMC (1) | |
| #define STORAGE_DEV_NAND (2) | |
| #define STORAGE_DEV_SPI (3) | |
| #define STORAGE_DEV_SDCARD (4) | |
| #define STORAGE_DEV_USB (5) | |
| struct partitions { | |
| char name[MAX_PART_NAME_LEN]; /* identifier string */ | |
| uint64_t size; /* partition size */ | |
| uint64_t offset; /* offset within the master space */ | |
| unsigned mask_flags; /* master flags to mask out for this partition */ | |
| }; | |
| struct config_nand { | |
| unsigned enable_slc; | |
| unsigned order_ce; | |
| unsigned reserved[2]; | |
| }; | |
| struct config_mmc { | |
| unsigned type; | |
| unsigned port; | |
| unsigned reserved[2]; | |
| }; | |
| struct store_config { | |
| unsigned store_device_flag; // indicate storage devices on each board | |
| struct config_nand nand_configs; // specital config for nand | |
| struct config_mmc mmc_configs; // specital config for mmc | |
| }; | |
| #endif | |
| #endif |