summaryrefslogtreecommitdiffstats
path: root/configs/platform-v7a/patches
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2020-04-15 14:54:07 +0200
committerRobert Schwebel <r.schwebel@pengutronix.de>2020-04-15 15:28:03 +0200
commit7ffe07bf98f37fddc066eca6109bd41543d51d28 (patch)
tree4e342acb354741872b1178b898cccdc34f2d1c5e /configs/platform-v7a/patches
parentcb61169a5f30fa41dc20e75e62838da96aa528e6 (diff)
downloadDistroKit-7ffe07bf98f37fddc066eca6109bd41543d51d28.tar.gz
DistroKit-7ffe07bf98f37fddc066eca6109bd41543d51d28.tar.xz
v7a: barebox: version bump 2020.02.0 -> 2020.04.0
This lets us drop the am335x USB fixes, because they were already in the v2020.03.0 release. Only new enabled config option is CONFIG_USB_GADGET_FASTBOOT_CMD_OEM, which was non-configurable before. Marking it as enabled avoid a regression for people using `fastboot oem exec` Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Diffstat (limited to 'configs/platform-v7a/patches')
-rw-r--r--configs/platform-v7a/patches/barebox-2020.02.0/0001-USB-MUSB-PHY-scrap-singleton-am335x_get_usb_phy.patch136
-rw-r--r--configs/platform-v7a/patches/barebox-2020.02.0/0002-USB-MUSB-defer-driver-probes-where-necessary.patch201
-rw-r--r--configs/platform-v7a/patches/barebox-2020.02.0/0101-Release-2020.02.0-customers-pengutronix-distrokit-v7.patch22
-rw-r--r--configs/platform-v7a/patches/barebox-2020.02.0/series12
4 files changed, 0 insertions, 371 deletions
diff --git a/configs/platform-v7a/patches/barebox-2020.02.0/0001-USB-MUSB-PHY-scrap-singleton-am335x_get_usb_phy.patch b/configs/platform-v7a/patches/barebox-2020.02.0/0001-USB-MUSB-PHY-scrap-singleton-am335x_get_usb_phy.patch
deleted file mode 100644
index 2250399..0000000
--- a/configs/platform-v7a/patches/barebox-2020.02.0/0001-USB-MUSB-PHY-scrap-singleton-am335x_get_usb_phy.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From: Ahmad Fatoum <a.fatoum@pengutronix.de>
-Date: Tue, 25 Feb 2020 17:57:30 +0100
-Subject: [PATCH] USB: MUSB: PHY: scrap singleton am335x_get_usb_phy()
-
-am335x_get_usb_phy() retrieves the last probed USB phy. On the BeagleBone
-with both PHYs enabled, this means that dependent on probe order, both
-MUSB instances could end up with the same PHY.
-
-Remove the global variable and have the MUSB driver parse the "phys"
-property instead.
-
-The cleaner way to achieve this would be to migrate phy-am335x.c
-and phy-am335x-control.c to the generic phy framework and have MUSB use
-of_phy_get, alas, even Linux hasn't done this so far and we need
-a short patch for master anyway, thus just do it the easy way.
-
-Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
-Tested-by: Yegor Yefremov <yegorslists@googlemail.com>
-Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
----
- drivers/usb/musb/musb_dsps.c | 16 +++++++++++-----
- drivers/usb/musb/phy-am335x.c | 11 ++---------
- drivers/usb/musb/phy-am335x.h | 6 ------
- 3 files changed, 13 insertions(+), 20 deletions(-)
- delete mode 100644 drivers/usb/musb/phy-am335x.h
-
-diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c
-index 3b76b6cc610d..f30672914830 100644
---- a/drivers/usb/musb/musb_dsps.c
-+++ b/drivers/usb/musb/musb_dsps.c
-@@ -39,7 +39,6 @@
- #include <linux/barebox-wrapper.h>
-
- #include "musb_core.h"
--#include "phy-am335x.h"
-
- static __maybe_unused struct of_device_id musb_dsps_dt_ids[];
-
-@@ -217,10 +216,6 @@ static int dsps_musb_init(struct musb *musb)
- const struct dsps_musb_wrapper *wrp = glue->wrp;
- u32 rev, val, mode;
-
-- musb->xceiv = am335x_get_usb_phy();
-- if (IS_ERR(musb->xceiv))
-- return PTR_ERR(musb->xceiv);
--
- /* Returns zero if e.g. not clocked */
- rev = dsps_readl(musb->ctrl_base, wrp->revision);
- if (!rev)
-@@ -324,6 +319,8 @@ static int dsps_probe(struct device_d *dev)
- struct musb_hdrc_config *config;
- struct device_node *dn = dev->device_node;
- const struct dsps_musb_wrapper *wrp;
-+ struct device_node *phy_node;
-+ struct device_d *phy_dev;
- struct dsps_glue *glue;
- int ret;
-
-@@ -337,6 +334,14 @@ static int dsps_probe(struct device_d *dev)
- return -ENODEV;
- }
-
-+ phy_node = of_parse_phandle(dn, "phys", 0);
-+ if (!phy_node)
-+ return -ENODEV;
-+
-+ phy_dev = of_find_device_by_node(phy_node);
-+ if (!phy_dev || !phy_dev->priv)
-+ return -EPROBE_DEFER;
-+
- /* allocate glue */
- glue = kzalloc(sizeof(*glue), GFP_KERNEL);
- if (!glue) {
-@@ -360,6 +365,7 @@ static int dsps_probe(struct device_d *dev)
- glue->musb.ctrl_base = IOMEM(iores->start);
-
- glue->musb.controller = dev;
-+ glue->musb.xceiv = phy_dev->priv;
-
- config = &glue->config;
-
-diff --git a/drivers/usb/musb/phy-am335x.c b/drivers/usb/musb/phy-am335x.c
-index df31255d891c..6991f4402d3f 100644
---- a/drivers/usb/musb/phy-am335x.c
-+++ b/drivers/usb/musb/phy-am335x.c
-@@ -5,7 +5,6 @@
- #include <linux/err.h>
- #include "am35x-phy-control.h"
- #include "musb_core.h"
--#include "phy-am335x.h"
-
- struct am335x_usbphy {
- void __iomem *base;
-@@ -14,13 +13,6 @@ struct am335x_usbphy {
- struct usb_phy phy;
- };
-
--static struct am335x_usbphy *am_usbphy;
--
--struct usb_phy *am335x_get_usb_phy(void)
--{
-- return &am_usbphy->phy;
--}
--
- static int am335x_init(struct usb_phy *phy)
- {
- struct am335x_usbphy *am_usbphy = container_of(phy, struct am335x_usbphy, phy);
-@@ -31,6 +23,7 @@ static int am335x_init(struct usb_phy *phy)
-
- static int am335x_phy_probe(struct device_d *dev)
- {
-+ struct am335x_usbphy *am_usbphy;
- struct resource *iores;
- int ret;
-
-@@ -54,7 +47,7 @@ static int am335x_phy_probe(struct device_d *dev)
- }
-
- am_usbphy->phy.init = am335x_init;
-- dev->priv = am_usbphy;
-+ dev->priv = &am_usbphy->phy;
-
- dev_info(dev, "am_usbphy %p enabled\n", &am_usbphy->phy);
-
-diff --git a/drivers/usb/musb/phy-am335x.h b/drivers/usb/musb/phy-am335x.h
-deleted file mode 100644
-index 27da2e3b1057..000000000000
---- a/drivers/usb/musb/phy-am335x.h
-+++ /dev/null
-@@ -1,6 +0,0 @@
--#ifndef _PHY_AM335x_H_
--#define _PHY_AM335x_H_
--
--struct usb_phy *am335x_get_usb_phy(void);
--
--#endif
diff --git a/configs/platform-v7a/patches/barebox-2020.02.0/0002-USB-MUSB-defer-driver-probes-where-necessary.patch b/configs/platform-v7a/patches/barebox-2020.02.0/0002-USB-MUSB-defer-driver-probes-where-necessary.patch
deleted file mode 100644
index 504e4d2..0000000
--- a/configs/platform-v7a/patches/barebox-2020.02.0/0002-USB-MUSB-defer-driver-probes-where-necessary.patch
+++ /dev/null
@@ -1,201 +0,0 @@
-From: Ahmad Fatoum <a.fatoum@pengutronix.de>
-Date: Tue, 25 Feb 2020 17:57:31 +0100
-Subject: [PATCH] USB: MUSB: defer driver probes where necessary
-
-Kernel commit 0782e8572c ("ARM: dts: Probe am335x musb with ti-sysc")
-which we pulled in during the v2020.02.0 dts/ sync moved the USB nodes
-to be under a ti-sysc bus instead of ti,am33xx-usb.
-
-This new probe order broke am335x USB under barebox, because the MUSB
-drivers couldn't cope with the now different device probe order.
-
-Pepper some -EPROBE_DEFER around to make USB work again.
-
-Fixes: 574eed3f6f ("dts: update to v5.5-rc1")
-Reported-by: Yegor Yefremov <yegorslists@googlemail.com>
-Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
-Tested-by: Yegor Yefremov <yegorslists@googlemail.com>
-Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
----
- drivers/usb/musb/musb_core.c | 5 +++--
- drivers/usb/musb/musb_dsps.c | 39 +++++++++++++++++++++++++----------
- drivers/usb/musb/phy-am335x-control.c | 25 +++++++++++++++-------
- drivers/usb/musb/phy-am335x.c | 11 +++++++---
- 4 files changed, 57 insertions(+), 23 deletions(-)
-
-diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
-index 4c11e6580c0f..b84da5516c4a 100644
---- a/drivers/usb/musb/musb_core.c
-+++ b/drivers/usb/musb/musb_core.c
-@@ -1136,8 +1136,9 @@ fail2:
- musb_platform_exit(musb);
-
- fail1:
-- dev_err(musb->controller,
-- "musb_init_controller failed with status %d\n", status);
-+ if (status != -EPROBE_DEFER)
-+ dev_err(musb->controller,
-+ "musb_init_controller failed with status %d\n", status);
-
- musb_free(musb);
-
-diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c
-index f30672914830..d54a663e9d8b 100644
---- a/drivers/usb/musb/musb_dsps.c
-+++ b/drivers/usb/musb/musb_dsps.c
-@@ -314,7 +314,7 @@ static int dsps_set_mode(void *ctx, enum usb_dr_mode mode)
-
- static int dsps_probe(struct device_d *dev)
- {
-- struct resource *iores;
-+ struct resource *iores[2];
- struct musb_hdrc_platform_data *pdata;
- struct musb_hdrc_config *config;
- struct device_node *dn = dev->device_node;
-@@ -354,15 +354,19 @@ static int dsps_probe(struct device_d *dev)
-
- pdata = &glue->pdata;
-
-- iores = dev_request_mem_resource(dev, 0);
-- if (IS_ERR(iores))
-- return PTR_ERR(iores);
-- glue->musb.mregs = IOMEM(iores->start);
-+ iores[0] = dev_request_mem_resource(dev, 0);
-+ if (IS_ERR(iores[0])) {
-+ ret = PTR_ERR(iores[0]);
-+ goto free_glue;
-+ }
-+ glue->musb.mregs = IOMEM(iores[0]->start);
-
-- iores = dev_request_mem_resource(dev, 1);
-- if (IS_ERR(iores))
-- return PTR_ERR(iores);
-- glue->musb.ctrl_base = IOMEM(iores->start);
-+ iores[1] = dev_request_mem_resource(dev, 1);
-+ if (IS_ERR(iores[1])) {
-+ ret = PTR_ERR(iores[1]);
-+ goto release_iores0;
-+ }
-+ glue->musb.ctrl_base = IOMEM(iores[1]->start);
-
- glue->musb.controller = dev;
- glue->musb.xceiv = phy_dev->priv;
-@@ -383,11 +387,24 @@ static int dsps_probe(struct device_d *dev)
- if (pdata->mode == MUSB_PORT_MODE_DUAL_ROLE) {
- ret = usb_register_otg_device(dev, dsps_set_mode, glue);
- if (ret)
-- return ret;
-+ goto release_iores1;
- return 0;
- }
-
-- return musb_init_controller(&glue->musb, pdata);
-+ ret = musb_init_controller(&glue->musb, pdata);
-+ if (ret)
-+ goto release_iores1;
-+
-+ return 0;
-+
-+release_iores1:
-+ release_region(iores[1]);
-+release_iores0:
-+ release_region(iores[0]);
-+free_glue:
-+ free(glue);
-+
-+ return ret;
- }
-
- static const struct dsps_musb_wrapper am33xx_driver_data = {
-diff --git a/drivers/usb/musb/phy-am335x-control.c b/drivers/usb/musb/phy-am335x-control.c
-index c84525ec7eb4..41a3689ed3f9 100644
---- a/drivers/usb/musb/phy-am335x-control.c
-+++ b/drivers/usb/musb/phy-am335x-control.c
-@@ -109,15 +109,15 @@ struct phy_control *am335x_get_phy_control(struct device_d *dev)
-
- node = of_parse_phandle(dev->device_node, "ti,ctrl_mod", 0);
- if (!node)
-- return NULL;
-+ return ERR_PTR(-ENOENT);
-
- dev = of_find_device_by_node(node);
- if (!dev)
-- return NULL;
-+ return ERR_PTR(-EPROBE_DEFER);
-
- ctrl_usb = dev->priv;
- if (!ctrl_usb)
-- return NULL;
-+ return ERR_PTR(-EPROBE_DEFER);
-
- return &ctrl_usb->phy_ctrl;
- }
-@@ -141,13 +141,17 @@ static int am335x_control_usb_probe(struct device_d *dev)
- ctrl_usb->dev = dev;
-
- iores = dev_request_mem_resource(dev, 0);
-- if (IS_ERR(iores))
-- return PTR_ERR(iores);
-+ if (IS_ERR(iores)) {
-+ ret = PTR_ERR(iores);
-+ goto free_ctrl;
-+ }
- ctrl_usb->phy_reg = IOMEM(iores->start);
-
- iores = dev_request_mem_resource(dev, 1);
-- if (IS_ERR(iores))
-- return PTR_ERR(iores);
-+ if (IS_ERR(iores)) {
-+ ret = PTR_ERR(iores);
-+ goto release_resource;
-+ }
- ctrl_usb->wkup = IOMEM(iores->start);
-
- spin_lock_init(&ctrl_usb->lock);
-@@ -155,6 +159,13 @@ static int am335x_control_usb_probe(struct device_d *dev)
-
- dev->priv = ctrl_usb;
- return 0;
-+
-+release_resource:
-+ release_region(iores);
-+free_ctrl:
-+ free(ctrl_usb);
-+
-+ return 0;
- };
-
- static struct driver_d am335x_control_driver = {
-diff --git a/drivers/usb/musb/phy-am335x.c b/drivers/usb/musb/phy-am335x.c
-index 6991f4402d3f..f2e870d7ee61 100644
---- a/drivers/usb/musb/phy-am335x.c
-+++ b/drivers/usb/musb/phy-am335x.c
-@@ -37,13 +37,16 @@ static int am335x_phy_probe(struct device_d *dev)
- am_usbphy->base = IOMEM(iores->start);
-
- am_usbphy->phy_ctrl = am335x_get_phy_control(dev);
-- if (!am_usbphy->phy_ctrl)
-- return -ENODEV;
-+ if (IS_ERR(am_usbphy->phy_ctrl)) {
-+ ret = PTR_ERR(am_usbphy->phy_ctrl);
-+ goto err_release;
-+ }
-
- am_usbphy->id = of_alias_get_id(dev->device_node, "phy");
- if (am_usbphy->id < 0) {
- dev_err(dev, "Missing PHY id: %d\n", am_usbphy->id);
-- return am_usbphy->id;
-+ ret = am_usbphy->id;
-+ goto err_release;
- }
-
- am_usbphy->phy.init = am335x_init;
-@@ -53,6 +56,8 @@ static int am335x_phy_probe(struct device_d *dev)
-
- return 0;
-
-+err_release:
-+ release_region(iores);
- err_free:
- free(am_usbphy);
-
diff --git a/configs/platform-v7a/patches/barebox-2020.02.0/0101-Release-2020.02.0-customers-pengutronix-distrokit-v7.patch b/configs/platform-v7a/patches/barebox-2020.02.0/0101-Release-2020.02.0-customers-pengutronix-distrokit-v7.patch
deleted file mode 100644
index f6d964c..0000000
--- a/configs/platform-v7a/patches/barebox-2020.02.0/0101-Release-2020.02.0-customers-pengutronix-distrokit-v7.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From: Ahmad Fatoum <a.fatoum@pengutronix.de>
-Date: Mon, 2 Mar 2020 10:29:27 +0100
-Subject: [PATCH] Release
- 2020.02.0/customers/pengutronix/distrokit-v7a/20200302-1
-
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index ef98910c0bcd..dbc7d3fe5610 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,7 +1,7 @@
- VERSION = 2020
- PATCHLEVEL = 02
- SUBLEVEL = 0
--EXTRAVERSION =
-+EXTRAVERSION =-20200302-1
- NAME = None
-
- # *DOCUMENTATION*
diff --git a/configs/platform-v7a/patches/barebox-2020.02.0/series b/configs/platform-v7a/patches/barebox-2020.02.0/series
deleted file mode 100644
index e9ae258..0000000
--- a/configs/platform-v7a/patches/barebox-2020.02.0/series
+++ /dev/null
@@ -1,12 +0,0 @@
-# umpf-base: v2020.02.0
-# umpf-name: 2020.02.0/customers/pengutronix/distrokit-v7a
-# umpf-version: 2020.02.0/customers/pengutronix/distrokit-v7a/20200302-1
-# umpf-topic: v2020.02.0/topic/am335x-usb-fix
-# umpf-hashinfo: b7314bc58ef983ea308f10710fdc3330e03fbacd
-# umpf-topic-range: 849b2f8b958a19d28715c187a0d6dca23ccba6b5..668810be409187d7ea1dfb43aae151792aabaa25
-0001-USB-MUSB-PHY-scrap-singleton-am335x_get_usb_phy.patch
-0002-USB-MUSB-defer-driver-probes-where-necessary.patch
-# umpf-release: 2020.02.0/customers/pengutronix/distrokit-v7a/20200302-1
-# umpf-topic-range: 668810be409187d7ea1dfb43aae151792aabaa25..1ddfaff751466a5673322f551ff80acab5cb36ae
-0101-Release-2020.02.0-customers-pengutronix-distrokit-v7.patch
-# umpf-end