* [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name
@ 2015-04-25 21:47 Fabio Estevam
2015-04-25 21:47 ` [U-Boot] [PATCH v5 2/6] mx6cuboxi: Prepare for multi SoC support Fabio Estevam
` (6 more replies)
0 siblings, 7 replies; 22+ messages in thread
From: Fabio Estevam @ 2015-04-25 21:47 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 v4:
- 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] 22+ messages in thread* [U-Boot] [PATCH v5 2/6] mx6cuboxi: Prepare for multi SoC support 2015-04-25 21:47 [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name Fabio Estevam @ 2015-04-25 21:47 ` Fabio Estevam 2015-04-26 0:32 ` Tom Rini 2015-04-27 11:08 ` Stefano Babic 2015-04-25 21:47 ` [U-Boot] [PATCH v5 3/6] mx6cuboxi: Introduce multi-SoC support Fabio Estevam ` (5 subsequent siblings) 6 siblings, 2 replies; 22+ messages in thread From: Fabio Estevam @ 2015-04-25 21:47 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 v4: - 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] 22+ messages in thread
* [U-Boot] [PATCH v5 2/6] mx6cuboxi: Prepare for multi SoC support 2015-04-25 21:47 ` [U-Boot] [PATCH v5 2/6] mx6cuboxi: Prepare for multi SoC support Fabio Estevam @ 2015-04-26 0:32 ` Tom Rini 2015-04-27 11:08 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Tom Rini @ 2015-04-26 0:32 UTC (permalink / raw) To: u-boot On Sat, Apr 25, 2015 at 06:47:17PM -0300, Fabio Estevam wrote: > 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> Reviewed-by: Tom Rini <trini@konsulko.com> -- 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/77d58aea/attachment.sig> ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v5 2/6] mx6cuboxi: Prepare for multi SoC support 2015-04-25 21:47 ` [U-Boot] [PATCH v5 2/6] mx6cuboxi: Prepare for multi SoC support Fabio Estevam 2015-04-26 0:32 ` Tom Rini @ 2015-04-27 11:08 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Stefano Babic @ 2015-04-27 11:08 UTC (permalink / raw) To: u-boot On 25/04/2015 23:47, Fabio Estevam wrote: > 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> > --- Applied to u-boot-imx, thanks ! 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] 22+ messages in thread
* [U-Boot] [PATCH v5 3/6] mx6cuboxi: Introduce multi-SoC support 2015-04-25 21:47 [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name Fabio Estevam 2015-04-25 21:47 ` [U-Boot] [PATCH v5 2/6] mx6cuboxi: Prepare for multi SoC support Fabio Estevam @ 2015-04-25 21:47 ` Fabio Estevam 2015-04-26 0:32 ` Tom Rini 2015-04-27 11:09 ` Stefano Babic 2015-04-25 21:47 ` [U-Boot] [PATCH v5 4/6] mx6cuboxi: Differentiate Cubox-i and Hummingboard Fabio Estevam ` (4 subsequent siblings) 6 siblings, 2 replies; 22+ messages in thread From: Fabio Estevam @ 2015-04-25 21:47 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: Rabeeh Khoury <rabeeh@solid-run.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> --- Changes since v4: - Add Rabeeh's SOB 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] 22+ messages in thread
* [U-Boot] [PATCH v5 3/6] mx6cuboxi: Introduce multi-SoC support 2015-04-25 21:47 ` [U-Boot] [PATCH v5 3/6] mx6cuboxi: Introduce multi-SoC support Fabio Estevam @ 2015-04-26 0:32 ` Tom Rini 2015-04-27 11:09 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Tom Rini @ 2015-04-26 0:32 UTC (permalink / raw) To: u-boot On Sat, Apr 25, 2015 at 06:47:18PM -0300, 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: Rabeeh Khoury <rabeeh@solid-run.com> > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Reviewed-by: Tom Rini <trini@konsulko.com> -- 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/b0e9d40b/attachment.sig> ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v5 3/6] mx6cuboxi: Introduce multi-SoC support 2015-04-25 21:47 ` [U-Boot] [PATCH v5 3/6] mx6cuboxi: Introduce multi-SoC support Fabio Estevam 2015-04-26 0:32 ` Tom Rini @ 2015-04-27 11:09 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Stefano Babic @ 2015-04-27 11:09 UTC (permalink / raw) To: u-boot On 25/04/2015 23:47, 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: Rabeeh Khoury <rabeeh@solid-run.com> > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> > --- Applied to u-boot-imx, thanks ! 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] 22+ messages in thread
* [U-Boot] [PATCH v5 4/6] mx6cuboxi: Differentiate Cubox-i and Hummingboard 2015-04-25 21:47 [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name Fabio Estevam 2015-04-25 21:47 ` [U-Boot] [PATCH v5 2/6] mx6cuboxi: Prepare for multi SoC support Fabio Estevam 2015-04-25 21:47 ` [U-Boot] [PATCH v5 3/6] mx6cuboxi: Introduce multi-SoC support Fabio Estevam @ 2015-04-25 21:47 ` Fabio Estevam 2015-04-26 0:32 ` Tom Rini 2015-04-27 11:09 ` Stefano Babic 2015-04-25 21:47 ` [U-Boot] [PATCH v5 5/6] mx6cuboxi: Use more standard namings for fdt variables Fabio Estevam ` (3 subsequent siblings) 6 siblings, 2 replies; 22+ messages in thread From: Fabio Estevam @ 2015-04-25 21:47 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 v4: - None 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] 22+ messages in thread
* [U-Boot] [PATCH v5 4/6] mx6cuboxi: Differentiate Cubox-i and Hummingboard 2015-04-25 21:47 ` [U-Boot] [PATCH v5 4/6] mx6cuboxi: Differentiate Cubox-i and Hummingboard Fabio Estevam @ 2015-04-26 0:32 ` Tom Rini 2015-04-27 11:09 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Tom Rini @ 2015-04-26 0:32 UTC (permalink / raw) To: u-boot On Sat, Apr 25, 2015 at 06:47:19PM -0300, Fabio Estevam wrote: > 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> Reviewed-by: Tom Rini <trini@konsulko.com> -- 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/fd2f230a/attachment.sig> ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v5 4/6] mx6cuboxi: Differentiate Cubox-i and Hummingboard 2015-04-25 21:47 ` [U-Boot] [PATCH v5 4/6] mx6cuboxi: Differentiate Cubox-i and Hummingboard Fabio Estevam 2015-04-26 0:32 ` Tom Rini @ 2015-04-27 11:09 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Stefano Babic @ 2015-04-27 11:09 UTC (permalink / raw) To: u-boot On 25/04/2015 23:47, Fabio Estevam wrote: > 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> > --- Applied to u-boot-imx, thanks ! 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] 22+ messages in thread
* [U-Boot] [PATCH v5 5/6] mx6cuboxi: Use more standard namings for fdt variables 2015-04-25 21:47 [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name Fabio Estevam ` (2 preceding siblings ...) 2015-04-25 21:47 ` [U-Boot] [PATCH v5 4/6] mx6cuboxi: Differentiate Cubox-i and Hummingboard Fabio Estevam @ 2015-04-25 21:47 ` Fabio Estevam 2015-04-26 0:31 ` Tom Rini 2015-04-27 11:09 ` Stefano Babic 2015-04-25 21:47 ` [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable Fabio Estevam ` (2 subsequent siblings) 6 siblings, 2 replies; 22+ messages in thread From: Fabio Estevam @ 2015-04-25 21:47 UTC (permalink / raw) To: u-boot From: Fabio Estevam <fabio.estevam@freescale.com> README file suggests to use 'fdtfile' for the dtb file name and 'fdt_addr_r' for the dtb address in RAM, so do as suggested. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> --- Changes since v5: - Use fdt_addr_r as per README (suggested by Vagrant) include/configs/mx6cuboxi.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h index 5d58b16..98b48d5 100644 --- a/include/configs/mx6cuboxi.h +++ b/include/configs/mx6cuboxi.h @@ -88,8 +88,8 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ "image=zImage\0" \ - "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ - "fdt_addr=0x18000000\0" \ + "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ + "fdt_addr_r=0x18000000\0" \ "boot_fdt=try\0" \ "ip_dyn=yes\0" \ "console=" CONFIG_CONSOLE_DEV "\0" \ @@ -117,12 +117,12 @@ "bootscript=echo Running bootscript from mmc ...; " \ "source\0" \ "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ - "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ + "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}\0" \ "mmcboot=echo Booting from mmc ...; " \ "run mmcargs; " \ "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ "if run loadfdt; then " \ - "bootz ${loadaddr} - ${fdt_addr}; " \ + "bootz ${loadaddr} - ${fdt_addr_r}; " \ "else " \ "if test ${boot_fdt} = try; then " \ "bootz; " \ @@ -145,8 +145,8 @@ "fi; " \ "${get_cmd} ${image}; " \ "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ - "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ - "bootz ${loadaddr} - ${fdt_addr}; " \ + "if ${get_cmd} ${fdt_addr_r} ${fdtfile}; then " \ + "bootz ${loadaddr} - ${fdt_addr_r}; " \ "else " \ "if test ${boot_fdt} = try; then " \ "bootz; " \ -- 1.9.1 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v5 5/6] mx6cuboxi: Use more standard namings for fdt variables 2015-04-25 21:47 ` [U-Boot] [PATCH v5 5/6] mx6cuboxi: Use more standard namings for fdt variables Fabio Estevam @ 2015-04-26 0:31 ` Tom Rini 2015-04-27 11:09 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Tom Rini @ 2015-04-26 0:31 UTC (permalink / raw) To: u-boot On Sat, Apr 25, 2015 at 06:47:20PM -0300, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@freescale.com> > > README file suggests to use 'fdtfile' for the dtb file name and > 'fdt_addr_r' for the dtb address in RAM, so do as suggested. > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Reviewed-by: Tom Rini <trini@konsulko.com> -- 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/3341bc2b/attachment.sig> ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v5 5/6] mx6cuboxi: Use more standard namings for fdt variables 2015-04-25 21:47 ` [U-Boot] [PATCH v5 5/6] mx6cuboxi: Use more standard namings for fdt variables Fabio Estevam 2015-04-26 0:31 ` Tom Rini @ 2015-04-27 11:09 ` Stefano Babic 1 sibling, 0 replies; 22+ messages in thread From: Stefano Babic @ 2015-04-27 11:09 UTC (permalink / raw) To: u-boot On 25/04/2015 23:47, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@freescale.com> > > README file suggests to use 'fdtfile' for the dtb file name and > 'fdt_addr_r' for the dtb address in RAM, so do as suggested. > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> > --- Applied to u-boot-imx, thanks ! 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] 22+ messages in thread
* [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable 2015-04-25 21:47 [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name Fabio Estevam ` (3 preceding siblings ...) 2015-04-25 21:47 ` [U-Boot] [PATCH v5 5/6] mx6cuboxi: Use more standard namings for fdt variables Fabio Estevam @ 2015-04-25 21:47 ` Fabio Estevam 2015-04-25 23:26 ` Vagrant Cascadian ` (3 more replies) 2015-04-26 0:31 ` [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name Tom Rini 2015-04-27 11:08 ` Stefano Babic 6 siblings, 4 replies; 22+ messages in thread From: Fabio Estevam @ 2015-04-25 21:47 UTC (permalink / raw) To: u-boot From: Fabio Estevam <fabio.estevam@freescale.com> Instead of hardcoding the 'fdtfile' variable, let's detect the SoC and board variant on the fly and change the dtb name. Based on the scheme done on am335x board. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> --- Changes since v4: - None board/solidrun/mx6cuboxi/mx6cuboxi.c | 25 +++++++++++++++++++++++++ include/configs/mx6cuboxi.h | 19 ++++++++++++++++--- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c index 83410b2..e06186e 100644 --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c @@ -212,6 +212,31 @@ int checkboard(void) return 0; } +static bool is_mx6q(void) +{ + if (is_cpu_type(MXC_CPU_MX6Q) || is_cpu_type(MXC_CPU_MX6D)) + return true; + else + return false; +} + +int board_late_init(void) +{ +#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG + if (is_hummingboard()) + setenv("board_name", "HUMMINGBOARD"); + else + setenv("board_name", "CUBOXI"); + + if (is_mx6q) + setenv("board_rev", "MX6Q"); + else + setenv("board_rev", "MX6DL"); +#endif + + 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 98b48d5..b569f34 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_BOARD_LATE_INIT #define CONFIG_MXC_GPIO #define CONFIG_MXC_UART #define CONFIG_CMD_FUSE @@ -81,14 +82,14 @@ #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_ENV_VARS_UBOOT_RUNTIME_CONFIG #define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ "image=zImage\0" \ - "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ + "fdtfile=undefined\0" \ "fdt_addr_r=0x18000000\0" \ "boot_fdt=try\0" \ "ip_dyn=yes\0" \ @@ -156,9 +157,21 @@ "fi; " \ "else " \ "bootz; " \ - "fi;\0" + "fi;\0" \ + "findfdt="\ + "if test $board_name = HUMMINGBOARD && test $board_rev = MX6Q ; then " \ + "setenv fdtfile imx6q-hummingboard.dtb; fi; " \ + "if test $board_name = HUMMINGBOARD && test $board_rev = MX6DL ; then " \ + "setenv fdtfile imx6dl-hummingboard.dtb; fi; " \ + "if test $board_name = CUBOXI && test $board_rev = MX6Q ; then " \ + "setenv fdtfile imx6q-cubox-i.dtb; fi; " \ + "if test $board_name = CUBOXI && test $board_rev = MX6DL ; then " \ + "setenv fdtfile imx6dl-cubox-i.dtb; fi; " \ + "if test $fdtfile = undefined; then " \ + "echo WARNING: Could not determine dtb to use; fi; \0" \ #define CONFIG_BOOTCOMMAND \ + "run findfdt; " \ "mmc dev ${mmcdev};" \ "if mmc rescan; then " \ "if run loadbootscript; then " \ -- 1.9.1 ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable 2015-04-25 21:47 ` [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable Fabio Estevam @ 2015-04-25 23:26 ` Vagrant Cascadian 2015-04-26 0:30 ` Tom Rini ` (2 subsequent siblings) 3 siblings, 0 replies; 22+ messages in thread From: Vagrant Cascadian @ 2015-04-25 23:26 UTC (permalink / raw) To: u-boot On 2015-04-25, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@freescale.com> > > Instead of hardcoding the 'fdtfile' variable, let's detect the SoC and > board variant on the fly and change the dtb name. > > Based on the scheme done on am335x board. > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Tested-By: Vagrant Cascadian <vagrant@debian.org> > --- > Changes since v4: > - None > > board/solidrun/mx6cuboxi/mx6cuboxi.c | 25 +++++++++++++++++++++++++ > include/configs/mx6cuboxi.h | 19 ++++++++++++++++--- > 2 files changed, 41 insertions(+), 3 deletions(-) > > diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c > index 83410b2..e06186e 100644 > --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c > +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c > @@ -212,6 +212,31 @@ int checkboard(void) > return 0; > } > > +static bool is_mx6q(void) > +{ > + if (is_cpu_type(MXC_CPU_MX6Q) || is_cpu_type(MXC_CPU_MX6D)) > + return true; > + else > + return false; > +} > + > +int board_late_init(void) > +{ > +#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG > + if (is_hummingboard()) > + setenv("board_name", "HUMMINGBOARD"); > + else > + setenv("board_name", "CUBOXI"); > + > + if (is_mx6q) > + setenv("board_rev", "MX6Q"); > + else > + setenv("board_rev", "MX6DL"); > +#endif > + > + 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 98b48d5..b569f34 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_BOARD_LATE_INIT > #define CONFIG_MXC_GPIO > #define CONFIG_MXC_UART > #define CONFIG_CMD_FUSE > @@ -81,14 +82,14 @@ > #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_ENV_VARS_UBOOT_RUNTIME_CONFIG > #define CONFIG_EXTRA_ENV_SETTINGS \ > "script=boot.scr\0" \ > "image=zImage\0" \ > - "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ > + "fdtfile=undefined\0" \ > "fdt_addr_r=0x18000000\0" \ > "boot_fdt=try\0" \ > "ip_dyn=yes\0" \ > @@ -156,9 +157,21 @@ > "fi; " \ > "else " \ > "bootz; " \ > - "fi;\0" > + "fi;\0" \ > + "findfdt="\ > + "if test $board_name = HUMMINGBOARD && test $board_rev = MX6Q ; then " \ > + "setenv fdtfile imx6q-hummingboard.dtb; fi; " \ > + "if test $board_name = HUMMINGBOARD && test $board_rev = MX6DL ; then " \ > + "setenv fdtfile imx6dl-hummingboard.dtb; fi; " \ > + "if test $board_name = CUBOXI && test $board_rev = MX6Q ; then " \ > + "setenv fdtfile imx6q-cubox-i.dtb; fi; " \ > + "if test $board_name = CUBOXI && test $board_rev = MX6DL ; then " \ > + "setenv fdtfile imx6dl-cubox-i.dtb; fi; " \ > + "if test $fdtfile = undefined; then " \ > + "echo WARNING: Could not determine dtb to use; fi; \0" \ > > #define CONFIG_BOOTCOMMAND \ > + "run findfdt; " \ > "mmc dev ${mmcdev};" \ > "if mmc rescan; then " \ > "if run loadbootscript; then " \ > -- > 1.9.1 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/3d503c02/attachment.sig> ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable 2015-04-25 21:47 ` [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable Fabio Estevam 2015-04-25 23:26 ` Vagrant Cascadian @ 2015-04-26 0:30 ` Tom Rini 2015-04-27 7:51 ` Stefano Babic 2015-04-27 11:10 ` Stefano Babic 3 siblings, 0 replies; 22+ messages in thread From: Tom Rini @ 2015-04-26 0:30 UTC (permalink / raw) To: u-boot On Sat, Apr 25, 2015 at 06:47:21PM -0300, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@freescale.com> > > Instead of hardcoding the 'fdtfile' variable, let's detect the SoC and > board variant on the fly and change the dtb name. > > Based on the scheme done on am335x board. > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Thanks for reworking this! Reviewed-by: Tom Rini <trini@konsulko.com> -- 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/1fddf07c/attachment.sig> ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable 2015-04-25 21:47 ` [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable Fabio Estevam 2015-04-25 23:26 ` Vagrant Cascadian 2015-04-26 0:30 ` Tom Rini @ 2015-04-27 7:51 ` Stefano Babic 2015-04-27 10:11 ` Fabio Estevam 2015-04-27 11:10 ` Stefano Babic 3 siblings, 1 reply; 22+ messages in thread From: Stefano Babic @ 2015-04-27 7:51 UTC (permalink / raw) To: u-boot Hi Fabio, On 25/04/2015 23:47, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@freescale.com> > > Instead of hardcoding the 'fdtfile' variable, let's detect the SoC and > board variant on the fly and change the dtb name. > > Based on the scheme done on am335x board. > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> > --- > Changes since v4: > - None > > board/solidrun/mx6cuboxi/mx6cuboxi.c | 25 +++++++++++++++++++++++++ > include/configs/mx6cuboxi.h | 19 ++++++++++++++++--- > 2 files changed, 41 insertions(+), 3 deletions(-) > > diff --git a/board/solidrun/mx6cuboxi/mx6cuboxi.c b/board/solidrun/mx6cuboxi/mx6cuboxi.c > index 83410b2..e06186e 100644 > --- a/board/solidrun/mx6cuboxi/mx6cuboxi.c > +++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c > @@ -212,6 +212,31 @@ int checkboard(void) > return 0; > } > > +static bool is_mx6q(void) > +{ > + if (is_cpu_type(MXC_CPU_MX6Q) || is_cpu_type(MXC_CPU_MX6D)) > + return true; > + else > + return false; > +} > + > +int board_late_init(void) > +{ > +#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG > + if (is_hummingboard()) > + setenv("board_name", "HUMMINGBOARD"); > + else > + setenv("board_name", "CUBOXI"); > + > + if (is_mx6q) This should be is_mx6q() and not is_mx6q > + setenv("board_rev", "MX6Q"); > + else > + setenv("board_rev", "MX6DL"); > +#endif > + > + 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 98b48d5..b569f34 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_BOARD_LATE_INIT > #define CONFIG_MXC_GPIO > #define CONFIG_MXC_UART > #define CONFIG_CMD_FUSE > @@ -81,14 +82,14 @@ > #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_ENV_VARS_UBOOT_RUNTIME_CONFIG > #define CONFIG_EXTRA_ENV_SETTINGS \ > "script=boot.scr\0" \ > "image=zImage\0" \ > - "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ > + "fdtfile=undefined\0" \ > "fdt_addr_r=0x18000000\0" \ > "boot_fdt=try\0" \ > "ip_dyn=yes\0" \ > @@ -156,9 +157,21 @@ > "fi; " \ > "else " \ > "bootz; " \ > - "fi;\0" > + "fi;\0" \ > + "findfdt="\ > + "if test $board_name = HUMMINGBOARD && test $board_rev = MX6Q ; then " \ > + "setenv fdtfile imx6q-hummingboard.dtb; fi; " \ > + "if test $board_name = HUMMINGBOARD && test $board_rev = MX6DL ; then " \ > + "setenv fdtfile imx6dl-hummingboard.dtb; fi; " \ > + "if test $board_name = CUBOXI && test $board_rev = MX6Q ; then " \ > + "setenv fdtfile imx6q-cubox-i.dtb; fi; " \ > + "if test $board_name = CUBOXI && test $board_rev = MX6DL ; then " \ For the history: checkpatch compliants about the length here, but I find it *much* more readable on one line as splitted into more lines. I will ignore these warnings. Best regards, Stefano -- ===================================================================== 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] 22+ messages in thread
* [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable 2015-04-27 7:51 ` Stefano Babic @ 2015-04-27 10:11 ` Fabio Estevam 2015-04-27 10:56 ` Stefano Babic 0 siblings, 1 reply; 22+ messages in thread From: Fabio Estevam @ 2015-04-27 10:11 UTC (permalink / raw) To: u-boot Hi Stefano, On Mon, Apr 27, 2015 at 4:51 AM, Stefano Babic <sbabic@denx.de> wrote: >> +int board_late_init(void) >> +{ >> +#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG >> + if (is_hummingboard()) >> + setenv("board_name", "HUMMINGBOARD"); >> + else >> + setenv("board_name", "CUBOXI"); >> + >> + if (is_mx6q) > > This should be is_mx6q() and not is_mx6q You are right. Do you want me to resend the series or could you please change it while applying it? Thanks, Fabio Estevam ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable 2015-04-27 10:11 ` Fabio Estevam @ 2015-04-27 10:56 ` Stefano Babic 0 siblings, 0 replies; 22+ messages in thread From: Stefano Babic @ 2015-04-27 10:56 UTC (permalink / raw) To: u-boot Hi Fabio, On 27/04/2015 12:11, Fabio Estevam wrote: > Hi Stefano, > > On Mon, Apr 27, 2015 at 4:51 AM, Stefano Babic <sbabic@denx.de> wrote: > >>> +int board_late_init(void) >>> +{ >>> +#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG >>> + if (is_hummingboard()) >>> + setenv("board_name", "HUMMINGBOARD"); >>> + else >>> + setenv("board_name", "CUBOXI"); >>> + >>> + if (is_mx6q) >> >> This should be is_mx6q() and not is_mx6q > > You are right. > > Do you want me to resend the series or could you please change it > while applying it? > No, I will apply with this change. I wanted only track why I change the code posted to ML. 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] 22+ messages in thread
* [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable 2015-04-25 21:47 ` [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable Fabio Estevam ` (2 preceding siblings ...) 2015-04-27 7:51 ` Stefano Babic @ 2015-04-27 11:10 ` Stefano Babic 3 siblings, 0 replies; 22+ messages in thread From: Stefano Babic @ 2015-04-27 11:10 UTC (permalink / raw) To: u-boot On 25/04/2015 23:47, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@freescale.com> > > Instead of hardcoding the 'fdtfile' variable, let's detect the SoC and > board variant on the fly and change the dtb name. > > Based on the scheme done on am335x board. > > Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> > ---Applied to u-boot-imx, thanks ! 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] 22+ messages in thread
* [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name 2015-04-25 21:47 [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name Fabio Estevam ` (4 preceding siblings ...) 2015-04-25 21:47 ` [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable Fabio Estevam @ 2015-04-26 0:31 ` Tom Rini 2015-04-27 11:08 ` Stefano Babic 6 siblings, 0 replies; 22+ messages in thread From: Tom Rini @ 2015-04-26 0:31 UTC (permalink / raw) To: u-boot On Sat, Apr 25, 2015 at 06:47:16PM -0300, Fabio Estevam wrote: > 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> Reviewed-by: Tom Rini <trini@konsulko.com> -- 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/1ab864ba/attachment.sig> ^ permalink raw reply [flat|nested] 22+ messages in thread
* [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name 2015-04-25 21:47 [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name Fabio Estevam ` (5 preceding siblings ...) 2015-04-26 0:31 ` [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name Tom Rini @ 2015-04-27 11:08 ` Stefano Babic 6 siblings, 0 replies; 22+ messages in thread From: Stefano Babic @ 2015-04-27 11:08 UTC (permalink / raw) To: u-boot On 25/04/2015 23:47, Fabio Estevam wrote: > 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 v4: > - 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 > Applied to u-boot-imx, thanks ! 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] 22+ messages in thread
end of thread, other threads:[~2015-04-27 11:10 UTC | newest] Thread overview: 22+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-04-25 21:47 [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name Fabio Estevam 2015-04-25 21:47 ` [U-Boot] [PATCH v5 2/6] mx6cuboxi: Prepare for multi SoC support Fabio Estevam 2015-04-26 0:32 ` Tom Rini 2015-04-27 11:08 ` Stefano Babic 2015-04-25 21:47 ` [U-Boot] [PATCH v5 3/6] mx6cuboxi: Introduce multi-SoC support Fabio Estevam 2015-04-26 0:32 ` Tom Rini 2015-04-27 11:09 ` Stefano Babic 2015-04-25 21:47 ` [U-Boot] [PATCH v5 4/6] mx6cuboxi: Differentiate Cubox-i and Hummingboard Fabio Estevam 2015-04-26 0:32 ` Tom Rini 2015-04-27 11:09 ` Stefano Babic 2015-04-25 21:47 ` [U-Boot] [PATCH v5 5/6] mx6cuboxi: Use more standard namings for fdt variables Fabio Estevam 2015-04-26 0:31 ` Tom Rini 2015-04-27 11:09 ` Stefano Babic 2015-04-25 21:47 ` [U-Boot] [PATCH v5 6/6] mx6cuboxi: Load the correct 'fdtfile' variable Fabio Estevam 2015-04-25 23:26 ` Vagrant Cascadian 2015-04-26 0:30 ` Tom Rini 2015-04-27 7:51 ` Stefano Babic 2015-04-27 10:11 ` Fabio Estevam 2015-04-27 10:56 ` Stefano Babic 2015-04-27 11:10 ` Stefano Babic 2015-04-26 0:31 ` [U-Boot] [PATCH v5 1/6] mx6cuboxi: Fix the defconfig name Tom Rini 2015-04-27 11:08 ` Stefano Babic
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox