public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL
@ 2023-08-01  7:28 Eugen Hristev
  2023-08-01  7:28 ` [PATCH v2 01/10] rockchip: allow env defines for SPL build Eugen Hristev
                   ` (10 more replies)
  0 siblings, 11 replies; 23+ messages in thread
From: Eugen Hristev @ 2023-08-01  7:28 UTC (permalink / raw)
  To: kever.yang, u-boot; +Cc: marex, jonas, jagan, eugen.hristev, kernel

This series adds support for DFU in SPL for rockchip rk3588 on rock5b
board.

Namely, when SPL is loaded via rockusb (thus via USB), having the
`same-as-spl` boot order item, after having detected that it was loaded
from USB, it will lookup the gadget USB node in DT and boot via DFU.

Some changes were required namely:
- DFU needs environment, hence adding environment variables into DFU
- added bootph-all to nodes such that they are available in SPL
- insert gadget into boot order

I had to port one patch for DWC3 from Linux, and include in this series
the patches that are floating from Venkatesh that fixup the DWC3
(https://marc.info/?l=u-boot&m=168351919807081&w=2 )

I know that Marek NAKed them and I am fine with it, I am not trying to 
sneak in any patches, they are not to be merged, also this patch
`usb: dwc3: Increase DWC3 controller halt timeout` is in the same bucket
so Marek you can NAK this one as well, no problem, I am just sending out
all the series so maybe the rockchip part for the gadget can be picked up
and if people want to use the DFU SPL gadget can also manually pick the
DWC3 patches. The branch with all the patches is available here :

https://gitlab.collabora.com/hardware-enablement/rockchip-3588/u-boot

Thanks!

Changes in v2:
- rebased on latest upstream which caused a change in the config patch.


Eugen Hristev (7):
  rockchip: allow env defines for SPL build
  usb: dwc3: Increase DWC3 controller halt timeout
  ARM: dts: rockchip: rk3588-rock-5b-u-boot: add bootph-all to gadget
    nodes
  ARM: mach-rockchip: spl-boot-order: add possibility to DFU
  ARM: mach-rockchip: rk3588: add gadget device to the boot order
  rockchip: rk3588: prepare env for DFU
  configs: rockchip: rock5b-rk3588: enable DFU and related configs

Venkatesh Yadav Abbarapu (3):
  usb: dwc3: core: improve reset sequence
  usb: dwc3: gadget: Don't send unintended link state change
  usb: dwc3: core: Only handle soft-reset in DCTL

 arch/arm/dts/rk3588-rock-5b-u-boot.dtsi |  6 +++++
 arch/arm/mach-rockchip/rk3588/rk3588.c  |  1 +
 arch/arm/mach-rockchip/spl-boot-order.c |  3 +++
 configs/rock5b-rk3588_defconfig         | 18 +++++++++++---
 drivers/usb/dwc3/core.c                 | 32 +++++++++++++++----------
 drivers/usb/dwc3/gadget.c               | 20 +++++++---------
 drivers/usb/dwc3/gadget.h               | 14 +++++++++++
 include/configs/rk3588_common.h         |  9 ++++++-
 include/configs/rockchip-common.h       |  4 ----
 9 files changed, 76 insertions(+), 31 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v2 01/10] rockchip: allow env defines for SPL build
  2023-08-01  7:28 [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
@ 2023-08-01  7:28 ` Eugen Hristev
  2023-08-12  2:45   ` Kever Yang
  2023-08-01  7:28 ` [PATCH v2 02/10] usb: dwc3: core: improve reset sequence Eugen Hristev
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 23+ messages in thread
From: Eugen Hristev @ 2023-08-01  7:28 UTC (permalink / raw)
  To: kever.yang, u-boot; +Cc: marex, jonas, jagan, eugen.hristev, kernel

For environment in SPL, all these defines are required, otherwise
build fails:

[...]
include/env_default.h:120:9: note: in expansion of macro ‘CFG_EXTRA_ENV_SETTINGS’
  120 |         CFG_EXTRA_ENV_SETTINGS
      |         ^~~~~~~~~~~~~~~~~~~~~~
In file included from env/common.c:32:
[...]

Environment in SPL is needed e.g. for DFU, as dfu_alt is kept as
env variable.

Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
---
 include/configs/rockchip-common.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h
index 9121bba37384..be20b135066e 100644
--- a/include/configs/rockchip-common.h
+++ b/include/configs/rockchip-common.h
@@ -11,8 +11,6 @@
 #define CFG_CPUID_OFFSET	0x7
 #endif
 
-#ifndef CONFIG_SPL_BUILD
-
 #define BOOT_TARGETS	"mmc1 mmc0 nvme scsi usb pxe dhcp spi"
 
 #ifdef CONFIG_ARM64
@@ -28,6 +26,4 @@
 	"name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \
 	"name=rootfs,size=-,uuid="ROOT_UUID
 
-#endif
-
 #endif /* _ROCKCHIP_COMMON_H_ */
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 02/10] usb: dwc3: core: improve reset sequence
  2023-08-01  7:28 [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
  2023-08-01  7:28 ` [PATCH v2 01/10] rockchip: allow env defines for SPL build Eugen Hristev
@ 2023-08-01  7:28 ` Eugen Hristev
  2023-08-01 11:44   ` Marek Vasut
  2023-08-01  7:28 ` [PATCH v2 03/10] usb: dwc3: gadget: Don't send unintended link state change Eugen Hristev
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 23+ messages in thread
From: Eugen Hristev @ 2023-08-01  7:28 UTC (permalink / raw)
  To: kever.yang, u-boot
  Cc: marex, jonas, jagan, eugen.hristev, kernel,
	Venkatesh Yadav Abbarapu

From: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>

[ Felipe: Ported from Linux kernel commit
	  f59dcab17629 ("usb: dwc3: core: improve reset sequence") ]

According to Synopsys Databook, we shouldn't be relying on
GCTL.CORESOFTRESET bit as that's only for debugging purposes.
Instead, let's use DCTL.CSFTRST if we're OTG or PERIPHERAL mode.

Host side block will be reset by XHCI driver if necessary. Note that this
reduces amount of time spent on dwc3_probe() by a long margin.

We're still gonna wait for reset to finish for a long time
(default to 1ms max), but tests show that the reset polling loop executed
at most 19 times (modprobe dwc3 && modprobe -r dwc3 executed 1000
times in a row).

Without proper core reset, observing random issues like when the
USB(DWC3) is in device mode, the host device is not able to detect the
USB device.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
[eugen.hristev@collabora.com: keep the PHY resets code]
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
---
Not to be merged, I know Marek does not apply any patches to DWC3.

 drivers/usb/dwc3/core.c | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 5a8c29424578..bdfe51c3df96 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -60,17 +60,24 @@ static void dwc3_set_mode(struct dwc3 *dwc, u32 mode)
 static int dwc3_core_soft_reset(struct dwc3 *dwc)
 {
 	u32		reg;
+	int		retries = 1000;
 
-	/* Before Resetting PHY, put Core in Reset */
-	reg = dwc3_readl(dwc->regs, DWC3_GCTL);
-	reg |= DWC3_GCTL_CORESOFTRESET;
-	dwc3_writel(dwc->regs, DWC3_GCTL, reg);
+	/*
+	 * We're resetting only the device side because, if we're in host mode,
+	 * XHCI driver will reset the host block. If dwc3 was configured for
+	 * host-only mode, then we can return early.
+	 */
+	if (dwc->dr_mode == USB_DR_MODE_HOST)
+		return 0;
+
+	reg = dwc3_readl(dwc->regs, DWC3_DCTL);
+	reg |= DWC3_DCTL_CSFTRST;
+	dwc3_writel(dwc->regs, DWC3_DCTL, reg);
 
 	/* Assert USB3 PHY reset */
 	reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0));
 	reg |= DWC3_GUSB3PIPECTL_PHYSOFTRST;
 	dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), reg);
-
 	/* Assert USB2 PHY reset */
 	reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0));
 	reg |= DWC3_GUSB2PHYCFG_PHYSOFTRST;
@@ -88,14 +95,14 @@ static int dwc3_core_soft_reset(struct dwc3 *dwc)
 	reg &= ~DWC3_GUSB2PHYCFG_PHYSOFTRST;
 	dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg);
 
-	mdelay(100);
-
-	/* After PHYs are stable we can take Core out of reset state */
-	reg = dwc3_readl(dwc->regs, DWC3_GCTL);
-	reg &= ~DWC3_GCTL_CORESOFTRESET;
-	dwc3_writel(dwc->regs, DWC3_GCTL, reg);
+	do {
+		reg = dwc3_readl(dwc->regs, DWC3_DCTL);
+		if (!(reg & DWC3_DCTL_CSFTRST))
+			return 0;
+		udelay(1);
+	} while (--retries);
 
-	return 0;
+	return -ETIMEDOUT;
 }
 
 /*
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 03/10] usb: dwc3: gadget: Don't send unintended link state change
  2023-08-01  7:28 [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
  2023-08-01  7:28 ` [PATCH v2 01/10] rockchip: allow env defines for SPL build Eugen Hristev
  2023-08-01  7:28 ` [PATCH v2 02/10] usb: dwc3: core: improve reset sequence Eugen Hristev
@ 2023-08-01  7:28 ` Eugen Hristev
  2023-08-01 11:44   ` Marek Vasut
  2023-08-01  7:28 ` [PATCH v2 04/10] usb: dwc3: core: Only handle soft-reset in DCTL Eugen Hristev
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 23+ messages in thread
From: Eugen Hristev @ 2023-08-01  7:28 UTC (permalink / raw)
  To: kever.yang, u-boot
  Cc: marex, jonas, jagan, eugen.hristev, kernel,
	Venkatesh Yadav Abbarapu

From: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>

[ Nguyen/Felipe/Greg: Ported from Linux kernel commit
	5b738211fb59 ("usb: dwc3: gadget: Don't send
				unintended link state change") ]

DCTL.ULSTCHNGREQ is a write-only field. When doing a read-modify-write
to DCTL, the driver must make sure that there's no unintended link state
change request from whatever is read from DCTL.ULSTCHNGREQ. Set link
state change to no-action when the driver writes to DCTL.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
---
Not to be merged, I know Marek does not apply any patches to DWC3.
 drivers/usb/dwc3/gadget.c | 16 +++++++---------
 drivers/usb/dwc3/gadget.h | 14 ++++++++++++++
 2 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index eb416b832aad..24a2c455b0a4 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -62,7 +62,7 @@ int dwc3_gadget_set_test_mode(struct dwc3 *dwc, int mode)
 		return -EINVAL;
 	}
 
-	dwc3_writel(dwc->regs, DWC3_DCTL, reg);
+	dwc3_gadget_dctl_write_safe(dwc, reg);
 
 	return 0;
 }
@@ -1382,7 +1382,7 @@ static int dwc3_gadget_run_stop(struct dwc3 *dwc, int is_on, int suspend)
 		dwc->pullups_connected = false;
 	}
 
-	dwc3_writel(dwc->regs, DWC3_DCTL, reg);
+	dwc3_gadget_dctl_write_safe(dwc, reg);
 
 	do {
 		reg = dwc3_readl(dwc->regs, DWC3_DSTS);
@@ -2047,10 +2047,8 @@ static void dwc3_gadget_disconnect_interrupt(struct dwc3 *dwc)
 
 	reg = dwc3_readl(dwc->regs, DWC3_DCTL);
 	reg &= ~DWC3_DCTL_INITU1ENA;
-	dwc3_writel(dwc->regs, DWC3_DCTL, reg);
-
 	reg &= ~DWC3_DCTL_INITU2ENA;
-	dwc3_writel(dwc->regs, DWC3_DCTL, reg);
+	dwc3_gadget_dctl_write_safe(dwc, reg);
 
 	dwc3_disconnect_gadget(dwc);
 	dwc->start_config_issued = false;
@@ -2099,7 +2097,7 @@ static void dwc3_gadget_reset_interrupt(struct dwc3 *dwc)
 
 	reg = dwc3_readl(dwc->regs, DWC3_DCTL);
 	reg &= ~DWC3_DCTL_TSTCTRL_MASK;
-	dwc3_writel(dwc->regs, DWC3_DCTL, reg);
+	dwc3_gadget_dctl_write_safe(dwc, reg);
 	dwc->test_mode = false;
 
 	dwc3_stop_active_transfers(dwc);
@@ -2215,11 +2213,11 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc)
 		if (dwc->has_lpm_erratum && dwc->revision >= DWC3_REVISION_240A)
 			reg |= DWC3_DCTL_LPM_ERRATA(dwc->lpm_nyet_threshold);
 
-		dwc3_writel(dwc->regs, DWC3_DCTL, reg);
+		dwc3_gadget_dctl_write_safe(dwc, reg);
 	} else {
 		reg = dwc3_readl(dwc->regs, DWC3_DCTL);
 		reg &= ~DWC3_DCTL_HIRD_THRES_MASK;
-		dwc3_writel(dwc->regs, DWC3_DCTL, reg);
+		dwc3_gadget_dctl_write_safe(dwc, reg);
 	}
 
 	dep = dwc->eps[0];
@@ -2327,7 +2325,7 @@ static void dwc3_gadget_linksts_change_interrupt(struct dwc3 *dwc,
 
 				reg &= ~u1u2;
 
-				dwc3_writel(dwc->regs, DWC3_DCTL, reg);
+				dwc3_gadget_dctl_write_safe(dwc, reg);
 				break;
 			default:
 				/* do nothing */
diff --git a/drivers/usb/dwc3/gadget.h b/drivers/usb/dwc3/gadget.h
index 7806ce59a27f..b48ec6b2372f 100644
--- a/drivers/usb/dwc3/gadget.h
+++ b/drivers/usb/dwc3/gadget.h
@@ -104,4 +104,18 @@ static inline u32 dwc3_gadget_ep_get_transfer_index(struct dwc3 *dwc, u8 number)
 	return DWC3_DEPCMD_GET_RSC_IDX(res_id);
 }
 
+/**
+ * dwc3_gadget_dctl_write_safe - write to DCTL safe from link state change
+ * @dwc: pointer to our context structure
+ * @value: value to write to DCTL
+ *
+ * Use this function when doing read-modify-write to DCTL. It will not
+ * send link state change request.
+ */
+static inline void dwc3_gadget_dctl_write_safe(struct dwc3 *dwc, u32 value)
+{
+	value &= ~DWC3_DCTL_ULSTCHNGREQ_MASK;
+	dwc3_writel(dwc->regs, DWC3_DCTL, value);
+}
+
 #endif /* __DRIVERS_USB_DWC3_GADGET_H */
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 04/10] usb: dwc3: core: Only handle soft-reset in DCTL
  2023-08-01  7:28 [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
                   ` (2 preceding siblings ...)
  2023-08-01  7:28 ` [PATCH v2 03/10] usb: dwc3: gadget: Don't send unintended link state change Eugen Hristev
@ 2023-08-01  7:28 ` Eugen Hristev
  2023-08-01 11:44   ` Marek Vasut
  2023-08-01  7:28 ` [PATCH v2 05/10] usb: dwc3: Increase DWC3 controller halt timeout Eugen Hristev
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 23+ messages in thread
From: Eugen Hristev @ 2023-08-01  7:28 UTC (permalink / raw)
  To: kever.yang, u-boot
  Cc: marex, jonas, jagan, eugen.hristev, kernel,
	Venkatesh Yadav Abbarapu

From: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>

[ Nguyen/Greg: Ported from Linux kernel commit
	f4fd84ae0765a ("usb: dwc3: core: Only handle soft-reset in DCTL") ]

Make sure not to set run_stop bit or link state change request while
initiating soft-reset. Register read-modify-write operation may
unintentionally start the controller before the initialization completes
with its previous DCTL value, which can cause initialization failure.

Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
---
Not to be merged, I know Marek does not apply any patches to DWC3.

 drivers/usb/dwc3/core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index bdfe51c3df96..06ca3fc96842 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -72,7 +72,8 @@ static int dwc3_core_soft_reset(struct dwc3 *dwc)
 
 	reg = dwc3_readl(dwc->regs, DWC3_DCTL);
 	reg |= DWC3_DCTL_CSFTRST;
-	dwc3_writel(dwc->regs, DWC3_DCTL, reg);
+	reg &= ~DWC3_DCTL_RUN_STOP;
+	dwc3_gadget_dctl_write_safe(dwc, reg);
 
 	/* Assert USB3 PHY reset */
 	reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0));
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 05/10] usb: dwc3: Increase DWC3 controller halt timeout
  2023-08-01  7:28 [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
                   ` (3 preceding siblings ...)
  2023-08-01  7:28 ` [PATCH v2 04/10] usb: dwc3: core: Only handle soft-reset in DCTL Eugen Hristev
@ 2023-08-01  7:28 ` Eugen Hristev
  2023-08-01 11:44   ` Marek Vasut
  2023-08-01  7:28 ` [PATCH v2 06/10] ARM: dts: rockchip: rk3588-rock-5b-u-boot: add bootph-all to gadget nodes Eugen Hristev
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 23+ messages in thread
From: Eugen Hristev @ 2023-08-01  7:28 UTC (permalink / raw)
  To: kever.yang, u-boot
  Cc: marex, jonas, jagan, eugen.hristev, kernel, Wesley Cheng

Since EP0 transactions need to be completed before the controller halt
sequence is finished, this may take some time depending on the host and the
enabled functions.  Increase the controller halt timeout, so that we give
the controller sufficient time to handle EP0 transfers.

Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Link: https://lore.kernel.org/r/20220901193625.8727-4-quic_wcheng@quicinc.com
Cherry-picked from Linux: 461ee467507c ("usb: dwc3: Increase DWC3 controller halt timeout")
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
---
Not to be merged, I know Marek does not apply any patches to DWC3.

 drivers/usb/dwc3/gadget.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 24a2c455b0a4..a86680719108 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -1356,7 +1356,7 @@ static int dwc3_gadget_set_selfpowered(struct usb_gadget *g,
 static int dwc3_gadget_run_stop(struct dwc3 *dwc, int is_on, int suspend)
 {
 	u32			reg;
-	u32			timeout = 500;
+	u32			timeout = 2000;
 
 	reg = dwc3_readl(dwc->regs, DWC3_DCTL);
 	if (is_on) {
@@ -1385,6 +1385,7 @@ static int dwc3_gadget_run_stop(struct dwc3 *dwc, int is_on, int suspend)
 	dwc3_gadget_dctl_write_safe(dwc, reg);
 
 	do {
+		mdelay(2);
 		reg = dwc3_readl(dwc->regs, DWC3_DSTS);
 		if (is_on) {
 			if (!(reg & DWC3_DSTS_DEVCTRLHLT))
@@ -1396,7 +1397,6 @@ static int dwc3_gadget_run_stop(struct dwc3 *dwc, int is_on, int suspend)
 		timeout--;
 		if (!timeout)
 			return -ETIMEDOUT;
-		udelay(1);
 	} while (1);
 
 	dev_vdbg(dwc->dev, "gadget %s data soft-%s\n",
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 06/10] ARM: dts: rockchip: rk3588-rock-5b-u-boot: add bootph-all to gadget nodes
  2023-08-01  7:28 [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
                   ` (4 preceding siblings ...)
  2023-08-01  7:28 ` [PATCH v2 05/10] usb: dwc3: Increase DWC3 controller halt timeout Eugen Hristev
@ 2023-08-01  7:28 ` Eugen Hristev
  2023-08-12  2:53   ` Kever Yang
  2023-08-01  7:28 ` [PATCH v2 07/10] ARM: mach-rockchip: spl-boot-order: add possibility to DFU Eugen Hristev
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 23+ messages in thread
From: Eugen Hristev @ 2023-08-01  7:28 UTC (permalink / raw)
  To: kever.yang, u-boot; +Cc: marex, jonas, jagan, eugen.hristev, kernel

Add bootph-all to gadget nodes to have the gadget available in SPL.

Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
---
 arch/arm/dts/rk3588-rock-5b-u-boot.dtsi | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi b/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
index 5a3292699640..f453aeeaf526 100644
--- a/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
+++ b/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
@@ -221,10 +221,12 @@
 };
 
 &u2phy0 {
+	bootph-all;
 	status = "okay";
 };
 
 &u2phy0_otg {
+	bootph-all;
 	rockchip,typec-vbus-det;
 	status = "okay";
 };
@@ -271,6 +273,7 @@
 };
 
 &usbdp_phy0 {
+	bootph-all;
 	orientation-switch;
 	svid = <0xff01>;
 	sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
@@ -293,14 +296,17 @@
 };
 
 &usbdp_phy0_u3 {
+	bootph-all;
 	status = "okay";
 };
 
 &usbdrd3_0 {
+	bootph-all;
 	status = "okay";
 };
 
 &usbdrd_dwc3_0 {
+	bootph-all;
 	dr_mode = "otg";
 	usb-role-switch;
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 07/10] ARM: mach-rockchip: spl-boot-order: add possibility to DFU
  2023-08-01  7:28 [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
                   ` (5 preceding siblings ...)
  2023-08-01  7:28 ` [PATCH v2 06/10] ARM: dts: rockchip: rk3588-rock-5b-u-boot: add bootph-all to gadget nodes Eugen Hristev
@ 2023-08-01  7:28 ` Eugen Hristev
  2023-08-12  2:52   ` Kever Yang
  2023-08-01  7:28 ` [PATCH v2 08/10] ARM: mach-rockchip: rk3588: add gadget device to the boot order Eugen Hristev
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 23+ messages in thread
From: Eugen Hristev @ 2023-08-01  7:28 UTC (permalink / raw)
  To: kever.yang, u-boot; +Cc: marex, jonas, jagan, eugen.hristev, kernel

Add DFU as a possible SPL boot media if the boot device is a
gadget device.

Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
---
 arch/arm/mach-rockchip/spl-boot-order.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/mach-rockchip/spl-boot-order.c b/arch/arm/mach-rockchip/spl-boot-order.c
index 93b8e7de4d0d..89bbe449e86c 100644
--- a/arch/arm/mach-rockchip/spl-boot-order.c
+++ b/arch/arm/mach-rockchip/spl-boot-order.c
@@ -66,6 +66,9 @@ static int spl_node_to_boot_device(int node)
 	} else if (!uclass_get_device_by_of_offset(UCLASS_SPI_FLASH, node,
 		&parent)) {
 		return BOOT_DEVICE_SPI;
+	} else if (!uclass_get_device_by_of_offset(UCLASS_USB_GADGET_GENERIC,
+		node, &parent)) {
+		return BOOT_DEVICE_DFU;
 	}
 
 	/*
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 08/10] ARM: mach-rockchip: rk3588: add gadget device to the boot order
  2023-08-01  7:28 [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
                   ` (6 preceding siblings ...)
  2023-08-01  7:28 ` [PATCH v2 07/10] ARM: mach-rockchip: spl-boot-order: add possibility to DFU Eugen Hristev
@ 2023-08-01  7:28 ` Eugen Hristev
  2023-08-01  7:28 ` [PATCH v2 09/10] rockchip: rk3588: prepare env for DFU Eugen Hristev
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 23+ messages in thread
From: Eugen Hristev @ 2023-08-01  7:28 UTC (permalink / raw)
  To: kever.yang, u-boot; +Cc: marex, jonas, jagan, eugen.hristev, kernel

In case SPL was booted from USB, add the gadget as the boot device
for the 'same-as-spl' boot order next device.

Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
---
 arch/arm/mach-rockchip/rk3588/rk3588.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-rockchip/rk3588/rk3588.c b/arch/arm/mach-rockchip/rk3588/rk3588.c
index b1f535fad505..c95268e18801 100644
--- a/arch/arm/mach-rockchip/rk3588/rk3588.c
+++ b/arch/arm/mach-rockchip/rk3588/rk3588.c
@@ -42,6 +42,7 @@ const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
 	[BROM_BOOTSOURCE_SPINOR] = "/spi@fe2b0000/flash@0",
 	[BROM_BOOTSOURCE_SD] = "/mmc@fe2c0000",
 	[BROM_BOOTSOURCE_SPINOR_RK3588] = "/spi@fe2b0000/flash@0",
+	[BROM_BOOTSOURCE_USB] = "/usbdrd3_0/usb@fc000000",
 };
 
 static struct mm_region rk3588_mem_map[] = {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 09/10] rockchip: rk3588: prepare env for DFU
  2023-08-01  7:28 [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
                   ` (7 preceding siblings ...)
  2023-08-01  7:28 ` [PATCH v2 08/10] ARM: mach-rockchip: rk3588: add gadget device to the boot order Eugen Hristev
@ 2023-08-01  7:28 ` Eugen Hristev
  2023-08-01  7:28 ` [PATCH v2 10/10] configs: rockchip: rock5b-rk3588: enable DFU and related configs Eugen Hristev
  2023-09-21 14:47 ` [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
  10 siblings, 0 replies; 23+ messages in thread
From: Eugen Hristev @ 2023-08-01  7:28 UTC (permalink / raw)
  To: kever.yang, u-boot; +Cc: marex, jonas, jagan, eugen.hristev, kernel

Prepare env variables for DFU

Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
---
 include/configs/rk3588_common.h | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/include/configs/rk3588_common.h b/include/configs/rk3588_common.h
index 46389d087d29..48414fe946a0 100644
--- a/include/configs/rk3588_common.h
+++ b/include/configs/rk3588_common.h
@@ -7,6 +7,7 @@
 #ifndef __CONFIG_RK3588_COMMON_H
 #define __CONFIG_RK3588_COMMON_H
 
+#include <linux/stringify.h>
 #include "rockchip-common.h"
 
 #define CFG_IRAM_BASE			0xff000000
@@ -31,6 +32,12 @@
 	"partitions=" PARTS_DEFAULT		\
 	ENV_MEM_LAYOUT_SETTINGS			\
 	ROCKCHIP_DEVICE_SETTINGS \
-	"boot_targets=" BOOT_TARGETS "\0"
+	"boot_targets=" BOOT_TARGETS "\0" \
+	"dfu_alt_info=ram ram0=ram ram " \
+		__stringify(CONFIG_SPL_LOAD_FIT_ADDRESS) " " \
+		__stringify(CONFIG_SYS_DFU_DATA_BUF_SIZE) "\0"	\
+	"dfu_alt_info_ram=u-boot.itb ram " \
+		__stringify(CONFIG_SPL_LOAD_FIT_ADDRESS) " " \
+		__stringify(CONFIG_SYS_DFU_DATA_BUF_SIZE)
 
 #endif /* __CONFIG_RK3588_COMMON_H */
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v2 10/10] configs: rockchip: rock5b-rk3588: enable DFU and related configs
  2023-08-01  7:28 [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
                   ` (8 preceding siblings ...)
  2023-08-01  7:28 ` [PATCH v2 09/10] rockchip: rk3588: prepare env for DFU Eugen Hristev
@ 2023-08-01  7:28 ` Eugen Hristev
  2023-08-12  2:53   ` Kever Yang
  2023-09-21 14:47 ` [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
  10 siblings, 1 reply; 23+ messages in thread
From: Eugen Hristev @ 2023-08-01  7:28 UTC (permalink / raw)
  To: kever.yang, u-boot; +Cc: marex, jonas, jagan, eugen.hristev, kernel

Enable DFU and related configs, expand stack and buffers to hold
downloaded image.

Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
---
Changes in v2:
- added # CONFIG_SPL_BINMAN_UBOOT_SYMBOLS is not set
because with the configs enabled here, this is automatically set as =y
and this causes a build failure.

 configs/rock5b-rk3588_defconfig | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/configs/rock5b-rk3588_defconfig b/configs/rock5b-rk3588_defconfig
index 3976a6c0f05c..ca70073f3ccc 100644
--- a/configs/rock5b-rk3588_defconfig
+++ b/configs/rock5b-rk3588_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_HAS_NONCACHED_MEMORY=y
 CONFIG_COUNTER_FREQUENCY=24000000
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_TEXT_BASE=0x00a00000
+CONFIG_SYS_MALLOC_F_LEN=0x500000
 CONFIG_SPL_LIBCOMMON_SUPPORT=y
 CONFIG_SPL_LIBGENERIC_SUPPORT=y
 CONFIG_NR_DRAM_BANKS=2
@@ -16,9 +17,9 @@ CONFIG_ROCKCHIP_RK3588=y
 CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
 CONFIG_ROCKCHIP_SPI_IMAGE=y
 CONFIG_SPL_SERIAL=y
-CONFIG_SPL_STACK_R_ADDR=0x600000
+CONFIG_SPL_STACK_R_ADDR=0x1000000
 CONFIG_TARGET_ROCK5B_RK3588=y
-CONFIG_SPL_STACK=0x400000
+CONFIG_SPL_STACK=0x1000000
 CONFIG_DEBUG_UART_BASE=0xFEB50000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_SPL_SPI_FLASH_SUPPORT=y
@@ -30,6 +31,7 @@ CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
+CONFIG_SPL_LOAD_FIT_ADDRESS=0x50000000
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-rock-5b.dtb"
@@ -41,12 +43,17 @@ CONFIG_SPL_PAD_TO=0x7f8000
 CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
 CONFIG_SPL_BSS_START_ADDR=0x4000000
 CONFIG_SPL_BSS_MAX_SIZE=0x4000
+# CONFIG_SPL_BINMAN_UBOOT_SYMBOLS is not set
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
 CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x300000
+CONFIG_SPL_ENV_SUPPORT=y
+CONFIG_SPL_RAM_SUPPORT=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_SYS_SPI_U_BOOT_OFFS=0x60000
 CONFIG_SPL_ATF=y
+CONFIG_CMD_DFU=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
@@ -59,10 +66,12 @@ CONFIG_CMD_REGULATOR=y
 # CONFIG_SPL_DOS_PARTITION is not set
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_OF_LIVE=y
-CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
+CONFIG_OF_SPL_REMOVE_PROPS="interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
 CONFIG_SPL_REGMAP=y
 CONFIG_SPL_SYSCON=y
 CONFIG_SPL_CLK=y
+CONFIG_DFU_RAM=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x200000
 # CONFIG_USB_FUNCTION_FASTBOOT is not set
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
@@ -93,6 +102,7 @@ CONFIG_ROCKCHIP_SFC=y
 CONFIG_SYSRESET=y
 CONFIG_USB=y
 CONFIG_DM_USB_GADGET=y
+CONFIG_SPL_DM_USB_GADGET=y
 CONFIG_USB_XHCI_HCD=y
 # CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set
 CONFIG_USB_EHCI_HCD=y
@@ -111,7 +121,9 @@ CONFIG_USB_ETHER_MCS7830=y
 CONFIG_USB_ETHER_RTL8152=y
 CONFIG_USB_ETHER_SMSC95XX=y
 CONFIG_USB_GADGET=y
+CONFIG_SPL_USB_GADGET=y
 CONFIG_USB_GADGET_PRODUCT_NUM=0x350b
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_FUNCTION_ROCKUSB=y
+CONFIG_SPL_DFU=y
 CONFIG_ERRNO_STR=y
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 02/10] usb: dwc3: core: improve reset sequence
  2023-08-01  7:28 ` [PATCH v2 02/10] usb: dwc3: core: improve reset sequence Eugen Hristev
@ 2023-08-01 11:44   ` Marek Vasut
  0 siblings, 0 replies; 23+ messages in thread
From: Marek Vasut @ 2023-08-01 11:44 UTC (permalink / raw)
  To: Eugen Hristev, kever.yang, u-boot
  Cc: jonas, jagan, kernel, Venkatesh Yadav Abbarapu, Tom Rini

On 8/1/23 09:28, Eugen Hristev wrote:
> From: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
> 
> [ Felipe: Ported from Linux kernel commit
> 	  f59dcab17629 ("usb: dwc3: core: improve reset sequence") ]
> 
> According to Synopsys Databook, we shouldn't be relying on
> GCTL.CORESOFTRESET bit as that's only for debugging purposes.
> Instead, let's use DCTL.CSFTRST if we're OTG or PERIPHERAL mode.
> 
> Host side block will be reset by XHCI driver if necessary. Note that this
> reduces amount of time spent on dwc3_probe() by a long margin.
> 
> We're still gonna wait for reset to finish for a long time
> (default to 1ms max), but tests show that the reset polling loop executed
> at most 19 times (modprobe dwc3 && modprobe -r dwc3 executed 1000
> times in a row).
> 
> Without proper core reset, observing random issues like when the
> USB(DWC3) is in device mode, the host device is not able to detect the
> USB device.
> 
> Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
> [eugen.hristev@collabora.com: keep the PHY resets code]
> Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>

NAK

> ---
> Not to be merged, I know Marek does not apply any patches to DWC3.

That is not true and taken out of context.

What needs to happen is, someone needs to sync the DWC3 with Linux 
instead of picking random subsets patches and turning the driver into a 
total unmaintainable mess, which will be horribly difficult to sync in 
the future due to these random patches mixed in the history. I explained 
how to do it to Xilinx, it is a trivial thing to do, but it seems they 
did not even bother to try the method.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 03/10] usb: dwc3: gadget: Don't send unintended link state change
  2023-08-01  7:28 ` [PATCH v2 03/10] usb: dwc3: gadget: Don't send unintended link state change Eugen Hristev
@ 2023-08-01 11:44   ` Marek Vasut
  0 siblings, 0 replies; 23+ messages in thread
From: Marek Vasut @ 2023-08-01 11:44 UTC (permalink / raw)
  To: Eugen Hristev, kever.yang, u-boot
  Cc: jonas, jagan, kernel, Venkatesh Yadav Abbarapu

On 8/1/23 09:28, Eugen Hristev wrote:
> From: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
> 
> [ Nguyen/Felipe/Greg: Ported from Linux kernel commit
> 	5b738211fb59 ("usb: dwc3: gadget: Don't send
> 				unintended link state change") ]
> 
> DCTL.ULSTCHNGREQ is a write-only field. When doing a read-modify-write
> to DCTL, the driver must make sure that there's no unintended link state
> change request from whatever is read from DCTL.ULSTCHNGREQ. Set link
> state change to no-action when the driver writes to DCTL.
> 
> Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
> ---
> Not to be merged, I know Marek does not apply any patches to DWC3.

NAK. The statement above is not true, see patch 02/10 .

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 04/10] usb: dwc3: core: Only handle soft-reset in DCTL
  2023-08-01  7:28 ` [PATCH v2 04/10] usb: dwc3: core: Only handle soft-reset in DCTL Eugen Hristev
@ 2023-08-01 11:44   ` Marek Vasut
  0 siblings, 0 replies; 23+ messages in thread
From: Marek Vasut @ 2023-08-01 11:44 UTC (permalink / raw)
  To: Eugen Hristev, kever.yang, u-boot
  Cc: jonas, jagan, kernel, Venkatesh Yadav Abbarapu

On 8/1/23 09:28, Eugen Hristev wrote:
> From: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
> 
> [ Nguyen/Greg: Ported from Linux kernel commit
> 	f4fd84ae0765a ("usb: dwc3: core: Only handle soft-reset in DCTL") ]
> 
> Make sure not to set run_stop bit or link state change request while
> initiating soft-reset. Register read-modify-write operation may
> unintentionally start the controller before the initialization completes
> with its previous DCTL value, which can cause initialization failure.
> 
> Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
> ---
> Not to be merged, I know Marek does not apply any patches to DWC3.

NAK. The statement above is not true, see patch 02/10 .

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 05/10] usb: dwc3: Increase DWC3 controller halt timeout
  2023-08-01  7:28 ` [PATCH v2 05/10] usb: dwc3: Increase DWC3 controller halt timeout Eugen Hristev
@ 2023-08-01 11:44   ` Marek Vasut
  0 siblings, 0 replies; 23+ messages in thread
From: Marek Vasut @ 2023-08-01 11:44 UTC (permalink / raw)
  To: Eugen Hristev, kever.yang, u-boot; +Cc: jonas, jagan, kernel, Wesley Cheng

On 8/1/23 09:28, Eugen Hristev wrote:
> Since EP0 transactions need to be completed before the controller halt
> sequence is finished, this may take some time depending on the host and the
> enabled functions.  Increase the controller halt timeout, so that we give
> the controller sufficient time to handle EP0 transfers.
> 
> Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
> Link: https://lore.kernel.org/r/20220901193625.8727-4-quic_wcheng@quicinc.com
> Cherry-picked from Linux: 461ee467507c ("usb: dwc3: Increase DWC3 controller halt timeout")
> Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
> ---
> Not to be merged, I know Marek does not apply any patches to DWC3.

NAK. The statement above is not true, see patch 02/10 .

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 01/10] rockchip: allow env defines for SPL build
  2023-08-01  7:28 ` [PATCH v2 01/10] rockchip: allow env defines for SPL build Eugen Hristev
@ 2023-08-12  2:45   ` Kever Yang
  0 siblings, 0 replies; 23+ messages in thread
From: Kever Yang @ 2023-08-12  2:45 UTC (permalink / raw)
  To: Eugen Hristev, u-boot; +Cc: marex, jonas, jagan, kernel


On 2023/8/1 15:28, Eugen Hristev wrote:
> For environment in SPL, all these defines are required, otherwise
> build fails:
>
> [...]
> include/env_default.h:120:9: note: in expansion of macro ‘CFG_EXTRA_ENV_SETTINGS’
>    120 |         CFG_EXTRA_ENV_SETTINGS
>        |         ^~~~~~~~~~~~~~~~~~~~~~
> In file included from env/common.c:32:
> [...]
>
> Environment in SPL is needed e.g. for DFU, as dfu_alt is kept as
> env variable.
>
> Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>   include/configs/rockchip-common.h | 4 ----
>   1 file changed, 4 deletions(-)
>
> diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h
> index 9121bba37384..be20b135066e 100644
> --- a/include/configs/rockchip-common.h
> +++ b/include/configs/rockchip-common.h
> @@ -11,8 +11,6 @@
>   #define CFG_CPUID_OFFSET	0x7
>   #endif
>   
> -#ifndef CONFIG_SPL_BUILD
> -
>   #define BOOT_TARGETS	"mmc1 mmc0 nvme scsi usb pxe dhcp spi"
>   
>   #ifdef CONFIG_ARM64
> @@ -28,6 +26,4 @@
>   	"name=boot,size=112M,bootable,uuid=${uuid_gpt_boot};" \
>   	"name=rootfs,size=-,uuid="ROOT_UUID
>   
> -#endif
> -
>   #endif /* _ROCKCHIP_COMMON_H_ */

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 07/10] ARM: mach-rockchip: spl-boot-order: add possibility to DFU
  2023-08-01  7:28 ` [PATCH v2 07/10] ARM: mach-rockchip: spl-boot-order: add possibility to DFU Eugen Hristev
@ 2023-08-12  2:52   ` Kever Yang
  0 siblings, 0 replies; 23+ messages in thread
From: Kever Yang @ 2023-08-12  2:52 UTC (permalink / raw)
  To: Eugen Hristev, u-boot; +Cc: marex, jonas, jagan, kernel


On 2023/8/1 15:28, Eugen Hristev wrote:
> Add DFU as a possible SPL boot media if the boot device is a
> gadget device.
>
> Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>   arch/arm/mach-rockchip/spl-boot-order.c | 3 +++
>   1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm/mach-rockchip/spl-boot-order.c b/arch/arm/mach-rockchip/spl-boot-order.c
> index 93b8e7de4d0d..89bbe449e86c 100644
> --- a/arch/arm/mach-rockchip/spl-boot-order.c
> +++ b/arch/arm/mach-rockchip/spl-boot-order.c
> @@ -66,6 +66,9 @@ static int spl_node_to_boot_device(int node)
>   	} else if (!uclass_get_device_by_of_offset(UCLASS_SPI_FLASH, node,
>   		&parent)) {
>   		return BOOT_DEVICE_SPI;
> +	} else if (!uclass_get_device_by_of_offset(UCLASS_USB_GADGET_GENERIC,
> +		node, &parent)) {
> +		return BOOT_DEVICE_DFU;
>   	}
>   
>   	/*

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 06/10] ARM: dts: rockchip: rk3588-rock-5b-u-boot: add bootph-all to gadget nodes
  2023-08-01  7:28 ` [PATCH v2 06/10] ARM: dts: rockchip: rk3588-rock-5b-u-boot: add bootph-all to gadget nodes Eugen Hristev
@ 2023-08-12  2:53   ` Kever Yang
  2023-08-13  6:59     ` Eugen Hristev
  0 siblings, 1 reply; 23+ messages in thread
From: Kever Yang @ 2023-08-12  2:53 UTC (permalink / raw)
  To: Eugen Hristev, u-boot; +Cc: marex, jonas, jagan, kernel

Hi Eugen,

On 2023/8/1 15:28, Eugen Hristev wrote:
> Add bootph-all to gadget nodes to have the gadget available in SPL.

Does this gadget available on both USB2 and USB3? I think only USB2 is 
enough?


Thanks,

- Kever

>
> Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
> ---
>   arch/arm/dts/rk3588-rock-5b-u-boot.dtsi | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> diff --git a/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi b/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
> index 5a3292699640..f453aeeaf526 100644
> --- a/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
> +++ b/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
> @@ -221,10 +221,12 @@
>   };
>   
>   &u2phy0 {
> +	bootph-all;
>   	status = "okay";
>   };
>   
>   &u2phy0_otg {
> +	bootph-all;
>   	rockchip,typec-vbus-det;
>   	status = "okay";
>   };
> @@ -271,6 +273,7 @@
>   };
>   
>   &usbdp_phy0 {
> +	bootph-all;
>   	orientation-switch;
>   	svid = <0xff01>;
>   	sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
> @@ -293,14 +296,17 @@
>   };
>   
>   &usbdp_phy0_u3 {
> +	bootph-all;
>   	status = "okay";
>   };
>   
>   &usbdrd3_0 {
> +	bootph-all;
>   	status = "okay";
>   };
>   
>   &usbdrd_dwc3_0 {
> +	bootph-all;
>   	dr_mode = "otg";
>   	usb-role-switch;
>   

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 10/10] configs: rockchip: rock5b-rk3588: enable DFU and related configs
  2023-08-01  7:28 ` [PATCH v2 10/10] configs: rockchip: rock5b-rk3588: enable DFU and related configs Eugen Hristev
@ 2023-08-12  2:53   ` Kever Yang
  0 siblings, 0 replies; 23+ messages in thread
From: Kever Yang @ 2023-08-12  2:53 UTC (permalink / raw)
  To: Eugen Hristev, u-boot; +Cc: marex, jonas, jagan, kernel


On 2023/8/1 15:28, Eugen Hristev wrote:
> Enable DFU and related configs, expand stack and buffers to hold
> downloaded image.
>
> Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
> Changes in v2:
> - added # CONFIG_SPL_BINMAN_UBOOT_SYMBOLS is not set
> because with the configs enabled here, this is automatically set as =y
> and this causes a build failure.
>
>   configs/rock5b-rk3588_defconfig | 18 +++++++++++++++---
>   1 file changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/configs/rock5b-rk3588_defconfig b/configs/rock5b-rk3588_defconfig
> index 3976a6c0f05c..ca70073f3ccc 100644
> --- a/configs/rock5b-rk3588_defconfig
> +++ b/configs/rock5b-rk3588_defconfig
> @@ -4,6 +4,7 @@ CONFIG_SYS_HAS_NONCACHED_MEMORY=y
>   CONFIG_COUNTER_FREQUENCY=24000000
>   CONFIG_ARCH_ROCKCHIP=y
>   CONFIG_TEXT_BASE=0x00a00000
> +CONFIG_SYS_MALLOC_F_LEN=0x500000
>   CONFIG_SPL_LIBCOMMON_SUPPORT=y
>   CONFIG_SPL_LIBGENERIC_SUPPORT=y
>   CONFIG_NR_DRAM_BANKS=2
> @@ -16,9 +17,9 @@ CONFIG_ROCKCHIP_RK3588=y
>   CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y
>   CONFIG_ROCKCHIP_SPI_IMAGE=y
>   CONFIG_SPL_SERIAL=y
> -CONFIG_SPL_STACK_R_ADDR=0x600000
> +CONFIG_SPL_STACK_R_ADDR=0x1000000
>   CONFIG_TARGET_ROCK5B_RK3588=y
> -CONFIG_SPL_STACK=0x400000
> +CONFIG_SPL_STACK=0x1000000
>   CONFIG_DEBUG_UART_BASE=0xFEB50000
>   CONFIG_DEBUG_UART_CLOCK=24000000
>   CONFIG_SPL_SPI_FLASH_SUPPORT=y
> @@ -30,6 +31,7 @@ CONFIG_FIT=y
>   CONFIG_FIT_VERBOSE=y
>   CONFIG_SPL_FIT_SIGNATURE=y
>   CONFIG_SPL_LOAD_FIT=y
> +CONFIG_SPL_LOAD_FIT_ADDRESS=0x50000000
>   CONFIG_LEGACY_IMAGE_FORMAT=y
>   CONFIG_OF_BOARD_SETUP=y
>   CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-rock-5b.dtb"
> @@ -41,12 +43,17 @@ CONFIG_SPL_PAD_TO=0x7f8000
>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>   CONFIG_SPL_BSS_START_ADDR=0x4000000
>   CONFIG_SPL_BSS_MAX_SIZE=0x4000
> +# CONFIG_SPL_BINMAN_UBOOT_SYMBOLS is not set
>   # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
>   # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
>   CONFIG_SPL_STACK_R=y
> +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x300000
> +CONFIG_SPL_ENV_SUPPORT=y
> +CONFIG_SPL_RAM_SUPPORT=y
>   CONFIG_SPL_SPI_LOAD=y
>   CONFIG_SYS_SPI_U_BOOT_OFFS=0x60000
>   CONFIG_SPL_ATF=y
> +CONFIG_CMD_DFU=y
>   CONFIG_CMD_GPIO=y
>   CONFIG_CMD_GPT=y
>   CONFIG_CMD_I2C=y
> @@ -59,10 +66,12 @@ CONFIG_CMD_REGULATOR=y
>   # CONFIG_SPL_DOS_PARTITION is not set
>   CONFIG_SPL_OF_CONTROL=y
>   CONFIG_OF_LIVE=y
> -CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
> +CONFIG_OF_SPL_REMOVE_PROPS="interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
>   CONFIG_SPL_REGMAP=y
>   CONFIG_SPL_SYSCON=y
>   CONFIG_SPL_CLK=y
> +CONFIG_DFU_RAM=y
> +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x200000
>   # CONFIG_USB_FUNCTION_FASTBOOT is not set
>   CONFIG_ROCKCHIP_GPIO=y
>   CONFIG_SYS_I2C_ROCKCHIP=y
> @@ -93,6 +102,7 @@ CONFIG_ROCKCHIP_SFC=y
>   CONFIG_SYSRESET=y
>   CONFIG_USB=y
>   CONFIG_DM_USB_GADGET=y
> +CONFIG_SPL_DM_USB_GADGET=y
>   CONFIG_USB_XHCI_HCD=y
>   # CONFIG_USB_XHCI_DWC3_OF_SIMPLE is not set
>   CONFIG_USB_EHCI_HCD=y
> @@ -111,7 +121,9 @@ CONFIG_USB_ETHER_MCS7830=y
>   CONFIG_USB_ETHER_RTL8152=y
>   CONFIG_USB_ETHER_SMSC95XX=y
>   CONFIG_USB_GADGET=y
> +CONFIG_SPL_USB_GADGET=y
>   CONFIG_USB_GADGET_PRODUCT_NUM=0x350b
>   CONFIG_USB_GADGET_DOWNLOAD=y
>   CONFIG_USB_FUNCTION_ROCKUSB=y
> +CONFIG_SPL_DFU=y
>   CONFIG_ERRNO_STR=y

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 06/10] ARM: dts: rockchip: rk3588-rock-5b-u-boot: add bootph-all to gadget nodes
  2023-08-12  2:53   ` Kever Yang
@ 2023-08-13  6:59     ` Eugen Hristev
  0 siblings, 0 replies; 23+ messages in thread
From: Eugen Hristev @ 2023-08-13  6:59 UTC (permalink / raw)
  To: Kever Yang, u-boot; +Cc: marex, jonas, jagan, kernel

On 8/12/23 05:53, Kever Yang wrote:
> Hi Eugen,
> 
> On 2023/8/1 15:28, Eugen Hristev wrote:
>> Add bootph-all to gadget nodes to have the gadget available in SPL.
> 
> Does this gadget available on both USB2 and USB3? I think only USB2 is 
> enough?
> 

Hi Kever,

This board has one USB type C that is connected on USB3. This type C 
port is used for maskrom, to flash using rkdeveloptool and to power the 
board. It is only natural that this port is used for gadget, because 
everyone who boot this board, use rockusb to boot, will already have a 
cable connected to the host.

Also, on this device RK3588 USB2 controller does not support gadget 
mode, only host, so I am forced to use USB3 anyway.

Eugen
> 
> Thanks,
> 
> - Kever
> 
>>
>> Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
>> ---
>>   arch/arm/dts/rk3588-rock-5b-u-boot.dtsi | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi 
>> b/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
>> index 5a3292699640..f453aeeaf526 100644
>> --- a/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
>> +++ b/arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
>> @@ -221,10 +221,12 @@
>>   };
>>   &u2phy0 {
>> +    bootph-all;
>>       status = "okay";
>>   };
>>   &u2phy0_otg {
>> +    bootph-all;
>>       rockchip,typec-vbus-det;
>>       status = "okay";
>>   };
>> @@ -271,6 +273,7 @@
>>   };
>>   &usbdp_phy0 {
>> +    bootph-all;
>>       orientation-switch;
>>       svid = <0xff01>;
>>       sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
>> @@ -293,14 +296,17 @@
>>   };
>>   &usbdp_phy0_u3 {
>> +    bootph-all;
>>       status = "okay";
>>   };
>>   &usbdrd3_0 {
>> +    bootph-all;
>>       status = "okay";
>>   };
>>   &usbdrd_dwc3_0 {
>> +    bootph-all;
>>       dr_mode = "otg";
>>       usb-role-switch;


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL
  2023-08-01  7:28 [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
                   ` (9 preceding siblings ...)
  2023-08-01  7:28 ` [PATCH v2 10/10] configs: rockchip: rock5b-rk3588: enable DFU and related configs Eugen Hristev
@ 2023-09-21 14:47 ` Eugen Hristev
  2023-09-22  0:48   ` Kever Yang
  10 siblings, 1 reply; 23+ messages in thread
From: Eugen Hristev @ 2023-09-21 14:47 UTC (permalink / raw)
  To: kever.yang, u-boot; +Cc: marex, jonas, jagan, kernel

On 8/1/23 10:28, Eugen Hristev wrote:
> This series adds support for DFU in SPL for rockchip rk3588 on rock5b
> board.
> 
> Namely, when SPL is loaded via rockusb (thus via USB), having the
> `same-as-spl` boot order item, after having detected that it was loaded
> from USB, it will lookup the gadget USB node in DT and boot via DFU.
> 
> Some changes were required namely:
> - DFU needs environment, hence adding environment variables into DFU
> - added bootph-all to nodes such that they are available in SPL
> - insert gadget into boot order
> 
> I had to port one patch for DWC3 from Linux, and include in this series
> the patches that are floating from Venkatesh that fixup the DWC3
> (https://marc.info/?l=u-boot&m=168351919807081&w=2 )
> 
> I know that Marek NAKed them and I am fine with it, I am not trying to
> sneak in any patches, they are not to be merged, also this patch
> `usb: dwc3: Increase DWC3 controller halt timeout` is in the same bucket
> so Marek you can NAK this one as well, no problem, I am just sending out
> all the series so maybe the rockchip part for the gadget can be picked up
> and if people want to use the DFU SPL gadget can also manually pick the
> DWC3 patches. The branch with all the patches is available here :
> 
> https://gitlab.collabora.com/hardware-enablement/rockchip-3588/u-boot
> 
> Thanks!
> 
> Changes in v2:
> - rebased on latest upstream which caused a change in the config patch.
> 
> 
> Eugen Hristev (7):
>    rockchip: allow env defines for SPL build
>    usb: dwc3: Increase DWC3 controller halt timeout
>    ARM: dts: rockchip: rk3588-rock-5b-u-boot: add bootph-all to gadget
>      nodes
>    ARM: mach-rockchip: spl-boot-order: add possibility to DFU
>    ARM: mach-rockchip: rk3588: add gadget device to the boot order
>    rockchip: rk3588: prepare env for DFU
>    configs: rockchip: rock5b-rk3588: enable DFU and related configs
> 
> Venkatesh Yadav Abbarapu (3):
>    usb: dwc3: core: improve reset sequence
>    usb: dwc3: gadget: Don't send unintended link state change
>    usb: dwc3: core: Only handle soft-reset in DCTL
> 
>   arch/arm/dts/rk3588-rock-5b-u-boot.dtsi |  6 +++++
>   arch/arm/mach-rockchip/rk3588/rk3588.c  |  1 +
>   arch/arm/mach-rockchip/spl-boot-order.c |  3 +++
>   configs/rock5b-rk3588_defconfig         | 18 +++++++++++---
>   drivers/usb/dwc3/core.c                 | 32 +++++++++++++++----------
>   drivers/usb/dwc3/gadget.c               | 20 +++++++---------
>   drivers/usb/dwc3/gadget.h               | 14 +++++++++++
>   include/configs/rk3588_common.h         |  9 ++++++-
>   include/configs/rockchip-common.h       |  4 ----
>   9 files changed, 76 insertions(+), 31 deletions(-)
> 


Hello Kever,

I see in patchwork this series is marked as 'Changes requested'.
Do you wish to tell me which are the changes you requested, as I did not 
see anything in your replies.
I am interested to see the patches related to rockchip (not the DWC3), 
if it's fine for you to merge them.

Thanks,
Eugen

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL
  2023-09-21 14:47 ` [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
@ 2023-09-22  0:48   ` Kever Yang
  2023-09-22  9:57     ` Eugen Hristev
  0 siblings, 1 reply; 23+ messages in thread
From: Kever Yang @ 2023-09-22  0:48 UTC (permalink / raw)
  To: Eugen Hristev, u-boot; +Cc: marex, jonas, jagan, kernel


On 2023/9/21 22:47, Eugen Hristev wrote:
> On 8/1/23 10:28, Eugen Hristev wrote:
>> This series adds support for DFU in SPL for rockchip rk3588 on rock5b
>> board.
>>
>> Namely, when SPL is loaded via rockusb (thus via USB), having the
>> `same-as-spl` boot order item, after having detected that it was loaded
>> from USB, it will lookup the gadget USB node in DT and boot via DFU.
>>
>> Some changes were required namely:
>> - DFU needs environment, hence adding environment variables into DFU
>> - added bootph-all to nodes such that they are available in SPL
>> - insert gadget into boot order
>>
>> I had to port one patch for DWC3 from Linux, and include in this series
>> the patches that are floating from Venkatesh that fixup the DWC3
>> (https://marc.info/?l=u-boot&m=168351919807081&w=2 )
>>
>> I know that Marek NAKed them and I am fine with it, I am not trying to
>> sneak in any patches, they are not to be merged, also this patch
>> `usb: dwc3: Increase DWC3 controller halt timeout` is in the same bucket
>> so Marek you can NAK this one as well, no problem, I am just sending out
>> all the series so maybe the rockchip part for the gadget can be 
>> picked up
>> and if people want to use the DFU SPL gadget can also manually pick the
>> DWC3 patches. The branch with all the patches is available here :
>>
>> https://gitlab.collabora.com/hardware-enablement/rockchip-3588/u-boot
>>
>> Thanks!
>>
>> Changes in v2:
>> - rebased on latest upstream which caused a change in the config patch.
>>
>>
>> Eugen Hristev (7):
>>    rockchip: allow env defines for SPL build
>>    usb: dwc3: Increase DWC3 controller halt timeout
>>    ARM: dts: rockchip: rk3588-rock-5b-u-boot: add bootph-all to gadget
>>      nodes
>>    ARM: mach-rockchip: spl-boot-order: add possibility to DFU
>>    ARM: mach-rockchip: rk3588: add gadget device to the boot order
>>    rockchip: rk3588: prepare env for DFU
>>    configs: rockchip: rock5b-rk3588: enable DFU and related configs
>>
>> Venkatesh Yadav Abbarapu (3):
>>    usb: dwc3: core: improve reset sequence
>>    usb: dwc3: gadget: Don't send unintended link state change
>>    usb: dwc3: core: Only handle soft-reset in DCTL
>>
>>   arch/arm/dts/rk3588-rock-5b-u-boot.dtsi |  6 +++++
>>   arch/arm/mach-rockchip/rk3588/rk3588.c  |  1 +
>>   arch/arm/mach-rockchip/spl-boot-order.c |  3 +++
>>   configs/rock5b-rk3588_defconfig         | 18 +++++++++++---
>>   drivers/usb/dwc3/core.c                 | 32 +++++++++++++++----------
>>   drivers/usb/dwc3/gadget.c               | 20 +++++++---------
>>   drivers/usb/dwc3/gadget.h               | 14 +++++++++++
>>   include/configs/rk3588_common.h         |  9 ++++++-
>>   include/configs/rockchip-common.h       |  4 ----
>>   9 files changed, 76 insertions(+), 31 deletions(-)
>>
>
>
> Hello Kever,
>
> I see in patchwork this series is marked as 'Changes requested'.
> Do you wish to tell me which are the changes you requested, as I did 
> not see anything in your replies.
> I am interested to see the patches related to rockchip (not the DWC3), 
> if it's fine for you to merge them.

Hi Eugen,

     For rockchip platform part is fine to me, but as a patchset, the 
dwc3 part is NAKed by Marek, so patch set

not able to merge.

     If rockchip part can work without dwc3 change, you can send a 
separate patch set for it, so that I can merge it.


Thanks,

- Kever

>
> Thanks,
> Eugen

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL
  2023-09-22  0:48   ` Kever Yang
@ 2023-09-22  9:57     ` Eugen Hristev
  0 siblings, 0 replies; 23+ messages in thread
From: Eugen Hristev @ 2023-09-22  9:57 UTC (permalink / raw)
  To: Kever Yang, u-boot; +Cc: marex, jonas, jagan, kernel

On 9/22/23 03:48, Kever Yang wrote:
> 
> On 2023/9/21 22:47, Eugen Hristev wrote:
>> On 8/1/23 10:28, Eugen Hristev wrote:
>>> This series adds support for DFU in SPL for rockchip rk3588 on rock5b
>>> board.
>>>
>>> Namely, when SPL is loaded via rockusb (thus via USB), having the
>>> `same-as-spl` boot order item, after having detected that it was loaded
>>> from USB, it will lookup the gadget USB node in DT and boot via DFU.
>>>
>>> Some changes were required namely:
>>> - DFU needs environment, hence adding environment variables into DFU
>>> - added bootph-all to nodes such that they are available in SPL
>>> - insert gadget into boot order
>>>
>>> I had to port one patch for DWC3 from Linux, and include in this series
>>> the patches that are floating from Venkatesh that fixup the DWC3
>>> (https://marc.info/?l=u-boot&m=168351919807081&w=2 )
>>>
>>> I know that Marek NAKed them and I am fine with it, I am not trying to
>>> sneak in any patches, they are not to be merged, also this patch
>>> `usb: dwc3: Increase DWC3 controller halt timeout` is in the same bucket
>>> so Marek you can NAK this one as well, no problem, I am just sending out
>>> all the series so maybe the rockchip part for the gadget can be 
>>> picked up
>>> and if people want to use the DFU SPL gadget can also manually pick the
>>> DWC3 patches. The branch with all the patches is available here :
>>>
>>> https://gitlab.collabora.com/hardware-enablement/rockchip-3588/u-boot
>>>
>>> Thanks!
>>>
>>> Changes in v2:
>>> - rebased on latest upstream which caused a change in the config patch.
>>>
>>>
>>> Eugen Hristev (7):
>>>    rockchip: allow env defines for SPL build
>>>    usb: dwc3: Increase DWC3 controller halt timeout
>>>    ARM: dts: rockchip: rk3588-rock-5b-u-boot: add bootph-all to gadget
>>>      nodes
>>>    ARM: mach-rockchip: spl-boot-order: add possibility to DFU
>>>    ARM: mach-rockchip: rk3588: add gadget device to the boot order
>>>    rockchip: rk3588: prepare env for DFU
>>>    configs: rockchip: rock5b-rk3588: enable DFU and related configs
>>>
>>> Venkatesh Yadav Abbarapu (3):
>>>    usb: dwc3: core: improve reset sequence
>>>    usb: dwc3: gadget: Don't send unintended link state change
>>>    usb: dwc3: core: Only handle soft-reset in DCTL
>>>
>>>   arch/arm/dts/rk3588-rock-5b-u-boot.dtsi |  6 +++++
>>>   arch/arm/mach-rockchip/rk3588/rk3588.c  |  1 +
>>>   arch/arm/mach-rockchip/spl-boot-order.c |  3 +++
>>>   configs/rock5b-rk3588_defconfig         | 18 +++++++++++---
>>>   drivers/usb/dwc3/core.c                 | 32 +++++++++++++++----------
>>>   drivers/usb/dwc3/gadget.c               | 20 +++++++---------
>>>   drivers/usb/dwc3/gadget.h               | 14 +++++++++++
>>>   include/configs/rk3588_common.h         |  9 ++++++-
>>>   include/configs/rockchip-common.h       |  4 ----
>>>   9 files changed, 76 insertions(+), 31 deletions(-)
>>>
>>
>>
>> Hello Kever,
>>
>> I see in patchwork this series is marked as 'Changes requested'.
>> Do you wish to tell me which are the changes you requested, as I did 
>> not see anything in your replies.
>> I am interested to see the patches related to rockchip (not the DWC3), 
>> if it's fine for you to merge them.
> 
> Hi Eugen,
> 
>      For rockchip platform part is fine to me, but as a patchset, the 
> dwc3 part is NAKed by Marek, so patch set
> 
> not able to merge.
> 
>      If rockchip part can work without dwc3 change, you can send a 
> separate patch set for it, so that I can merge it.

Hi Kever,

The rockchip part works except the fact that sometimes the dwc3 gadget 
does not power up correctly (hence the three patches that fix the problem).
If you are fine to take the rockchip part I can resend it as a separate 
series. It would be useful for people to have the gadget devicetree and 
configs in upstream, and only the DWC3 part missing. Otherwise, this 
series will float until someone brings DWC3 up to date in U-boot as 
Marek requested. Let me know what do you think.

Thanks,
Eugen

> 
> 
> Thanks,
> 
> - Kever
> 
>>
>> Thanks,
>> Eugen


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2023-09-22  9:57 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-01  7:28 [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
2023-08-01  7:28 ` [PATCH v2 01/10] rockchip: allow env defines for SPL build Eugen Hristev
2023-08-12  2:45   ` Kever Yang
2023-08-01  7:28 ` [PATCH v2 02/10] usb: dwc3: core: improve reset sequence Eugen Hristev
2023-08-01 11:44   ` Marek Vasut
2023-08-01  7:28 ` [PATCH v2 03/10] usb: dwc3: gadget: Don't send unintended link state change Eugen Hristev
2023-08-01 11:44   ` Marek Vasut
2023-08-01  7:28 ` [PATCH v2 04/10] usb: dwc3: core: Only handle soft-reset in DCTL Eugen Hristev
2023-08-01 11:44   ` Marek Vasut
2023-08-01  7:28 ` [PATCH v2 05/10] usb: dwc3: Increase DWC3 controller halt timeout Eugen Hristev
2023-08-01 11:44   ` Marek Vasut
2023-08-01  7:28 ` [PATCH v2 06/10] ARM: dts: rockchip: rk3588-rock-5b-u-boot: add bootph-all to gadget nodes Eugen Hristev
2023-08-12  2:53   ` Kever Yang
2023-08-13  6:59     ` Eugen Hristev
2023-08-01  7:28 ` [PATCH v2 07/10] ARM: mach-rockchip: spl-boot-order: add possibility to DFU Eugen Hristev
2023-08-12  2:52   ` Kever Yang
2023-08-01  7:28 ` [PATCH v2 08/10] ARM: mach-rockchip: rk3588: add gadget device to the boot order Eugen Hristev
2023-08-01  7:28 ` [PATCH v2 09/10] rockchip: rk3588: prepare env for DFU Eugen Hristev
2023-08-01  7:28 ` [PATCH v2 10/10] configs: rockchip: rock5b-rk3588: enable DFU and related configs Eugen Hristev
2023-08-12  2:53   ` Kever Yang
2023-09-21 14:47 ` [PATCH v2 00/10] rockchip: rk3588: add support for DFU in SPL Eugen Hristev
2023-09-22  0:48   ` Kever Yang
2023-09-22  9:57     ` Eugen Hristev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox