This patch series contains fixes and updates for currently mainlined protonic boards. Robin van der Gracht (6): ARM: boards: protonic-imx6: Run usb boot entry instead of bare device ARM: boards: protonic-imx6: Don't fixup MAC address for disabled device ARM: dts: imx6dl-prtvt7: Add brand state variable ARM: boards: protonic-imx6: Don't register SD with bbu ARM: boards: protonic-imx6: Add emmc_usdhc machine data variable ARM: boards: protonic-imx6: Enable bootchooser on prti6g board arch/arm/boards/protonic-imx6/board.c | 41 ++++++++++++++++++++++----- arch/arm/dts/imx6dl-prtvt7.dts | 11 +++++++ 2 files changed, 45 insertions(+), 7 deletions(-) -- 2.30.2 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
From: Robin van der Gracht <robin@protonic.nl> There is a usb boot script in the enviromnent. Bare device boots work well with bootspec but we decided to not use that anymore. Signed-off-by: Robin van der Gracht <robin@protonic.nl> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- arch/arm/boards/protonic-imx6/board.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boards/protonic-imx6/board.c b/arch/arm/boards/protonic-imx6/board.c index 6eb31a4bc4..e7938ac0fd 100644 --- a/arch/arm/boards/protonic-imx6/board.c +++ b/arch/arm/boards/protonic-imx6/board.c @@ -340,7 +340,7 @@ static void prt_imx6_check_usb_boot(void *data) second_word++; if (strncmp(second_word, "usb", 3) == 0) { - bootsrc = usbdisk; + bootsrc = "usb"; } else if (strncmp(second_word, "recovery", 8) == 0) { bootsrc = "recovery"; } else { -- 2.30.2 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
From: Robin van der Gracht <robin@protonic.nl> The prtvt7 board variant has no enabled ethernet interface. For these boards the MAC address in the RFID flash is unset or invalid and should not be copied to the device-tree. Signed-off-by: Robin van der Gracht <robin@protonic.nl> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- arch/arm/boards/protonic-imx6/board.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm/boards/protonic-imx6/board.c b/arch/arm/boards/protonic-imx6/board.c index e7938ac0fd..7368f3458f 100644 --- a/arch/arm/boards/protonic-imx6/board.c +++ b/arch/arm/boards/protonic-imx6/board.c @@ -171,6 +171,9 @@ static int prt_imx6_set_mac(struct prt_imx6_priv *priv, return -ENODEV; } + if (!of_device_is_available(node)) + return 0; + if (!is_valid_ether_addr(&rfid->mac[0])) { unsigned char ethaddr_str[sizeof("xx:xx:xx:xx:xx:xx")]; -- 2.30.2 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
From: Robin van der Gracht <robin@protonic.nl> prtvt7 may have different brands. So, add prtvt7 specific brand state variable. Signed-off-by: Robin van der Gracht <robin@protonic.nl> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- arch/arm/dts/imx6dl-prtvt7.dts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/arch/arm/dts/imx6dl-prtvt7.dts b/arch/arm/dts/imx6dl-prtvt7.dts index b1fd13bdd7..19794add17 100644 --- a/arch/arm/dts/imx6dl-prtvt7.dts +++ b/arch/arm/dts/imx6dl-prtvt7.dts @@ -3,3 +3,14 @@ #include <arm/imx6dl-prtvt7.dts> #include "imx6qdl-prti6q-emmc.dtsi" + +&state_emmc { + magic = <0x72766467>; + + brand { + reg = <0x1b0 0x4>; + type = "enum32"; + names = "unbranded", "agco", "vermeer"; + default = <0>; + }; +}; -- 2.30.2 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
From: Robin van der Gracht <robin@protonic.nl> SD boot is only used during development. Since the usdhc interface index differs from board to board removing it is easier than adding another board variable/flag. Signed-off-by: Robin van der Gracht <robin@protonic.nl> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- arch/arm/boards/protonic-imx6/board.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/arch/arm/boards/protonic-imx6/board.c b/arch/arm/boards/protonic-imx6/board.c index 7368f3458f..38630dc2af 100644 --- a/arch/arm/boards/protonic-imx6/board.c +++ b/arch/arm/boards/protonic-imx6/board.c @@ -427,10 +427,6 @@ static int prt_imx6_bbu(struct prt_imx6_priv *priv) if (ret) goto exit_bbu; - ret = imx6_bbu_internal_mmc_register_handler("SD", "/dev/mmc0", 0); - if (ret) - goto exit_bbu; - return 0; exit_bbu: dev_err(priv->dev, "Failed to register bbu: %i\n", ret); -- 2.30.2 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
From: Robin van der Gracht <robin@protonic.nl> The i.MX6 ultralite only has 2 usdhc ports which will be indexed as '0' and '1'. The bbu setup code assumes it is attached as '/dev/mmc2'. Signed-off-by: Robin van der Gracht <robin@protonic.nl> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- arch/arm/boards/protonic-imx6/board.c | 30 ++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/arch/arm/boards/protonic-imx6/board.c b/arch/arm/boards/protonic-imx6/board.c index 38630dc2af..0cfafdcc26 100644 --- a/arch/arm/boards/protonic-imx6/board.c +++ b/arch/arm/boards/protonic-imx6/board.c @@ -70,6 +70,7 @@ struct prt_machine_data { unsigned int hw_rev; unsigned int i2c_addr; unsigned int i2c_adapter; + unsigned int emmc_usdhc; unsigned int flags; int (*init)(struct prt_imx6_priv *priv); }; @@ -411,6 +412,7 @@ static int prt_imx6_bbu(struct prt_imx6_priv *priv) { const struct prt_machine_data *dcfg = priv->dcfg; u32 emmc_flags = 0; + char *devicefile; int ret; if (dcfg->flags & PRT_IMX6_BOOTSRC_SPI_NOR) { @@ -422,7 +424,12 @@ static int prt_imx6_bbu(struct prt_imx6_priv *priv) emmc_flags = BBU_HANDLER_FLAG_DEFAULT; } - ret = imx6_bbu_internal_mmcboot_register_handler("eMMC", "/dev/mmc2", + devicefile = basprintf("mmc%d", dcfg->emmc_usdhc); + if (!devicefile) { + ret = -ENOMEM; + goto exit_bbu; + } + ret = imx6_bbu_internal_mmcboot_register_handler("eMMC", devicefile, emmc_flags); if (ret) goto exit_bbu; @@ -807,6 +814,7 @@ static const struct prt_machine_data prt_imx6_cfg_alti6p[] = { .hw_rev = 0, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_EMMC, }, { .hw_id = UINT_MAX @@ -819,6 +827,7 @@ static const struct prt_machine_data prt_imx6_cfg_victgo[] = { .hw_rev = 0, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .init = prt_imx6_init_victgo, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { @@ -832,12 +841,14 @@ static const struct prt_machine_data prt_imx6_cfg_vicut1[] = { .hw_rev = 0, .i2c_addr = 0x50, .i2c_adapter = 1, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { .hw_id = HW_TYPE_VICUT1, .hw_rev = 1, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .init = prt_imx6_init_kvg_yaco, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { @@ -845,6 +856,7 @@ static const struct prt_machine_data prt_imx6_cfg_vicut1[] = { .hw_rev = 1, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .init = prt_imx6_init_kvg_new, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { @@ -858,12 +870,14 @@ static const struct prt_machine_data prt_imx6_cfg_vicut1q[] = { .hw_rev = 0, .i2c_addr = 0x50, .i2c_adapter = 1, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { .hw_id = HW_TYPE_VICUT1, .hw_rev = 1, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .init = prt_imx6_init_kvg_yaco, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { @@ -871,6 +885,7 @@ static const struct prt_machine_data prt_imx6_cfg_vicut1q[] = { .hw_rev = 0, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .init = prt_imx6_init_kvg_yaco, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { @@ -878,6 +893,7 @@ static const struct prt_machine_data prt_imx6_cfg_vicut1q[] = { .hw_rev = 1, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .init = prt_imx6_init_kvg_new, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { @@ -891,6 +907,7 @@ static const struct prt_machine_data prt_imx6_cfg_vicutp[] = { .hw_rev = 1, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .init = prt_imx6_init_kvg_new, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { @@ -904,6 +921,7 @@ static const struct prt_machine_data prt_imx6_cfg_lanmcu[] = { .hw_rev = 0, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_EMMC | PRT_IMX6_BOOTCHOOSER, }, { .hw_id = UINT_MAX @@ -916,6 +934,7 @@ static const struct prt_machine_data prt_imx6_cfg_plybas[] = { .hw_rev = 0, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_SPI_NOR | PRT_IMX6_USB_LONG_DELAY, }, { .hw_id = UINT_MAX @@ -928,6 +947,7 @@ static const struct prt_machine_data prt_imx6_cfg_plym2m[] = { .hw_rev = 0, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_SPI_NOR | PRT_IMX6_USB_LONG_DELAY, }, { .hw_id = UINT_MAX @@ -940,6 +960,7 @@ static const struct prt_machine_data prt_imx6_cfg_prti6g[] = { .hw_rev = 0, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 1, .init = prt_imx6_init_prti6g, .flags = PRT_IMX6_BOOTSRC_EMMC, }, { @@ -953,12 +974,14 @@ static const struct prt_machine_data prt_imx6_cfg_prti6q[] = { .hw_rev = 0, .i2c_addr = 0x51, .i2c_adapter = 2, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { .hw_id = HW_TYPE_PRTI6Q, .hw_rev = 1, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { .hw_id = UINT_MAX @@ -971,6 +994,7 @@ static const struct prt_machine_data prt_imx6_cfg_prtmvt[] = { .hw_rev = 0, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { .hw_id = UINT_MAX @@ -983,6 +1007,7 @@ static const struct prt_machine_data prt_imx6_cfg_prtrvt[] = { .hw_rev = 0, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_SPI_NOR, }, { .hw_id = UINT_MAX @@ -995,6 +1020,7 @@ static const struct prt_machine_data prt_imx6_cfg_prtvt7[] = { .hw_rev = 0, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_EMMC | PRT_IMX6_BOOTCHOOSER, }, { .hw_id = UINT_MAX @@ -1007,6 +1033,7 @@ static const struct prt_machine_data prt_imx6_cfg_prtwd2[] = { .hw_rev = 0, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_EMMC, }, { .hw_id = UINT_MAX @@ -1019,6 +1046,7 @@ static const struct prt_machine_data prt_imx6_cfg_prtwd3[] = { .hw_rev = 2, .i2c_addr = 0x51, .i2c_adapter = 0, + .emmc_usdhc = 2, .flags = PRT_IMX6_BOOTSRC_EMMC, }, { .hw_id = UINT_MAX -- 2.30.2 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
From: Robin van der Gracht <robin@protonic.nl> Bootchooser is now ported to the prti6g board. So, let barebox know about it. Signed-off-by: Robin van der Gracht <robin@protonic.nl> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- arch/arm/boards/protonic-imx6/board.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boards/protonic-imx6/board.c b/arch/arm/boards/protonic-imx6/board.c index 0cfafdcc26..9ded94b3b0 100644 --- a/arch/arm/boards/protonic-imx6/board.c +++ b/arch/arm/boards/protonic-imx6/board.c @@ -962,7 +962,7 @@ static const struct prt_machine_data prt_imx6_cfg_prti6g[] = { .i2c_adapter = 0, .emmc_usdhc = 1, .init = prt_imx6_init_prti6g, - .flags = PRT_IMX6_BOOTSRC_EMMC, + .flags = PRT_IMX6_BOOTSRC_EMMC | PRT_IMX6_BOOTCHOOSER, }, { .hw_id = UINT_MAX }, -- 2.30.2 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
On Wed, Aug 18, 2021 at 02:19:39PM +0200, Oleksij Rempel wrote: > This patch series contains fixes and updates for currently mainlined > protonic boards. > > Robin van der Gracht (6): > ARM: boards: protonic-imx6: Run usb boot entry instead of bare device > ARM: boards: protonic-imx6: Don't fixup MAC address for disabled > device > ARM: dts: imx6dl-prtvt7: Add brand state variable > ARM: boards: protonic-imx6: Don't register SD with bbu > ARM: boards: protonic-imx6: Add emmc_usdhc machine data variable > ARM: boards: protonic-imx6: Enable bootchooser on prti6g board Applied, thanks Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox