Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/10] ARM: dts: dm816x: fixes and peripheral updates for DM8168 SoC
@ 2026-10-16 14:41 Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 01/10] ARM: ti81xx: Prevent USB being put into idle Ettore Chimenti
                   ` (9 more replies)
  0 siblings, 10 replies; 13+ messages in thread
From: Ettore Chimenti @ 2026-10-16 14:41 UTC (permalink / raw)
  To: Paul Walmsley, Aaro Koskinen, Andreas Kemnade, Kevin Hilman,
	Roger Quadros, Tony Lindgren, Russell King, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Christopher Obbard,
	Andrew Goodbody, Linus Walleij, Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio, Ettore Chimenti, Christopher Obbard

This patch series collects several fixes and peripheral enhancements for TI
DM816x SoCs and the DM8168-EVM board:

- Pinctrl: add correct pullup/down enable defines for DM816X SoCs, which
  they appear to be inverted respect to OMAP2/3.
- SD: explicit pullup disable in DM8168-EVM SD card pinmuxing.
- Clocks & Timers: Correct sysclk5 frequency definition in DT.
- Storage (MMC): Update MMC node settings.
- USB: Update MUSB node, enable multipoint mode, and prevent USB idle issues.

Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
Andrew Goodbody (7):
      ARM: ti81xx: Prevent USB being put into idle
      ARM: dts: omap: dm816x: Fix pinctrl range
      ARM: dts: omap: dm816x: refactor and align MMC node
      ARM: dts: omap: dm816x: Update USB node
      ARM: omap: dm816x: Match up capability flags for USB
      ARM: dts: omap: dm816x: Correct speed for sysclk5
      ARM: dts: omap: dm8168-evm: Correct SD card pinmux

Christopher Obbard (1):
      ARM: dts: omap: dm8168-evm: enable MUSB multipoint support

Ettore Chimenti (2):
      dt-bindings: pinctrl: Add devicetree bindings for DM816x SoC Pinctrl
      ARM: dts: omap: dm816x: use dedicated SoC pinctrl

 arch/arm/boot/dts/ti/omap/dm8168-evm.dts     | 17 +++---
 arch/arm/boot/dts/ti/omap/dm816x-clocks.dtsi |  2 +-
 arch/arm/boot/dts/ti/omap/dm816x.dtsi        | 78 +++++++++++++++++++---------
 arch/arm/mach-omap2/omap_hwmod_81xx_data.c   |  3 +-
 include/dt-bindings/pinctrl/dm816x.h         | 20 +++++++
 5 files changed, 84 insertions(+), 36 deletions(-)
---
base-commit: 045958acaa75205b31578cb22c4345e28dd2e4bf
change-id: 20261015-patch-ektor5-dm8168-dts-24b35c8019f6

Best regards,
--  
Ettore Chimenti <ettore.chimenti@linaro.org>



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

* [PATCH 01/10] ARM: ti81xx: Prevent USB being put into idle
  2026-10-16 14:41 [PATCH 00/10] ARM: dts: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
@ 2026-10-16 14:41 ` Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 02/10] dt-bindings: pinctrl: Add devicetree bindings for DM816x SoC Pinctrl Ettore Chimenti
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Ettore Chimenti @ 2026-10-16 14:41 UTC (permalink / raw)
  To: Paul Walmsley, Aaro Koskinen, Andreas Kemnade, Kevin Hilman,
	Roger Quadros, Tony Lindgren, Russell King, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Christopher Obbard,
	Andrew Goodbody, Linus Walleij, Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio, Ettore Chimenti

From: Andrew Goodbody <andrew.goodbody@linaro.org>

There is an issue with USB being put into idle with DMA enabled and that
is mostly prevented with usbcore.autosuspend=-1 on the kernel command
line. Stop the ti,hwmod code from putting it into idle by setting the
appropriate flag. This stops the log entry 'clk:0058:0: failed to
disable' being generated.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
 arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
index 9b5c728fb7da..2f55dc32e150 100644
--- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
@@ -650,6 +650,7 @@ static struct omap_hwmod dm816x_usbss_hwmod = {
 	.name		= "usb_otg_hs",
 	.clkdm_name	= "default_l3_slow_clkdm",
 	.main_clk	= "sysclk6_ck",
+	.flags		= HWMOD_NO_IDLE,
 	.prcm		= {
 		.omap4 = {
 			.clkctrl_offs = DM81XX_CM_DEFAULT_USB_CLKCTRL,

-- 
2.56.0



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

* [PATCH 02/10] dt-bindings: pinctrl: Add devicetree bindings for DM816x SoC Pinctrl
  2026-10-16 14:41 [PATCH 00/10] ARM: dts: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 01/10] ARM: ti81xx: Prevent USB being put into idle Ettore Chimenti
@ 2026-10-16 14:41 ` Ettore Chimenti
  2026-10-16 14:51   ` Krzysztof Kozlowski
  2026-10-16 14:41 ` [PATCH 03/10] ARM: dts: omap: dm816x: use dedicated SoC pinctrl Ettore Chimenti
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 13+ messages in thread
From: Ettore Chimenti @ 2026-10-16 14:41 UTC (permalink / raw)
  To: Paul Walmsley, Aaro Koskinen, Andreas Kemnade, Kevin Hilman,
	Roger Quadros, Tony Lindgren, Russell King, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Christopher Obbard,
	Andrew Goodbody, Linus Walleij, Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio, Ettore Chimenti

Add devicetree bindings for TI DM816x SoC pinctrl configuration.
Using same definition as OMAP2/3 except pullup/down enable macros, which
are inverted in this SoC.

Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
 include/dt-bindings/pinctrl/dm816x.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/include/dt-bindings/pinctrl/dm816x.h b/include/dt-bindings/pinctrl/dm816x.h
new file mode 100644
index 000000000000..15aa15bca9bd
--- /dev/null
+++ b/include/dt-bindings/pinctrl/dm816x.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * This header provides constants specific to DM816X pinctrl bindings.
+ */
+
+#ifndef _DT_BINDINGS_PINCTRL_DM816X_H
+#define _DT_BINDINGS_PINCTRL_DM816X_H
+
+#include <dt-bindings/pinctrl/omap.h>
+
+#undef PULL_UP
+#undef PULL_ENA
+
+/* DM81xx mux bit defines */
+#define PULL_ENA		(0 << 3)  /* Pullup enabled  => 0 */
+#define PULL_DIS		(1 << 3)  /* Pullup disabled => 1 */
+#define PULL_DN			(0 << 4)
+#define PULL_UP			(1 << 4)
+
+#endif

-- 
2.56.0



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

* [PATCH 03/10] ARM: dts: omap: dm816x: use dedicated SoC pinctrl
  2026-10-16 14:41 [PATCH 00/10] ARM: dts: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 01/10] ARM: ti81xx: Prevent USB being put into idle Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 02/10] dt-bindings: pinctrl: Add devicetree bindings for DM816x SoC Pinctrl Ettore Chimenti
@ 2026-10-16 14:41 ` Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 04/10] ARM: dts: omap: dm816x: Fix pinctrl range Ettore Chimenti
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Ettore Chimenti @ 2026-10-16 14:41 UTC (permalink / raw)
  To: Paul Walmsley, Aaro Koskinen, Andreas Kemnade, Kevin Hilman,
	Roger Quadros, Tony Lindgren, Russell King, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Christopher Obbard,
	Andrew Goodbody, Linus Walleij, Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio, Ettore Chimenti

In the TI Sitara DM816x SoCs, the pinctrl configuration macros are not
identical to OMAP2/3. They are actually inverted between Pullup/down
enabled and disabled (third bit in pinctrl registers). Using dedicated
DM816x pinctrl header to differentiate between the SoC families.

Tested-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
 arch/arm/boot/dts/ti/omap/dm816x.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/ti/omap/dm816x.dtsi b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
index ee0090f7aa64..de4d48babf77 100644
--- a/arch/arm/boot/dts/ti/omap/dm816x.dtsi
+++ b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
@@ -3,7 +3,7 @@
 #include <dt-bindings/bus/ti-sysc.h>
 #include <dt-bindings/clock/dm816.h>
 #include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/pinctrl/omap.h>
+#include <dt-bindings/pinctrl/dm816x.h>
 
 / {
 	compatible = "ti,dm816";

-- 
2.56.0



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

* [PATCH 04/10] ARM: dts: omap: dm816x: Fix pinctrl range
  2026-10-16 14:41 [PATCH 00/10] ARM: dts: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (2 preceding siblings ...)
  2026-10-16 14:41 ` [PATCH 03/10] ARM: dts: omap: dm816x: use dedicated SoC pinctrl Ettore Chimenti
@ 2026-10-16 14:41 ` Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 05/10] ARM: dts: omap: dm816x: refactor and align MMC node Ettore Chimenti
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Ettore Chimenti @ 2026-10-16 14:41 UTC (permalink / raw)
  To: Paul Walmsley, Aaro Koskinen, Andreas Kemnade, Kevin Hilman,
	Roger Quadros, Tony Lindgren, Russell King, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Christopher Obbard,
	Andrew Goodbody, Linus Walleij, Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio, Ettore Chimenti, Christopher Obbard

From: Andrew Goodbody <andrew.goodbody@linaro.org>

The range of addresses accessed for the pinctrl module needs to be
extended to take account of the fixing of the size of the pinctrl
register to be 32 bits instead of 16 bits. So in order to allow the
final pin control register the address range must end on a 32 bit
boundary, not a 16 bit one.

Fixes: 86800ffe84055 ("ARM: dts: omap: dm816x: Correct pinctrl register")

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Christopher Obbard <christopher.obbard@linaro.org>
Tested-by: Christopher Obbard <christopher.obbard@linaro.org>
Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
 arch/arm/boot/dts/ti/omap/dm816x.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/ti/omap/dm816x.dtsi b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
index de4d48babf77..9c9d5e296e90 100644
--- a/arch/arm/boot/dts/ti/omap/dm816x.dtsi
+++ b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
@@ -90,7 +90,7 @@ scrm: scrm@48140000 {
 
 			dm816x_pinmux: pinmux@800 {
 				compatible = "pinctrl-single";
-				reg = <0x800 0x50a>;
+				reg = <0x800 0x50c>;
 				#address-cells = <1>;
 				#size-cells = <0>;
 				#pinctrl-cells = <1>;

-- 
2.56.0



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

* [PATCH 05/10] ARM: dts: omap: dm816x: refactor and align MMC node
  2026-10-16 14:41 [PATCH 00/10] ARM: dts: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (3 preceding siblings ...)
  2026-10-16 14:41 ` [PATCH 04/10] ARM: dts: omap: dm816x: Fix pinctrl range Ettore Chimenti
@ 2026-10-16 14:41 ` Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 06/10] ARM: dts: omap: dm816x: Update USB node Ettore Chimenti
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Ettore Chimenti @ 2026-10-16 14:41 UTC (permalink / raw)
  To: Paul Walmsley, Aaro Koskinen, Andreas Kemnade, Kevin Hilman,
	Roger Quadros, Tony Lindgren, Russell King, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Christopher Obbard,
	Andrew Goodbody, Linus Walleij, Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio, Ettore Chimenti

From: Andrew Goodbody <andrew.goodbody@linaro.org>

Update the MMC node in the TI Sitara DM816x device tree to align with
the structure used in other similar SoCs. The changes include
refactoring the node to better describe the target module and its
sub-nodes.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
 arch/arm/boot/dts/ti/omap/dm816x.dtsi | 33 +++++++++++++++++++++++++++------
 1 file changed, 27 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/ti/omap/dm816x.dtsi b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
index 9c9d5e296e90..7f3ef3a00ab8 100644
--- a/arch/arm/boot/dts/ti/omap/dm816x.dtsi
+++ b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
@@ -423,13 +423,34 @@ &edma 20 0 &edma 21 0
 				    "tx2", "rx2", "tx3", "rx3";
 		};
 
-		mmc1: mmc@48060000 {
-			compatible = "ti,omap4-hsmmc";
-			reg = <0x48060000 0x11000>;
+		mmc1_target: target-module@48060000 {
+			compatible = "ti,sysc-omap2", "ti,sysc";
 			ti,hwmods = "mmc1";
-			interrupts = <64>;
-			dmas = <&edma 24 0 &edma 25 0>;
-			dma-names = "tx", "rx";
+			reg = <0x48060000 0x4>,
+			      <0x48060110 0x4>,
+			      <0x48060114 0x4>;
+			reg-names = "rev", "sysc", "syss";
+			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
+					 SYSC_OMAP2_ENAWAKEUP |
+					 SYSC_OMAP2_SOFTRESET |
+					 SYSC_OMAP2_AUTOIDLE)>;
+			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+					<SYSC_IDLE_NO>,
+					<SYSC_IDLE_SMART>;
+			ti,syss-mask = <1>;
+			clocks = <&alwon_clkctrl DM816_MMC1_CLKCTRL 0>;
+			clock-names = "fck";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0x0 0x48060000 0x11000>;
+
+			mmc1: mmc@0 {
+				compatible = "ti,omap4-hsmmc";
+				reg = <0x0 0x11000>;
+				interrupts = <64>;
+				dmas = <&edma 24 0 &edma 25 0>;
+				dma-names = "tx", "rx";
+			};
 		};
 
 		timer1_target: target-module@4802e000 {

-- 
2.56.0



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

* [PATCH 06/10] ARM: dts: omap: dm816x: Update USB node
  2026-10-16 14:41 [PATCH 00/10] ARM: dts: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (4 preceding siblings ...)
  2026-10-16 14:41 ` [PATCH 05/10] ARM: dts: omap: dm816x: refactor and align MMC node Ettore Chimenti
@ 2026-10-16 14:41 ` Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 07/10] ARM: omap: dm816x: Match up capability flags for USB Ettore Chimenti
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Ettore Chimenti @ 2026-10-16 14:41 UTC (permalink / raw)
  To: Paul Walmsley, Aaro Koskinen, Andreas Kemnade, Kevin Hilman,
	Roger Quadros, Tony Lindgren, Russell King, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Christopher Obbard,
	Andrew Goodbody, Linus Walleij, Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio, Ettore Chimenti

From: Andrew Goodbody <andrew.goodbody@linaro.org>

USB node was not working correctly with DMA enabled as the supporting
code had been updated without updating this SoC's device tree. Bring the
device tree more up to date so that it works with DMA enabled.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
 arch/arm/boot/dts/ti/omap/dm816x.dtsi | 41 +++++++++++++++++++++--------------
 1 file changed, 25 insertions(+), 16 deletions(-)

diff --git a/arch/arm/boot/dts/ti/omap/dm816x.dtsi b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
index 7f3ef3a00ab8..5be9efc60785 100644
--- a/arch/arm/boot/dts/ti/omap/dm816x.dtsi
+++ b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
@@ -574,18 +574,27 @@ uart3: serial@48024000 {
 		};
 
 		/* NOTE: USB needs a transceiver driver for phys to work */
-		usb: usb_otg_hs@47401000 {
-			compatible = "ti,am33xx-usb";
-			reg = <0x47401000 0x400000>;
-			ranges;
+		usb: target-module@47400000 {
+			compatible = "ti,sysc-omap4", "ti,sysc";
+			ti,hwmods = "usb_otg_hs";
+			reg = <0x47400000 0x4>,
+			      <0x47400010 0x4>;
+			reg-names = "rev", "sysc";
+			ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
+			ti,sysc-midle = <SYSC_IDLE_FORCE>,
+					<SYSC_IDLE_SMART>;
+			ti,sysc-sidle = <SYSC_IDLE_SMART>;
+			ti,sysc-delay-us = <2>;
+			clocks = <&default_clkctrl DM816_USB_OTG_HS_CLKCTRL 0>;
+			clock-names = "fck";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			ti,hwmods = "usb_otg_hs";
+			ranges = <0x0 0x47400000 0x8000>;
 
-			usb0: usb@47401000 {
+			usb0: usb@1000 {
 				compatible = "ti,musb-dm816";
-				reg = <0x47401400 0x400
-				       0x47401000 0x200>;
+				reg = <0x1400 0x400>,
+				      <0x1000 0x200>;
 				reg-names = "mc", "control";
 				interrupts = <18>;
 				interrupt-names = "mc";
@@ -622,10 +631,10 @@ &cppi41dma 11 1 &cppi41dma 12 1
 					"tx14", "tx15";
 			};
 
-			usb1: usb@47401800 {
+			usb1: usb@1800 {
 				compatible = "ti,musb-dm816";
-				reg = <0x47401c00 0x400
-				       0x47401800 0x200>;
+				reg = <0x1c00 0x400>,
+				      <0x1800 0x200>;
 				reg-names = "mc", "control";
 				interrupts = <19>;
 				interrupt-names = "mc";
@@ -662,12 +671,12 @@ &cppi41dma 26 1 &cppi41dma 27 1
 					"tx14", "tx15";
 			};
 
-			cppi41dma: dma-controller@47402000 {
+			cppi41dma: dma-controller@2000 {
 				compatible = "ti,am3359-cppi41";
-				reg = <0x47400000 0x1000>,
-				      <0x47402000 0x1000>,
-				      <0x47403000 0x1000>,
-				      <0x47404000 0x4000>;
+				reg =  <0x0000 0x1000>,
+				       <0x2000 0x1000>,
+				       <0x3000 0x1000>,
+				       <0x4000 0x4000>;
 				reg-names = "glue", "controller", "scheduler", "queuemgr";
 				interrupts = <17>;
 				interrupt-names = "glue";

-- 
2.56.0



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

* [PATCH 07/10] ARM: omap: dm816x: Match up capability flags for USB
  2026-10-16 14:41 [PATCH 00/10] ARM: dts: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (5 preceding siblings ...)
  2026-10-16 14:41 ` [PATCH 06/10] ARM: dts: omap: dm816x: Update USB node Ettore Chimenti
@ 2026-10-16 14:41 ` Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 08/10] ARM: dts: omap: dm816x: Correct speed for sysclk5 Ettore Chimenti
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Ettore Chimenti @ 2026-10-16 14:41 UTC (permalink / raw)
  To: Paul Walmsley, Aaro Koskinen, Andreas Kemnade, Kevin Hilman,
	Roger Quadros, Tony Lindgren, Russell King, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Christopher Obbard,
	Andrew Goodbody, Linus Walleij, Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio, Ettore Chimenti

From: Andrew Goodbody <andrew.goodbody@linaro.org>

Fix a warning about flags and idle modes not being as expected
for the USB driver. Updating the capability flags for the USB controller
after updating the USB devicetree node.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
 arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
index 2f55dc32e150..d2c20719c100 100644
--- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
@@ -616,7 +616,7 @@ static struct omap_hwmod_class_sysconfig dm81xx_usbhsotg_sysc = {
 	.sysc_offs	= 0x10,
 	.srst_udelay	= 2,
 	.sysc_flags	= SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
-				SYSC_HAS_SOFTRESET,
+				SYSC_HAS_SOFTRESET | SYSC_HAS_RESET_STATUS,
 	.idlemodes	= SIDLE_SMART | MSTANDBY_FORCE | MSTANDBY_SMART,
 	.sysc_fields	= &omap_hwmod_sysc_type2,
 };

-- 
2.56.0



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

* [PATCH 08/10] ARM: dts: omap: dm816x: Correct speed for sysclk5
  2026-10-16 14:41 [PATCH 00/10] ARM: dts: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (6 preceding siblings ...)
  2026-10-16 14:41 ` [PATCH 07/10] ARM: omap: dm816x: Match up capability flags for USB Ettore Chimenti
@ 2026-10-16 14:41 ` Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 09/10] ARM: dts: omap: dm8168-evm: Correct SD card pinmux Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 10/10] ARM: dts: omap: dm8168-evm: enable MUSB multipoint support Ettore Chimenti
  9 siblings, 0 replies; 13+ messages in thread
From: Ettore Chimenti @ 2026-10-16 14:41 UTC (permalink / raw)
  To: Paul Walmsley, Aaro Koskinen, Andreas Kemnade, Kevin Hilman,
	Roger Quadros, Tony Lindgren, Russell King, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Christopher Obbard,
	Andrew Goodbody, Linus Walleij, Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio, Ettore Chimenti

From: Andrew Goodbody <andrew.goodbody@linaro.org>

The default code for setting up the clocks results in sysclk5 running at
1.6GHz whereas it is expected to run at half that ie 813MHz. Force the
divider to be /2 to achieve the 813MHz speed.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
 arch/arm/boot/dts/ti/omap/dm816x-clocks.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/ti/omap/dm816x-clocks.dtsi b/arch/arm/boot/dts/ti/omap/dm816x-clocks.dtsi
index 76ebc6c3c3e5..cb990773b098 100644
--- a/arch/arm/boot/dts/ti/omap/dm816x-clocks.dtsi
+++ b/arch/arm/boot/dts/ti/omap/dm816x-clocks.dtsi
@@ -144,7 +144,7 @@ sysclk5_ck: sysclk5_ck@310 {
 		#clock-cells = <0>;
 		compatible = "ti,divider-clock";
 		clocks = <&sysclk4_ck>;
-		ti,max-div = <1>;
+		ti,dividers = <2>;
 		reg = <0x0310>;
 	};
 

-- 
2.56.0



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

* [PATCH 09/10] ARM: dts: omap: dm8168-evm: Correct SD card pinmux
  2026-10-16 14:41 [PATCH 00/10] ARM: dts: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (7 preceding siblings ...)
  2026-10-16 14:41 ` [PATCH 08/10] ARM: dts: omap: dm816x: Correct speed for sysclk5 Ettore Chimenti
@ 2026-10-16 14:41 ` Ettore Chimenti
  2026-10-16 14:41 ` [PATCH 10/10] ARM: dts: omap: dm8168-evm: enable MUSB multipoint support Ettore Chimenti
  9 siblings, 0 replies; 13+ messages in thread
From: Ettore Chimenti @ 2026-10-16 14:41 UTC (permalink / raw)
  To: Paul Walmsley, Aaro Koskinen, Andreas Kemnade, Kevin Hilman,
	Roger Quadros, Tony Lindgren, Russell King, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Christopher Obbard,
	Andrew Goodbody, Linus Walleij, Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio, Ettore Chimenti, Christopher Obbard

From: Andrew Goodbody <andrew.goodbody@linaro.org>

The SD card lines use external pullups and so the internal pullups need
to be disabled so that they do not cause contention on the lines.
This bug was revealed by correcting the effective bit mask of
the pinctrl device. Use the correct macro for DM8168.

Also fix typo in comment SD_DAT2->SD_DAT3.

Fixes: 86800ffe84055 ("ARM: dts: omap: dm816x: Correct pinctrl register")

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Christopher Obbard <christopher.obbard@linaro.org>
Tested-by: Christopher Obbard <christopher.obbard@linaro.org>
[ettore.chimenti@linaro.org: squashed after fixing DM816x macros ]
Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
 arch/arm/boot/dts/ti/omap/dm8168-evm.dts | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/arm/boot/dts/ti/omap/dm8168-evm.dts b/arch/arm/boot/dts/ti/omap/dm8168-evm.dts
index 81450e15b889..a6d42766a496 100644
--- a/arch/arm/boot/dts/ti/omap/dm8168-evm.dts
+++ b/arch/arm/boot/dts/ti/omap/dm8168-evm.dts
@@ -45,13 +45,13 @@ DM816X_IOPAD(0x0aac, MUX_MODE0)			/* SPI_D1 */
 
 	mmc_pins: mmc-pins {
 		pinctrl-single,pins = <
-			DM816X_IOPAD(0x0a70, MUX_MODE0)			/* SD_POW */
-			DM816X_IOPAD(0x0a74, MUX_MODE0)			/* SD_CLK */
-			DM816X_IOPAD(0x0a78, MUX_MODE0)			/* SD_CMD */
-			DM816X_IOPAD(0x0a7C, MUX_MODE0)			/* SD_DAT0 */
-			DM816X_IOPAD(0x0a80, MUX_MODE0)			/* SD_DAT1 */
-			DM816X_IOPAD(0x0a84, MUX_MODE0)			/* SD_DAT2 */
-			DM816X_IOPAD(0x0a88, MUX_MODE0)			/* SD_DAT2 */
+			DM816X_IOPAD(0x0a70, PULL_DIS | MUX_MODE0)	/* SD_POW */
+			DM816X_IOPAD(0x0a74, PULL_DIS | MUX_MODE0)	/* SD_CLK */
+			DM816X_IOPAD(0x0a78, PULL_DIS | MUX_MODE0)	/* SD_CMD */
+			DM816X_IOPAD(0x0a7C, PULL_DIS | MUX_MODE0)	/* SD_DAT0 */
+			DM816X_IOPAD(0x0a80, PULL_DIS | MUX_MODE0)	/* SD_DAT1 */
+			DM816X_IOPAD(0x0a84, PULL_DIS | MUX_MODE0)	/* SD_DAT2 */
+			DM816X_IOPAD(0x0a88, PULL_DIS | MUX_MODE0)	/* SD_DAT3 */
 			DM816X_IOPAD(0x0a8c, MUX_MODE2)			/* GP1[7] */
 			DM816X_IOPAD(0x0a90, MUX_MODE2)			/* GP1[8] */
 		>;

-- 
2.56.0



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

* [PATCH 10/10] ARM: dts: omap: dm8168-evm: enable MUSB multipoint support
  2026-10-16 14:41 [PATCH 00/10] ARM: dts: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (8 preceding siblings ...)
  2026-10-16 14:41 ` [PATCH 09/10] ARM: dts: omap: dm8168-evm: Correct SD card pinmux Ettore Chimenti
@ 2026-10-16 14:41 ` Ettore Chimenti
  9 siblings, 0 replies; 13+ messages in thread
From: Ettore Chimenti @ 2026-10-16 14:41 UTC (permalink / raw)
  To: Paul Walmsley, Aaro Koskinen, Andreas Kemnade, Kevin Hilman,
	Roger Quadros, Tony Lindgren, Russell King, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Christopher Obbard,
	Andrew Goodbody, Linus Walleij, Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio, Ettore Chimenti, Christopher Obbard

From: Christopher Obbard <christopher.obbard@linaro.org>

The DM8168 USB controllers are used in host mode and must advertise
multipoint support to the MUSB core. Without this the kernel disables
external hub support and warns:

    musb-hdrc: kernel must disable external hubs, please fix the
	configuration

On the affected board this also prevents devices from enumerating
reliably, with descriptor reads failing with -EPROTO:

    usb 1-1: device descriptor read/all, error -71

Set mentor,multipoint to the default value of 1 for both MUSB instances.
With this enabled, USB devices enumerate successfully on the host ports.

Signed-off-by: Christopher Obbard <christopher.obbard@linaro.org>
Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
 arch/arm/boot/dts/ti/omap/dm8168-evm.dts | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/arm/boot/dts/ti/omap/dm8168-evm.dts b/arch/arm/boot/dts/ti/omap/dm8168-evm.dts
index a6d42766a496..4b4e4d850231 100644
--- a/arch/arm/boot/dts/ti/omap/dm8168-evm.dts
+++ b/arch/arm/boot/dts/ti/omap/dm8168-evm.dts
@@ -198,17 +198,14 @@ &mmc1 {
 	wp-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>;
 };
 
-/* At least dm8168-evm rev c won't support multipoint, later may */
 &usb0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&usb0_pins>;
-	mentor,multipoint = <0>;
 };
 
 &usb1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&usb1_pins>;
-	mentor,multipoint = <0>;
 };
 
 &sata {

-- 
2.56.0



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

* Re: [PATCH 02/10] dt-bindings: pinctrl: Add devicetree bindings for DM816x SoC Pinctrl
  2026-10-16 14:41 ` [PATCH 02/10] dt-bindings: pinctrl: Add devicetree bindings for DM816x SoC Pinctrl Ettore Chimenti
@ 2026-10-16 14:51   ` Krzysztof Kozlowski
  2026-10-16 15:07     ` Ettore Chimenti
  0 siblings, 1 reply; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-16 14:51 UTC (permalink / raw)
  To: Ettore Chimenti, Paul Walmsley, Aaro Koskinen, Andreas Kemnade,
	Kevin Hilman, Roger Quadros, Tony Lindgren, Russell King,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Christopher Obbard, Andrew Goodbody, Linus Walleij,
	Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio

On 16/10/2026 16:41, Ettore Chimenti wrote:
> Add devicetree bindings for TI DM816x SoC pinctrl configuration.
> Using same definition as OMAP2/3 except pullup/down enable macros, which
> are inverted in this SoC.
> 
> Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
> ---
>  include/dt-bindings/pinctrl/dm816x.h | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/include/dt-bindings/pinctrl/dm816x.h b/include/dt-bindings/pinctrl/dm816x.h
> new file mode 100644
> index 000000000000..15aa15bca9bd
> --- /dev/null
> +++ b/include/dt-bindings/pinctrl/dm816x.h
> @@ -0,0 +1,20 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * This header provides constants specific to DM816X pinctrl bindings.
> + */
> +
> +#ifndef _DT_BINDINGS_PINCTRL_DM816X_H
> +#define _DT_BINDINGS_PINCTRL_DM816X_H
> +
> +#include <dt-bindings/pinctrl/omap.h>

I do not see this being used here, IWYU.

> +
> +#undef PULL_UP
> +#undef PULL_ENA

Why are you undefining other macros? That's not a easy to follow code.


> +
> +/* DM81xx mux bit defines */
> +#define PULL_ENA		(0 << 3)  /* Pullup enabled  => 0 */
> +#define PULL_DIS		(1 << 3)  /* Pullup disabled => 1 */
> +#define PULL_DN			(0 << 4)
> +#define PULL_UP			(1 << 4)

I do not see this used by drivers, so why do we need one more header?
What part of SW are you binding here?


Best regards,
Krzysztof


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

* Re: [PATCH 02/10] dt-bindings: pinctrl: Add devicetree bindings for DM816x SoC Pinctrl
  2026-10-16 14:51   ` Krzysztof Kozlowski
@ 2026-10-16 15:07     ` Ettore Chimenti
  0 siblings, 0 replies; 13+ messages in thread
From: Ettore Chimenti @ 2026-10-16 15:07 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Ettore Chimenti, Paul Walmsley,
	Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
	Tony Lindgren, Russell King, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Christopher Obbard, Andrew Goodbody, Linus Walleij,
	Rouven Czerwinski
  Cc: linux-omap, linux-arm-kernel, linux-kernel, devicetree,
	linux-gpio

Hi Krzyszrof,

On Fri Oct 16, 2026 at 4:51 PM CEST, Krzysztof Kozlowski wrote:
> On 16/10/2026 16:41, Ettore Chimenti wrote:
>> Add devicetree bindings for TI DM816x SoC pinctrl configuration.
>> Using same definition as OMAP2/3 except pullup/down enable macros, which
>> are inverted in this SoC.
>> 
>> Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
>> ---
>>  include/dt-bindings/pinctrl/dm816x.h | 20 ++++++++++++++++++++
>>  1 file changed, 20 insertions(+)
>> 
>> diff --git a/include/dt-bindings/pinctrl/dm816x.h b/include/dt-bindings/pinctrl/dm816x.h
>> new file mode 100644
>> index 000000000000..15aa15bca9bd
>> --- /dev/null
>> +++ b/include/dt-bindings/pinctrl/dm816x.h
>> @@ -0,0 +1,20 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +/*
>> + * This header provides constants specific to DM816X pinctrl bindings.
>> + */
>> +
>> +#ifndef _DT_BINDINGS_PINCTRL_DM816X_H
>> +#define _DT_BINDINGS_PINCTRL_DM816X_H
>> +
>> +#include <dt-bindings/pinctrl/omap.h>
>
> I do not see this being used here, IWYU.
>
>> +
>> +#undef PULL_UP
>> +#undef PULL_ENA
>
> Why are you undefining other macros? That's not a easy to follow code.

Do you prefer to duplicate `omap.h` defines? Only the defines above do not
apply to DM816x.

>
>
>> +
>> +/* DM81xx mux bit defines */
>> +#define PULL_ENA		(0 << 3)  /* Pullup enabled  => 0 */
>> +#define PULL_DIS		(1 << 3)  /* Pullup disabled => 1 */
>> +#define PULL_DN			(0 << 4)
>> +#define PULL_UP			(1 << 4)
>
> I do not see this used by drivers, so why do we need one more header?
> What part of SW are you binding here?
>

I added those (DN/UP) because they are not defined in `omap.h`. It may be
convenient for future board upstreaming. I can drop those if undesired.

>
> Best regards,
> Krzysztof

Best regards,
Ettore



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

end of thread, other threads:[~2026-10-16 15:07 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-16 14:41 [PATCH 00/10] ARM: dts: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
2026-10-16 14:41 ` [PATCH 01/10] ARM: ti81xx: Prevent USB being put into idle Ettore Chimenti
2026-10-16 14:41 ` [PATCH 02/10] dt-bindings: pinctrl: Add devicetree bindings for DM816x SoC Pinctrl Ettore Chimenti
2026-10-16 14:51   ` Krzysztof Kozlowski
2026-10-16 15:07     ` Ettore Chimenti
2026-10-16 14:41 ` [PATCH 03/10] ARM: dts: omap: dm816x: use dedicated SoC pinctrl Ettore Chimenti
2026-10-16 14:41 ` [PATCH 04/10] ARM: dts: omap: dm816x: Fix pinctrl range Ettore Chimenti
2026-10-16 14:41 ` [PATCH 05/10] ARM: dts: omap: dm816x: refactor and align MMC node Ettore Chimenti
2026-10-16 14:41 ` [PATCH 06/10] ARM: dts: omap: dm816x: Update USB node Ettore Chimenti
2026-10-16 14:41 ` [PATCH 07/10] ARM: omap: dm816x: Match up capability flags for USB Ettore Chimenti
2026-10-16 14:41 ` [PATCH 08/10] ARM: dts: omap: dm816x: Correct speed for sysclk5 Ettore Chimenti
2026-10-16 14:41 ` [PATCH 09/10] ARM: dts: omap: dm8168-evm: Correct SD card pinmux Ettore Chimenti
2026-10-16 14:41 ` [PATCH 10/10] ARM: dts: omap: dm8168-evm: enable MUSB multipoint support Ettore Chimenti

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