diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2022-01-18 11:56:36 +0100 |
---|---|---|
committer | Robert Schwebel <r.schwebel@pengutronix.de> | 2022-01-22 11:48:09 +0100 |
commit | d1703c49df158863b5530e6d88a9860cf510b784 (patch) | |
tree | 85c6164e800aceb32e0d1bc0848f4da2742cbace /configs/platform-v7a/patches | |
parent | 0231b0d9dfd76dec4fefdcb5a5b1c3cbfe1097a1 (diff) | |
download | DistroKit-d1703c49df158863b5530e6d88a9860cf510b784.tar.gz DistroKit-d1703c49df158863b5530e6d88a9860cf510b784.tar.xz |
v7a: barebox: update v2021.11.0 → v2022.01.0
Freshest barebox release incorporates the OMAP patches we have in the
BSP. Bump up the release and drop these two patches in return.
The release also introduced CONFIG_STM32_BSEC_WRITE, which enables
blowing e-fuses on STM32MP1 SoCs, e.g. to persist an Ethernet address.
We support a couple of STM32MP1 boards, so it makes sense to enable
this option. All other Kconfig changes are those of olddefconfig.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Diffstat (limited to 'configs/platform-v7a/patches')
3 files changed, 0 insertions, 257 deletions
diff --git a/configs/platform-v7a/patches/barebox-2021.11.0/0001-net-cpsw-add-support-for-new-binding-in-Linux-v5.15-.patch b/configs/platform-v7a/patches/barebox-2021.11.0/0001-net-cpsw-add-support-for-new-binding-in-Linux-v5.15-.patch deleted file mode 100644 index 287f052..0000000 --- a/configs/platform-v7a/patches/barebox-2021.11.0/0001-net-cpsw-add-support-for-new-binding-in-Linux-v5.15-.patch +++ /dev/null @@ -1,210 +0,0 @@ -From ed7f3fd5b5e2088f04d2f5d615d71cf6e6507509 Mon Sep 17 00:00:00 2001 -From: Ahmad Fatoum <a.fatoum@pengutronix.de> -Date: Fri, 3 Dec 2021 21:50:35 +0100 -Subject: [PATCH 1/2] net: cpsw: add support for new binding in Linux v5.15-rc1 - DTs - -As is customary, upstream OMAP DTs have yet again added a new binding -breaking compatibility with a barebox driver. This time, the old Ethernet -node was disabled in favor of a new node that is matched by the new Linux -cpsw driver introduced with Linux commit ed3525eda4c4 ("net: ethernet: -ti: introduce cpsw switchdev based driver part 1 - dual-emac"). - -Add support for the new binding to restore working Beaglebone Black -networking. These changes have been tested against both the old and new -bindings. - -Fixes: 618948e4e5b3 ("dts: update to v5.15-rc1") -Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> -Link: https://lore.barebox.org/20211203205035.555285-1-a.fatoum@pengutronix.de -Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> ---- - drivers/net/cpsw.c | 120 +++++++++++++++++++++++++++++++++------------ - 1 file changed, 89 insertions(+), 31 deletions(-) - -diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c -index 4a8f9e67d6f0..6725c7b9bdb4 100644 ---- a/drivers/net/cpsw.c -+++ b/drivers/net/cpsw.c -@@ -592,7 +592,12 @@ static int cpsw_mdio_probe(struct device_d *dev) - - priv = xzalloc(sizeof(*priv)); - -+ /* If we can't request I/O memory region, we'll assume parent did -+ * it for us -+ */ - iores = dev_request_mem_resource(dev, 0); -+ if (IS_ERR(iores) && PTR_ERR(iores) == -EBUSY) -+ iores = dev_get_resource(dev, IORESOURCE_MEM, 0); - if (IS_ERR(iores)) - return PTR_ERR(iores); - priv->mdio_regs = IOMEM(iores->start); -@@ -1214,11 +1219,27 @@ static void cpsw_gmii_sel_am335x(struct cpsw_slave *slave) - writel(reg, phy_sel_addr); - } - --static int cpsw_probe_dt(struct cpsw_priv *priv) -+static void cpsw_add_slave(struct cpsw_slave *slave, struct device_node *child, int i) -+{ -+ uint32_t phy_id[2] = {-1, -1}; -+ int ret; -+ -+ if (!of_find_node_by_name(child, "fixed-link")) { -+ ret = of_property_read_u32_array(child, "phy_id", phy_id, 2); -+ if (!ret) -+ dev_warn(slave->cpsw->dev, "phy_id is deprecated, use phy-handle\n"); -+ } -+ -+ slave->dev.device_node = child; -+ slave->phy_id = phy_id[1]; -+ slave->phy_if = of_get_phy_mode(child); -+ slave->slave_num = i; -+} -+ -+static int cpsw_legacy_probe_dt(struct cpsw_priv *priv) - { - struct device_d *dev = priv->dev; - struct device_node *np = dev->device_node, *child; -- struct device_node *physel; - int ret, i = 0; - - ret = of_property_read_u32(np, "slaves", &priv->num_slaves); -@@ -1227,15 +1248,6 @@ static int cpsw_probe_dt(struct cpsw_priv *priv) - - priv->slaves = xzalloc(sizeof(struct cpsw_slave) * priv->num_slaves); - -- physel = of_find_compatible_node(NULL, NULL, "ti,am3352-phy-gmii-sel"); -- if (!physel) { -- dev_err(dev, "Cannot find ti,am3352-phy-gmii-sel node\n"); -- return -EINVAL; -- } -- ret = cpsw_phy_sel_init(priv, physel); -- if (ret) -- return ret; -- - for_each_child_of_node(np, child) { - if (of_device_is_compatible(child, "ti,davinci_mdio")) { - ret = of_pinctrl_select_state_default(child); -@@ -1244,29 +1256,73 @@ static int cpsw_probe_dt(struct cpsw_priv *priv) - } - - if (i < priv->num_slaves && !strncmp(child->name, "slave", 5)) { -- struct cpsw_slave *slave = &priv->slaves[i]; -- uint32_t phy_id[2] = {-1, -1}; -+ cpsw_add_slave(&priv->slaves[i], child, i); -+ i++; -+ } -+ } - -- if (!of_find_node_by_name(child, "fixed-link")) { -- ret = of_property_read_u32_array(child, "phy_id", phy_id, 2); -- if (!ret) -- dev_warn(dev, "phy_id is deprecated, use phy-handle\n"); -- } -+ return 0; -+} -+ -+static int cpsw_switch_probe_dt(struct cpsw_priv *priv) -+{ -+ struct device_d *dev = priv->dev; -+ struct device_node *np = dev->device_node, *child; -+ struct device_node *ports = NULL; -+ int ret, i = 0; - -- slave->dev.device_node = child; -- slave->phy_id = phy_id[1]; -- slave->phy_if = of_get_phy_mode(child); -- slave->slave_num = i; -+ for_each_child_of_node(np, child) { -+ if (of_device_is_compatible(child, "ti,davinci_mdio")) { -+ ret = of_pinctrl_select_state_default(child); -+ if (ret) -+ return ret; -+ } - -- i++; -+ if (!strcmp(child->name, "ethernet-ports")) { -+ ports = child; -+ priv->num_slaves = of_get_available_child_count(ports); - } - } - -- for (i = 0; i < priv->num_slaves; i++) { -- struct cpsw_slave *slave = &priv->slaves[i]; -+ if (!ports) -+ return -EINVAL; -+ -+ priv->slaves = xzalloc(sizeof(struct cpsw_slave) * priv->num_slaves); -+ -+ for_each_available_child_of_node(ports, child) { -+ cpsw_add_slave(&priv->slaves[i], child, i); -+ i++; -+ } -+ -+ return 0; -+} - -- cpsw_gmii_sel_am335x(slave); -+static int cpsw_probe_dt(struct cpsw_priv *priv) -+{ -+ struct device_d *dev = priv->dev; -+ struct device_node *physel; -+ int (*probe_slaves_dt)(struct cpsw_priv *priv); -+ int ret, i = 0; -+ -+ physel = of_find_compatible_node(NULL, NULL, "ti,am3352-phy-gmii-sel"); -+ if (!physel) { -+ dev_err(dev, "Cannot find ti,am3352-phy-gmii-sel node\n"); -+ return -EINVAL; - } -+ ret = cpsw_phy_sel_init(priv, physel); -+ if (ret) -+ return ret; -+ -+ probe_slaves_dt = device_get_match_data(dev); -+ if (!probe_slaves_dt) -+ return -EINVAL; -+ -+ ret = probe_slaves_dt(priv); -+ if (ret < 0) -+ return ret; -+ -+ for (i = 0; i < priv->num_slaves; i++) -+ cpsw_gmii_sel_am335x(&priv->slaves[i]); - - return 0; - } -@@ -1282,15 +1338,15 @@ static int cpsw_probe(struct device_d *dev) - - dev_dbg(dev, "* %s\n", __func__); - -- ret = of_platform_populate(dev->device_node, NULL, dev); -- if (ret) -- return ret; -- - iores = dev_request_mem_resource(dev, 0); - if (IS_ERR(iores)) - return PTR_ERR(iores); - regs = IOMEM(iores->start); - -+ ret = of_platform_populate(dev->device_node, NULL, dev); -+ if (ret) -+ return ret; -+ - priv = xzalloc(sizeof(*priv)); - priv->dev = dev; - -@@ -1371,7 +1427,9 @@ static void cpsw_remove(struct device_d *dev) - - static __maybe_unused struct of_device_id cpsw_dt_ids[] = { - { -- .compatible = "ti,cpsw", -+ .compatible = "ti,cpsw", .data = cpsw_legacy_probe_dt -+ }, { -+ .compatible = "ti,cpsw-switch", .data = cpsw_switch_probe_dt - }, { - /* sentinel */ - } --- -2.30.2 - diff --git a/configs/platform-v7a/patches/barebox-2021.11.0/0002-Revert-ARM-beaglebone-init-MPU-speed-to-800Mhz.patch b/configs/platform-v7a/patches/barebox-2021.11.0/0002-Revert-ARM-beaglebone-init-MPU-speed-to-800Mhz.patch deleted file mode 100644 index 10bfb83..0000000 --- a/configs/platform-v7a/patches/barebox-2021.11.0/0002-Revert-ARM-beaglebone-init-MPU-speed-to-800Mhz.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 9c1a78f959dd751c9b8ceb31e44926afc89d7769 Mon Sep 17 00:00:00 2001 -From: Ahmad Fatoum <a.fatoum@pengutronix.de> -Date: Fri, 3 Dec 2021 19:51:54 +0100 -Subject: [PATCH 2/2] Revert "ARM: beaglebone: init MPU speed to 800Mhz" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Commit 130c7d6715e9 ("ARM: beaglebone: init MPU speed to 800Mhz") causes -warm reboot from within Linux v5.14.0 to no longer succeed. -barebox MLO is entered, but hangs. Reset from within barebox is -unaffected. -This can be reproduced using DistroKit 949c5ef2b9a6 ("v7a: barebox: -version bump v2021.08.0 → v2021.11.0") on a Beaglebone Black. -Until that's figured out, revert the commit; functional reboot is more -important than the quicker boot up. - -This reverts commit 130c7d6715e932a1e0b3e026fea97f700ab33ea9. - -Fixes: 130c7d6715e9 ("ARM: beaglebone: init MPU speed to 800Mhz") -Reported-by: arwie # IRC -Cc: Marc Reilly <marc@cpdesign.com.au> -Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> -Link: https://lore.barebox.org/20211203185154.388145-1-a.fatoum@pengutronix.de -Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> ---- - arch/arm/boards/beaglebone/lowlevel.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/boards/beaglebone/lowlevel.c b/arch/arm/boards/beaglebone/lowlevel.c -index 31211448f5e8..91d143e4150b 100644 ---- a/arch/arm/boards/beaglebone/lowlevel.c -+++ b/arch/arm/boards/beaglebone/lowlevel.c -@@ -126,7 +126,7 @@ static noinline int beaglebone_sram_init(void) - - /* Setup the PLLs and the clocks for the peripherals */ - if (is_beaglebone_black()) { -- am33xx_pll_init(MPUPLL_M_800, DDRPLL_M_400); -+ am33xx_pll_init(MPUPLL_M_500, DDRPLL_M_400); - am335x_sdram_init(0x18B, &ddr3_cmd_ctrl, &ddr3_regs, - &ddr3_data); - } else { --- -2.30.2 - diff --git a/configs/platform-v7a/patches/barebox-2021.11.0/series b/configs/platform-v7a/patches/barebox-2021.11.0/series deleted file mode 100644 index ba7c27d..0000000 --- a/configs/platform-v7a/patches/barebox-2021.11.0/series +++ /dev/null @@ -1,2 +0,0 @@ -0001-net-cpsw-add-support-for-new-binding-in-Linux-v5.15-.patch -0002-Revert-ARM-beaglebone-init-MPU-speed-to-800Mhz.patch |