* [PATCH 0/5] Remodel HD3SS3220 device nodes
@ 2020-08-04 17:48 Biju Das
2020-08-04 17:48 ` [PATCH 1/5] dt-bindings: usb: convert ti,hd3ss3220 bindings to json-schema Biju Das
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Biju Das @ 2020-08-04 17:48 UTC (permalink / raw)
To: Rob Herring, Heikki Krogerus, Greg Kroah-Hartman
Cc: Biju Das, Yoshihiro Shimoda, linux-usb, devicetree,
Geert Uytterhoeven, Chris Paterson, Biju Das,
Prabhakar Mahadev Lad, linux-renesas-soc
Some platforms have only super speed data bus connected to HD3SS3220 device
and high speed data bus directly connected to the SoC. In such platforms
modelling connector as a child of this device is making it non complaint
with usb connector bindings. By modelling connector node as standalone
device node along with HD3SS3220 device and the SoC data bus will make it
complaint with usb connector bindings.
It is based on the below discussion threads
1) https://patchwork.kernel.org/patch/11669423/
2) https://patchwork.kernel.org/patch/11129567/
Biju Das (4):
dt-bindings: usb: renesas,usb3-peri: Document HS and SS data bus
usb: typec: hd3ss3220: Use OF graph API to get the connector fwnode
arm64: dts: renesas: cat874: Move connector node out of hd3ss3220
device
arm64: dts: renesas: beacon-renesom-baseboard: Move connector node out
of hd3ss3220 device
Lad Prabhakar (1):
dt-bindings: usb: convert ti,hd3ss3220 bindings to json-schema
.../bindings/usb/renesas,usb3-peri.yaml | 36 +++++++--
.../devicetree/bindings/usb/ti,hd3ss3220.txt | 38 ---------
.../devicetree/bindings/usb/ti,hd3ss3220.yaml | 81 +++++++++++++++++++
.../dts/renesas/beacon-renesom-baseboard.dtsi | 67 +++++++++++----
.../boot/dts/renesas/r8a774c0-cat874.dts | 67 +++++++++++----
drivers/usb/typec/hd3ss3220.c | 18 ++++-
6 files changed, 225 insertions(+), 82 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/usb/ti,hd3ss3220.txt
create mode 100644 Documentation/devicetree/bindings/usb/ti,hd3ss3220.yaml
--
2.17.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/5] dt-bindings: usb: convert ti,hd3ss3220 bindings to json-schema
2020-08-04 17:48 [PATCH 0/5] Remodel HD3SS3220 device nodes Biju Das
@ 2020-08-04 17:48 ` Biju Das
2020-08-04 17:48 ` [PATCH 2/5] dt-bindings: usb: renesas,usb3-peri: Document HS and SS data bus Biju Das
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Biju Das @ 2020-08-04 17:48 UTC (permalink / raw)
To: Rob Herring, Greg Kroah-Hartman
Cc: Lad Prabhakar, Yoshihiro Shimoda, Heikki Krogerus, linux-usb,
devicetree, Geert Uytterhoeven, Chris Paterson, Biju Das,
linux-renesas-soc, Biju Das
From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Convert ti,hd3ss3220.txt to YAML. Updated the binding documentation
as graph bindings of this device model Super Speed (SS) data bus to
the Super Speed (SS) capable connector.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
Ref: https://patchwork.kernel.org/patch/11669423/
---
.../devicetree/bindings/usb/ti,hd3ss3220.txt | 38 ---------
.../devicetree/bindings/usb/ti,hd3ss3220.yaml | 81 +++++++++++++++++++
2 files changed, 81 insertions(+), 38 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/usb/ti,hd3ss3220.txt
create mode 100644 Documentation/devicetree/bindings/usb/ti,hd3ss3220.yaml
diff --git a/Documentation/devicetree/bindings/usb/ti,hd3ss3220.txt b/Documentation/devicetree/bindings/usb/ti,hd3ss3220.txt
deleted file mode 100644
index 2bd21b22ce95..000000000000
--- a/Documentation/devicetree/bindings/usb/ti,hd3ss3220.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-TI HD3SS3220 TypeC DRP Port Controller.
-
-Required properties:
- - compatible: Must be "ti,hd3ss3220".
- - reg: I2C slave address, must be 0x47 or 0x67 based on ADDR pin.
- - interrupts: An interrupt specifier.
-
-Required sub-node:
- - connector: The "usb-c-connector" attached to the hd3ss3220 chip. The
- bindings of the connector node are specified in:
-
- Documentation/devicetree/bindings/connector/usb-connector.yaml
-
-Example:
-hd3ss3220@47 {
- compatible = "ti,hd3ss3220";
- reg = <0x47>;
- interrupt-parent = <&gpio6>;
- interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
-
- connector {
- compatible = "usb-c-connector";
- label = "USB-C";
- data-role = "dual";
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@1 {
- reg = <1>;
- hd3ss3220_ep: endpoint {
- remote-endpoint = <&usb3_role_switch>;
- };
- };
- };
- };
-};
diff --git a/Documentation/devicetree/bindings/usb/ti,hd3ss3220.yaml b/Documentation/devicetree/bindings/usb/ti,hd3ss3220.yaml
new file mode 100644
index 000000000000..5c7c7d782a04
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ti,hd3ss3220.yaml
@@ -0,0 +1,81 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/ti,hd3ss3220.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI HD3SS3220 TypeC DRP Port Controller
+
+maintainers:
+ - Biju Das <biju.das.jz@bp.renesas.com>
+
+description: |-
+ HD3SS3220 is a USB SuperSpeed (SS) 2:1 mux with DRP port controller. The device provides Channel
+ Configuration (CC) logic and 5V VCONN sourcing for ecosystems implementing USB Type-C. The
+ HD3SS3220 can be configured as a Downstream Facing Port (DFP), Upstream Facing Port (UFP) or a
+ Dual Role Port (DRP) making it ideal for any application.
+
+properties:
+ compatible:
+ const: ti,hd3ss3220
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ ports:
+ description: OF graph bindings (specified in bindings/graph.txt) that model
+ SS data bus to the SS capable connector.
+ type: object
+ properties:
+ port@0:
+ type: object
+ description: Super Speed (SS) capable connector.
+
+ port@1:
+ type: object
+ description: Super Speed (SS) data bus.
+
+ required:
+ - port@0
+ - port@1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ hd3ss3220@47 {
+ compatible = "ti,hd3ss3220";
+ reg = <0x47>;
+ interrupt-parent = <&gpio6>;
+ interrupts = <3>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ hd3ss3220_in_ep: endpoint {
+ remote-endpoint = <&ss_ep>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ hd3ss3220_out_ep: endpoint {
+ remote-endpoint = <&usb3_role_switch>;
+ };
+ };
+ };
+ };
+ };
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/5] dt-bindings: usb: renesas,usb3-peri: Document HS and SS data bus
2020-08-04 17:48 [PATCH 0/5] Remodel HD3SS3220 device nodes Biju Das
2020-08-04 17:48 ` [PATCH 1/5] dt-bindings: usb: convert ti,hd3ss3220 bindings to json-schema Biju Das
@ 2020-08-04 17:48 ` Biju Das
2020-08-04 17:48 ` [PATCH 4/5] arm64: dts: renesas: cat874: Move connector node out of hd3ss3220 device Biju Das
2020-08-04 17:48 ` [PATCH 5/5] arm64: dts: renesas: beacon-renesom-baseboard: " Biju Das
3 siblings, 0 replies; 5+ messages in thread
From: Biju Das @ 2020-08-04 17:48 UTC (permalink / raw)
To: Rob Herring, Greg Kroah-Hartman
Cc: Biju Das, Yoshihiro Shimoda, Heikki Krogerus, linux-usb,
devicetree, Geert Uytterhoeven, Chris Paterson, Biju Das,
Prabhakar Mahadev Lad, linux-renesas-soc
Document HS and SS data bus for the "usb-role-switch" enabled case.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
Ref:https://patchwork.kernel.org/patch/11669423/
---
.../bindings/usb/renesas,usb3-peri.yaml | 36 +++++++++++++++----
1 file changed, 30 insertions(+), 6 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/renesas,usb3-peri.yaml b/Documentation/devicetree/bindings/usb/renesas,usb3-peri.yaml
index e3cdeab1199f..3eb964af37b8 100644
--- a/Documentation/devicetree/bindings/usb/renesas,usb3-peri.yaml
+++ b/Documentation/devicetree/bindings/usb/renesas,usb3-peri.yaml
@@ -52,11 +52,24 @@ properties:
$ref: /schemas/types.yaml#/definitions/phandle
description: phandle of a companion.
- port:
+ ports:
description: |
any connector to the data bus of this controller should be modelled
using the OF graph bindings specified, if the "usb-role-switch"
property is used.
+ type: object
+ properties:
+ port@0:
+ type: object
+ description: High Speed (HS) data bus.
+
+ port@1:
+ type: object
+ description: Super Speed (SS) data bus.
+
+ required:
+ - port@0
+ - port@1
required:
- compatible
@@ -79,9 +92,20 @@ examples:
companion = <&xhci0>;
usb-role-switch;
- port {
- usb3_role_switch: endpoint {
- remote-endpoint = <&hd3ss3220_ep>;
- };
- };
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ usb3_hs_ep: endpoint {
+ remote-endpoint = <&hs_ep>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ usb3_role_switch: endpoint {
+ remote-endpoint = <&hd3ss3220_out_ep>;
+ };
+ };
+ };
};
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 4/5] arm64: dts: renesas: cat874: Move connector node out of hd3ss3220 device
2020-08-04 17:48 [PATCH 0/5] Remodel HD3SS3220 device nodes Biju Das
2020-08-04 17:48 ` [PATCH 1/5] dt-bindings: usb: convert ti,hd3ss3220 bindings to json-schema Biju Das
2020-08-04 17:48 ` [PATCH 2/5] dt-bindings: usb: renesas,usb3-peri: Document HS and SS data bus Biju Das
@ 2020-08-04 17:48 ` Biju Das
2020-08-04 17:48 ` [PATCH 5/5] arm64: dts: renesas: beacon-renesom-baseboard: " Biju Das
3 siblings, 0 replies; 5+ messages in thread
From: Biju Das @ 2020-08-04 17:48 UTC (permalink / raw)
To: Rob Herring
Cc: Biju Das, Geert Uytterhoeven, Yoshihiro Shimoda, Magnus Damm,
linux-renesas-soc, devicetree, Chris Paterson, Biju Das,
Prabhakar Mahadev Lad
Move connector node out of hd3ss3220 device in order to comply with usb
connector bindings.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
.../boot/dts/renesas/r8a774c0-cat874.dts | 67 ++++++++++++++-----
1 file changed, 50 insertions(+), 17 deletions(-)
diff --git a/arch/arm64/boot/dts/renesas/r8a774c0-cat874.dts b/arch/arm64/boot/dts/renesas/r8a774c0-cat874.dts
index 26aee004a44e..ea87cb5a459c 100644
--- a/arch/arm64/boot/dts/renesas/r8a774c0-cat874.dts
+++ b/arch/arm64/boot/dts/renesas/r8a774c0-cat874.dts
@@ -129,6 +129,29 @@
#clock-cells = <0>;
clock-frequency = <74250000>;
};
+
+ connector {
+ compatible = "usb-c-connector";
+ label = "USB-C";
+ data-role = "dual";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ hs_ep: endpoint {
+ remote-endpoint = <&usb3_hs_ep>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ ss_ep: endpoint {
+ remote-endpoint = <&hd3ss3220_in_ep>;
+ };
+ };
+ };
+ };
};
&audio_clk_a {
@@ -186,20 +209,19 @@
interrupt-parent = <&gpio6>;
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
- connector {
- compatible = "usb-c-connector";
- label = "USB-C";
- data-role = "dual";
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@1 {
- reg = <1>;
- hd3ss3220_ep: endpoint {
- remote-endpoint = <&usb3_role_switch>;
- };
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ hd3ss3220_in_ep: endpoint {
+ remote-endpoint = <&ss_ep>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ hd3ss3220_out_ep: endpoint {
+ remote-endpoint = <&usb3_role_switch>;
};
};
};
@@ -405,9 +427,20 @@
status = "okay";
usb-role-switch;
- port {
- usb3_role_switch: endpoint {
- remote-endpoint = <&hd3ss3220_ep>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ usb3_hs_ep: endpoint {
+ remote-endpoint = <&hs_ep>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ usb3_role_switch: endpoint {
+ remote-endpoint = <&hd3ss3220_out_ep>;
+ };
};
};
};
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 5/5] arm64: dts: renesas: beacon-renesom-baseboard: Move connector node out of hd3ss3220 device
2020-08-04 17:48 [PATCH 0/5] Remodel HD3SS3220 device nodes Biju Das
` (2 preceding siblings ...)
2020-08-04 17:48 ` [PATCH 4/5] arm64: dts: renesas: cat874: Move connector node out of hd3ss3220 device Biju Das
@ 2020-08-04 17:48 ` Biju Das
3 siblings, 0 replies; 5+ messages in thread
From: Biju Das @ 2020-08-04 17:48 UTC (permalink / raw)
To: Rob Herring
Cc: Biju Das, Geert Uytterhoeven, Yoshihiro Shimoda, Magnus Damm,
linux-renesas-soc, devicetree, Chris Paterson, Biju Das,
Prabhakar Mahadev Lad
Move connector node out of hd3ss3220 device in order to comply with usb
connector bindings.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
.../dts/renesas/beacon-renesom-baseboard.dtsi | 67 ++++++++++++++-----
1 file changed, 50 insertions(+), 17 deletions(-)
diff --git a/arch/arm64/boot/dts/renesas/beacon-renesom-baseboard.dtsi b/arch/arm64/boot/dts/renesas/beacon-renesom-baseboard.dtsi
index 66c9153b3101..e66b5b36e489 100644
--- a/arch/arm64/boot/dts/renesas/beacon-renesom-baseboard.dtsi
+++ b/arch/arm64/boot/dts/renesas/beacon-renesom-baseboard.dtsi
@@ -223,6 +223,29 @@
#clock-cells = <0>;
clock-frequency = <25000000>;
};
+
+ connector {
+ compatible = "usb-c-connector";
+ label = "USB-C";
+ data-role = "dual";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ hs_ep: endpoint {
+ remote-endpoint = <&usb3_hs_ep>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ ss_ep: endpoint {
+ remote-endpoint = <&hd3ss3220_in_ep>;
+ };
+ };
+ };
+ };
};
&audio_clk_a {
@@ -427,20 +450,19 @@
interrupt-parent = <&gpio6>;
interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
- connector {
- compatible = "usb-c-connector";
- label = "USB-C";
- data-role = "dual";
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@1 {
- reg = <1>;
- hd3ss3220_ep: endpoint {
- remote-endpoint = <&usb3_role_switch>;
- };
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ hd3ss3220_in_ep: endpoint {
+ remote-endpoint = <&ss_ep>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ hd3ss3220_out_ep: endpoint {
+ remote-endpoint = <&usb3_role_switch>;
};
};
};
@@ -714,9 +736,20 @@
status = "okay";
usb-role-switch;
- port {
- usb3_role_switch: endpoint {
- remote-endpoint = <&hd3ss3220_ep>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ usb3_hs_ep: endpoint {
+ remote-endpoint = <&hs_ep>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ usb3_role_switch: endpoint {
+ remote-endpoint = <&hd3ss3220_out_ep>;
+ };
};
};
};
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-08-04 17:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-04 17:48 [PATCH 0/5] Remodel HD3SS3220 device nodes Biju Das
2020-08-04 17:48 ` [PATCH 1/5] dt-bindings: usb: convert ti,hd3ss3220 bindings to json-schema Biju Das
2020-08-04 17:48 ` [PATCH 2/5] dt-bindings: usb: renesas,usb3-peri: Document HS and SS data bus Biju Das
2020-08-04 17:48 ` [PATCH 4/5] arm64: dts: renesas: cat874: Move connector node out of hd3ss3220 device Biju Das
2020-08-04 17:48 ` [PATCH 5/5] arm64: dts: renesas: beacon-renesom-baseboard: " Biju Das
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).