From 31b57a52b26f6333e645b37a5a83a43589f269b8 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Thu, 26 Jun 2014 11:01:27 +0200 Subject: [PATCH 1/8] ARM: m28evk: add needed commands and options - "env ask", "env grep" and "setexpr" are needed for commissioning - add support for ext4 file systems - adjust default environment to use ext4 commands - add write support for (V)FAT and EXT4 - add bitmap and splashscreen support - print timestamp information for images Signed-off-by: Marek Vasut Cc: Stefano Babic --- include/configs/m28evk.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/include/configs/m28evk.h b/include/configs/m28evk.h index 3e387c4..c3bdd4b 100644 --- a/include/configs/m28evk.h +++ b/include/configs/m28evk.h @@ -12,17 +12,25 @@ #define MACH_TYPE_M28EVK 3613 #define CONFIG_MACH_TYPE MACH_TYPE_M28EVK +#define CONFIG_FIT + +#define CONFIG_TIMESTAMP /* Print image info with timestamp */ + /* U-Boot Commands */ #define CONFIG_SYS_NO_FLASH #include #define CONFIG_DISPLAY_CPUINFO #define CONFIG_DOS_PARTITION +#define CONFIG_FAT_WRITE +#define CONFIG_CMD_ASKENV +#define CONFIG_CMD_BMP #define CONFIG_CMD_CACHE #define CONFIG_CMD_DATE #define CONFIG_CMD_DHCP #define CONFIG_CMD_EEPROM -#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4 +#define CONFIG_CMD_EXT4_WRITE #define CONFIG_CMD_FAT #define CONFIG_CMD_GPIO #define CONFIG_CMD_GREPENV @@ -145,7 +153,7 @@ #define CONFIG_BMP_16BPP #define CONFIG_VIDEO_BMP_RLE8 #define CONFIG_VIDEO_BMP_GZIP -#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (512 << 10) +#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (2 << 20) #endif /* Booting Linux */ From 76582f9dc0a09e40e9c9ae04bd8a28a15df0aa40 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Thu, 26 Jun 2014 11:01:28 +0200 Subject: [PATCH 2/8] ARM: m28evk: Adjust mtdparts Adjust the mtdparts to also consider factory-programmed config block. Signed-off-by: Marek Vasut --- include/configs/m28evk.h | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/include/configs/m28evk.h b/include/configs/m28evk.h index c3bdd4b..89f9785 100644 --- a/include/configs/m28evk.h +++ b/include/configs/m28evk.h @@ -64,8 +64,8 @@ #if defined(CONFIG_CMD_NAND) && defined(CONFIG_ENV_IS_IN_NAND) #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE #define CONFIG_ENV_SECT_SIZE (128 * 1024) -#define CONFIG_ENV_RANGE (512 * 1024) -#define CONFIG_ENV_OFFSET 0x300000 +#define CONFIG_ENV_RANGE (4 * CONFIG_ENV_SECT_SIZE) +#define CONFIG_ENV_OFFSET (24 * CONFIG_ENV_SECT_SIZE) /* 3 MiB */ #define CONFIG_ENV_OFFSET_REDUND \ (CONFIG_ENV_OFFSET + CONFIG_ENV_RANGE) @@ -79,13 +79,12 @@ #define MTDIDS_DEFAULT "nand0=gpmi-nand" #define MTDPARTS_DEFAULT \ "mtdparts=gpmi-nand:" \ - "3m(bootloader)ro," \ - "512k(environment)," \ - "512k(redundant-environment)," \ - "4m(kernel)," \ - "128k(fdt)," \ - "8m(ramdisk)," \ - "-(filesystem)" + "3m(u-boot)," \ + "512k(env1)," \ + "512k(env2)," \ + "14m(boot)," \ + "238m(data)," \ + "-@4096k(UBI)" #else #define CONFIG_ENV_IS_NOWHERE #endif From a428ac914b2b6db851c1feac98622f2d9844db45 Mon Sep 17 00:00:00 2001 From: Lothar Rubusch Date: Thu, 26 Jun 2014 11:01:29 +0200 Subject: [PATCH 3/8] ARM: m28evk: Update default environment Signed-off-by: Marek Vasut Signed-off-by: Lothar Rubusch --- include/configs/m28evk.h | 87 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 84 insertions(+), 3 deletions(-) diff --git a/include/configs/m28evk.h b/include/configs/m28evk.h index 89f9785..fccd29d 100644 --- a/include/configs/m28evk.h +++ b/include/configs/m28evk.h @@ -157,14 +157,28 @@ /* Booting Linux */ #define CONFIG_BOOTDELAY 3 -#define CONFIG_BOOTFILE "uImage" +#define CONFIG_BOOTFILE "fitImage" #define CONFIG_BOOTARGS "console=ttyAMA0,115200n8 " -#define CONFIG_BOOTCOMMAND "run bootcmd_net" +#define CONFIG_BOOTCOMMAND "run mmc_mmc" #define CONFIG_LOADADDR 0x42000000 #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR /* Extra Environment */ +#define CONFIG_PREBOOT "run try_bootscript" +#define CONFIG_HOSTNAME m28evk + #define CONFIG_EXTRA_ENV_SETTINGS \ + "consdev=ttyAMA0\0" \ + "baudrate=115200\0" \ + "bootdev=/dev/mmcblk0p2\0" \ + "rootdev=/dev/mmcblk0p3\0" \ + "netdev=eth0\0" \ + "hostname=m28evk\0" \ + "rootpath=/opt/eldk-5.5/armv5te/rootfs-qte-sdk\0" \ + "kernel_addr_r=0x42000000\0" \ + "videomode=video=ctfb:x:800,y:480,depth:18,mode:0,pclk:30066," \ + "le:0,ri:256,up:0,lo:45,hs:1,vs:1,sync:100663296," \ + "vmode:0\0" \ "update_nand_full_filename=u-boot.nand\0" \ "update_nand_firmware_filename=u-boot.sb\0" \ "update_sd_firmware_filename=u-boot.sd\0" \ @@ -180,7 +194,7 @@ "if tftp ${update_nand_full_filename} ; then " \ "run update_nand_get_fcb_size ; " \ "nand scrub -y 0x0 ${filesize} ; " \ - "nand write.raw ${loadaddr} 0x0 ${fcb_sz} ; " \ + "nand write.raw ${loadaddr} 0x0 ${fcb_sz} ; " \ "setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \ "setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \ "nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \ @@ -202,6 +216,73 @@ "setexpr fw_sz ${fw_sz} + 1 ; " \ "mmc write ${loadaddr} 0x800 ${fw_sz} ; " \ "fi ; " \ + "fi\0" \ + "addcons=" \ + "setenv bootargs ${bootargs} " \ + "console=${consdev},${baudrate}\0" \ + "addip=" \ + "setenv bootargs ${bootargs} " \ + "ip=${ipaddr}:${serverip}:${gatewayip}:" \ + "${netmask}:${hostname}:${netdev}:off\0" \ + "addmisc=" \ + "setenv bootargs ${bootargs} ${miscargs}\0" \ + "adddfltmtd=" \ + "if test \"x${mtdparts}\" == \"x\" ; then " \ + "mtdparts default ; " \ + "fi\0" \ + "addmtd=" \ + "run adddfltmtd ; " \ + "setenv bootargs ${bootargs} ${mtdparts}\0" \ + "addargs=run addcons addmtd addmisc\0" \ + "mmcload=" \ + "mmc rescan ; " \ + "ext4load mmc 0:2 ${kernel_addr_r} ${bootfile}\0" \ + "ubiload=" \ + "ubi part UBI ; ubifsmount ubi0:rootfs ; " \ + "ubifsload ${kernel_addr_r} /boot/${bootfile}\0" \ + "netload=" \ + "tftp ${kernel_addr_r} ${hostname}/${bootfile}\0" \ + "miscargs=nohlt panic=1\0" \ + "mmcargs=setenv bootargs root=${rootdev} rw rootwait\0" \ + "ubiargs=" \ + "setenv bootargs ubi.mtd=5 " \ + "root=ubi0:rootfs rootfstype=ubifs\0" \ + "nfsargs=" \ + "setenv bootargs root=/dev/nfs rw " \ + "nfsroot=${serverip}:${rootpath},v3,tcp\0" \ + "mmc_mmc=" \ + "run mmcload mmcargs addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "mmc_ubi=" \ + "run mmcload ubiargs addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "mmc_nfs=" \ + "run mmcload nfsargs addip addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "ubi_mmc=" \ + "run ubiload mmcargs addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "ubi_ubi=" \ + "run ubiload ubiargs addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "ubi_nfs=" \ + "run ubiload nfsargs addip addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "net_mmc=" \ + "run netload mmcargs addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "net_ubi=" \ + "run netload ubiargs addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "net_nfs=" \ + "run netload nfsargs addip addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "try_bootscript=" \ + "mmc rescan;" \ + "if ext4load mmc 0:2 ${kernel_addr_r} ${bootscript};" \ + "then;" \ + "\techo Running bootscript...;" \ + "\tsource ${kernel_addr_r};" \ "fi\0" /* The rest of the configuration is shared */ From 62d3c2d623d198013525791856858b6f0ef40e16 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Thu, 26 Jun 2014 11:01:30 +0200 Subject: [PATCH 4/8] ARM: m53evk: add needed commands and options - "env ask", "env grep" and "setexpr" are needed for commissioning - add support for ext4 file systems - adjust default environment to use ext4 commands - add write support for (V)FAT and EXT4 - add bitmap and splashscreen support - print timestamp information for images Signed-off-by: Marek Vasut Signed-off-by: Wolfgang Denk Cc: Stefano Babic --- include/configs/m53evk.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/include/configs/m53evk.h b/include/configs/m53evk.h index 0f2a3ac..ae25c0d 100644 --- a/include/configs/m53evk.h +++ b/include/configs/m53evk.h @@ -19,17 +19,26 @@ #define CONFIG_REVISION_TAG #define CONFIG_SYS_NO_FLASH +#define CONFIG_FIT + +#define CONFIG_TIMESTAMP /* Print image info with timestamp */ + /* * U-Boot Commands */ #include #define CONFIG_DISPLAY_BOARDINFO #define CONFIG_DOS_PARTITION +#define CONFIG_FAT_WRITE +#define CONFIG_CMD_ASKENV +#define CONFIG_CMD_BMP #define CONFIG_CMD_DATE #define CONFIG_CMD_DHCP -#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4 +#define CONFIG_CMD_EXT4_WRITE #define CONFIG_CMD_FAT +#define CONFIG_CMD_GREPENV #define CONFIG_CMD_I2C #define CONFIG_CMD_MII #define CONFIG_CMD_MMC @@ -37,6 +46,7 @@ #define CONFIG_CMD_NET #define CONFIG_CMD_PING #define CONFIG_CMD_SATA +#define CONFIG_CMD_SETEXPR #define CONFIG_CMD_USB #define CONFIG_VIDEO @@ -214,10 +224,14 @@ #define CONFIG_VGA_AS_SINGLE_DEVICE #define CONFIG_SYS_CONSOLE_IS_IN_ENV #define CONFIG_VIDEO_BMP_RLE8 +#define CONFIG_VIDEO_BMP_GZIP #define CONFIG_SPLASH_SCREEN +#define CONFIG_SPLASHIMAGE_GUARD +#define CONFIG_SPLASH_SCREEN_ALIGN #define CONFIG_BMP_16BPP #define CONFIG_VIDEO_LOGO -#define CONFIG_IPUV3_CLK 200000000 +#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (2 << 20) +#define CONFIG_IPUV3_CLK 200000000 #endif /* From fc23b530edf962193fe15b9c4700efc887368f0c Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Thu, 26 Jun 2014 11:01:31 +0200 Subject: [PATCH 5/8] ARM: m53evk: Adjust mtdparts settings Adjust the mtdparts settings to allow for alternative boot images and for using UBI. Signed-off-by: Marek Vasut Signed-off-by: Wolfgang Denk Cc: Stefano Babic --- include/configs/m53evk.h | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/include/configs/m53evk.h b/include/configs/m53evk.h index ae25c0d..2d2d4aa 100644 --- a/include/configs/m53evk.h +++ b/include/configs/m53evk.h @@ -129,8 +129,8 @@ #define CONFIG_ENV_IS_IN_NAND #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE #define CONFIG_ENV_SECT_SIZE (128 * 1024) -#define CONFIG_ENV_RANGE (512 * 1024) -#define CONFIG_ENV_OFFSET 0x100000 +#define CONFIG_ENV_RANGE (4 * CONFIG_ENV_SECT_SIZE) +#define CONFIG_ENV_OFFSET (8 * CONFIG_ENV_SECT_SIZE) /* 1 MiB */ #define CONFIG_ENV_OFFSET_REDUND \ (CONFIG_ENV_OFFSET + CONFIG_ENV_RANGE) @@ -144,13 +144,12 @@ #define MTDIDS_DEFAULT "nand0=mxc_nand" #define MTDPARTS_DEFAULT \ "mtdparts=mxc_nand:" \ - "1m(bootloader)ro," \ - "512k(environment)," \ - "512k(redundant-environment)," \ - "4m(kernel)," \ - "128k(fdt)," \ - "8m(ramdisk)," \ - "-(filesystem)" + "1024k(u-boot)," \ + "512k(env1)," \ + "512k(env2)," \ + "14m(boot)," \ + "240m(data)," \ + "-@2048k(UBI)" #else #define CONFIG_ENV_IS_NOWHERE #endif From 85d8a5fc98a65f7ba7ec5df08b0567d3ad9009dc Mon Sep 17 00:00:00 2001 From: Lothar Rubusch Date: Thu, 26 Jun 2014 11:01:32 +0200 Subject: [PATCH 6/8] ARM: m53evk: Update default environment Signed-off-by: Marek Vasut Signed-off-by: Lothar Rubusch Signed-off-by: Wolfgang Denk --- include/configs/m53evk.h | 87 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 86 insertions(+), 1 deletion(-) diff --git a/include/configs/m53evk.h b/include/configs/m53evk.h index 2d2d4aa..97196c6 100644 --- a/include/configs/m53evk.h +++ b/include/configs/m53evk.h @@ -166,6 +166,7 @@ #define CONFIG_FEC_XCV_TYPE RMII #define CONFIG_PHYLIB #define CONFIG_PHY_MICREL +#define CONFIG_ETHPRIME "FEC0" #endif /* @@ -241,9 +242,10 @@ #define CONFIG_REVISION_TAG #define CONFIG_SETUP_MEMORY_TAGS #define CONFIG_BOOTDELAY 3 -#define CONFIG_BOOTFILE "m53evk/uImage" +#define CONFIG_BOOTFILE "fitImage" #define CONFIG_BOOTARGS "console=ttymxc1,115200" #define CONFIG_LOADADDR 0x70800000 +#define CONFIG_BOOTCOMMAND "run mmc_mmc" #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR #define CONFIG_OF_LIBFDT @@ -270,4 +272,87 @@ #define CONFIG_SYS_NAND_SIZE (256 * 1024 * 1024) #define CONFIG_SYS_NAND_BAD_BLOCK_POS 0 +/* + * Extra Environments + */ +#define CONFIG_PREBOOT "run try_bootscript" +#define CONFIG_HOSTNAME m53evk + +#define CONFIG_EXTRA_ENV_SETTINGS \ + "consdev=ttymxc1\0" \ + "baudrate=115200\0" \ + "bootscript=boot.scr\0" \ + "bootdev=/dev/mmcblk0p1\0" \ + "rootdev=/dev/mmcblk0p2\0" \ + "netdev=eth0\0" \ + "rootpath=/opt/eldk-5.5/armv7a-hf/rootfs-qte-sdk\0" \ + "kernel_addr_r=0x72000000\0" \ + "addcons=" \ + "setenv bootargs ${bootargs} " \ + "console=${consdev},${baudrate}\0" \ + "addip=" \ + "setenv bootargs ${bootargs} " \ + "ip=${ipaddr}:${serverip}:${gatewayip}:" \ + "${netmask}:${hostname}:${netdev}:off\0" \ + "addmisc=" \ + "setenv bootargs ${bootargs} ${miscargs}\0" \ + "adddfltmtd=" \ + "if test \"x${mtdparts}\" == \"x\" ; then " \ + "mtdparts default ; " \ + "fi\0" \ + "addmtd=" \ + "run adddfltmtd ; " \ + "setenv bootargs ${bootargs} ${mtdparts}\0" \ + "addargs=run addcons addmtd addmisc\0" \ + "mmcload=" \ + "mmc rescan ; " \ + "ext4load mmc 0:1 ${kernel_addr_r} ${bootfile}\0" \ + "ubiload=" \ + "ubi part UBI ; ubifsmount ubi0:rootfs ; " \ + "ubifsload ${kernel_addr_r} /boot/${bootfile}\0" \ + "netload=" \ + "tftp ${kernel_addr_r} ${hostname}/${bootfile}\0" \ + "miscargs=nohlt panic=1\0" \ + "mmcargs=setenv bootargs root=${rootdev} rw rootwait\0" \ + "ubiargs=" \ + "setenv bootargs ubi.mtd=5 " \ + "root=ubi0:rootfs rootfstype=ubifs\0" \ + "nfsargs=" \ + "setenv bootargs root=/dev/nfs rw " \ + "nfsroot=${serverip}:${rootpath},v3,tcp\0" \ + "mmc_mmc=" \ + "run mmcload mmcargs addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "mmc_ubi=" \ + "run mmcload ubiargs addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "mmc_nfs=" \ + "run mmcload nfsargs addip addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "ubi_mmc=" \ + "run ubiload mmcargs addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "ubi_ubi=" \ + "run ubiload ubiargs addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "ubi_nfs=" \ + "run ubiload nfsargs addip addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "net_mmc=" \ + "run netload mmcargs addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "net_ubi=" \ + "run netload ubiargs addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "net_nfs=" \ + "run netload nfsargs addip addargs ; " \ + "bootm ${kernel_addr_r}\0" \ + "try_bootscript=" \ + "mmc rescan;" \ + "if ext4load mmc 0:1 ${kernel_addr_r} ${bootscript};" \ + "then;" \ + "\techo Running bootscript...;" \ + "\tsource ${kernel_addr_r};" \ + "fi\0" + #endif /* __M53EVK_CONFIG_H__ */ From 2eb268f6fd236a5ad9d51e7e47190d7994b3920f Mon Sep 17 00:00:00 2001 From: Andre Renaud Date: Tue, 10 Jun 2014 08:47:13 +1200 Subject: [PATCH 7/8] MX6: Correct calculation of PLL_SYS DIV_SELECT is used as Fout = Fin * div_select / 2.0, so we should do the shift after the multiply to avoid rounding errors Signed-off-by: Andre Renaud --- arch/arm/cpu/armv7/mx6/clock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c index bd65a08..7dd83ec 100644 --- a/arch/arm/cpu/armv7/mx6/clock.c +++ b/arch/arm/cpu/armv7/mx6/clock.c @@ -80,7 +80,7 @@ static u32 decode_pll(enum pll_clocks pll, u32 infreq) div = __raw_readl(&imx_ccm->analog_pll_sys); div &= BM_ANADIG_PLL_SYS_DIV_SELECT; - return infreq * (div >> 1); + return (infreq * div) >> 1; case PLL_BUS: div = __raw_readl(&imx_ccm->analog_pll_528); div &= BM_ANADIG_PLL_528_DIV_SELECT; From 157f45da91b306d71dbf3a51325352dc11bf16d1 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Fri, 13 Jun 2014 01:42:37 -0300 Subject: [PATCH 8/8] mx6: soc: Update the comments of set_ldo_voltage() Commit 3d622b78 (mx6: soc: Introduce set_ldo_voltage()) introduces set_ldo_voltage() function that can be used to set the voltages of any of the three LDO regulators controlled by the PMU_REG_CORE register. Prior to this commit there was a single set_vddsoc() which only configured the VDDSOC regulator. Update the comments to align with the new set_ldo_voltage() implementation. Signed-off-by: Fabio Estevam --- arch/arm/cpu/armv7/mx6/soc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c index 1725279..f20bdeb 100644 --- a/arch/arm/cpu/armv7/mx6/soc.c +++ b/arch/arm/cpu/armv7/mx6/soc.c @@ -124,10 +124,9 @@ static void clear_ldo_ramp(void) } /* - * Set the VDDSOC + * Set the PMU_REG_CORE register * - * Mask out the REG_CORE[22:18] bits (REG2_TRIG) and set - * them to the specified millivolt level. + * Set LDO_SOC/PU/ARM regulators to the specified millivolt level. * Possible values are from 0.725V to 1.450V in steps of * 0.025V (25mV). */