icorem6: Add mmc_late_init
Let the runtime code can set the mmcdev and mmcroot based on the devno using mmc_get_env_dev instead of defining separately in build-time configs using mmc_late_init func. Cc: Stefano Babic <sbabic@denx.de> Cc: Matteo Lisi <matteo.lisi@engicam.com> Cc: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
This commit is contained in:
		
							parent
							
								
									32dcfcec56
								
							
						
					
					
						commit
						040143afe4
					
				| 
						 | 
					@ -7,6 +7,7 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <common.h>
 | 
					#include <common.h>
 | 
				
			||||||
 | 
					#include <mmc.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <asm/io.h>
 | 
					#include <asm/io.h>
 | 
				
			||||||
#include <asm/gpio.h>
 | 
					#include <asm/gpio.h>
 | 
				
			||||||
| 
						 | 
					@ -205,12 +206,33 @@ int board_early_init_f(void)
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef CONFIG_ENV_IS_IN_MMC
 | 
				
			||||||
 | 
					static void mmc_late_init(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char cmd[32];
 | 
				
			||||||
 | 
						char mmcblk[32];
 | 
				
			||||||
 | 
						u32 dev_no = mmc_get_env_dev();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						setenv_ulong("mmcdev", dev_no);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* Set mmcblk env */
 | 
				
			||||||
 | 
						sprintf(mmcblk, "/dev/mmcblk%dp2 rootwait rw", dev_no);
 | 
				
			||||||
 | 
						setenv("mmcroot", mmcblk);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						sprintf(cmd, "mmc dev %d", dev_no);
 | 
				
			||||||
 | 
						run_command(cmd, 0);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int board_late_init(void)
 | 
					int board_late_init(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	switch ((imx6_src_get_boot_mode() & IMX6_BMODE_MASK) >>
 | 
						switch ((imx6_src_get_boot_mode() & IMX6_BMODE_MASK) >>
 | 
				
			||||||
			IMX6_BMODE_SHIFT) {
 | 
								IMX6_BMODE_SHIFT) {
 | 
				
			||||||
	case IMX6_BMODE_SD:
 | 
						case IMX6_BMODE_SD:
 | 
				
			||||||
	case IMX6_BMODE_ESD:
 | 
						case IMX6_BMODE_ESD:
 | 
				
			||||||
 | 
					#ifdef CONFIG_ENV_IS_IN_MMC
 | 
				
			||||||
 | 
							mmc_late_init();
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
		setenv("modeboot", "mmcboot");
 | 
							setenv("modeboot", "mmcboot");
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case IMX6_BMODE_NAND:
 | 
						case IMX6_BMODE_NAND:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -45,9 +45,7 @@
 | 
				
			||||||
	"fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
 | 
						"fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
 | 
				
			||||||
	"fdt_addr=0x18000000\0" \
 | 
						"fdt_addr=0x18000000\0" \
 | 
				
			||||||
	"boot_fdt=try\0" \
 | 
						"boot_fdt=try\0" \
 | 
				
			||||||
	"mmcdev=0\0" \
 | 
					 | 
				
			||||||
	"mmcpart=1\0" \
 | 
						"mmcpart=1\0" \
 | 
				
			||||||
	"mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
 | 
					 | 
				
			||||||
	"nandroot=ubi0:rootfs rootfstype=ubifs\0" \
 | 
						"nandroot=ubi0:rootfs rootfstype=ubifs\0" \
 | 
				
			||||||
	"mmcautodetect=yes\0" \
 | 
						"mmcautodetect=yes\0" \
 | 
				
			||||||
	"mmcargs=setenv bootargs console=${console},${baudrate} " \
 | 
						"mmcargs=setenv bootargs console=${console},${baudrate} " \
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue