mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC
@ 2026-11-02 19:52 Ettore Chimenti
  2026-11-02 19:52 ` [PATCH v3 1/9] ARM: dts: omap: dm816x: Add specific pinctrl config defines Ettore Chimenti
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-11-02 19:52 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.
- Storage (MMC): Update MMC node settings, dropped mmc1 hwmod.
- USB: Update MUSB node, enable multipoint mode, dropped usb-otg hwmod.

Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
---
Without upcoming Andreas's patch (not yet on the list) that silences the
WARN() for the missing hwmod from DT, commits in between the hwmod DT
and the code removal will get a harmless WARN() during boot.

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 v3:
- Collected R-b tag from Andreas.
- Split "Update USB node" to have separated hwmod and DT edits.
- Removed mmc1 hwmod, splitted in the same way as USB.
- Reorder USB reg/reg-names to match the binding, rename nodes to the mc base address.
- Dropped patch "dm816x: Correct speed for sysclk5", it requires more
  investigation.
- Link to v2: https://patch.msgid.link/20261028-patch-ektor5-dm8168-dts-v2-0-4544429251e2@linaro.org

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 (5):
      ARM: dts: omap: dm816x: Fix pinctrl range
      ARM: dts: omap: dm816x: refactor and align MMC node
      ARM: dts: omap: dm816x: Update USB node
      ARM: OMAP2+: ti816x: 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 (3):
      ARM: dts: omap: dm816x: Add specific pinctrl config defines
      ARM: dts: omap: dm816x: use dedicated SoC pinctrl
      ARM: OMAP2+: ti816x: Remove mmc1 hwmod

 arch/arm/boot/dts/ti/omap/dm8168-evm.dts   | 17 +++----
 arch/arm/boot/dts/ti/omap/dm816x-pinctrl.h | 20 ++++++++
 arch/arm/boot/dts/ti/omap/dm816x.dtsi      | 78 ++++++++++++++++++++----------
 arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 46 ------------------
 4 files changed, 80 insertions(+), 81 deletions(-)
---
base-commit: d89e1d186ec9271bf78e62771779e9fc03bf0fc3
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 v3 1/9] ARM: dts: omap: dm816x: Add specific pinctrl config defines
  2026-11-02 19:52 [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
@ 2026-11-02 19:52 ` Ettore Chimenti
  2026-11-02 19:52 ` [PATCH v3 2/9] ARM: dts: omap: dm816x: use dedicated SoC pinctrl Ettore Chimenti
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-11-02 19:52 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.

Reviewed-by: Andreas Kemnade <andreas@kemnade.info>
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	[flat|nested] 11+ messages in thread

* [PATCH v3 2/9] ARM: dts: omap: dm816x: use dedicated SoC pinctrl
  2026-11-02 19:52 [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
  2026-11-02 19:52 ` [PATCH v3 1/9] ARM: dts: omap: dm816x: Add specific pinctrl config defines Ettore Chimenti
@ 2026-11-02 19:52 ` Ettore Chimenti
  2026-11-02 19:52 ` [PATCH v3 3/9] ARM: dts: omap: dm816x: Fix pinctrl range Ettore Chimenti
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-11-02 19:52 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>
Reviewed-by: Andreas Kemnade <andreas@kemnade.info>
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	[flat|nested] 11+ messages in thread

* [PATCH v3 3/9] ARM: dts: omap: dm816x: Fix pinctrl range
  2026-11-02 19:52 [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
  2026-11-02 19:52 ` [PATCH v3 1/9] ARM: dts: omap: dm816x: Add specific pinctrl config defines Ettore Chimenti
  2026-11-02 19:52 ` [PATCH v3 2/9] ARM: dts: omap: dm816x: use dedicated SoC pinctrl Ettore Chimenti
@ 2026-11-02 19:52 ` Ettore Chimenti
  2026-11-02 19:52 ` [PATCH v3 4/9] ARM: dts: omap: dm816x: refactor and align MMC node Ettore Chimenti
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-11-02 19:52 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>
Reviewed-by: Andreas Kemnade <andreas@kemnade.info>
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	[flat|nested] 11+ messages in thread

* [PATCH v3 4/9] ARM: dts: omap: dm816x: refactor and align MMC node
  2026-11-02 19:52 [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (2 preceding siblings ...)
  2026-11-02 19:52 ` [PATCH v3 3/9] ARM: dts: omap: dm816x: Fix pinctrl range Ettore Chimenti
@ 2026-11-02 19:52 ` Ettore Chimenti
  2026-11-02 19:52 ` [PATCH v3 5/9] ARM: OMAP2+: ti816x: Remove mmc1 hwmod Ettore Chimenti
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-11-02 19:52 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. Also removing deprecated MMC `ti,hwmods` property in favour of
ti-sysc implementation.

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 | 34 +++++++++++++++++++++++++++-------
 1 file changed, 27 insertions(+), 7 deletions(-)

diff --git a/arch/arm/boot/dts/ti/omap/dm816x.dtsi b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
index fc124f9ecfa1..1e8d225dfb2c 100644
--- a/arch/arm/boot/dts/ti/omap/dm816x.dtsi
+++ b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
@@ -423,13 +423,33 @@ &edma 20 0 &edma 21 0
 				    "tx2", "rx2", "tx3", "rx3";
 		};
 
-		mmc1: mmc@48060000 {
-			compatible = "ti,omap4-hsmmc";
-			reg = <0x48060000 0x11000>;
-			ti,hwmods = "mmc1";
-			interrupts = <64>;
-			dmas = <&edma 24 0 &edma 25 0>;
-			dma-names = "tx", "rx";
+		mmc1_target: target-module@48060000 {
+			compatible = "ti,sysc-omap2", "ti,sysc";
+			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	[flat|nested] 11+ messages in thread

* [PATCH v3 5/9] ARM: OMAP2+: ti816x: Remove mmc1 hwmod
  2026-11-02 19:52 [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (3 preceding siblings ...)
  2026-11-02 19:52 ` [PATCH v3 4/9] ARM: dts: omap: dm816x: refactor and align MMC node Ettore Chimenti
@ 2026-11-02 19:52 ` Ettore Chimenti
  2026-11-02 19:52 ` [PATCH v3 6/9] ARM: dts: omap: dm816x: Update USB node Ettore Chimenti
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-11-02 19:52 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

Removing TI Sitara DM816x deprecated hwmod for mmc1 in favour of
ti-sysc implementation. Tested on DM8168-EVM.

Tested-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 | 25 -------------------------
 1 file changed, 25 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
index 9b5c728fb7da..bdd04fed8034 100644
--- a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
@@ -989,30 +989,6 @@ static struct omap_hwmod_ocp_if dm814x_alwon_l3_med__mmc3 = {
 	.user		= OCP_USER_MPU,
 };
 
-static struct omap_hwmod dm816x_mmc1_hwmod = {
-	.name		= "mmc1",
-	.clkdm_name	= "alwon_l3s_clkdm",
-	.opt_clks	= dm81xx_mmc_opt_clks,
-	.opt_clks_cnt	= ARRAY_SIZE(dm81xx_mmc_opt_clks),
-	.main_clk	= "sysclk10_ck",
-	.prcm		= {
-		.omap4 = {
-			.clkctrl_offs = DM816X_CM_ALWON_SDIO_CLKCTRL,
-			.modulemode = MODULEMODE_SWCTRL,
-		},
-	},
-	.dev_attr	= &mmc_dev_attr,
-	.class		= &dm81xx_mmc_class,
-};
-
-static struct omap_hwmod_ocp_if dm816x_l4_ls__mmc1 = {
-	.master		= &dm81xx_l4_ls_hwmod,
-	.slave		= &dm816x_mmc1_hwmod,
-	.clk		= "sysclk6_ck",
-	.user		= OCP_USER_MPU,
-	.flags		= OMAP_FIREWALL_L4
-};
-
 static struct omap_hwmod_class_sysconfig dm816x_mcspi_sysc = {
 	.rev_offs	= 0x0,
 	.sysc_offs	= 0x110,
@@ -1236,7 +1212,6 @@ static struct omap_hwmod_ocp_if *dm816x_hwmod_ocp_ifs[] __initdata = {
 	&dm81xx_l4_ls__gpio2,
 	&dm81xx_l4_ls__elm,
 	&ti81xx_l4_ls__rtc,
-	&dm816x_l4_ls__mmc1,
 	&dm816x_l4_ls__timer3,
 	&dm816x_l4_ls__timer4,
 	&dm816x_l4_ls__timer5,

-- 
2.56.0


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

* [PATCH v3 6/9] ARM: dts: omap: dm816x: Update USB node
  2026-11-02 19:52 [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (4 preceding siblings ...)
  2026-11-02 19:52 ` [PATCH v3 5/9] ARM: OMAP2+: ti816x: Remove mmc1 hwmod Ettore Chimenti
@ 2026-11-02 19:52 ` Ettore Chimenti
  2026-11-02 19:52 ` [PATCH v3 7/9] ARM: OMAP2+: ti816x: Remove hwmod code for USB Ettore Chimenti
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-11-02 19:52 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.
Removing deprecated usb_otg_hs `ti,hwmods` property in DT node in favour
of ti-sysc implementation.

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 | 40 +++++++++++++++++++++--------------
 1 file changed, 24 insertions(+), 16 deletions(-)

diff --git a/arch/arm/boot/dts/ti/omap/dm816x.dtsi b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
index 1e8d225dfb2c..314e5e580c8b 100644
--- a/arch/arm/boot/dts/ti/omap/dm816x.dtsi
+++ b/arch/arm/boot/dts/ti/omap/dm816x.dtsi
@@ -573,18 +573,26 @@ 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";
+			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@1400 {
 				compatible = "ti,musb-dm816";
-				reg = <0x47401400 0x400
-				       0x47401000 0x200>;
+				reg = <0x1400 0x400>,
+				      <0x1000 0x200>;
 				reg-names = "mc", "control";
 				interrupts = <18>;
 				interrupt-names = "mc";
@@ -621,10 +629,10 @@ &cppi41dma 11 1 &cppi41dma 12 1
 					"tx14", "tx15";
 			};
 
-			usb1: usb@47401800 {
+			usb1: usb@1c00 {
 				compatible = "ti,musb-dm816";
-				reg = <0x47401c00 0x400
-				       0x47401800 0x200>;
+				reg = <0x1c00 0x400>,
+				      <0x1800 0x200>;
 				reg-names = "mc", "control";
 				interrupts = <19>;
 				interrupt-names = "mc";
@@ -661,12 +669,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	[flat|nested] 11+ messages in thread

* [PATCH v3 7/9] ARM: OMAP2+: ti816x: Remove hwmod code for USB
  2026-11-02 19:52 [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (5 preceding siblings ...)
  2026-11-02 19:52 ` [PATCH v3 6/9] ARM: dts: omap: dm816x: Update USB node Ettore Chimenti
@ 2026-11-02 19:52 ` Ettore Chimenti
  2026-11-02 19:52 ` [PATCH v3 8/9] ARM: dts: omap: dm8168-evm: Correct SD card pinmux Ettore Chimenti
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-11-02 19:52 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 TI Sitara DM816x deprecated hwmod code from the hwmod data
file in favour of the ti-sysc implementation. Tested on DM8168-EVM.

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 | 21 ---------------------
 1 file changed, 21 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_81xx_data.c b/arch/arm/mach-omap2/omap_hwmod_81xx_data.c
index bdd04fed8034..8ca492ada179 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,
@@ -1225,7 +1205,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	[flat|nested] 11+ messages in thread

* [PATCH v3 8/9] ARM: dts: omap: dm8168-evm: Correct SD card pinmux
  2026-11-02 19:52 [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (6 preceding siblings ...)
  2026-11-02 19:52 ` [PATCH v3 7/9] ARM: OMAP2+: ti816x: Remove hwmod code for USB Ettore Chimenti
@ 2026-11-02 19:52 ` Ettore Chimenti
  2026-11-02 19:52 ` [PATCH v3 9/9] ARM: dts: omap: dm8168-evm: enable MUSB multipoint support Ettore Chimenti
  2026-11-10  6:15 ` [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Andreas Kemnade
  9 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-11-02 19:52 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 ]
Reviewed-by: Andreas Kemnade <andreas@kemnade.info>
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	[flat|nested] 11+ messages in thread

* [PATCH v3 9/9] ARM: dts: omap: dm8168-evm: enable MUSB multipoint support
  2026-11-02 19:52 [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (7 preceding siblings ...)
  2026-11-02 19:52 ` [PATCH v3 8/9] ARM: dts: omap: dm8168-evm: Correct SD card pinmux Ettore Chimenti
@ 2026-11-02 19:52 ` Ettore Chimenti
  2026-11-10  6:15 ` [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Andreas Kemnade
  9 siblings, 0 replies; 11+ messages in thread
From: Ettore Chimenti @ 2026-11-02 19:52 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>
Reviewed-by: Andreas Kemnade <andreas@kemnade.info>
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	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC
  2026-11-02 19:52 [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
                   ` (8 preceding siblings ...)
  2026-11-02 19:52 ` [PATCH v3 9/9] ARM: dts: omap: dm8168-evm: enable MUSB multipoint support Ettore Chimenti
@ 2026-11-10  6:15 ` Andreas Kemnade
  9 siblings, 0 replies; 11+ messages in thread
From: Andreas Kemnade @ 2026-11-10  6:15 UTC (permalink / raw)
  To: Ettore Chimenti
  Cc: Aaro Koskinen, Kevin Hilman, Roger Quadros, Tony Lindgren,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Christopher Obbard, Andrew Goodbody, Paul Walmsley, Russell King,
	Rouven Czerwinski, linux-omap, devicetree, linux-kernel,
	linux-arm-kernel

On Mon, 02 Nov 2026 20:52:46 +0100
Ettore Chimenti <ettore.chimenti@linaro.org> wrote:

> 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.
> - Storage (MMC): Update MMC node settings, dropped mmc1 hwmod.
> - USB: Update MUSB node, enable multipoint mode, dropped usb-otg hwmod.
> 
> Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
> ---
> Without upcoming Andreas's patch (not yet on the list) that silences the
> WARN() for the missing hwmod from DT, commits in between the hwmod DT
> and the code removal will get a harmless WARN() during boot.
> 
The patch is applied now.

Regards,
Andreas

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

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

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-02 19:52 [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Ettore Chimenti
2026-11-02 19:52 ` [PATCH v3 1/9] ARM: dts: omap: dm816x: Add specific pinctrl config defines Ettore Chimenti
2026-11-02 19:52 ` [PATCH v3 2/9] ARM: dts: omap: dm816x: use dedicated SoC pinctrl Ettore Chimenti
2026-11-02 19:52 ` [PATCH v3 3/9] ARM: dts: omap: dm816x: Fix pinctrl range Ettore Chimenti
2026-11-02 19:52 ` [PATCH v3 4/9] ARM: dts: omap: dm816x: refactor and align MMC node Ettore Chimenti
2026-11-02 19:52 ` [PATCH v3 5/9] ARM: OMAP2+: ti816x: Remove mmc1 hwmod Ettore Chimenti
2026-11-02 19:52 ` [PATCH v3 6/9] ARM: dts: omap: dm816x: Update USB node Ettore Chimenti
2026-11-02 19:52 ` [PATCH v3 7/9] ARM: OMAP2+: ti816x: Remove hwmod code for USB Ettore Chimenti
2026-11-02 19:52 ` [PATCH v3 8/9] ARM: dts: omap: dm8168-evm: Correct SD card pinmux Ettore Chimenti
2026-11-02 19:52 ` [PATCH v3 9/9] ARM: dts: omap: dm8168-evm: enable MUSB multipoint support Ettore Chimenti
2026-11-10  6:15 ` [PATCH v3 0/9] ARM: dts: omap: dm816x: fixes and peripheral updates for DM8168 SoC Andreas Kemnade

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

all inboxes | Powered by JetHome®