* [PATCH v2 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC
@ 2026-10-28 16:06 Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 1/9] ARM: dts: omap: dm816x: Add specific pinctrl config defines Ettore Chimenti
` (8 more replies)
0 siblings, 9 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-10-28 16:06 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Christopher Obbard, Andrew Goodbody, Paul Walmsley, Russell King,
Rouven Czerwinski
Cc: linux-omap, devicetree, linux-kernel, linux-arm-kernel,
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: Correct sysclk5 frequency definition in DT.
- Storage (MMC): Update MMC node settings.
- USB: Update MUSB node, enable multipoint mode, dropped usb-otg hwmod.
Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
Tested NAND on DM8168-EVM, seems the pinmuxing is working fine.
GPMC_WAIT is left with the pull-down enabled where a pull-up would be
preferable, and GPMC_WPn is not muxed (reset default). Neither causes a
functional problem.
Changes in v2:
- Removed useless "Prevent USB being put into idle" patch.
- Dropped "Match up capability flags for USB" patch.
- Refactored USB node patch to use ti-sysc instead of usb_otg_hs.
- Added "Remove hwmod code for USB" patch to complete the ti-sysc
porting.
- Using DT include instead of dt-bindings header, dropped patch.
- Link to v1: https://patch.msgid.link/20261016-patch-ektor5-dm8168-dts-v1-0-b4ce30217028@linaro.org
---
Andrew Goodbody (6):
ARM: dts: omap: dm816x: Fix pinctrl range
ARM: dts: omap: dm816x: refactor and align MMC node
ARM: dts: omap: dm816x: Correct speed for sysclk5
ARM: dts: omap: dm816x: Update USB node
ARM: dts: omap: dm816x: Remove hwmod code for USB
ARM: dts: omap: dm8168-evm: Correct SD card pinmux
Christopher Obbard (1):
ARM: dts: omap: dm8168-evm: enable MUSB multipoint support
Ettore Chimenti (2):
ARM: dts: omap: dm816x: Add specific pinctrl config defines
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-pinctrl.h | 20 +++++++
arch/arm/boot/dts/ti/omap/dm816x.dtsi | 81 +++++++++++++++++++---------
arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 21 --------
5 files changed, 83 insertions(+), 58 deletions(-)
---
base-commit: d135ab453a7400a34930bdda1ef4bdc8acfac80e
change-id: 20261015-patch-ektor5-dm8168-dts-24b35c8019f6
Best regards,
--
Ettore Chimenti <ettore.chimenti@linaro.org>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 1/9] ARM: dts: omap: dm816x: Add specific pinctrl config defines
2026-10-28 16:06 [PATCH v2 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
@ 2026-10-28 16:06 ` Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 2/9] ARM: dts: omap: dm816x: use dedicated SoC pinctrl Ettore Chimenti
` (7 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-10-28 16:06 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Christopher Obbard, Andrew Goodbody, Paul Walmsley, Russell King,
Rouven Czerwinski
Cc: linux-omap, devicetree, linux-kernel, linux-arm-kernel,
Ettore Chimenti
Add pinctrl config defines for TI DM816x SoC pinctrl configuration.
Using same definition as OMAP2/3 except pullup/down enable macros, which
are inverted for this SoC.
Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
arch/arm/boot/dts/ti/omap/dm816x-pinctrl.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/arch/arm/boot/dts/ti/omap/dm816x-pinctrl.h b/arch/arm/boot/dts/ti/omap/dm816x-pinctrl.h
new file mode 100644
index 000000000000..b93f971cbe95
--- /dev/null
+++ b/arch/arm/boot/dts/ti/omap/dm816x-pinctrl.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * This header provides constants specific to DM816X pinctrl defines.
+ */
+
+#ifndef _PINCTRL_DM816X_H
+#define _PINCTRL_DM816X_H
+
+#include <dt-bindings/pinctrl/omap.h>
+
+#undef PULL_UP
+#undef PULL_ENA
+
+/* DM816x mux bit defines */
+#define PULL_ENA (0 << 3)
+#define PULL_DIS (1 << 3)
+#define PULL_DN (0 << 4)
+#define PULL_UP (1 << 4)
+
+#endif
--
2.56.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 2/9] ARM: dts: omap: dm816x: use dedicated SoC pinctrl
2026-10-28 16:06 [PATCH v2 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 1/9] ARM: dts: omap: dm816x: Add specific pinctrl config defines Ettore Chimenti
@ 2026-10-28 16:06 ` Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 3/9] ARM: dts: omap: dm816x: Fix pinctrl range Ettore Chimenti
` (6 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-10-28 16:06 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Christopher Obbard, Andrew Goodbody, Paul Walmsley, Russell King,
Rouven Czerwinski
Cc: linux-omap, devicetree, linux-kernel, linux-arm-kernel,
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.
This changes the effective pull configuration of the dm8168-evm NAND
pins. Tested on DM8168-EVM with no functional impact.
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..261ebca8863d 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 "dm816x-pinctrl.h"
/ {
compatible = "ti,dm816";
--
2.56.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 3/9] ARM: dts: omap: dm816x: Fix pinctrl range
2026-10-28 16:06 [PATCH v2 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 1/9] ARM: dts: omap: dm816x: Add specific pinctrl config defines Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 2/9] ARM: dts: omap: dm816x: use dedicated SoC pinctrl Ettore Chimenti
@ 2026-10-28 16:06 ` Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 4/9] ARM: dts: omap: dm816x: refactor and align MMC node Ettore Chimenti
` (5 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-10-28 16:06 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Christopher Obbard, Andrew Goodbody, Paul Walmsley, Russell King,
Rouven Czerwinski
Cc: linux-omap, devicetree, linux-kernel, linux-arm-kernel,
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 261ebca8863d..fc124f9ecfa1 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] 11+ messages in thread
* [PATCH v2 4/9] ARM: dts: omap: dm816x: refactor and align MMC node
2026-10-28 16:06 [PATCH v2 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
` (2 preceding siblings ...)
2026-10-28 16:06 ` [PATCH v2 3/9] ARM: dts: omap: dm816x: Fix pinctrl range Ettore Chimenti
@ 2026-10-28 16:06 ` Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 5/9] ARM: dts: omap: dm816x: Correct speed for sysclk5 Ettore Chimenti
` (4 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-10-28 16:06 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Christopher Obbard, Andrew Goodbody, Paul Walmsley, Russell King,
Rouven Czerwinski
Cc: linux-omap, devicetree, linux-kernel, linux-arm-kernel,
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 fc124f9ecfa1..e3d49651b44e 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] 11+ messages in thread
* [PATCH v2 5/9] ARM: dts: omap: dm816x: Correct speed for sysclk5
2026-10-28 16:06 [PATCH v2 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
` (3 preceding siblings ...)
2026-10-28 16:06 ` [PATCH v2 4/9] ARM: dts: omap: dm816x: refactor and align MMC node Ettore Chimenti
@ 2026-10-28 16:06 ` Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 6/9] ARM: dts: omap: dm816x: Update USB node Ettore Chimenti
` (3 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-10-28 16:06 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Christopher Obbard, Andrew Goodbody, Paul Walmsley, Russell King,
Rouven Czerwinski
Cc: linux-omap, devicetree, linux-kernel, linux-arm-kernel,
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] 11+ messages in thread
* [PATCH v2 6/9] ARM: dts: omap: dm816x: Update USB node
2026-10-28 16:06 [PATCH v2 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
` (4 preceding siblings ...)
2026-10-28 16:06 ` [PATCH v2 5/9] ARM: dts: omap: dm816x: Correct speed for sysclk5 Ettore Chimenti
@ 2026-10-28 16:06 ` Ettore Chimenti
2026-10-28 16:19 ` sashiko-bot
2026-10-28 16:06 ` [PATCH v2 7/9] ARM: dts: omap: dm816x: Remove hwmod code for USB Ettore Chimenti
` (2 subsequent siblings)
8 siblings, 1 reply; 11+ messages in thread
From: Ettore Chimenti @ 2026-10-28 16:06 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Christopher Obbard, Andrew Goodbody, Paul Walmsley, Russell King,
Rouven Czerwinski
Cc: linux-omap, devicetree, linux-kernel, linux-arm-kernel,
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 | 45 +++++++++++++++++++++--------------
1 file changed, 27 insertions(+), 18 deletions(-)
diff --git a/arch/arm/boot/dts/ti/omap/dm816x.dtsi b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
index e3d49651b44e..b839ee29e9eb 100644
--- a/arch/arm/boot/dts/ti/omap/dm816x.dtsi
+++ b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
@@ -574,19 +574,28 @@ 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-names = "mc", "control";
+ reg = <0x1000 0x200>,
+ <0x1400 0x400>;
+ reg-names = "control", "mc";
interrupts = <18>;
interrupt-names = "mc";
dr_mode = "host";
@@ -622,11 +631,11 @@ &cppi41dma 11 1 &cppi41dma 12 1
"tx14", "tx15";
};
- usb1: usb@47401800 {
+ usb1: usb@1800 {
compatible = "ti,musb-dm816";
- reg = <0x47401c00 0x400
- 0x47401800 0x200>;
- reg-names = "mc", "control";
+ reg = <0x1800 0x200>,
+ <0x1c00 0x400>;
+ reg-names = "control", "mc";
interrupts = <19>;
interrupt-names = "mc";
dr_mode = "host";
@@ -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] 11+ messages in thread
* [PATCH v2 7/9] ARM: dts: omap: dm816x: Remove hwmod code for USB
2026-10-28 16:06 [PATCH v2 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
` (5 preceding siblings ...)
2026-10-28 16:06 ` [PATCH v2 6/9] ARM: dts: omap: dm816x: Update USB node Ettore Chimenti
@ 2026-10-28 16:06 ` Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 8/9] ARM: dts: omap: dm8168-evm: Correct SD card pinmux Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 9/9] ARM: dts: omap: dm8168-evm: enable MUSB multipoint support Ettore Chimenti
8 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-10-28 16:06 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Christopher Obbard, Andrew Goodbody, Paul Walmsley, Russell King,
Rouven Czerwinski
Cc: linux-omap, devicetree, linux-kernel, linux-arm-kernel,
Ettore Chimenti
From: Andrew Goodbody <andrew.goodbody@linaro.org>
Remove the hwmod property from the USB controller node and the matching
code from the hwmod data file as this is now deprecated.
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 | 1 -
arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 21 ---------------------
2 files changed, 22 deletions(-)
diff --git a/arch/arm/boot/dts/ti/omap/dm816x.dtsi b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
index b839ee29e9eb..55f4b91fa1fc 100644
--- a/arch/arm/boot/dts/ti/omap/dm816x.dtsi
+++ b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
@@ -576,7 +576,6 @@ uart3: serial@48024000 {
/* NOTE: USB needs a transceiver driver for phys to work */
usb: target-module@47400000 {
compatible = "ti,sysc-omap4", "ti,sysc";
- ti,hwmods = "usb_otg_hs";
reg = <0x47400000 0x4>,
<0x47400010 0x4>;
reg-names = "rev", "sysc";
diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
index 9b5c728fb7da..b9735b507d6b 100644
--- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
@@ -646,26 +646,6 @@ static struct omap_hwmod_ocp_if dm814x_default_l3_slow__usbss = {
.user = OCP_USER_MPU,
};
-static struct omap_hwmod dm816x_usbss_hwmod = {
- .name = "usb_otg_hs",
- .clkdm_name = "default_l3_slow_clkdm",
- .main_clk = "sysclk6_ck",
- .prcm = {
- .omap4 = {
- .clkctrl_offs = DM81XX_CM_DEFAULT_USB_CLKCTRL,
- .modulemode = MODULEMODE_SWCTRL,
- },
- },
- .class = &dm81xx_usbotg_class,
-};
-
-static struct omap_hwmod_ocp_if dm816x_default_l3_slow__usbss = {
- .master = &dm81xx_default_l3_slow_hwmod,
- .slave = &dm816x_usbss_hwmod,
- .clk = "sysclk6_ck",
- .user = OCP_USER_MPU,
-};
-
static struct omap_hwmod_class_sysconfig dm816x_timer_sysc = {
.rev_offs = 0x0000,
.sysc_offs = 0x0010,
@@ -1250,7 +1230,6 @@ static struct omap_hwmod_ocp_if *dm816x_hwmod_ocp_ifs[] __initdata = {
&dm816x_l4_hs__emac1,
&dm81xx_l4_hs__sata,
&dm81xx_alwon_l3_slow__gpmc,
- &dm816x_default_l3_slow__usbss,
NULL,
};
--
2.56.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 8/9] ARM: dts: omap: dm8168-evm: Correct SD card pinmux
2026-10-28 16:06 [PATCH v2 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
` (6 preceding siblings ...)
2026-10-28 16:06 ` [PATCH v2 7/9] ARM: dts: omap: dm816x: Remove hwmod code for USB Ettore Chimenti
@ 2026-10-28 16:06 ` Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 9/9] ARM: dts: omap: dm8168-evm: enable MUSB multipoint support Ettore Chimenti
8 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-10-28 16:06 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Christopher Obbard, Andrew Goodbody, Paul Walmsley, Russell King,
Rouven Czerwinski
Cc: linux-omap, devicetree, linux-kernel, linux-arm-kernel,
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] 11+ messages in thread
* [PATCH v2 9/9] ARM: dts: omap: dm8168-evm: enable MUSB multipoint support
2026-10-28 16:06 [PATCH v2 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
` (7 preceding siblings ...)
2026-10-28 16:06 ` [PATCH v2 8/9] ARM: dts: omap: dm8168-evm: Correct SD card pinmux Ettore Chimenti
@ 2026-10-28 16:06 ` Ettore Chimenti
8 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-10-28 16:06 UTC (permalink / raw)
To: Aaro Koskinen, Andreas Kemnade, Kevin Hilman, Roger Quadros,
Tony Lindgren, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Christopher Obbard, Andrew Goodbody, Paul Walmsley, Russell King,
Rouven Czerwinski
Cc: linux-omap, devicetree, linux-kernel, linux-arm-kernel,
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] 11+ messages in thread
* Re: [PATCH v2 6/9] ARM: dts: omap: dm816x: Update USB node
2026-10-28 16:06 ` [PATCH v2 6/9] ARM: dts: omap: dm816x: Update USB node Ettore Chimenti
@ 2026-10-28 16:19 ` sashiko-bot
0 siblings, 0 replies; 11+ messages in thread
From: sashiko-bot @ 2026-10-28 16:19 UTC (permalink / raw)
To: Ettore Chimenti; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] ARM: dts: omap: dm816x: usb0 and usb1 reg-names order violates DT binding
--
commit 35b005745f908eb885e6f38cec92f9ed09548b10
Author: Andrew Goodbody <andrew.goodbody@linaro.org>
ARM: dts: omap: dm816x: Update USB node
This commit updates the dm816x USB device tree node to use the ti,sysc
interconnect target module wrapper and relative child register offsets so
that USB works with DMA enabled.
> diff --git a/arch/arm/boot/dts/ti/omap/dm816x.dtsi b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
> index e3d49651b44ee..b839ee29e9eb5 100644
> --- a/arch/arm/boot/dts/ti/omap/dm816x.dtsi
> +++ b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
> @@ -574,19 +574,28 @@ 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-names = "mc", "control";
> + reg = <0x1000 0x200>,
> + <0x1400 0x400>;
> + reg-names = "control", "mc";
> interrupts = <18>;
> interrupt-names = "mc";
> dr_mode = "host";
> @@ -622,11 +631,11 @@ &cppi41dma 11 1 &cppi41dma 12 1
> "tx14", "tx15";
> };
>
> - usb1: usb@47401800 {
> + usb1: usb@1800 {
> compatible = "ti,musb-dm816";
> - reg = <0x47401c00 0x400
> - 0x47401800 0x200>;
> - reg-names = "mc", "control";
> + reg = <0x1800 0x200>,
> + <0x1c00 0x400>;
> + reg-names = "control", "mc";
[Severity: Low]
Should usb0 and usb1 keep their reg and reg-names entries ordered as "mc",
"control"?
In Documentation/devicetree/bindings/usb/ti,musb-am33xx.yaml, which covers
compatible = "ti,musb-dm816", reg-names is defined with a fixed order:
reg-names:
items:
- const: mc
- const: control
Swapping the order to "control", "mc" in usb0 (usb@1000) and usb1
(usb@1800) causes dtbs_check schema validation to fail on dm816x device
trees (such as dm8168-evm.dtb), and differs from am33xx.dtsi and
dm814x.dtsi.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261028-patch-ektor5-dm8168-dts-v2-0-4544429251e2@linaro.org?part=6
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-10-28 16:19 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-28 16:06 [PATCH v2 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 1/9] ARM: dts: omap: dm816x: Add specific pinctrl config defines Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 2/9] ARM: dts: omap: dm816x: use dedicated SoC pinctrl Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 3/9] ARM: dts: omap: dm816x: Fix pinctrl range Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 4/9] ARM: dts: omap: dm816x: refactor and align MMC node Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 5/9] ARM: dts: omap: dm816x: Correct speed for sysclk5 Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 6/9] ARM: dts: omap: dm816x: Update USB node Ettore Chimenti
2026-10-28 16:19 ` sashiko-bot
2026-10-28 16:06 ` [PATCH v2 7/9] ARM: dts: omap: dm816x: Remove hwmod code for USB Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 8/9] ARM: dts: omap: dm8168-evm: Correct SD card pinmux Ettore Chimenti
2026-10-28 16:06 ` [PATCH v2 9/9] 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