arm64: dts: ti: am62: Add USB support for k3-am62p
Subsystems (4)
v3 cover arm64: dts: ti: am62: Add USB support for k3-am62p
Hi,
This series first adds device nodes for USB0_PHY_CTRL and USB1_PHY_CTRL in the wkup_conf node and fixus up the USB nodes to use the newly added nodes.
Then it adds USB support for AM62P SoC and AM62P5-SK board.
In v3, 2 new patches were added to add the missing PHY2 register space to the USB controller wrapper node.
Changelog in each patch.
cheers,
-roger
Roger Quadros (5):
dt-bindings: mfd: syscon: Add ti,am62-usb-phy-ctrl compatible
arm64: dts: ti: k3-am62/a: use sub-node for USB_PHY_CTRL registers
arm64: dts: ti: k3-am62p: add the USB sub-system
dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
arm64: dts: ti: k3-am62*: Add PHY2 region to USB wrapper node
.../devicetree/bindings/mfd/syscon.yaml | 1 + .../devicetree/bindings/usb/ti,am62-usb.yaml | 7 +- arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 10 +-- arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 10 +++ arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 10 +-- arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi | 10 +++ arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 48 +++++++++++++ arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi | 10 +++ arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 67 +++++++++++++++++++ 9 files changed, 163 insertions(+), 10 deletions(-)
base-commit: 6613476e225e090cc9aad49be7fa504e290dd33d
Signature · 1 line
2.34.1
PATCH v3 1/5 dt-bindings: mfd: syscon: Add ti,am62-usb-phy-ctrl compatible
Add the compatible for TI AM62 USB PHY Control register. This register is found in the TI AM62 WKUP_CTRL_MMR0 space [1]. It is used to indicate the USB PHY PLL reference clock rate and core voltage level to the USB controller.
[1] - https://www.ti.com/lit/pdf/spruiv7
---
Notes:
Changelog:
v3 - add compatibles in alphabetical order
v2 - New patch
Changelog:
v2 - New patch
Documentation/devicetree/bindings/mfd/syscon.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/mfd/syscon.yaml +1 -0
@@ -72,6 +72,7 @@ properties: - rockchip,rk3588-qos - rockchip,rv1126-qos - starfive,jh7100-sysmain + - ti,am62-usb-phy-ctrl - ti,am654-dss-oldi-io-ctrl - const: syscon
Signature · 1 line
2.34.1
Re: [PATCH v3 1/5] dt-bindings: mfd: syscon: Add ti,am62-usb-phy-ctrl compatible
Quoted 16 lines · Roger Quadros
Add the compatible for TI AM62 USB PHY Control register. This register is found in the TI AM62
WKUP_CTRL_MMR0space [1]. It is used to indicate the USB PHY PLL reference clock rate and core voltage level to the USB controller.[1] - https://www.ti.com/lit/pdf/spruiv7
Signed-off-by Roger Quadros <[email protected]>---
Notes:
Changelog:v3 - add compatibles in alphabetical order
v2 - New patch
Quoted 7 lines
Changelog:
v2 - New patch
Documentation/devicetree/bindings/mfd/syscon.yaml | 1 + 1 file changed, 1 insertion(+)
PATCH v3 2/5 arm64: dts: ti: k3-am62/a: use sub-node for USB_PHY_CTRL registers
In reply to Roger QuadrosExposing the entire CTRL_MMR space to syscon is not a good idea. Add sub-nodes for USB0_PHY_CTRL and USB1_PHY_CTRL and use them in the USB0/USB1 nodes.
---
Notes:
Changelog:
v3 - no change
v2:
- moved am62p changes to next patch
- use new compatible for USB PHY CTRL node
arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 4 ++-- arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 10 ++++++++++ arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 4 ++-- arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi | 10 ++++++++++ 4 files changed, 24 insertions(+), 4 deletions(-)
arch/arm64/boot/dts/ti/k3-am62-main.dtsi +2 -2
@@ -625,7 +625,7 @@ usbss0: dwc3-usb@f900000 { reg = <0x00 0x0f900000 0x00 0x800>; clocks = <&k3_clks 161 3>; clock-names = "ref"; - ti,syscon-phy-pll-refclk = <&wkup_conf 0x4008>; + ti,syscon-phy-pll-refclk = <&usb0_phy_ctrl 0x0>; #address-cells = <2>; #size-cells = <2>; power-domains = <&k3_pds 178 TI_SCI_PD_EXCLUSIVE>;
@@ -648,7 +648,7 @@ usbss1: dwc3-usb@f910000 { reg = <0x00 0x0f910000 0x00 0x800>; clocks = <&k3_clks 162 3>; clock-names = "ref"; - ti,syscon-phy-pll-refclk = <&wkup_conf 0x4018>; + ti,syscon-phy-pll-refclk = <&usb1_phy_ctrl 0x0>; #address-cells = <2>; #size-cells = <2>; power-domains = <&k3_pds 179 TI_SCI_PD_EXCLUSIVE>;
arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi +10 -0
@@ -19,6 +19,16 @@ chipid: chipid@14 { compatible = "ti,am654-chipid"; reg = <0x14 0x4>; }; + + usb0_phy_ctrl: syscon@4008 { + compatible = "ti,am62-usb-phy-ctrl", "syscon"; + reg = <0x4008 0x4>; + }; + + usb1_phy_ctrl: syscon@4018 { + compatible = "ti,am62-usb-phy-ctrl", "syscon"; + reg = <0x4018 0x4>; + }; }; wkup_uart0: serial@2b300000 {
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi +2 -2
@@ -566,7 +566,7 @@ usbss0: dwc3-usb@f900000 { reg = <0x00 0x0f900000 0x00 0x800>; clocks = <&k3_clks 161 3>; clock-names = "ref"; - ti,syscon-phy-pll-refclk = <&wkup_conf 0x4008>; + ti,syscon-phy-pll-refclk = <&usb0_phy_ctrl 0x0>; #address-cells = <2>; #size-cells = <2>; power-domains = <&k3_pds 178 TI_SCI_PD_EXCLUSIVE>;
@@ -589,7 +589,7 @@ usbss1: dwc3-usb@f910000 { reg = <0x00 0x0f910000 0x00 0x800>; clocks = <&k3_clks 162 3>; clock-names = "ref"; - ti,syscon-phy-pll-refclk = <&wkup_conf 0x4018>; + ti,syscon-phy-pll-refclk = <&usb1_phy_ctrl 0x0>; #address-cells = <2>; #size-cells = <2>; power-domains = <&k3_pds 179 TI_SCI_PD_EXCLUSIVE>;
arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi +10 -0
@@ -17,6 +17,16 @@ chipid: chipid@14 { compatible = "ti,am654-chipid"; reg = <0x14 0x4>; }; + + usb0_phy_ctrl: syscon@4008 { + compatible = "ti,am62-usb-phy-ctrl", "syscon"; + reg = <0x4008 0x4>; + }; + + usb1_phy_ctrl: syscon@4018 { + compatible = "ti,am62-usb-phy-ctrl", "syscon"; + reg = <0x4018 0x4>; + }; }; wkup_uart0: serial@2b300000 {
Signature · 1 line
2.34.1
Re: [PATCH v3 2/5] arm64: dts: ti: k3-am62/a: use sub-node for USB_PHY_CTRL registers
Quoted 7 lines · Roger Quadros
Exposing the entire
CTRL_MMRspace to syscon is not a good idea. Add sub-nodes forUSB0_PHY_CTRLandUSB1_PHY_CTRLand use them in the USB0/USB1 nodes.Signed-off-by Roger Quadros <[email protected]>---
Quoted 101 lines
Notes:
Changelog:v3 - no change
v2:
- moved am62p changes to next patch
- use new compatible for USB PHY CTRL nodearch/arm64/boot/dts/ti/k3-am62-main.dtsi | 4 ++-- arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 10 ++++++++++ arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 4 ++-- arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi | 10 ++++++++++ 4 files changed, 24 insertions(+), 4 deletions(-)arch/arm64/boot/dts/ti/k3-am62-main.dtsi +2
-2@@ -625,7 +625,7 @@ usbss0: dwc3-usb@f900000 { reg = <0x00 0x0f900000 0x00 0x800>; clocks = <&k3_clks 161 3>; clock-names = "ref"; - ti,syscon-phy-pll-refclk = <&wkup_conf 0x4008>; + ti,syscon-phy-pll-refclk = <&usb0_phy_ctrl 0x0>; #address-cells = <2>; #size-cells = <2>; power-domains = <&k3_pds 178 TI_SCI_PD_EXCLUSIVE>;@@ -648,7 +648,7 @@ usbss1: dwc3-usb@f910000 { reg = <0x00 0x0f910000 0x00 0x800>; clocks = <&k3_clks 162 3>; clock-names = "ref"; - ti,syscon-phy-pll-refclk = <&wkup_conf 0x4018>; + ti,syscon-phy-pll-refclk = <&usb1_phy_ctrl 0x0>; #address-cells = <2>; #size-cells = <2>; power-domains = <&k3_pds 179 TI_SCI_PD_EXCLUSIVE>;arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi +10
-0@@ -19,6 +19,16 @@ chipid: chipid@14 { compatible = "ti,am654-chipid"; reg = <0x14 0x4>; }; + + usb0_phy_ctrl: syscon@4008 { + compatible = "ti,am62-usb-phy-ctrl", "syscon"; + reg = <0x4008 0x4>; + }; + + usb1_phy_ctrl: syscon@4018 { + compatible = "ti,am62-usb-phy-ctrl", "syscon"; + reg = <0x4018 0x4>; + }; }; wkup_uart0: serial@2b300000 {arch/arm64/boot/dts/ti/k3-am62a-main.dtsi +2
-2@@ -566,7 +566,7 @@ usbss0: dwc3-usb@f900000 { reg = <0x00 0x0f900000 0x00 0x800>; clocks = <&k3_clks 161 3>; clock-names = "ref"; - ti,syscon-phy-pll-refclk = <&wkup_conf 0x4008>; + ti,syscon-phy-pll-refclk = <&usb0_phy_ctrl 0x0>; #address-cells = <2>; #size-cells = <2>; power-domains = <&k3_pds 178 TI_SCI_PD_EXCLUSIVE>;@@ -589,7 +589,7 @@ usbss1: dwc3-usb@f910000 { reg = <0x00 0x0f910000 0x00 0x800>; clocks = <&k3_clks 162 3>; clock-names = "ref"; - ti,syscon-phy-pll-refclk = <&wkup_conf 0x4018>; + ti,syscon-phy-pll-refclk = <&usb1_phy_ctrl 0x0>; #address-cells = <2>; #size-cells = <2>; power-domains = <&k3_pds 179 TI_SCI_PD_EXCLUSIVE>;arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi +10
-0@@ -17,6 +17,16 @@ chipid: chipid@14 { compatible = "ti,am654-chipid"; reg = <0x14 0x4>; }; + + usb0_phy_ctrl: syscon@4008 { + compatible = "ti,am62-usb-phy-ctrl", "syscon"; + reg = <0x4008 0x4>; + }; + + usb1_phy_ctrl: syscon@4018 { + compatible = "ti,am62-usb-phy-ctrl", "syscon"; + reg = <0x4018 0x4>; + }; }; wkup_uart0: serial@2b300000 {
PATCH v3 3/5 arm64: dts: ti: k3-am62p: add the USB sub-system
In reply to Roger QuadrosThere are two USB instances available on the am62p5 starter kit. Include and enable them for use on the board.
---
Notes:
Changelog:
v3 - no change
v2:
- added USB PHY CTRL node changes here
- changed USB wrapper node names to usb@
- changed Type-C chip node name to usb-power-control@
arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 46 ++++++++++++++ arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi | 10 +++ arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 67 +++++++++++++++++++++ 3 files changed, 123 insertions(+)
arch/arm64/boot/dts/ti/k3-am62p-main.dtsi +46 -0
@@ -560,6 +560,52 @@ sdhci2: mmc@fa20000 { status = "disabled"; }; + usbss0: usb@f900000 { + compatible = "ti,am62-usb"; + reg = <0x00 0x0f900000 0x00 0x800>; + clocks = <&k3_clks 161 3>; + clock-names = "ref"; + ti,syscon-phy-pll-refclk = <&usb0_phy_ctrl 0x0>; + #address-cells = <2>; + #size-cells = <2>; + power-domains = <&k3_pds 178 TI_SCI_PD_EXCLUSIVE>; + ranges; + status = "disabled"; + + usb0: usb@31000000 { + compatible = "snps,dwc3"; + reg = <0x00 0x31000000 0x00 0x50000>; + interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */ + <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; /* irq.0 */ + interrupt-names = "host", "peripheral"; + maximum-speed = "high-speed"; + dr_mode = "otg"; + }; + }; + + usbss1: usb@f910000 { + compatible = "ti,am62-usb"; + reg = <0x00 0x0f910000 0x00 0x800>; + clocks = <&k3_clks 162 3>; + clock-names = "ref"; + ti,syscon-phy-pll-refclk = <&usb1_phy_ctrl 0x0>; + #address-cells = <2>; + #size-cells = <2>; + power-domains = <&k3_pds 179 TI_SCI_PD_EXCLUSIVE>; + ranges; + status = "disabled"; + + usb1: usb@31100000 { + compatible = "snps,dwc3"; + reg = <0x00 0x31100000 0x00 0x50000>; + interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */ + <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; /* irq.0 */ + interrupt-names = "host", "peripheral"; + maximum-speed = "high-speed"; + dr_mode = "otg"; + }; + }; + fss: bus@fc00000 { compatible = "simple-bus"; reg = <0x00 0x0fc00000 0x00 0x70000>;
arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi +10 -0
@@ -18,6 +18,16 @@ chipid: chipid@14 { reg = <0x14 0x4>; bootph-all; }; + + usb0_phy_ctrl: syscon@4008 { + compatible = "ti,am62-usb-phy-ctrl", "syscon"; + reg = <0x4008 0x4>; + }; + + usb1_phy_ctrl: syscon@4018 { + compatible = "ti,am62-usb-phy-ctrl", "syscon"; + reg = <0x4018 0x4>; + }; }; wkup_uart0: serial@2b300000 {
arch/arm64/boot/dts/ti/k3-am62p5-sk.dts +67 -0
91 lines not on this page · raw message
Signature · 1 line
2.34.1
PATCH v3 4/5 dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
In reply to Roger QuadrosSo far this was not required but due to the newly identified Errata i2409 [1] we need to poke this register space.
[1] https://www.ti.com/lit/er/sprz487d/sprz487d.pdf
---
Notes:
Changelog:
v3 - new patch
Documentation/devicetree/bindings/usb/ti,am62-usb.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/usb/ti,am62-usb.yaml +5 -2
@@ -14,7 +14,9 @@ properties: const: ti,am62-usb reg: - maxItems: 1 + items: + - description: USB CFG register space + - description: USB PHY2 register space ranges: true
@@ -82,7 +84,8 @@ examples: usbss1: usb@f910000 { compatible = "ti,am62-usb"; - reg = <0x00 0x0f910000 0x00 0x800>; + reg = <0x00 0x0f910000 0x00 0x800>, + <0x00 0x0f918000 0x00 0x400>; clocks = <&k3_clks 162 3>; clock-names = "ref"; ti,syscon-phy-pll-refclk = <&wkup_conf 0x4018>;
Signature · 1 line
2.34.1
Re: [PATCH v3 4/5] dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
Quoted 6 lines · Roger Quadros
So far this was not required but due to the newly identified Errata i2409 [1] we need to poke this register space.
[1] https://www.ti.com/lit/er/sprz487d/sprz487d.pdf
Signed-off-by Roger Quadros <[email protected]>
Quoted 26 lines
---
Notes:
Changelog:v3 - new patch
Documentation/devicetree/bindings/usb/ti,am62-usb.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)Documentation/devicetree/bindings/usb/ti,am62-usb.yaml +3
-1@@ -14,7 +14,9 @@ properties: const: ti,am62-usb reg: - maxItems: 1 + items: + - description: USB CFG register space + - description: USB PHY2 register space ranges: true
Documentation/devicetree/bindings/usb/ti,am62-usb.yaml examples: · line 88
Quoted 6 lines
Documentation/devicetree/bindings/usb/ti,am62-usb.yaml +2
-1@@ -82,7 +84,8 @@ examples: usbss1: usb@f910000 { compatible = "ti,am62-usb"; - reg = <0x00 0x0f910000 0x00 0x800>; + reg = <0x00 0x0f910000 0x00 0x800>, + <0x00 0x0f918000 0x00 0x400>;
Why the double zeros btw?
Cheers,
Conor.
Quoted 6 lines
Documentation/devicetree/bindings/usb/ti,am62-usb.yaml +0
-0clocks = <&k3_clks 162 3>; clock-names = "ref"; ti,syscon-phy-pll-refclk = <&wkup_conf 0x4018>;Signature · 1 line
2.34.1
Re: [PATCH v3 4/5] dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
Quoted 9 lines · Conor Dooley
Quoted 6 lines · Roger Quadros
So far this was not required but due to the newly identified Errata i2409 [1] we need to poke this register space.
[1] https://www.ti.com/lit/er/sprz487d/sprz487d.pdf
Signed-off-by Roger Quadros <[email protected]>Acked-by Conor Dooley <[email protected]>
Actually, where is the user for this that actually pokes the register space?
You're adding another register region, so I went to check how you were handling that in drivers, but there's no driver patch.
Quoted 45 lines
Quoted 27 lines
---
Notes:
Changelog:v3 - new patch
Documentation/devicetree/bindings/usb/ti,am62-usb.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)Documentation/devicetree/bindings/usb/ti,am62-usb.yaml +3
-1@@ -14,7 +14,9 @@ properties: const: ti,am62-usb reg: - maxItems: 1 + items: + - description: USB CFG register space + - description: USB PHY2 register space ranges: trueDocumentation/devicetree/bindings/usb/ti,am62-usb.yaml examples: · line 88
Quoted 6 lines
Documentation/devicetree/bindings/usb/ti,am62-usb.yaml +2
-1@@ -82,7 +84,8 @@ examples: usbss1: usb@f910000 { compatible = "ti,am62-usb"; - reg = <0x00 0x0f910000 0x00 0x800>; + reg = <0x00 0x0f910000 0x00 0x800>, + <0x00 0x0f918000 0x00 0x400>;Why the double zeros btw?
Cheers,
Conor.Quoted 6 lines
Documentation/devicetree/bindings/usb/ti,am62-usb.yaml +0
-0clocks = <&k3_clks 162 3>; clock-names = "ref"; ti,syscon-phy-pll-refclk = <&wkup_conf 0x4018>;Signature · 1 line
2.34.1
Re: [PATCH v3 4/5] dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
Quoted 7 lines · Conor Dooley
Quoted 6 lines · Conor Dooley
Quoted 5 lines · Roger Quadros
So far this was not required but due to the newly identified Errata i2409 [1] we need to poke this register space.
Quoted 8 lines
Quoted 3 lines
Quoted 1 line
Signed-off-by Roger Quadros <[email protected]>Acked-by Conor Dooley <[email protected]>Actually, where is the user for this that actually pokes the register space?
You're adding another register region, so I went to check how you were handling that in drivers, but there's no driver patch.
See Roger's another patch set 'Add workaround for Errata i2409' posted on 16th.
-Bin.
Quoted 49 lines
Quoted 47 lines
Quoted 29 lines
---
Notes:
Changelog:v3 - new patch
Documentation/devicetree/bindings/usb/ti,am62-usb.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)Documentation/devicetree/bindings/usb/ti,am62-usb.yaml +3
-1@@ -14,7 +14,9 @@ properties: const: ti,am62-usb reg: - maxItems: 1 + items: + - description: USB CFG register space + - description: USB PHY2 register space ranges: trueDocumentation/devicetree/bindings/usb/ti,am62-usb.yaml examples: · line 88
Quoted 6 lines
Documentation/devicetree/bindings/usb/ti,am62-usb.yaml +2
-1@@ -82,7 +84,8 @@ examples: usbss1: usb@f910000 { compatible = "ti,am62-usb"; - reg = <0x00 0x0f910000 0x00 0x800>; + reg = <0x00 0x0f910000 0x00 0x800>, + <0x00 0x0f918000 0x00 0x400>;Why the double zeros btw?
Cheers,
Conor.Quoted 6 lines
Documentation/devicetree/bindings/usb/ti,am62-usb.yaml +0
-0clocks = <&k3_clks 162 3>; clock-names = "ref"; ti,syscon-phy-pll-refclk = <&wkup_conf 0x4018>;Signature · 1 line
2.34.1
Re: [PATCH v3 4/5] dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
Quoted 12 lines · Bin Liu
Quoted 11 lines · Conor Dooley
Quoted 9 lines · Conor Dooley
Quoted 6 lines · Roger Quadros
So far this was not required but due to the newly identified Errata i2409 [1] we need to poke this register space.
[1] https://www.ti.com/lit/er/sprz487d/sprz487d.pdf
Signed-off-by Roger Quadros <[email protected]>Acked-by Conor Dooley <[email protected]>
Quoted 7 lines
Quoted 4 lines
Actually, where is the user for this that actually pokes the register space?
You're adding another register region, so I went to check how you were handling that in drivers, but there's no driver patch.See Roger's another patch set 'Add workaround for Errata i2409' posted on 16th.
This patch should be with that series, not with these dts patches.
Thanks,
Conor.
Re: [PATCH v3 4/5] dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
Quoted 7 lines · Conor Dooley
Quoted 6 lines · Bin Liu
Quoted 5 lines · Conor Dooley
Quoted 4 lines · Conor Dooley
Quoted 3 lines · Roger Quadros
So far this was not required but due to the newly identified Errata i2409 [1] we need to poke this register space.
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
[1] https://www.ti.com/lit/er/sprz487d/sprz487d.pdf
Signed-off-by Roger Quadros <[email protected]>Acked-by Conor Dooley <[email protected]>Actually, where is the user for this that actually pokes the register space?
https://lore.kernel.org/all/[email protected]/
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
You're adding another register region, so I went to check how you were handling that in drivers, but there's no driver patch.
See Roger's another patch set 'Add workaround for Errata i2409' posted on 16th.
This patch should be with that series, not with these dts patches.
Why not? There should be no dependency between DTS and driver implementation.
As DTS and driver will be merged by separate maintainers I thought it would be easier for maintainers this way.
Signature · 2 lines
cheers, -roger
Re: [PATCH v3 4/5] dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
Quoted 27 lines · Roger Quadros
Quoted 7 lines · Conor Dooley
Quoted 6 lines · Bin Liu
Quoted 5 lines · Conor Dooley
Quoted 4 lines · Conor Dooley
Quoted 3 lines · Roger Quadros
So far this was not required but due to the newly identified Errata i2409 [1] we need to poke this register space.
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
[1] https://www.ti.com/lit/er/sprz487d/sprz487d.pdf
Signed-off-by Roger Quadros <[email protected]>Acked-by Conor Dooley <[email protected]>Actually, where is the user for this that actually pokes the register space?
https://lore.kernel.org/all/[email protected]/
Quoted 6 lines
Quoted 5 lines
Quoted 2 lines
You're adding another register region, so I went to check how you were handling that in drivers, but there's no driver patch.
See Roger's another patch set 'Add workaround for Errata i2409' posted on 16th.
Quoted 7 lines
Quoted 2 lines
This patch should be with that series, not with these dts patches.
Why not? There should be no dependency between DTS and driver implementation.
As DTS and driver will be merged by separate maintainers I thought it would be easier for maintainers this way.
dts and driver might be merged by different people, but dt-bindings and
drivers are merged by the same people. This is a bindings patch, not a
dts patch. Look at what get_maintainer says for this file:
Greg Kroah-Hartman <[email protected]> (supporter:USB SUBSYSTEM)
Rob Herring <[email protected]> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) Krzysztof Kozlowski <[email protected]> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) Conor Dooley <[email protected]> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) Aswath Govindraju <[email protected]> (in file)
[email protected] (open list:USB SUBSYSTEM)
[email protected] (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) [email protected] (open list)
Greg and linux-usb are on there, but you have not CCed them.
Being with the driver also allows bindings maintainers to check that you don't break backwards compatibility. It also prevents me having to ask for the driver patch, then be given just a subject line that I have to go and look up myself!
Thanks,
Conor.
Re: [PATCH v3 4/5] dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
Quoted 31 lines · Conor Dooley
Quoted 30 lines · Roger Quadros
Quoted 7 lines · Conor Dooley
Quoted 6 lines · Bin Liu
Quoted 5 lines · Conor Dooley
Quoted 4 lines · Conor Dooley
Quoted 3 lines · Roger Quadros
So far this was not required but due to the newly identified Errata i2409 [1] we need to poke this register space.
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
[1] https://www.ti.com/lit/er/sprz487d/sprz487d.pdf
Signed-off-by Roger Quadros <[email protected]>Acked-by Conor Dooley <[email protected]>Actually, where is the user for this that actually pokes the register space?
https://lore.kernel.org/all/[email protected]/
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
You're adding another register region, so I went to check how you were handling that in drivers, but there's no driver patch.
See Roger's another patch set 'Add workaround for Errata i2409' posted on 16th.
This patch should be with that series, not with these dts patches.
Quoted 7 lines
Quoted 4 lines
Why not? There should be no dependency between DTS and driver implementation.
As DTS and driver will be merged by separate maintainers I thought it would be easier for maintainers this way.
dts and driver might be merged by different people, but dt-bindings and drivers are merged by the same people. This is a bindings patch, not a
If we do that then I get a bunch of dtbs_check warnings
dwc3-usb@f900000: reg: [[0, 261095424, 0, 2048], [0, 261128192, 0, 1024]] is too long
Quoted 10 lines
dts patch. Look at what
get_maintainersays for this file:
Greg Kroah-Hartman <[email protected]> (supporter:USB SUBSYSTEM)
Rob Herring <[email protected]> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) Krzysztof Kozlowski <[email protected]> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) Conor Dooley <[email protected]> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) Aswath Govindraju <[email protected]> (in file)
[email protected] (open list:USB SUBSYSTEM)
[email protected] (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) [email protected] (open list)
Greg and linux-usb are on there, but you have not CCed them.
My bad. Will be more careful next time.
Quoted 6 lines
Being with the driver also allows bindings maintainers to check that you don't break backwards compatibility. It also prevents me having to ask for the driver patch, then be given just a subject line that I have to go and look up myself!
Sorry about that. It took a bit longer but I did point you directly to the patch on lore.kernel.org.
Signature · 2 lines
cheers, -roger
Nishanth Menon
maintainerRe: [PATCH v3 4/5] dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
On 12:13-20240202, Roger Quadros wrote:
[..]
Quoted 10 lines
Quoted 6 lines
Quoted 3 lines
As DTS and driver will be merged by separate maintainers I thought it would be easier for maintainers this way.
dts and driver might be merged by different people, but dt-bindings and drivers are merged by the same people. This is a bindings patch, not a
If we do that then I get a bunch of
dtbs_checkwarningsdwc3-usb@f900000: reg: [[0, 261095424, 0, 2048], [0, 261128192, 0, 1024]] is too long
Just my 2 cents: If the binding (and driver) change was truly backward compatible (which it should be - for example: errata can only be applied if the second property is described), then you want to control that reg property to add minItems? - thatm I think will allow the dts change to come in at the next cycle once the binding has been merged.
Signature · 3 lines
Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
Re: [PATCH v3 4/5] dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
Quoted 11 lines · Nishanth Menon
On 12:13-20240202, Roger Quadros wrote:
[..]Quoted 9 lines
Quoted 6 lines
Quoted 3 lines
As DTS and driver will be merged by separate maintainers I thought it would be easier for maintainers this way.
dts and driver might be merged by different people, but dt-bindings and drivers are merged by the same people. This is a bindings patch, not a
If we do that then I get a bunch of
dtbs_checkwarnings
Quoted 8 lines
Quoted 1 line
dwc3-usb@f900000: reg: [[0, 261095424, 0, 2048], [0, 261128192, 0, 1024]] is too long
Just my 2 cents: If the binding (and driver) change was truly backward compatible (which it should be - for example: errata can only be applied if the second property is described), then you want to control that reg property to add minItems? - thatm I think will allow the dts change to come in at the next cycle once the binding has been merged.
Thanks for the hint.
Please drop patches 4 and 5 in case you pick this series.
I'll send patch 4 along with the driver series v2. Patch 5, I'll send after the DT binding has been merged.
Signature · 2 lines
cheers, -roger
Nishanth Menon
maintainerRe: [PATCH v3 4/5] dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
Quoted 23 lines · Roger Quadros
Quoted 11 lines · Nishanth Menon
On 12:13-20240202, Roger Quadros wrote:
[..]Quoted 9 lines
Quoted 6 lines
Quoted 3 lines
As DTS and driver will be merged by separate maintainers I thought it would be easier for maintainers this way.
dts and driver might be merged by different people, but dt-bindings and drivers are merged by the same people. This is a bindings patch, not a
If we do that then I get a bunch of
dtbs_checkwarningsQuoted 8 lines
Quoted 1 line
dwc3-usb@f900000: reg: [[0, 261095424, 0, 2048], [0, 261128192, 0, 1024]] is too long
Just my 2 cents: If the binding (and driver) change was truly backward compatible (which it should be - for example: errata can only be applied if the second property is described), then you want to control that reg property to add minItems? - thatm I think will allow the dts change to come in at the next cycle once the binding has been merged.
Quoted 5 lines
Thanks for the hint.
Please drop patches 4 and 5 in case you pick this series.I'll send patch 4 along with the driver series v2. Patch 5, I'll send after the DT binding has been merged.
I suggest to resubmit requisite series (with patches +- or what ever) specific to appropriate maintainers (I don't typically like folks sending driver change along with dts change in a single series without indicating to driver maintainer that dts is something they shouldn't be picking) and avoid any confusion ;)
Signature · 3 lines
Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
Re: [PATCH v3 4/5] dt-bindings: usb/ti,am62-usb.yaml: Add PHY2 register space
In reply to Roger QuadrosQuoted 39 lines · Roger Quadros
Quoted 36 lines · Conor Dooley
Quoted 34 lines · Roger Quadros
Quoted 7 lines · Conor Dooley
Quoted 6 lines · Bin Liu
Quoted 5 lines · Conor Dooley
Quoted 4 lines · Conor Dooley
Quoted 3 lines · Roger Quadros
So far this was not required but due to the newly identified Errata i2409 [1] we need to poke this register space.
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
[1] https://www.ti.com/lit/er/sprz487d/sprz487d.pdf
Signed-off-by Roger Quadros <[email protected]>Acked-by Conor Dooley <[email protected]>Actually, where is the user for this that actually pokes the register space?
https://lore.kernel.org/all/[email protected]/
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
You're adding another register region, so I went to check how you were handling that in drivers, but there's no driver patch.
See Roger's another patch set 'Add workaround for Errata i2409' posted on 16th.
This patch should be with that series, not with these dts patches.
Why not? There should be no dependency between DTS and driver implementation.
As DTS and driver will be merged by separate maintainers I thought it would be easier for maintainers this way.
Quoted 6 lines
Quoted 2 lines
dts and driver might be merged by different people, but dt-bindings and drivers are merged by the same people. This is a bindings patch, not a
If we do that then I get a bunch of
dtbs_checkwarningsdwc3-usb@f900000: reg: [[0, 261095424, 0, 2048], [0, 261128192, 0, 1024]] is too long
I don't know what your platform maintainers view is, but to me it is fine as long as linux-next is clean.
Andrejs Cainikovs
Tested-byRe: [PATCH v3 5/5] usb: dwc3-am62: add workaround for Errata i2409
In reply to Bin LiuQuoted 8 lines
All AM62 devices have Errata i2409 [1] due to which USB2 PHY may lock up due to short suspend.
Workaround involves setting bit 5 and 4
PLL_REG12in PHY2 register space after USB controller is brought out of LPSC reset but before controller initialization.Handle this workaround.
You have requested [1] to check whether this patch fixes issues I observed, and I can confirm it does.
PATCH v3 5/5 arm64: dts: ti: k3-am62*: Add PHY2 region to USB wrapper node
In reply to Roger QuadrosAdd PHY2 register space to USB wrapper node. This is required to deal with Errata i2409.
---
Notes:
Changelog:
v3 - new patch
arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 6 ++++-- arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 6 ++++-- arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 6 ++++-- 3 files changed, 12 insertions(+), 6 deletions(-)
arch/arm64/boot/dts/ti/k3-am62-main.dtsi +4 -2
@@ -622,7 +622,8 @@ sdhci2: mmc@fa20000 { usbss0: dwc3-usb@f900000 { compatible = "ti,am62-usb"; - reg = <0x00 0x0f900000 0x00 0x800>; + reg = <0x00 0x0f900000 0x00 0x800>, + <0x00 0x0f908000 0x00 0x400>; clocks = <&k3_clks 161 3>; clock-names = "ref"; ti,syscon-phy-pll-refclk = <&usb0_phy_ctrl 0x0>;
@@ -645,7 +646,8 @@ usb0: usb@31000000 { usbss1: dwc3-usb@f910000 { compatible = "ti,am62-usb"; - reg = <0x00 0x0f910000 0x00 0x800>; + reg = <0x00 0x0f910000 0x00 0x800>, + <0x00 0x0f918000 0x00 0x400>; clocks = <&k3_clks 162 3>; clock-names = "ref"; ti,syscon-phy-pll-refclk = <&usb1_phy_ctrl 0x0>;
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi +4 -2
@@ -563,7 +563,8 @@ sdhci1: mmc@fa00000 { usbss0: dwc3-usb@f900000 { compatible = "ti,am62-usb"; - reg = <0x00 0x0f900000 0x00 0x800>; + reg = <0x00 0x0f900000 0x00 0x800>, + <0x00 0x0f908000 0x00 0x400>; clocks = <&k3_clks 161 3>; clock-names = "ref"; ti,syscon-phy-pll-refclk = <&usb0_phy_ctrl 0x0>;
@@ -586,7 +587,8 @@ usb0: usb@31000000 { usbss1: dwc3-usb@f910000 { compatible = "ti,am62-usb"; - reg = <0x00 0x0f910000 0x00 0x800>; + reg = <0x00 0x0f910000 0x00 0x800>, + <0x00 0x0f918000 0x00 0x400>; clocks = <&k3_clks 162 3>; clock-names = "ref"; ti,syscon-phy-pll-refclk = <&usb1_phy_ctrl 0x0>;
arch/arm64/boot/dts/ti/k3-am62p-main.dtsi +4 -2
@@ -562,7 +562,8 @@ sdhci2: mmc@fa20000 { usbss0: usb@f900000 { compatible = "ti,am62-usb"; - reg = <0x00 0x0f900000 0x00 0x800>; + reg = <0x00 0x0f900000 0x00 0x800>, + <0x00 0x0f908000 0x00 0x400>; clocks = <&k3_clks 161 3>; clock-names = "ref"; ti,syscon-phy-pll-refclk = <&usb0_phy_ctrl 0x0>;
@@ -585,7 +586,8 @@ usb0: usb@31000000 { usbss1: usb@f910000 { compatible = "ti,am62-usb"; - reg = <0x00 0x0f910000 0x00 0x800>; + reg = <0x00 0x0f910000 0x00 0x800>, + <0x00 0x0f918000 0x00 0x400>; clocks = <&k3_clks 162 3>; clock-names = "ref"; ti,syscon-phy-pll-refclk = <&usb1_phy_ctrl 0x0>;
Signature · 1 line
2.34.1
Re: [PATCH v3 5/5] arm64: dts: ti: k3-am62*: Add PHY2 region to USB wrapper node
Hello Roger,
Quoted 4 lines · Roger Quadros
Add PHY2 register space to USB wrapper node. This is required to deal with Errata i2409.
Signed-off-by Roger Quadros <[email protected]>
What's the status/plan for this? v6.9-rc misses it and therefore we have this error in the logs (and of course, we miss the workaround).
[ 0.583305] dwc3-am62 f910000.dwc3-usb: invalid resource (null) [ 0.589304] dwc3-am62 f910000.dwc3-usb: can't map PHY IOMEM resource. Won't apply i2409 fix.
Apart for the error message, the change here seems required for the hardware to properly function (IOW IMHO it should be back-ported to stable).
Francesco
Re: [PATCH v3 5/5] arm64: dts: ti: k3-am62*: Add PHY2 region to USB wrapper node
Hi Francesco,
Quoted 10 lines · Francesco Dolcini
Hello Roger,
Quoted 4 lines · Roger Quadros
Add PHY2 register space to USB wrapper node. This is required to deal with Errata i2409.
Signed-off-by Roger Quadros <[email protected]>What's the status/plan for this? v6.9-rc misses it and therefore we have this error in the logs (and of course, we miss the workaround).
I will send the fix for this for v6.9+.
Quoted 9 lines
[ 0.583305] dwc3-am62 f910000.dwc3-usb: invalid resource (null) [ 0.589304] dwc3-am62 f910000.dwc3-usb: can't map PHY IOMEM resource. Won't apply i2409 fix.Apart for the error message, the change here seems required for the hardware to properly function (IOW IMHO it should be back-ported to stable).
Francesco
Signature · 2 lines
cheers, -roger