* [U-Boot] [PATCH v3 1/5] mx6cuboxi: Fix the defconfig name
@ 2015-04-24 11:46 Fabio Estevam
2015-04-24 11:46 ` [U-Boot] [PATCH v3 2/5] mx6cuboxi: Prepare for multi SoC support Fabio Estevam
` (3 more replies)
0 siblings, 4 replies; 13+ messages in thread
From: Fabio Estevam @ 2015-04-24 11:46 UTC (permalink / raw)
To: u-boot
From: Fabio Estevam <fabio.estevam@freescale.com>
The correct name of the defconfig file is 'mx6cuboxi_defconfig'.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
Changes since v2:
- None
Changes since v1:
- None
board/solidrun/mx6cuboxi/MAINTAINERS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/board/solidrun/mx6cuboxi/MAINTAINERS b/board/solidrun/mx6cuboxi/MAINTAINERS
index 3d468ed..a3506c2 100644
--- a/board/solidrun/mx6cuboxi/MAINTAINERS
+++ b/board/solidrun/mx6cuboxi/MAINTAINERS
@@ -3,4 +3,4 @@ M: Fabio Estevam <fabio.estevam@freescale.com>
S: Maintained
F: board/solidrun/mx6cuboxi/
F: include/configs/mx6cuboxi.h
-F: configs/mx6cuboxi_spl_defconfig
+F: configs/mx6cuboxi_defconfig
--
1.9.1
^ permalink raw reply related [flat|nested] 13+ messages in thread* [U-Boot] [PATCH v3 2/5] mx6cuboxi: Prepare for multi SoC support 2015-04-24 11:46 [U-Boot] [PATCH v3 1/5] mx6cuboxi: Fix the defconfig name Fabio Estevam @ 2015-04-24 11:46 ` Fabio Estevam 2015-04-24 11:46 ` [U-Boot] [PATCH v3 3/5] mx6cuboxi: Introduce multi-SoC support Fabio Estevam ` (2 subsequent siblings) 3 siblings, 0 replies; 13+ messages in thread From: Fabio Estevam @ 2015-04-24 11:46 UTC (permalink / raw) To: u-boot From: Fabio Estevam <fabio.estevam@freescale.com> Cubox-i and Hummingboard support several MX6 SoCs: mx6solo, mx6dual-lite, mx6dual and mx6quad. Use IOMUX_PADS() macro in order to prepare for the multi-SoC support. Also pass 'MX6QDL' in the defconfig to indicate it. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> --- Changes since v2: - None Changes since v1: - None board/solidrun/mx6cuboxi/mx6cuboxi.c | 60 ++++++++++++++++++------------------ configs/mx6cuboxi_defconfig | 2 +- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c index b696dcb..0377dc4 100644 --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c @@ -28,7 +28,6 @@ #include <asm/arch/crm_regs.h> #include <asm/io.h> #include <asm/arch/sys_proto.h> -#include <asm/arch/mx6-ddr.h> #include <spl.h> DECLARE_GLOBAL_DATA_PTR; @@ -59,22 +58,22 @@ int dram_init(void) } static iomux_v3_cfg_t const uart1_pads[] = { - MX6_PAD_CSI0_DAT10__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL), - MX6_PAD_CSI0_DAT11__UART1_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL), + IOMUX_PADS(PAD_CSI0_DAT10__UART1_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)), + IOMUX_PADS(PAD_CSI0_DAT11__UART1_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)), }; static iomux_v3_cfg_t const usdhc2_pads[] = { - MX6_PAD_SD2_CLK__SD2_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL), - MX6_PAD_SD2_CMD__SD2_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL), - MX6_PAD_SD2_DAT0__SD2_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL), - MX6_PAD_SD2_DAT1__SD2_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL), - MX6_PAD_SD2_DAT2__SD2_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL), - MX6_PAD_SD2_DAT3__SD2_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL), + IOMUX_PADS(PAD_SD2_CLK__SD2_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)), + IOMUX_PADS(PAD_SD2_CMD__SD2_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)), + IOMUX_PADS(PAD_SD2_DAT0__SD2_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), + IOMUX_PADS(PAD_SD2_DAT1__SD2_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), + IOMUX_PADS(PAD_SD2_DAT2__SD2_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), + IOMUX_PADS(PAD_SD2_DAT3__SD2_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), }; static void setup_iomux_uart(void) { - imx_iomux_v3_setup_multiple_pads(uart1_pads, ARRAY_SIZE(uart1_pads)); + SETUP_IOMUX_PADS(uart1_pads); } static struct fsl_esdhc_cfg usdhc_cfg[1] = { @@ -88,7 +87,7 @@ int board_mmc_getcd(struct mmc *mmc) int board_mmc_init(bd_t *bis) { - imx_iomux_v3_setup_multiple_pads(usdhc2_pads, ARRAY_SIZE(usdhc2_pads)); + SETUP_IOMUX_PADS(usdhc2_pads); usdhc_cfg[0].esdhc_base = USDHC2_BASE_ADDR; usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK); gd->arch.sdhc_clk = usdhc_cfg[0].sdhc_clk; @@ -97,33 +96,33 @@ int board_mmc_init(bd_t *bis) } static iomux_v3_cfg_t const enet_pads[] = { - MX6_PAD_ENET_MDIO__ENET_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_ENET_MDC__ENET_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL), + IOMUX_PADS(PAD_ENET_MDIO__ENET_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_ENET_MDC__ENET_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL)), /* AR8035 reset */ - MX6_PAD_KEY_ROW4__GPIO4_IO15 | MUX_PAD_CTRL(ENET_PAD_CTRL_PD), + IOMUX_PADS(PAD_KEY_ROW4__GPIO4_IO15 | MUX_PAD_CTRL(ENET_PAD_CTRL_PD)), /* AR8035 interrupt */ - MX6_PAD_DI0_PIN2__GPIO4_IO18 | MUX_PAD_CTRL(NO_PAD_CTRL), + IOMUX_PADS(PAD_DI0_PIN2__GPIO4_IO18 | MUX_PAD_CTRL(NO_PAD_CTRL)), /* GPIO16 -> AR8035 25MHz */ - MX6_PAD_GPIO_16__ENET_REF_CLK | MUX_PAD_CTRL(NO_PAD_CTRL), - MX6_PAD_RGMII_TXC__RGMII_TXC | MUX_PAD_CTRL(NO_PAD_CTRL), - MX6_PAD_RGMII_TD0__RGMII_TD0 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_RGMII_TD1__RGMII_TD1 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_RGMII_TD2__RGMII_TD2 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_RGMII_TD3__RGMII_TD3 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_RGMII_TX_CTL__RGMII_TX_CTL | MUX_PAD_CTRL(ENET_PAD_CTRL), + IOMUX_PADS(PAD_GPIO_16__ENET_REF_CLK | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_TXC__RGMII_TXC | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_TD0__RGMII_TD0 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_TD1__RGMII_TD1 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_TD2__RGMII_TD2 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_TD3__RGMII_TD3 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_TX_CTL__RGMII_TX_CTL | MUX_PAD_CTRL(ENET_PAD_CTRL)), /* AR8035 CLK_25M --> ENET_REF_CLK (V22) */ - MX6_PAD_ENET_REF_CLK__ENET_TX_CLK | MUX_PAD_CTRL(ENET_PAD_CTRL_CLK), - MX6_PAD_RGMII_RXC__RGMII_RXC | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_RGMII_RD0__RGMII_RD0 | MUX_PAD_CTRL(ENET_PAD_CTRL_PD), - MX6_PAD_RGMII_RD1__RGMII_RD1 | MUX_PAD_CTRL(ENET_PAD_CTRL_PD), - MX6_PAD_RGMII_RD2__RGMII_RD2 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_RGMII_RD3__RGMII_RD3 | MUX_PAD_CTRL(ENET_PAD_CTRL), - MX6_PAD_RGMII_RX_CTL__RGMII_RX_CTL | MUX_PAD_CTRL(ENET_PAD_CTRL_PD), + IOMUX_PADS(PAD_ENET_REF_CLK__ENET_TX_CLK | MUX_PAD_CTRL(ENET_PAD_CTRL_CLK)), + IOMUX_PADS(PAD_RGMII_RXC__RGMII_RXC | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_RD0__RGMII_RD0 | MUX_PAD_CTRL(ENET_PAD_CTRL_PD)), + IOMUX_PADS(PAD_RGMII_RD1__RGMII_RD1 | MUX_PAD_CTRL(ENET_PAD_CTRL_PD)), + IOMUX_PADS(PAD_RGMII_RD2__RGMII_RD2 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_RD3__RGMII_RD3 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_RX_CTL__RGMII_RX_CTL | MUX_PAD_CTRL(ENET_PAD_CTRL_PD)), }; static void setup_iomux_enet(void) { - imx_iomux_v3_setup_multiple_pads(enet_pads, ARRAY_SIZE(enet_pads)); + SETUP_IOMUX_PADS(enet_pads); gpio_direction_output(ETH_PHY_RESET, 0); mdelay(2); @@ -175,6 +174,7 @@ int checkboard(void) } #ifdef CONFIG_SPL_BUILD +#include <asm/arch/mx6-ddr.h> static const struct mx6dq_iomux_ddr_regs mx6_ddr_ioregs = { .dram_sdclk_0 = 0x00020030, .dram_sdclk_1 = 0x00020030, diff --git a/configs/mx6cuboxi_defconfig b/configs/mx6cuboxi_defconfig index 85dc58a..4c2f0e0 100644 --- a/configs/mx6cuboxi_defconfig +++ b/configs/mx6cuboxi_defconfig @@ -1,5 +1,5 @@ CONFIG_SPL=y -CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6Q" +CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=arch/arm/imx-common/spl_sd.cfg,MX6QDL" CONFIG_ARM=y CONFIG_TARGET_MX6CUBOXI=y CONFIG_DM=y -- 1.9.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v3 3/5] mx6cuboxi: Introduce multi-SoC support 2015-04-24 11:46 [U-Boot] [PATCH v3 1/5] mx6cuboxi: Fix the defconfig name Fabio Estevam 2015-04-24 11:46 ` [U-Boot] [PATCH v3 2/5] mx6cuboxi: Prepare for multi SoC support Fabio Estevam @ 2015-04-24 11:46 ` Fabio Estevam 2015-04-24 12:27 ` Stefano Babic 2015-04-24 11:46 ` [U-Boot] [PATCH v3 4/5] mx6cuboxi: Differentiate Cubox-i and Hummingboard Fabio Estevam 2015-04-24 11:46 ` [U-Boot] [PATCH v3 5/5] mx6cuboxi: Load the correct 'fdt_file' variable Fabio Estevam 3 siblings, 1 reply; 13+ messages in thread From: Fabio Estevam @ 2015-04-24 11:46 UTC (permalink / raw) To: u-boot From: Fabio Estevam <fabio.estevam@freescale.com> Cubox-i and Hummingboard support several MX6 SoCs: mx6solo, mx6dual-lite, mx6dual and mx6quad. Add support for the different SoC/memory sizes combinations. DDR initialization values were extracted from Solid-run internal U-boot. Tested on a CuBox-i4Pro, HummingBoard-i2eX and HummingBoard-i1. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> --- Changes since v2: - None Changes since v1: - Mention that the DDR init came from Solid-run board/solidrun/mx6cuboxi/mx6cuboxi.c | 134 ++++++++++++++++++++++++++++++++--- 1 file changed, 125 insertions(+), 9 deletions(-) diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c index 0377dc4..1f240ae 100644 --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c @@ -175,7 +175,7 @@ int checkboard(void) #ifdef CONFIG_SPL_BUILD #include <asm/arch/mx6-ddr.h> -static const struct mx6dq_iomux_ddr_regs mx6_ddr_ioregs = { +static const struct mx6dq_iomux_ddr_regs mx6q_ddr_ioregs = { .dram_sdclk_0 = 0x00020030, .dram_sdclk_1 = 0x00020030, .dram_cas = 0x00020030, @@ -204,7 +204,36 @@ static const struct mx6dq_iomux_ddr_regs mx6_ddr_ioregs = { .dram_dqm7 = 0x00020030, }; -static const struct mx6dq_iomux_grp_regs mx6_grp_ioregs = { +static const struct mx6sdl_iomux_ddr_regs mx6dl_ddr_ioregs = { + .dram_sdclk_0 = 0x00000028, + .dram_sdclk_1 = 0x00000028, + .dram_cas = 0x00000028, + .dram_ras = 0x00000028, + .dram_reset = 0x000c0028, + .dram_sdcke0 = 0x00003000, + .dram_sdcke1 = 0x00003000, + .dram_sdba2 = 0x00000000, + .dram_sdodt0 = 0x00003030, + .dram_sdodt1 = 0x00003030, + .dram_sdqs0 = 0x00000028, + .dram_sdqs1 = 0x00000028, + .dram_sdqs2 = 0x00000028, + .dram_sdqs3 = 0x00000028, + .dram_sdqs4 = 0x00000028, + .dram_sdqs5 = 0x00000028, + .dram_sdqs6 = 0x00000028, + .dram_sdqs7 = 0x00000028, + .dram_dqm0 = 0x00000028, + .dram_dqm1 = 0x00000028, + .dram_dqm2 = 0x00000028, + .dram_dqm3 = 0x00000028, + .dram_dqm4 = 0x00000028, + .dram_dqm5 = 0x00000028, + .dram_dqm6 = 0x00000028, + .dram_dqm7 = 0x00000028, +}; + +static const struct mx6dq_iomux_grp_regs mx6q_grp_ioregs = { .grp_ddr_type = 0x000C0000, .grp_ddrmode_ctl = 0x00020000, .grp_ddrpke = 0x00000000, @@ -221,7 +250,25 @@ static const struct mx6dq_iomux_grp_regs mx6_grp_ioregs = { .grp_b7ds = 0x00000030, }; -static const struct mx6_mmdc_calibration mx6_mmcd_calib = { +static const struct mx6sdl_iomux_grp_regs mx6sdl_grp_ioregs = { + .grp_ddr_type = 0x000c0000, + .grp_ddrmode_ctl = 0x00020000, + .grp_ddrpke = 0x00000000, + .grp_addds = 0x00000028, + .grp_ctlds = 0x00000028, + .grp_ddrmode = 0x00020000, + .grp_b0ds = 0x00000028, + .grp_b1ds = 0x00000028, + .grp_b2ds = 0x00000028, + .grp_b3ds = 0x00000028, + .grp_b4ds = 0x00000028, + .grp_b5ds = 0x00000028, + .grp_b6ds = 0x00000028, + .grp_b7ds = 0x00000028, +}; + +/* microSOM with Dual processor and 1GB memory */ +static const struct mx6_mmdc_calibration mx6q_1g_mmcd_calib = { .p0_mpwldectrl0 = 0x00000000, .p0_mpwldectrl1 = 0x00000000, .p1_mpwldectrl0 = 0x00000000, @@ -236,7 +283,49 @@ static const struct mx6_mmdc_calibration mx6_mmcd_calib = { .p1_mpwrdlctl = 0x422a423c, }; -static struct mx6_ddr3_cfg mem_ddr = { +/* microSOM with Quad processor and 2GB memory */ +static const struct mx6_mmdc_calibration mx6q_2g_mmcd_calib = { + .p0_mpwldectrl0 = 0x00000000, + .p0_mpwldectrl1 = 0x00000000, + .p1_mpwldectrl0 = 0x00000000, + .p1_mpwldectrl1 = 0x00000000, + .p0_mpdgctrl0 = 0x0314031c, + .p0_mpdgctrl1 = 0x023e0304, + .p1_mpdgctrl0 = 0x03240330, + .p1_mpdgctrl1 = 0x03180260, + .p0_mprddlctl = 0x3630323c, + .p1_mprddlctl = 0x3436283a, + .p0_mpwrdlctl = 0x36344038, + .p1_mpwrdlctl = 0x422a423c, +}; + +/* microSOM with Solo processor and 512MB memory */ +static const struct mx6_mmdc_calibration mx6dl_512m_mmcd_calib = { + .p0_mpwldectrl0 = 0x0045004D, + .p0_mpwldectrl1 = 0x003A0047, + .p0_mpdgctrl0 = 0x023C0224, + .p0_mpdgctrl1 = 0x02000220, + .p0_mprddlctl = 0x44444846, + .p0_mpwrdlctl = 0x32343032, +}; + +/* microSOM with Dual lite processor and 1GB memory */ +static const struct mx6_mmdc_calibration mx6dl_1g_mmcd_calib = { + .p0_mpwldectrl0 = 0x0045004D, + .p0_mpwldectrl1 = 0x003A0047, + .p1_mpwldectrl0 = 0x001F001F, + .p1_mpwldectrl1 = 0x00210035, + .p0_mpdgctrl0 = 0x023C0224, + .p0_mpdgctrl1 = 0x02000220, + .p1_mpdgctrl0 = 0x02200220, + .p1_mpdgctrl1 = 0x02000220, + .p0_mprddlctl = 0x44444846, + .p1_mprddlctl = 0x4042463C, + .p0_mpwrdlctl = 0x32343032, + .p1_mpwrdlctl = 0x36363430, +}; + +static struct mx6_ddr3_cfg mem_ddr_2g = { .mem_speed = 1600, .density = 2, .width = 16, @@ -250,6 +339,19 @@ static struct mx6_ddr3_cfg mem_ddr = { .SRT = 1, }; +static struct mx6_ddr3_cfg mem_ddr_4g = { + .mem_speed = 1600, + .density = 4, + .width = 16, + .banks = 8, + .rowaddr = 15, + .coladdr = 10, + .pagesz = 2, + .trcd = 1375, + .trcmin = 4875, + .trasmin = 3500, +}; + static void ccgr_init(void) { struct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR; @@ -278,11 +380,11 @@ static void gpr_init(void) * This section requires the differentiation between Solidrun mx6 boards, but * for now, it will configure only for the mx6dual hummingboard version. */ -static void spl_dram_init(void) +static void spl_dram_init(int width) { struct mx6_ddr_sysinfo sysinfo = { /* width of data bus: 0=16, 1=32, 2=64 */ - .dsize = 2, + .dsize = width / 32, /* config for full 4GB range so that get_mem_size() works */ .cs_density = 32, /* 32Gb per CS */ .ncs = 1, /* single chip select */ @@ -297,8 +399,19 @@ static void spl_dram_init(void) .rst_to_cke = 0x23, /* 33 cycles, 500us (JEDEC default) */ }; - mx6dq_dram_iocfg(64, &mx6_ddr_ioregs, &mx6_grp_ioregs); - mx6_dram_cfg(&sysinfo, &mx6_mmcd_calib, &mem_ddr); + if (is_cpu_type(MXC_CPU_MX6D) || is_cpu_type(MXC_CPU_MX6Q)) + mx6dq_dram_iocfg(width, &mx6q_ddr_ioregs, &mx6q_grp_ioregs); + else + mx6sdl_dram_iocfg(width, &mx6dl_ddr_ioregs, &mx6sdl_grp_ioregs); + + if (is_cpu_type(MXC_CPU_MX6D)) + mx6_dram_cfg(&sysinfo, &mx6q_1g_mmcd_calib, &mem_ddr_2g); + else if (is_cpu_type(MXC_CPU_MX6Q)) + mx6_dram_cfg(&sysinfo, &mx6q_2g_mmcd_calib, &mem_ddr_4g); + else if (is_cpu_type(MXC_CPU_MX6DL)) + mx6_dram_cfg(&sysinfo, &mx6q_1g_mmcd_calib, &mem_ddr_2g); + else if (is_cpu_type(MXC_CPU_MX6SOLO)) + mx6_dram_cfg(&sysinfo, &mx6dl_512m_mmcd_calib, &mem_ddr_2g); } void board_init_f(ulong dummy) @@ -319,7 +432,10 @@ void board_init_f(ulong dummy) preloader_console_init(); /* DDR initialization */ - spl_dram_init(); + if (is_cpu_type(MXC_CPU_MX6SOLO)) + spl_dram_init(32); + else + spl_dram_init(64); /* Clear the BSS. */ memset(__bss_start, 0, __bss_end - __bss_start); -- 1.9.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v3 3/5] mx6cuboxi: Introduce multi-SoC support 2015-04-24 11:46 ` [U-Boot] [PATCH v3 3/5] mx6cuboxi: Introduce multi-SoC support Fabio Estevam @ 2015-04-24 12:27 ` Stefano Babic 2015-04-24 12:29 ` Fabio Estevam 0 siblings, 1 reply; 13+ messages in thread From: Stefano Babic @ 2015-04-24 12:27 UTC (permalink / raw) To: u-boot Hi Fabio, Rabeeh, On 24/04/2015 13:46, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@freescale.com> > > Cubox-i and Hummingboard support several MX6 SoCs: mx6solo, mx6dual-lite, > mx6dual and mx6quad. Add support for the different SoC/memory sizes > combinations. > > DDR initialization values were extracted from Solid-run internal U-boot. > > Tested on a CuBox-i4Pro, HummingBoard-i2eX and HummingBoard-i1. > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> > --- Thanks - Tom wrote in his comments, that even this patch was taken from solidrun and should have Rabeeh's Signed-off-by, too. You do not need to repost it, I will do myself by merging, but I do not know if it is correct. Is it ? Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v3 3/5] mx6cuboxi: Introduce multi-SoC support 2015-04-24 12:27 ` Stefano Babic @ 2015-04-24 12:29 ` Fabio Estevam 0 siblings, 0 replies; 13+ messages in thread From: Fabio Estevam @ 2015-04-24 12:29 UTC (permalink / raw) To: u-boot Hi Stefano, On Fri, Apr 24, 2015 at 9:27 AM, Stefano Babic <sbabic@denx.de> wrote: > Hi Fabio, Rabeeh, > > On 24/04/2015 13:46, Fabio Estevam wrote: >> From: Fabio Estevam <fabio.estevam@freescale.com> >> >> Cubox-i and Hummingboard support several MX6 SoCs: mx6solo, mx6dual-lite, >> mx6dual and mx6quad. Add support for the different SoC/memory sizes >> combinations. >> >> DDR initialization values were extracted from Solid-run internal U-boot. >> >> Tested on a CuBox-i4Pro, HummingBoard-i2eX and HummingBoard-i1. >> >> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> >> --- > > Thanks - Tom wrote in his comments, that even this patch was taken from > solidrun and should have Rabeeh's Signed-off-by, too. You do not need to > repost it, I will do myself by merging, but I do not know if it is > correct. Is it ? Please add Rabeeh's Signed-off-by tag to this patch. Thanks, Fabio Estevam ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v3 4/5] mx6cuboxi: Differentiate Cubox-i and Hummingboard 2015-04-24 11:46 [U-Boot] [PATCH v3 1/5] mx6cuboxi: Fix the defconfig name Fabio Estevam 2015-04-24 11:46 ` [U-Boot] [PATCH v3 2/5] mx6cuboxi: Prepare for multi SoC support Fabio Estevam 2015-04-24 11:46 ` [U-Boot] [PATCH v3 3/5] mx6cuboxi: Introduce multi-SoC support Fabio Estevam @ 2015-04-24 11:46 ` Fabio Estevam 2015-04-24 11:46 ` [U-Boot] [PATCH v3 5/5] mx6cuboxi: Load the correct 'fdt_file' variable Fabio Estevam 3 siblings, 0 replies; 13+ messages in thread From: Fabio Estevam @ 2015-04-24 11:46 UTC (permalink / raw) To: u-boot From: Fabio Estevam <fabio.estevam@freescale.com> Introduce is_hummingboard() function that reads GPIOs that can distinguish between Cubox-i and Hummingboard. Print the board name accordingly. Based on a patch from Rabeeh Khoury. Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> --- Changes since v2: - Add Rabeeh's Signed-off-by Changes since v1: - Attribute the credit to Rabeeh board/solidrun/mx6cuboxi/mx6cuboxi.c | 41 +++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c index 1f240ae..83410b2 100644 --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c @@ -71,6 +71,12 @@ static iomux_v3_cfg_t const usdhc2_pads[] = { IOMUX_PADS(PAD_SD2_DAT3__SD2_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)), }; +static iomux_v3_cfg_t const hb_cbi_sense[] = { + /* These pins are for sensing if it is a CuBox-i or a HummingBoard */ + IOMUX_PADS(PAD_KEY_ROW1__GPIO4_IO09 | MUX_PAD_CTRL(UART_PAD_CTRL)), + IOMUX_PADS(PAD_EIM_DA4__GPIO3_IO04 | MUX_PAD_CTRL(UART_PAD_CTRL)), +}; + static void setup_iomux_uart(void) { SETUP_IOMUX_PADS(uart1_pads); @@ -167,9 +173,42 @@ int board_init(void) return 0; } +static bool is_hummingboard(void) +{ + int val1, val2; + + SETUP_IOMUX_PADS(hb_cbi_sense); + + gpio_direction_input(IMX_GPIO_NR(4, 9)); + gpio_direction_input(IMX_GPIO_NR(3, 4)); + + val1 = gpio_get_value(IMX_GPIO_NR(4, 9)); + val2 = gpio_get_value(IMX_GPIO_NR(3, 4)); + + /* + * Machine selection - + * Machine val1, val2 + * ------------------------- + * HB rev 3.x x 0 + * CBi 0 1 + * HB 1 1 + */ + + if (val2 == 0) + return true; + else if (val1 == 0) + return false; + else + return true; +} + int checkboard(void) { - puts("Board: MX6 Hummingboard\n"); + if (is_hummingboard()) + puts("Board: MX6 Hummingboard\n"); + else + puts("Board: MX6 Cubox-i\n"); + return 0; } -- 1.9.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v3 5/5] mx6cuboxi: Load the correct 'fdt_file' variable 2015-04-24 11:46 [U-Boot] [PATCH v3 1/5] mx6cuboxi: Fix the defconfig name Fabio Estevam ` (2 preceding siblings ...) 2015-04-24 11:46 ` [U-Boot] [PATCH v3 4/5] mx6cuboxi: Differentiate Cubox-i and Hummingboard Fabio Estevam @ 2015-04-24 11:46 ` Fabio Estevam 2015-04-24 23:47 ` [U-Boot] [U-Boot, v3, " Vagrant Cascadian 2015-04-25 16:58 ` [U-Boot] [PATCH v3 " Tom Rini 3 siblings, 2 replies; 13+ messages in thread From: Fabio Estevam @ 2015-04-24 11:46 UTC (permalink / raw) To: u-boot From: Fabio Estevam <fabio.estevam@freescale.com> Instead of hardcoding the 'fdt_file' variable, let's detect the SoC and board variant on the fly and change the dtb name. Based on a patch from Rabeeh Khoury. Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> --- Changes since v2: - Add Rabeeh's Signed-off-by Changes since v1: - Attribute the credit to Rabeeh - Create a U-boot command for checking if the board is hummingboard board/solidrun/mx6cuboxi/mx6cuboxi.c | 30 ++++++++++++++++++++++++++++++ include/configs/mx6cuboxi.h | 12 ++++++++++-- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c index 83410b2..4ea6081 100644 --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c @@ -212,6 +212,36 @@ int checkboard(void) return 0; } +static const char *build_dts_prefix(void) +{ + if (is_cpu_type(MXC_CPU_MX6Q) || is_cpu_type(MXC_CPU_MX6D)) + return "imx6q"; + else if (is_cpu_type(MXC_CPU_MX6DL) || is_cpu_type(MXC_CPU_MX6SOLO)) + return "imx6dl"; + + return "unknown"; +} + +static int do_is_hummingboard(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +{ + if (is_hummingboard()) + return CMD_RET_SUCCESS; + else + return CMD_RET_FAILURE; +} + +U_BOOT_CMD( + is_hummingboard, 1, 1, do_is_hummingboard, + "detect if it is a Hummingboard or Cubox-i", + "" +); + +int misc_init_r(void) +{ + setenv("dts_prefix", build_dts_prefix()); + return 0; +} + #ifdef CONFIG_SPL_BUILD #include <asm/arch/mx6-ddr.h> static const struct mx6dq_iomux_ddr_regs mx6q_ddr_ioregs = { diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h index 5d58b16..c3cf633 100644 --- a/include/configs/mx6cuboxi.h +++ b/include/configs/mx6cuboxi.h @@ -29,6 +29,7 @@ #define CONFIG_SYS_MALLOC_LEN (2 * SZ_1M) #define CONFIG_BOARD_EARLY_INIT_F +#define CONFIG_MISC_INIT_R #define CONFIG_MXC_GPIO #define CONFIG_MXC_UART #define CONFIG_CMD_FUSE @@ -81,14 +82,19 @@ #define CONFIG_MXC_UART_BASE UART1_BASE #define CONFIG_CONSOLE_DEV "ttymxc0" #define CONFIG_MMCROOT "/dev/mmcblk0p2" -#define CONFIG_DEFAULT_FDT_FILE "imx6q-hummingboard.dtb" #define CONFIG_SYS_FSL_USDHC_NUM 1 #define CONFIG_SYS_MMC_ENV_DEV 0 /* SDHC2 */ #define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ "image=zImage\0" \ - "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ + "check_suffix=" \ + "if is_hummingboard; then " \ + "setenv dts_suffix -hummingboard.dtb;" \ + "else " \ + "setenv dts_suffix -cubox-i.dtb;" \ + "fi; "\ + "setenv fdt_file ${dts_prefix}${dts_suffix};" \ "fdt_addr=0x18000000\0" \ "boot_fdt=try\0" \ "ip_dyn=yes\0" \ @@ -119,6 +125,7 @@ "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ "mmcboot=echo Booting from mmc ...; " \ + "run check_suffix; "\ "run mmcargs; " \ "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ "if run loadfdt; then " \ @@ -137,6 +144,7 @@ "root=/dev/nfs " \ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ "netboot=echo Booting from net ...; " \ + "run check_suffix; "\ "run netargs; " \ "if test ${ip_dyn} = yes; then " \ "setenv get_cmd dhcp; " \ -- 1.9.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [U-Boot] [U-Boot, v3, 5/5] mx6cuboxi: Load the correct 'fdt_file' variable 2015-04-24 11:46 ` [U-Boot] [PATCH v3 5/5] mx6cuboxi: Load the correct 'fdt_file' variable Fabio Estevam @ 2015-04-24 23:47 ` Vagrant Cascadian 2015-04-25 6:05 ` Stefano Babic 2015-04-25 16:58 ` [U-Boot] [PATCH v3 " Tom Rini 1 sibling, 1 reply; 13+ messages in thread From: Vagrant Cascadian @ 2015-04-24 23:47 UTC (permalink / raw) To: u-boot On 2015-04-24, Fabio Estevam wrote: > Instead of hardcoding the 'fdt_file' variable, let's detect the SoC and > board variant on the fly and change the dtb name. ... > diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h > index 5d58b16..c3cf633 100644 > --- a/include/configs/mx6cuboxi.h > +++ b/include/configs/mx6cuboxi.h ... > #define CONFIG_EXTRA_ENV_SETTINGS \ > "script=boot.scr\0" \ > "image=zImage\0" \ > - "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ > + "check_suffix=" \ > + "if is_hummingboard; then " \ > + "setenv dts_suffix -hummingboard.dtb;" \ > + "else " \ > + "setenv dts_suffix -cubox-i.dtb;" \ > + "fi; "\ > + "setenv fdt_file ${dts_prefix}${dts_suffix};" \ > "fdt_addr=0x18000000\0" \ The setenv fdt_file line needs to terminate with "\0", and maybe should be indented to line up with the if statement: + "setenv fdt_file ${dts_prefix}${dts_suffix}\0" \ live well, vagrant -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 818 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150424/24b01456/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [U-Boot, v3, 5/5] mx6cuboxi: Load the correct 'fdt_file' variable 2015-04-24 23:47 ` [U-Boot] [U-Boot, v3, " Vagrant Cascadian @ 2015-04-25 6:05 ` Stefano Babic 2015-04-25 15:30 ` Fabio Estevam 2015-04-25 16:22 ` Vagrant Cascadian 0 siblings, 2 replies; 13+ messages in thread From: Stefano Babic @ 2015-04-25 6:05 UTC (permalink / raw) To: u-boot Hi Vagrant, On 25/04/2015 01:47, Vagrant Cascadian wrote: > On 2015-04-24, Fabio Estevam wrote: >> Instead of hardcoding the 'fdt_file' variable, let's detect the SoC and >> board variant on the fly and change the dtb name. > ... >> diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h >> index 5d58b16..c3cf633 100644 >> --- a/include/configs/mx6cuboxi.h >> +++ b/include/configs/mx6cuboxi.h > ... >> #define CONFIG_EXTRA_ENV_SETTINGS \ >> "script=boot.scr\0" \ >> "image=zImage\0" \ >> - "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ >> + "check_suffix=" \ >> + "if is_hummingboard; then " \ >> + "setenv dts_suffix -hummingboard.dtb;" \ >> + "else " \ >> + "setenv dts_suffix -cubox-i.dtb;" \ >> + "fi; "\ >> + "setenv fdt_file ${dts_prefix}${dts_suffix};" \ >> "fdt_addr=0x18000000\0" \ > > The setenv fdt_file line needs to terminate with "\0", Are you sure ? I think Fabio's intention is to have setenv fdt_file as part of check_suffix, and it is not if you add a trailing \0 > and maybe should > be indented to line up with the if statement: > > + "setenv fdt_file ${dts_prefix}${dts_suffix}\0" \ If checkpatch does not complain... Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [U-Boot, v3, 5/5] mx6cuboxi: Load the correct 'fdt_file' variable 2015-04-25 6:05 ` Stefano Babic @ 2015-04-25 15:30 ` Fabio Estevam 2015-04-25 17:02 ` Vagrant Cascadian 2015-04-25 16:22 ` Vagrant Cascadian 1 sibling, 1 reply; 13+ messages in thread From: Fabio Estevam @ 2015-04-25 15:30 UTC (permalink / raw) To: u-boot Hi Stefano and Vagrant, On Sat, Apr 25, 2015 at 3:05 AM, Stefano Babic <sbabic@denx.de> wrote: > Are you sure ? I think Fabio's intention is to have setenv fdt_file as > part of check_suffix, and it is not if you add a trailing \0 That's correct. > >> and maybe should >> be indented to line up with the if statement: >> >> + "setenv fdt_file ${dts_prefix}${dts_suffix}\0" \ > > If checkpatch does not complain... checkpatch did not complain, but for better readability I could do as Vagrant suggested and write it like: #define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ "image=zImage\0" \ - "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ + "check_suffix=" \ + "if is_hummingboard; then " \ + "setenv dts_suffix -hummingboard.dtb;" \ + "else " \ + "setenv dts_suffix -cubox-i.dtb;" \ + "fi; "\ + "setenv fdt_file ${dts_prefix}${dts_suffix};" \ I can send a v4 with such format. Thanks, Fabio Estevam ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [U-Boot, v3, 5/5] mx6cuboxi: Load the correct 'fdt_file' variable 2015-04-25 15:30 ` Fabio Estevam @ 2015-04-25 17:02 ` Vagrant Cascadian 0 siblings, 0 replies; 13+ messages in thread From: Vagrant Cascadian @ 2015-04-25 17:02 UTC (permalink / raw) To: u-boot On 2015-04-25, Fabio Estevam wrote: > On Sat, Apr 25, 2015 at 3:05 AM, Stefano Babic <sbabic@denx.de> wrote: > >> Are you sure ? I think Fabio's intention is to have setenv fdt_file as >> part of check_suffix, and it is not if you add a trailing \0 > > That's correct. Yes, I understood that intention, but there's no \0 in check_suffix now, which means that whatever comes after the check_suffix code will be appended to check_suffix. The check_suffix code needs a \0 to define where it ends and the next line begins... >>> and maybe should >>> be indented to line up with the if statement: >>> >>> + "setenv fdt_file ${dts_prefix}${dts_suffix}\0" \ >> >> If checkpatch does not complain... > > checkpatch did not complain, but for better readability I could do as > Vagrant suggested and write it like: > > #define CONFIG_EXTRA_ENV_SETTINGS \ > "script=boot.scr\0" \ > "image=zImage\0" \ > - "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ > + "check_suffix=" \ > + "if is_hummingboard; then " \ > + "setenv dts_suffix -hummingboard.dtb;" \ > + "else " \ > + "setenv dts_suffix -cubox-i.dtb;" \ > + "fi; "\ > + "setenv fdt_file ${dts_prefix}${dts_suffix};" \ Just to be clearer about my earlier point, I think you really want the \0 at the end of check_suffix: #define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ "image=zImage\0" \ - "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ + "check_suffix=" \ + "if is_hummingboard; then " \ + "setenv dts_suffix -hummingboard.dtb;" \ + "else " \ + "setenv dts_suffix -cubox-i.dtb;" \ + "fi; "\ + "setenv fdt_file ${dts_prefix}${dts_suffix}\0" \ I'm also wondering if "check_suffix" is a good description for the code; It's actually setting the dts_suffix and fdt_file variables. Some of the ti boards call their corresponding code "findfdt" which seems more accurate, although something like "set_fdt_vars" might even more appropriate. Another minor point: the variables are actually working with dtb files, not dts files. I think the dts_prefix/dts_suffix should probably be named dtb_prefix/dtb_suffix or fdt_prefix/fdt_suffix. And while I'm at it, Dare I make the case again for fdtfile vs. fdt_file? Thanks for working on getting hummingboard/cubox-i support into mainline u-boot! live well, vagrant -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 818 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150425/10ff1a40/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [U-Boot, v3, 5/5] mx6cuboxi: Load the correct 'fdt_file' variable 2015-04-25 6:05 ` Stefano Babic 2015-04-25 15:30 ` Fabio Estevam @ 2015-04-25 16:22 ` Vagrant Cascadian 1 sibling, 0 replies; 13+ messages in thread From: Vagrant Cascadian @ 2015-04-25 16:22 UTC (permalink / raw) To: u-boot On 2015-04-24, Stefano Babic wrote: > On 25/04/2015 01:47, Vagrant Cascadian wrote: >> On 2015-04-24, Fabio Estevam wrote: >>> Instead of hardcoding the 'fdt_file' variable, let's detect the SoC and >>> board variant on the fly and change the dtb name. >> ... >>> diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h >>> index 5d58b16..c3cf633 100644 >>> --- a/include/configs/mx6cuboxi.h >>> +++ b/include/configs/mx6cuboxi.h >> ... >>> #define CONFIG_EXTRA_ENV_SETTINGS \ >>> "script=boot.scr\0" \ >>> "image=zImage\0" \ >>> - "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ >>> + "check_suffix=" \ >>> + "if is_hummingboard; then " \ >>> + "setenv dts_suffix -hummingboard.dtb;" \ >>> + "else " \ >>> + "setenv dts_suffix -cubox-i.dtb;" \ >>> + "fi; "\ >>> + "setenv fdt_file ${dts_prefix}${dts_suffix};" \ >>> "fdt_addr=0x18000000\0" \ >> >> The setenv fdt_file line needs to terminate with "\0", > > Are you sure ? I think Fabio's intention is to have setenv fdt_file as > part of check_suffix, and it is not if you add a trailing \0 Well, if you don't append the \0, then fdt_addr=0x18000000 is appended to check_suffix, and fdt_addr is left unset... At least, that's what a booted system showed. live well, vagrant -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 818 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150425/dd2bcb5b/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] [PATCH v3 5/5] mx6cuboxi: Load the correct 'fdt_file' variable 2015-04-24 11:46 ` [U-Boot] [PATCH v3 5/5] mx6cuboxi: Load the correct 'fdt_file' variable Fabio Estevam 2015-04-24 23:47 ` [U-Boot] [U-Boot, v3, " Vagrant Cascadian @ 2015-04-25 16:58 ` Tom Rini 1 sibling, 0 replies; 13+ messages in thread From: Tom Rini @ 2015-04-25 16:58 UTC (permalink / raw) To: u-boot On Fri, Apr 24, 2015 at 08:46:55AM -0300, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@freescale.com> > > Instead of hardcoding the 'fdt_file' variable, let's detect the SoC and > board variant on the fly and change the dtb name. > > Based on a patch from Rabeeh Khoury. > > Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com> > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> I'm biased but I'd really like to see something like board/ti/am335x/board.c::board_late_init() where we use CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG and set board_name / board_rev and let the shell handle whatever else may come. This will make handling any future revs / board types easier and be more flexible. -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150425/09cfbc32/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2015-04-25 17:02 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-04-24 11:46 [U-Boot] [PATCH v3 1/5] mx6cuboxi: Fix the defconfig name Fabio Estevam 2015-04-24 11:46 ` [U-Boot] [PATCH v3 2/5] mx6cuboxi: Prepare for multi SoC support Fabio Estevam 2015-04-24 11:46 ` [U-Boot] [PATCH v3 3/5] mx6cuboxi: Introduce multi-SoC support Fabio Estevam 2015-04-24 12:27 ` Stefano Babic 2015-04-24 12:29 ` Fabio Estevam 2015-04-24 11:46 ` [U-Boot] [PATCH v3 4/5] mx6cuboxi: Differentiate Cubox-i and Hummingboard Fabio Estevam 2015-04-24 11:46 ` [U-Boot] [PATCH v3 5/5] mx6cuboxi: Load the correct 'fdt_file' variable Fabio Estevam 2015-04-24 23:47 ` [U-Boot] [U-Boot, v3, " Vagrant Cascadian 2015-04-25 6:05 ` Stefano Babic 2015-04-25 15:30 ` Fabio Estevam 2015-04-25 17:02 ` Vagrant Cascadian 2015-04-25 16:22 ` Vagrant Cascadian 2015-04-25 16:58 ` [U-Boot] [PATCH v3 " Tom Rini
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox