* [PATCH v5 1/4] dt-bindings: usb: generic-ohci: Document ST STM32MP2 SoC compatibles
2026-08-31 23:17 [PATCH v5 0/4] arm64: dts: st: Add STM32MP2 USB support Marek Vasut
@ 2026-08-31 23:17 ` Marek Vasut
2026-09-01 10:11 ` Krzysztof Kozlowski
2026-08-31 23:17 ` [PATCH v5 2/4] dt-bindings: usb: generic-ehci: " Marek Vasut
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Marek Vasut @ 2026-08-31 23:17 UTC (permalink / raw)
To: linux-usb
Cc: fabrice.gasnier, Marek Vasut, Alexandre Torgue, Conor Dooley,
Greg Kroah-Hartman, Krzysztof Kozlowski, Maxime Coquelin,
Rob Herring, devicetree, linux-arm-kernel, linux-kernel,
linux-stm32
Document SoC compatibles for ST STM32MP23xx and STM32MP25xx series of
SoC, so they can be used as more accurate compatible in SoC DTSI. The
SoC uses access controllers, therefore document access-controllers DT
property. For details, see access-controllers/access-controllers.yaml.
Signed-off-by: Marek Vasut <marex@nabladev.com>
---
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-usb@vger.kernel.org
---
V4: New patch
V5: - Fix typo, clocs -> clocks
- List clocks entries as list of description:
---
.../devicetree/bindings/usb/generic-ohci.yaml | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/generic-ohci.yaml b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
index 474a84aa32d0f..7a8c3c2318153 100644
--- a/Documentation/devicetree/bindings/usb/generic-ohci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
@@ -51,6 +51,8 @@ properties:
- snps,hsdk-v1.0-ohci
- st,stm32mp13-ohci
- st,stm32mp15-ohci
+ - st,stm32mp23-ohci
+ - st,stm32mp25-ohci
- const: generic-ohci
- enum:
- generic-ohci
@@ -67,6 +69,9 @@ properties:
reg:
maxItems: 1
+ access-controllers:
+ maxItems: 1
+
dma-coherent: true
interrupts:
@@ -215,6 +220,23 @@ allOf:
clocks:
minItems: 1
maxItems: 3
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - st,stm32mp23-ohci
+ - st,stm32mp25-ohci
+ then:
+ properties:
+ clocks:
+ items:
+ - description: PHY clock
+ - description: Bus clock
+
+ required:
+ - access-controllers
+ - clocks
unevaluatedProperties: false
--
2.53.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v5 1/4] dt-bindings: usb: generic-ohci: Document ST STM32MP2 SoC compatibles
2026-08-31 23:17 ` [PATCH v5 1/4] dt-bindings: usb: generic-ohci: Document ST STM32MP2 SoC compatibles Marek Vasut
@ 2026-09-01 10:11 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-01 10:11 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-usb, fabrice.gasnier, Alexandre Torgue, Conor Dooley,
Greg Kroah-Hartman, Krzysztof Kozlowski, Maxime Coquelin,
Rob Herring, devicetree, linux-arm-kernel, linux-kernel,
linux-stm32
On Tue, Sep 01, 2026 at 01:17:32AM +0200, Marek Vasut wrote:
> Document SoC compatibles for ST STM32MP23xx and STM32MP25xx series of
> SoC, so they can be used as more accurate compatible in SoC DTSI. The
> SoC uses access controllers, therefore document access-controllers DT
> property. For details, see access-controllers/access-controllers.yaml.
>
> Signed-off-by: Marek Vasut <marex@nabladev.com>
> ---
> Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
> Cc: Conor Dooley <conor+dt@kernel.org>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-stm32@st-md-mailman.stormreply.com
> Cc: linux-usb@vger.kernel.org
> ---
> V4: New patch
> V5: - Fix typo, clocs -> clocks
> - List clocks entries as list of description:
> ---
> .../devicetree/bindings/usb/generic-ohci.yaml | 22 +++++++++++++++++++
> 1 file changed, 22 insertions(+)
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 2/4] dt-bindings: usb: generic-ehci: Document ST STM32MP2 SoC compatibles
2026-08-31 23:17 [PATCH v5 0/4] arm64: dts: st: Add STM32MP2 USB support Marek Vasut
2026-08-31 23:17 ` [PATCH v5 1/4] dt-bindings: usb: generic-ohci: Document ST STM32MP2 SoC compatibles Marek Vasut
@ 2026-08-31 23:17 ` Marek Vasut
2026-09-01 17:54 ` Conor Dooley
2026-08-31 23:17 ` [PATCH v5 3/4] arm64: dts: st: Add USB nodes on stm32mp231 Marek Vasut
2026-08-31 23:17 ` [PATCH v5 4/4] arm64: dts: st: Add USB nodes on stm32mp251 Marek Vasut
3 siblings, 1 reply; 8+ messages in thread
From: Marek Vasut @ 2026-08-31 23:17 UTC (permalink / raw)
To: linux-usb
Cc: fabrice.gasnier, Marek Vasut, Alexandre Torgue, Conor Dooley,
Greg Kroah-Hartman, Krzysztof Kozlowski, Maxime Coquelin,
Rob Herring, devicetree, linux-arm-kernel, linux-kernel,
linux-stm32
Document SoC compatibles for ST STM32MP23xx and STM32MP25xx series of
SoC, so they can be used as more accurate compatible in SoC DTSI. The
SoC uses access controllers, therefore document access-controllers DT
property. For details, see access-controllers/access-controllers.yaml.
Signed-off-by: Marek Vasut <marex@nabladev.com>
---
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-usb@vger.kernel.org
---
V4: New patch
V5: - Fix typo, clocs -> clocks
- List clocks entries as list of description:
---
.../devicetree/bindings/usb/generic-ehci.yaml | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
index 5d9dfea8e2160..908b02d9175e0 100644
--- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
@@ -57,6 +57,8 @@ properties:
- socionext,uniphier-ehci
- st,stm32mp13-ehci
- st,stm32mp15-ehci
+ - st,stm32mp23-ehci
+ - st,stm32mp25-ehci
- const: generic-ehci
- items:
- enum:
@@ -82,6 +84,9 @@ properties:
minItems: 1
maxItems: 2
+ access-controllers:
+ maxItems: 1
+
dma-coherent: true
interrupts:
@@ -195,6 +200,23 @@ allOf:
else:
properties:
clock-names: false
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - st,stm32mp23-ehci
+ - st,stm32mp25-ehci
+ then:
+ properties:
+ clocks:
+ items:
+ - description: PHY clock
+ - description: Bus clock
+
+ required:
+ - access-controllers
+ - clocks
unevaluatedProperties: false
--
2.53.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v5 2/4] dt-bindings: usb: generic-ehci: Document ST STM32MP2 SoC compatibles
2026-08-31 23:17 ` [PATCH v5 2/4] dt-bindings: usb: generic-ehci: " Marek Vasut
@ 2026-09-01 17:54 ` Conor Dooley
2026-09-02 14:07 ` Marek Vasut
0 siblings, 1 reply; 8+ messages in thread
From: Conor Dooley @ 2026-09-01 17:54 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-usb, fabrice.gasnier, Alexandre Torgue, Conor Dooley,
Greg Kroah-Hartman, Krzysztof Kozlowski, Maxime Coquelin,
Rob Herring, devicetree, linux-arm-kernel, linux-kernel,
linux-stm32
[-- Attachment #1: Type: text/plain, Size: 2755 bytes --]
On Tue, Sep 01, 2026 at 01:17:33AM +0200, Marek Vasut wrote:
> Document SoC compatibles for ST STM32MP23xx and STM32MP25xx series of
> SoC, so they can be used as more accurate compatible in SoC DTSI. The
> SoC uses access controllers, therefore document access-controllers DT
> property. For details, see access-controllers/access-controllers.yaml.
>
> Signed-off-by: Marek Vasut <marex@nabladev.com>
> ---
> Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
> Cc: Conor Dooley <conor+dt@kernel.org>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-stm32@st-md-mailman.stormreply.com
> Cc: linux-usb@vger.kernel.org
> ---
> V4: New patch
> V5: - Fix typo, clocs -> clocks
> - List clocks entries as list of description:
> ---
> .../devicetree/bindings/usb/generic-ehci.yaml | 22 +++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
> index 5d9dfea8e2160..908b02d9175e0 100644
> --- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml
> +++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
> @@ -57,6 +57,8 @@ properties:
> - socionext,uniphier-ehci
> - st,stm32mp13-ehci
> - st,stm32mp15-ehci
> + - st,stm32mp23-ehci
> + - st,stm32mp25-ehci
> - const: generic-ehci
> - items:
> - enum:
> @@ -82,6 +84,9 @@ properties:
> minItems: 1
> maxItems: 2
>
> + access-controllers:
> + maxItems: 1
> +
> dma-coherent: true
>
> interrupts:
> @@ -195,6 +200,23 @@ allOf:
> else:
> properties:
> clock-names: false
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - st,stm32mp23-ehci
> + - st,stm32mp25-ehci
> + then:
> + properties:
> + clocks:
> + items:
> + - description: PHY clock
> + - description: Bus clock
> +
> + required:
> + - access-controllers
> + - clocks
Since the property is new, I think you should add
else: properties: access-controllers: false
even though it may mean a bit more of a restructure if another platform
wants access controllers.
pw-bot: changes-requested
Cheers,
Conor.
>
> unevaluatedProperties: false
>
> --
> 2.53.0
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 2/4] dt-bindings: usb: generic-ehci: Document ST STM32MP2 SoC compatibles
2026-09-01 17:54 ` Conor Dooley
@ 2026-09-02 14:07 ` Marek Vasut
0 siblings, 0 replies; 8+ messages in thread
From: Marek Vasut @ 2026-09-02 14:07 UTC (permalink / raw)
To: Conor Dooley
Cc: linux-usb, fabrice.gasnier, Alexandre Torgue, Conor Dooley,
Greg Kroah-Hartman, Krzysztof Kozlowski, Maxime Coquelin,
Rob Herring, devicetree, linux-arm-kernel, linux-kernel,
linux-stm32
On 9/1/26 7:54 PM, Conor Dooley wrote:
Hello Conor,
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + enum:
>> + - st,stm32mp23-ehci
>> + - st,stm32mp25-ehci
>> + then:
>> + properties:
>> + clocks:
>> + items:
>> + - description: PHY clock
>> + - description: Bus clock
>> +
>> + required:
>> + - access-controllers
>> + - clocks
>
> Since the property is new, I think you should add
>
> else: properties: access-controllers: false
>
> even though it may mean a bit more of a restructure if another platform
> wants access controllers.
I think Greg already picked the V5 in some form, I'll see what lands and
either send a V6 or a follow up patch, whichever you prefer.
Thanks !
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 3/4] arm64: dts: st: Add USB nodes on stm32mp231
2026-08-31 23:17 [PATCH v5 0/4] arm64: dts: st: Add STM32MP2 USB support Marek Vasut
2026-08-31 23:17 ` [PATCH v5 1/4] dt-bindings: usb: generic-ohci: Document ST STM32MP2 SoC compatibles Marek Vasut
2026-08-31 23:17 ` [PATCH v5 2/4] dt-bindings: usb: generic-ehci: " Marek Vasut
@ 2026-08-31 23:17 ` Marek Vasut
2026-08-31 23:17 ` [PATCH v5 4/4] arm64: dts: st: Add USB nodes on stm32mp251 Marek Vasut
3 siblings, 0 replies; 8+ messages in thread
From: Marek Vasut @ 2026-08-31 23:17 UTC (permalink / raw)
To: linux-usb
Cc: fabrice.gasnier, Marek Vasut, Alexandre Torgue, Francois Choleau,
Christian Bruel, Conor Dooley, Greg Kroah-Hartman,
Krzysztof Kozlowski, Maxime Coquelin, Neil Armstrong, Pankaj Dev,
Rahul Kumar, Rob Herring, Rosen Penev, Thinh Nguyen, Vinod Koul,
devicetree, kernel, linux-arm-kernel, linux-kernel, linux-phy,
linux-stm32
Add USB controller and PHY nodes to stm32mp231 DT. This includes two
USB 2.0 FEMTO PHYs, USB 2.0 host controller and DWC3 DRD controller
nodes.
Co-developed-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
Co-developed-by: Francois Choleau <francois.choleau@st.com>
Signed-off-by: Francois Choleau <francois.choleau@st.com>
Signed-off-by: Marek Vasut <marex@nabladev.com>
---
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Christian Bruel <christian.bruel@foss.st.com>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Pankaj Dev <pankaj.dev@st.com>
Cc: Rahul Kumar <rahul.kumar05@st.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Rosen Penev <rosenp@gmail.com>
Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: kernel@dh-electronics.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-phy@lists.infradead.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-usb@vger.kernel.org
---
V2: - Fix up Sob/Cdb lines
- Move PHY into syscfg subnode
- Turn st,stm32mp23-syscfg into simple-mfd
- Use clock-cells = <1> to discern OSC and future PLL clock from the PHY
V3: - Drop combophy which is not present on MP23
- Describe OHCI clock as the CMN clock
V4: - Cover USB2PHY2 SYSCFG_USB2PHY2TRIM2CR in reg property
- Undo simple-mfd conversion of syscfg node
- Split this from series arm64: dts: phy: st: usb: Add STM32MP2 USB support
https://lore.kernel.org/all/20260822074816.548662-1-marex@nabladev.com/
V5: No change
---
arch/arm64/boot/dts/st/stm32mp231.dtsi | 64 ++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/arch/arm64/boot/dts/st/stm32mp231.dtsi b/arch/arm64/boot/dts/st/stm32mp231.dtsi
index 4505fc0e3b537..127d25f0b9c9c 100644
--- a/arch/arm64/boot/dts/st/stm32mp231.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp231.dtsi
@@ -862,6 +862,48 @@ stmmac_axi_config_1: stmmac-axi-config {
snps,wr_osr_lmt = <0x7>;
};
};
+
+ usbh_ohci: usb@482e0000 {
+ compatible = "st,stm32mp23-ohci", "generic-ohci";
+ reg = <0x482e0000 0x1000>;
+ access-controllers = <&rifsc 63>;
+ clocks = <&usb2_phy1 1>, <&rcc CK_BUS_USB2OHCI>;
+ interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&usb2_phy1>;
+ phy-names = "usb";
+ resets = <&rcc USBH_R>;
+ status = "disabled";
+ };
+
+ usbh_ehci: usb@482f0000 {
+ compatible = "st,stm32mp23-ehci", "generic-ehci";
+ reg = <0x482f0000 0x1000>;
+ access-controllers = <&rifsc 63>;
+ clocks = <&usb2_phy1 0>, <&rcc CK_BUS_USB2EHCI>;
+ companion = <&usbh_ohci>;
+ interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&usb2_phy1>;
+ phy-names = "usb";
+ resets = <&rcc USBH_R>;
+ status = "disabled";
+ };
+
+ usb3dr: usb@48300000 {
+ compatible = "st,stm32mp25-dwc3";
+ reg = <0x48300000 0x100000>;
+ access-controllers = <&rifsc 66>;
+ clocks = <&rcc CK_KER_USB2PHY2>,
+ <&rcc CK_BUS_USB3DR>,
+ <&rcc CK_KER_USB2PHY2>;
+ clock-names = "ref", "bus_early", "suspend";
+ interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>;
+ maximum-speed = "high-speed";
+ phys = <&usb2_phy2>;
+ phy-names = "usb2-phy";
+ resets = <&rcc USB3DR_R>;
+ st,syscfg = <&syscfg 0x4800>;
+ status = "disabled";
+ };
};
bsec: efuse@44000000 {
@@ -1065,6 +1107,28 @@ syscfg: syscon@44230000 {
compatible = "st,stm32mp23-syscfg", "syscon";
reg = <0x44230000 0x10000>;
#clock-cells = <0>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ usb2_phy1: phy@2400 {
+ compatible = "st,stm32mp25-usb2phy1";
+ reg = <0x2400 0x24>;
+ #phy-cells = <0>;
+ #clock-cells = <1>;
+ clocks = <&rcc CK_KER_USB2PHY1>;
+ resets = <&rcc USB2PHY1_R>;
+ status = "disabled";
+ };
+
+ usb2_phy2: phy@2800 {
+ compatible = "st,stm32mp25-usb2phy2";
+ reg = <0x2800 0x10>;
+ #phy-cells = <0>;
+ #clock-cells = <1>;
+ clocks = <&rcc CK_KER_USB2PHY2EN>;
+ resets = <&rcc USB2PHY2_R>;
+ status = "disabled";
+ };
};
pinctrl: pinctrl@44240000 {
--
2.53.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v5 4/4] arm64: dts: st: Add USB nodes on stm32mp251
2026-08-31 23:17 [PATCH v5 0/4] arm64: dts: st: Add STM32MP2 USB support Marek Vasut
` (2 preceding siblings ...)
2026-08-31 23:17 ` [PATCH v5 3/4] arm64: dts: st: Add USB nodes on stm32mp231 Marek Vasut
@ 2026-08-31 23:17 ` Marek Vasut
3 siblings, 0 replies; 8+ messages in thread
From: Marek Vasut @ 2026-08-31 23:17 UTC (permalink / raw)
To: linux-usb
Cc: fabrice.gasnier, Pankaj Dev, Marek Vasut, Alexandre Torgue,
Christian Bruel, Conor Dooley, Greg Kroah-Hartman,
Krzysztof Kozlowski, Maxime Coquelin, Neil Armstrong, Rahul Kumar,
Rob Herring, Rosen Penev, Thinh Nguyen, Vinod Koul, devicetree,
kernel, linux-arm-kernel, linux-kernel, linux-phy, linux-stm32
From: Pankaj Dev <pankaj.dev@st.com>
Add USB controller and PHY nodes to stm32mp251 DT. This includes two
USB 2.0 FEMTO PHYs, USB 2.0 host controller and DWC3 DRD controller
nodes.
Signed-off-by: Pankaj Dev <pankaj.dev@st.com>
Co-developed-by: Marek Vasut <marex@nabladev.com>
Signed-off-by: Marek Vasut <marex@nabladev.com>
---
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Christian Bruel <christian.bruel@foss.st.com>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Pankaj Dev <pankaj.dev@st.com>
Cc: Rahul Kumar <rahul.kumar05@st.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Rosen Penev <rosenp@gmail.com>
Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: kernel@dh-electronics.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-phy@lists.infradead.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-usb@vger.kernel.org
---
V2: - Fix up Sob/Cdb lines
- Move PHY into syscfg subnode
- Turn st,stm32mp25-syscfg into simple-mfd
- Use clock-cells = <1> to discern OSC and future PLL clock from the PHY
V3: - Describe OHCI clock as the CMN clock
- Fix up Sob/Cdb lines further
V4: - Cover USB2PHY2 SYSCFG_USB2PHY2TRIM2CR in reg property
- Undo simple-mfd conversion of syscfg node
- Split this from series arm64: dts: phy: st: usb: Add STM32MP2 USB support
https://lore.kernel.org/all/20260822074816.548662-1-marex@nabladev.com/
V5: No change
---
arch/arm64/boot/dts/st/stm32mp251.dtsi | 63 ++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/arch/arm64/boot/dts/st/stm32mp251.dtsi b/arch/arm64/boot/dts/st/stm32mp251.dtsi
index 6e985f115b195..2a42f58dcb751 100644
--- a/arch/arm64/boot/dts/st/stm32mp251.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp251.dtsi
@@ -1746,6 +1746,47 @@ stmmac_axi_config_1: stmmac-axi-config {
};
};
+ usbh_ohci: usb@482e0000 {
+ compatible = "st,stm32mp25-ohci", "generic-ohci";
+ reg = <0x482e0000 0x1000>;
+ access-controllers = <&rifsc 63>;
+ clocks = <&usb2_phy1 1>, <&rcc CK_BUS_USB2OHCI>;
+ interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&usb2_phy1>;
+ phy-names = "usb";
+ resets = <&rcc USBH_R>;
+ status = "disabled";
+ };
+
+ usbh_ehci: usb@482f0000 {
+ compatible = "st,stm32mp25-ehci", "generic-ehci";
+ reg = <0x482f0000 0x1000>;
+ access-controllers = <&rifsc 63>;
+ clocks = <&usb2_phy1 0>, <&rcc CK_BUS_USB2EHCI>;
+ companion = <&usbh_ohci>;
+ interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&usb2_phy1>;
+ phy-names = "usb";
+ resets = <&rcc USBH_R>;
+ status = "disabled";
+ };
+
+ usb3dr: usb@48300000 {
+ compatible = "st,stm32mp25-dwc3";
+ reg = <0x48300000 0x100000>;
+ access-controllers = <&rifsc 66>;
+ clocks = <&rcc CK_KER_USB2PHY2>,
+ <&rcc CK_BUS_USB3DR>,
+ <&rcc CK_KER_USB2PHY2>;
+ clock-names = "ref", "bus_early", "suspend";
+ interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&usb2_phy2>, <&combophy PHY_TYPE_USB3>;
+ phy-names = "usb2-phy", "usb3-phy";
+ resets = <&rcc USB3DR_R>;
+ st,syscfg = <&syscfg 0x4800>;
+ status = "disabled";
+ };
+
pcie_ep: pcie-ep@48400000 {
compatible = "st,stm32mp25-pcie-ep";
reg = <0x48400000 0x100000>,
@@ -2005,6 +2046,28 @@ syscfg: syscon@44230000 {
compatible = "st,stm32mp25-syscfg", "syscon";
reg = <0x44230000 0x10000>;
#clock-cells = <0>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ usb2_phy1: phy@2400 {
+ compatible = "st,stm32mp25-usb2phy1";
+ reg = <0x2400 0x24>;
+ #phy-cells = <0>;
+ #clock-cells = <1>;
+ clocks = <&rcc CK_KER_USB2PHY1>;
+ resets = <&rcc USB2PHY1_R>;
+ status = "disabled";
+ };
+
+ usb2_phy2: phy@2800 {
+ compatible = "st,stm32mp25-usb2phy2";
+ reg = <0x2800 0x10>;
+ #phy-cells = <0>;
+ #clock-cells = <1>;
+ clocks = <&rcc CK_KER_USB2PHY2EN>;
+ resets = <&rcc USB2PHY2_R>;
+ status = "disabled";
+ };
};
pinctrl: pinctrl@44240000 {
--
2.53.0
^ permalink raw reply related [flat|nested] 8+ messages in thread