diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/configs/exynos5250-dt.h | 11 | ||||
| -rw-r--r-- | include/configs/origen.h | 2 | ||||
| -rw-r--r-- | include/configs/smdkv310.h | 2 | ||||
| -rw-r--r-- | include/configs/trats.h | 17 | ||||
| -rw-r--r-- | include/dwmmc.h | 3 | ||||
| -rw-r--r-- | include/fdtdec.h | 1 | ||||
| -rw-r--r-- | include/mmc.h | 26 | 
7 files changed, 56 insertions, 6 deletions
| diff --git a/include/configs/exynos5250-dt.h b/include/configs/exynos5250-dt.h index 8a82892f4..9b97d4fb0 100644 --- a/include/configs/exynos5250-dt.h +++ b/include/configs/exynos5250-dt.h @@ -93,13 +93,15 @@  #define CONFIG_EXTRA_ENV_SETTINGS \  	EXYNOS_DEVICE_SETTINGS -#define TZPC_BASE_OFFSET		0x10000 -  /* SD/MMC configuration */  #define CONFIG_GENERIC_MMC  #define CONFIG_MMC  #define CONFIG_SDHCI  #define CONFIG_S5P_SDHCI +#define CONFIG_DWMMC +#define CONFIG_EXYNOS_DWMMC +#define CONFIG_SUPPORT_EMMC_BOOT +  #define CONFIG_BOARD_EARLY_INIT_F @@ -232,6 +234,10 @@  #define SPI_FLASH_UBOOT_POS		(CONFIG_SEC_FW_SIZE + CONFIG_BL1_SIZE)  #define CONFIG_DOS_PARTITION +#define CONFIG_EFI_PARTITION +#define CONFIG_CMD_PART +#define CONFIG_PARTITION_UUIDS +  #define CONFIG_IRAM_STACK	0x02050000 @@ -262,6 +268,7 @@  #define CONFIG_CMD_SF  #define CONFIG_CMD_SPI  #define CONFIG_SPI_FLASH_WINBOND +#define CONFIG_SPI_FLASH_GIGADEVICE  #define CONFIG_SF_DEFAULT_MODE		SPI_MODE_0  #define CONFIG_SF_DEFAULT_SPEED		50000000  #define EXYNOS5_SPI_NUM_CONTROLLERS	5 diff --git a/include/configs/origen.h b/include/configs/origen.h index ff2b24d97..e179911d0 100644 --- a/include/configs/origen.h +++ b/include/configs/origen.h @@ -96,6 +96,8 @@  #define CONFIG_SPL  #define COPY_BL2_FNPTR_ADDR	0x02020030 +#define CONFIG_SPL_TEXT_BASE	0x02021410 +  #define CONFIG_BOOTCOMMAND	"fatload mmc 0 40007000 uImage; bootm 40007000"  /* Miscellaneous configurable options */ diff --git a/include/configs/smdkv310.h b/include/configs/smdkv310.h index b796b46a7..5e430660f 100644 --- a/include/configs/smdkv310.h +++ b/include/configs/smdkv310.h @@ -95,6 +95,8 @@  #define CONFIG_SPL  #define COPY_BL2_FNPTR_ADDR	0x00002488 +#define CONFIG_SPL_TEXT_BASE	0x02021410 +  #define CONFIG_BOOTCOMMAND	"fatload mmc 0 40007000 uImage; bootm 40007000"  /* Miscellaneous configurable options */ diff --git a/include/configs/trats.h b/include/configs/trats.h index fd58558be..c70838b91 100644 --- a/include/configs/trats.h +++ b/include/configs/trats.h @@ -146,7 +146,8 @@  #define CONFIG_DFU_ALT \  	"u-boot mmc 80 400;" \ -	"uImage ext4 0 2\0" \ +	"uImage ext4 0 2;" \ +	"exynos4210-trats.dtb ext4 0 2\0"  #define CONFIG_ENV_OVERWRITE  #define CONFIG_SYS_CONSOLE_INFO_QUIET @@ -154,7 +155,7 @@  #define CONFIG_EXTRA_ENV_SETTINGS \  	"bootk=" \ -		"run loaduimage; bootm 0x40007FC0\0" \ +		"run loaddtb; run loaduimage; bootm 0x40007FC0 - ${fdtaddr}\0" \  	"updatemmc=" \  		"mmc boot 0 1 1 1; mmc write 0 0x42008000 0 0x200;" \  		"mmc boot 0 1 1 0\0" \ @@ -177,7 +178,7 @@  	"mmcboot=" \  		"setenv bootargs root=/dev/mmcblk${mmcdev}p${mmcrootpart} " \  		"${lpj} rootwait ${console} ${meminfo} ${opts} ${lcdinfo}; " \ -		"run loaduimage; bootm 0x40007FC0\0" \ +		"run loaddtb; run loaduimage; bootm 0x40007FC0 - ${fdtaddr}\0" \  	"bootchart=setenv opts init=/sbin/bootchartd; run bootcmd\0" \  	"boottrace=setenv opts initcall_debug; run bootcmd\0" \  	"mmcoops=mmc read 0 0x40000000 0x40 8; md 0x40000000 0x400\0" \ @@ -188,6 +189,8 @@  	"nfsroot=/nfsroot/arm\0" \  	"bootblock=" CONFIG_BOOTBLOCK "\0" \  	"loaduimage=ext4load mmc ${mmcdev}:${mmcbootpart} 0x40007FC0 uImage\0" \ +	"loaddtb=ext4load mmc ${mmcdev}:${mmcbootpart} ${fdtaddr}" \ +		"${fdtfile}\0" \  	"mmcdev=0\0" \  	"mmcbootpart=2\0" \  	"mmcrootpart=5\0" \ @@ -212,7 +215,10 @@  		   " /${splfile} ${spl_imgaddr} ${spl_imgsize};" \  		   "setenv spl_imgsize;" \  		   "setenv spl_imgaddr;" \ -		   "setenv spl_addr_tmp;\0" +		   "setenv spl_addr_tmp;\0" \ +	"fdtaddr=40800000\0" \ +	"fdtfile=exynos4210-trats.dtb\0" +  /* Miscellaneous configurable options */  #define CONFIG_SYS_LONGHELP		/* undef to save memory */ @@ -322,4 +328,7 @@  #define CONFIG_USB_GADGET_MASS_STORAGE  #endif +/* Pass open firmware flat tree */ +#define CONFIG_OF_LIBFDT    1 +  #endif	/* __CONFIG_H */ diff --git a/include/dwmmc.h b/include/dwmmc.h index c8b1d408e..e142f3ec4 100644 --- a/include/dwmmc.h +++ b/include/dwmmc.h @@ -123,6 +123,8 @@  #define MSIZE(x)		((x) << 28)  #define RX_WMARK(x)		((x) << 16)  #define TX_WMARK(x)		(x) +#define RX_WMARK_SHIFT		16 +#define RX_WMARK_MASK		(0xfff << RX_WMARK_SHIFT)  #define DWMCI_IDMAC_OWN		(1 << 31)  #define DWMCI_IDMAC_CH		(1 << 4) @@ -144,6 +146,7 @@ struct dwmci_host {  	unsigned int bus_hz;  	int dev_index;  	int buswidth; +	u32 clksel_val;  	u32 fifoth_val;  	struct mmc *mmc; diff --git a/include/fdtdec.h b/include/fdtdec.h index 4e8032ba6..bc3b89bc0 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -89,6 +89,7 @@ enum fdt_compat_id {  	COMPAT_SAMSUNG_EXYNOS_TMU,	/* Exynos TMU */  	COMPAT_SAMSUNG_EXYNOS_FIMD,	/* Exynos Display controller */  	COMPAT_SAMSUNG_EXYNOS5_DP,	/* Exynos Display port controller */ +	COMPAT_SAMSUNG_EXYNOS5_DWMMC,	/* Exynos5 DWMMC controller */  	COMPAT_MAXIM_MAX77686_PMIC,	/* MAX77686 PMIC */  	COMPAT_GENERIC_SPI_FLASH,	/* Generic SPI Flash chip */  	COMPAT_MAXIM_98095_CODEC,	/* MAX98095 Codec */ diff --git a/include/mmc.h b/include/mmc.h index 566db59ac..f88f672f1 100644 --- a/include/mmc.h +++ b/include/mmc.h @@ -93,6 +93,11 @@  #define MMC_CMD_APP_CMD			55  #define MMC_CMD_SPI_READ_OCR		58  #define MMC_CMD_SPI_CRC_ON_OFF		59 +#define MMC_CMD_RES_MAN			62 + +#define MMC_CMD62_ARG1			0xefac62ec +#define MMC_CMD62_ARG2			0xcbaea7 +  #define SD_CMD_SEND_RELATIVE_ADDR	3  #define SD_CMD_SWITCH_FUNC		6 @@ -160,6 +165,7 @@   */  #define EXT_CSD_PARTITIONING_SUPPORT	160	/* RO */  #define EXT_CSD_ERASE_GROUP_DEF		175	/* R/W */ +#define EXT_CSD_BOOT_BUS_WIDTH		177  #define EXT_CSD_PART_CONF		179	/* R/W */  #define EXT_CSD_BUS_WIDTH		183	/* R/W */  #define EXT_CSD_HS_TIMING		185	/* R/W */ @@ -184,6 +190,16 @@  #define EXT_CSD_BUS_WIDTH_4	1	/* Card is in 4 bit mode */  #define EXT_CSD_BUS_WIDTH_8	2	/* Card is in 8 bit mode */ +#define EXT_CSD_BOOT_ACK_ENABLE			(1 << 6) +#define EXT_CSD_BOOT_PARTITION_ENABLE		(1 << 3) +#define EXT_CSD_PARTITION_ACCESS_ENABLE		(1 << 0) +#define EXT_CSD_PARTITION_ACCESS_DISABLE	(0 << 0) + +#define EXT_CSD_BOOT_ACK(x)		(x << 6) +#define EXT_CSD_BOOT_PART_NUM(x)	(x << 3) +#define EXT_CSD_PARTITION_ACCESS(x)	(x << 0) + +  #define R1_ILLEGAL_COMMAND		(1 << 22)  #define R1_APP_CMD			(1 << 5) @@ -211,6 +227,11 @@  /* Maximum block size for MMC */  #define MMC_MAX_BLOCK_LEN	512 +/* The number of MMC physical partitions.  These consist of: + * boot partitions (2), general purpose partitions (4) in MMC v4.4. + */ +#define MMC_NUM_BOOT_PARTITION	2 +  struct mmc_cid {  	unsigned long psn;  	unsigned short oid; @@ -291,6 +312,11 @@ int mmc_switch_part(int dev_num, unsigned int part_num);  int mmc_getcd(struct mmc *mmc);  int mmc_getwp(struct mmc *mmc);  void spl_mmc_load(void) __noreturn; +/* Function to change the size of boot partition and rpmb partitions */ +int mmc_boot_partition_size_change(struct mmc *mmc, unsigned long bootsize, +					unsigned long rpmbsize); +/* Function to send commands to open/close the specified boot partition */ +int mmc_boot_part_access(struct mmc *mmc, u8 ack, u8 part_num, u8 access);  /**   * Start device initialization and return immediately; it does not block on |