devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] Add RZ/G1C USB2.0 Host support
@ 2018-10-25 13:56 Biju Das
  2018-10-25 13:56 ` [PATCH 1/7] dt-bindings: phy: rcar-gen2: Add r8a77470 support Biju Das
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Biju Das @ 2018-10-25 13:56 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Kishon Vijay Abraham I, Wolfram Sang, Yoshihiro Shimoda,
	devicetree, Simon Horman, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro, linux-renesas-soc

This patch series aims to add USB2.0 Host support for RZ/G1C SoC. RZ/G1C
SoC is similar to R-Car Gen2 SoC, but there are some differences

- It has a shared pll reset register for hsusb0/hsusb1 and this register 
  reside in hsusb0 block.

- Each USB host needs to deassert the pll reset of hsusb block apart from
  initializing interrupt enable,OVC detection timer and suspend/resume timer
  register.

To address the above scenarios, add optional usb2.0 host reg and clock
properties.

This patch is tested against phy-next, usb-next and renesas-devel.

References:-
 *) https://www.mail-archive.com/linux-renesas-soc@vger.kernel.org/msg32115.html

Biju Das (7):
  dt-bindings: phy: rcar-gen2: Add r8a77470 support
  phy: renesas: phy-rcar-gen2: Add support for r8a77470
  ARM: dts: r8a77470: Add USB PHY DT support
  ARM: dts: iwg23s-sbc: Enable USB Phy[01]
  ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device nodes
  ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host
  ARM: shmobile: Enable USB [EO]HCI HCD PLATFORM support in
    shmobile_defconfig

 .../devicetree/bindings/phy/rcar-gen2-phy.txt      |  64 ++++++-
 arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts          |  32 ++++
 arch/arm/boot/dts/r8a77470.dtsi                    |  88 ++++++++++
 arch/arm/configs/shmobile_defconfig                |   2 +
 drivers/phy/renesas/phy-rcar-gen2.c                | 188 ++++++++++++++++++++-
 5 files changed, 361 insertions(+), 13 deletions(-)

-- 
2.7.4

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

* [PATCH 1/7] dt-bindings: phy: rcar-gen2: Add r8a77470 support
  2018-10-25 13:56 [PATCH 0/7] Add RZ/G1C USB2.0 Host support Biju Das
@ 2018-10-25 13:56 ` Biju Das
  2018-10-26  9:44   ` Fabrizio Castro
  2018-11-05 23:26   ` Rob Herring
  2018-10-25 13:56 ` [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support Biju Das
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 17+ messages in thread
From: Biju Das @ 2018-10-25 13:56 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, devicetree, Simon Horman, Geert Uytterhoeven,
	Chris Paterson, Fabrizio Castro, Yoshihiro Shimoda,
	linux-renesas-soc

Add USB PHY support for r8a77470 SoC. Renesas RZ/G1C (R8A77470)
USB PHY is similar to the R-Car Gen2 family, but has the below
features compared to other RZ/G1 and R-Car Gen2/3 SoCs

It has a shared pll reset for usbphy0/usbphy1 and this register
reside in usbphy0 block

Each USB2.0 host needs to deassert the pll reset of usbphy0 block.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
---
 .../devicetree/bindings/phy/rcar-gen2-phy.txt      | 64 +++++++++++++++++++---
 1 file changed, 55 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
index eeb9e18..0a59971 100644
--- a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
+++ b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
@@ -6,6 +6,7 @@ This file provides information on what the device node for the R-Car generation
 Required properties:
 - compatible: "renesas,usb-phy-r8a7743" if the device is a part of R8A7743 SoC.
 	      "renesas,usb-phy-r8a7745" if the device is a part of R8A7745 SoC.
+	      "renesas,usb-phy-r8a77470" if the device is a part of R8A77470 SoC.
 	      "renesas,usb-phy-r8a7790" if the device is a part of R8A7790 SoC.
 	      "renesas,usb-phy-r8a7791" if the device is a part of R8A7791 SoC.
 	      "renesas,usb-phy-r8a7794" if the device is a part of R8A7794 SoC.
@@ -23,13 +24,23 @@ Required properties:
 - clocks: clock phandle and specifier pair.
 - clock-names: string, clock input name, must be "usbhs".
 
+Optional properties (r8a77470 SoC Only):
+To use a USB channel as USB 2.0 Host, the device tree node should set below
+optional properties. This is because USB2.0 Host needs to deassert pll reset,
+apart from initializing interrupt enable, OVC detection timer and suspend/
+resume timer register.
+
+- reg: offset and length of the partial USB2.0 Host register block.
+- clocks: clock phandle and specifier pair for usb2.0 host.
+- clk-names: string, clock input name, must be "usb20_host".
+
 The USB PHY device tree node should have the subnodes corresponding to the USB
 channels. These subnodes must contain the following properties:
 - reg: the USB controller selector; see the table below for the values.
 - #phy-cells: see phy-bindings.txt in the same directory, must be <1>.
 
 The phandle's argument in the PHY specifier is the USB controller selector for
-the USB channel; see the selector meanings below:
+the USB channel other than r8a77470 SoC; see the selector meanings below:
 
 +-----------+---------------+---------------+
 |\ Selector |               |               |
@@ -40,22 +51,57 @@ the USB channel; see the selector meanings below:
 | 2         | PCI EHCI/OHCI | xHCI          |
 +-----------+---------------+---------------+
 
+For r8a77470 SoC see the selector meaning below:
+
++-----------+---------------+---------------+
+|\ Selector |               |               |
++ --------- +       0       |       1       |
+| Channel  \|               |               |
++-----------+---------------+---------------+
+| 0         | EHCI/OHCI     | HS-USB        |
++-----------+---------------+---------------+
+
 Example (Lager board):
 
-	usb-phy@e6590100 {
-		compatible = "renesas,usb-phy-r8a7790", "renesas,rcar-gen2-usb-phy";
+	usbphy: usb-phy@e6590100 {
+		compatible = "renesas,usb-phy-r8a7790",
+		             "renesas,rcar-gen2-usb-phy";
 		reg = <0 0xe6590100 0 0x100>;
 		#address-cells = <1>;
 		#size-cells = <0>;
-		clocks = <&mstp7_clks R8A7790_CLK_HSUSB>;
+		clocks = <&cpg CPG_MOD 704>;
 		clock-names = "usbhs";
+		power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
+		resets = <&cpg 704>;
+		status = "disabled";
 
-		usb-channel@0 {
-			reg = <0>;
-			#phy-cells = <1>;
+		usb0: usb-channel@0 {
+		        reg = <0>;
+		        #phy-cells = <1>;
+		};
+		usb2: usb-channel@2 {
+		        reg = <2>;
+		        #phy-cells = <1>;
 		};
-		usb-channel@2 {
-			reg = <2>;
+	};
+
+Example (iWave RZ/G1C SBC):
+
+	usbphy0: usb-phy0@e6590100 {
+		compatible = "renesas,usb-phy-r8a77470",
+			     "renesas,rcar-gen2-usb-phy";
+		reg = <0 0xe6590100 0 0x100>,
+		      <0 0xee080200 0 0x118>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+		clocks = <&cpg CPG_MOD 704>, <&cpg CPG_MOD 703>;
+		clock-names = "usbhs", "usb20_host";
+		power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+		resets = <&cpg 704>, <&cpg 703>;
+		status = "disabled";
+
+		usb0: usb-channel@0 {
+			reg = <0>;
 			#phy-cells = <1>;
 		};
 	};
-- 
2.7.4

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

* [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support
  2018-10-25 13:56 [PATCH 0/7] Add RZ/G1C USB2.0 Host support Biju Das
  2018-10-25 13:56 ` [PATCH 1/7] dt-bindings: phy: rcar-gen2: Add r8a77470 support Biju Das
@ 2018-10-25 13:56 ` Biju Das
  2018-10-26  9:44   ` Fabrizio Castro
  2018-10-29  8:41   ` Yoshihiro Shimoda
  2018-10-25 13:56 ` [PATCH 4/7] ARM: dts: iwg23s-sbc: Enable USB Phy[01] Biju Das
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 17+ messages in thread
From: Biju Das @ 2018-10-25 13:56 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda, Chris Paterson,
	Fabrizio Castro

Define the r8a77470 generic part of the USB PHY device node.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
---
This patch is tested against renesas-devel
---
 arch/arm/boot/dts/r8a77470.dtsi | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/arch/arm/boot/dts/r8a77470.dtsi b/arch/arm/boot/dts/r8a77470.dtsi
index 6ac7f46..7d20c3b 100644
--- a/arch/arm/boot/dts/r8a77470.dtsi
+++ b/arch/arm/boot/dts/r8a77470.dtsi
@@ -315,6 +315,44 @@
 			status = "disabled";
 		};
 
+		usbphy0: usb-phy@e6590100 {
+			compatible = "renesas,usb-phy-r8a77470",
+				     "renesas,rcar-gen2-usb-phy";
+			reg = <0 0xe6590100 0 0x100>,
+				<0 0xee080200 0 0x118>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			clocks = <&cpg CPG_MOD 704>, <&cpg CPG_MOD 703>;
+			clock-names = "usbhs", "usb20_host";
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 704>, <&cpg 703>;
+			status = "disabled";
+
+			usb0: usb-channel@0 {
+				reg = <0>;
+				#phy-cells = <1>;
+			};
+		};
+
+		usbphy1: usb-phy@e6598100 {
+			compatible = "renesas,usb-phy-r8a77470",
+				     "renesas,rcar-gen2-usb-phy";
+			reg = <0 0xe6598100 0 0x100>,
+			      <0 0xee0c0200 0 0x118>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			clocks = <&cpg CPG_MOD 706>, <&cpg CPG_MOD 705>;
+			clock-names = "usbhs", "usb20_host";
+			status = "disabled";
+			resets = <&cpg 706>, <&cpg 705>;
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+
+			usb1: usb-channel@0 {
+				reg = <0>;
+				#phy-cells = <1>;
+			};
+		};
+
 		dmac0: dma-controller@e6700000 {
 			compatible = "renesas,dmac-r8a77470",
 				     "renesas,rcar-dmac";
-- 
2.7.4

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

* [PATCH 4/7] ARM: dts: iwg23s-sbc: Enable USB Phy[01]
  2018-10-25 13:56 [PATCH 0/7] Add RZ/G1C USB2.0 Host support Biju Das
  2018-10-25 13:56 ` [PATCH 1/7] dt-bindings: phy: rcar-gen2: Add r8a77470 support Biju Das
  2018-10-25 13:56 ` [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support Biju Das
@ 2018-10-25 13:56 ` Biju Das
  2018-10-26  9:45   ` Fabrizio Castro
  2018-10-25 13:56 ` [PATCH 5/7] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device nodes Biju Das
  2018-10-25 13:56 ` [PATCH 6/7] ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host Biju Das
  4 siblings, 1 reply; 17+ messages in thread
From: Biju Das @ 2018-10-25 13:56 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda, Chris Paterson,
	Fabrizio Castro

Enable USB phy[01] on iWave iwg23s sbc based on RZ/G1C SoC.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
---
This patch is tested against renesas devel.
---
 arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
index e5cfb50..157af7c 100644
--- a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
+++ b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
@@ -100,6 +100,16 @@
 		function = "sdhi2";
 		power-source = <1800>;
 	};
+
+	usb0_pins: usb0 {
+		groups = "usb0";
+		function = "usb0";
+	};
+
+	usb1_pins: usb1 {
+		groups = "usb1";
+		function = "usb1";
+	};
 };
 
 &scif1 {
@@ -134,3 +144,17 @@
 	sd-uhs-sdr50;
 	status = "okay";
 };
+
+&usbphy0 {
+	pinctrl-0 = <&usb0_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
+
+&usbphy1 {
+	pinctrl-0 = <&usb1_pins>;
+	pinctrl-names = "default";
+
+	status = "okay";
+};
-- 
2.7.4

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

* [PATCH 5/7] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device nodes
  2018-10-25 13:56 [PATCH 0/7] Add RZ/G1C USB2.0 Host support Biju Das
                   ` (2 preceding siblings ...)
  2018-10-25 13:56 ` [PATCH 4/7] ARM: dts: iwg23s-sbc: Enable USB Phy[01] Biju Das
@ 2018-10-25 13:56 ` Biju Das
  2018-10-26  9:45   ` Fabrizio Castro
  2018-10-25 13:56 ` [PATCH 6/7] ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host Biju Das
  4 siblings, 1 reply; 17+ messages in thread
From: Biju Das @ 2018-10-25 13:56 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda, Chris Paterson,
	Fabrizio Castro

Define the r8a77470 generic part of the USB2.0 Host Controller device
nodes (ehci[01]/ohci[01]).

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
---
This patch is tested against renesas devel.
---
 arch/arm/boot/dts/r8a77470.dtsi | 50 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/arch/arm/boot/dts/r8a77470.dtsi b/arch/arm/boot/dts/r8a77470.dtsi
index 7d20c3b..935b82b 100644
--- a/arch/arm/boot/dts/r8a77470.dtsi
+++ b/arch/arm/boot/dts/r8a77470.dtsi
@@ -528,6 +528,56 @@
 			status = "disabled";
 		};
 
+		ohci0: usb@ee080000 {
+			compatible = "generic-ohci";
+			reg = <0 0xee080000 0 0x100>;
+			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 703>;
+			phys = <&usb0 0>;
+			phy-names = "usb";
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 703>;
+			status = "disabled";
+		};
+
+		ohci1: usb@ee0c0000 {
+			compatible = "generic-ohci";
+			reg = <0 0xee0c0000 0 0x100>;
+			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 705>;
+			phys = <&usb1 0>, <&usb0 1>;
+			phy-names = "usb";
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 705>;
+			status = "disabled";
+		};
+
+		ehci0: usb@ee080100 {
+			compatible = "generic-ehci";
+			reg = <0 0xee080100 0 0x100>;
+			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 703>;
+			phys = <&usb0 0>;
+			phy-names = "usb";
+			companion = <&ohci0>;
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 703>;
+			status = "disabled";
+		};
+
+		ehci1: usb@ee0c0100 {
+			compatible = "generic-ehci";
+			reg = <0 0xee0c0100 0 0x100>;
+			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 705>;
+			phys = <&usb1 0>, <&usb0 1>;
+			phy-names = "usb";
+			companion = <&ohci1>;
+			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
+			resets = <&cpg 705>;
+			status = "disabled";
+		};
+
 		sdhi0: sd@ee100000 {
 			compatible = "renesas,sdhi-r8a77470",
 				     "renesas,rcar-gen2-sdhi";
-- 
2.7.4

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

* [PATCH 6/7] ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host
  2018-10-25 13:56 [PATCH 0/7] Add RZ/G1C USB2.0 Host support Biju Das
                   ` (3 preceding siblings ...)
  2018-10-25 13:56 ` [PATCH 5/7] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device nodes Biju Das
@ 2018-10-25 13:56 ` Biju Das
  2018-10-26  9:45   ` Fabrizio Castro
  4 siblings, 1 reply; 17+ messages in thread
From: Biju Das @ 2018-10-25 13:56 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Biju Das, Simon Horman, Magnus Damm, linux-renesas-soc,
	devicetree, Geert Uytterhoeven, Yoshihiro Shimoda, Chris Paterson,
	Fabrizio Castro

Enable USB2.0 host on USB port1 of the iwg23s sbc.

Signed-off-by: Biju Das <biju.das@bp.renesas.com>
---
This patch is tested against renesas-devel.
---
 arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
index 157af7c..7aa7993e 100644
--- a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
+++ b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
@@ -73,10 +73,18 @@
 	};
 };
 
+&ehci1 {
+	status = "okay";
+};
+
 &extal_clk {
 	clock-frequency = <20000000>;
 };
 
+&ohci1 {
+	status = "okay";
+};
+
 &pfc {
 	mmc_pins_uhs: mmc_uhs {
 		groups = "mmc_data8", "mmc_ctrl";
-- 
2.7.4

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

* RE: [PATCH 1/7] dt-bindings: phy: rcar-gen2: Add r8a77470 support
  2018-10-25 13:56 ` [PATCH 1/7] dt-bindings: phy: rcar-gen2: Add r8a77470 support Biju Das
@ 2018-10-26  9:44   ` Fabrizio Castro
  2018-11-05 23:26   ` Rob Herring
  1 sibling, 0 replies; 17+ messages in thread
From: Fabrizio Castro @ 2018-10-26  9:44 UTC (permalink / raw)
  To: Biju Das, Rob Herring, Mark Rutland
  Cc: devicetree@vger.kernel.org, Simon Horman, Geert Uytterhoeven,
	Chris Paterson, Yoshihiro Shimoda,
	linux-renesas-soc@vger.kernel.org

> Subject: [PATCH 1/7] dt-bindings: phy: rcar-gen2: Add r8a77470 support
>
> Add USB PHY support for r8a77470 SoC. Renesas RZ/G1C (R8A77470)
> USB PHY is similar to the R-Car Gen2 family, but has the below
> features compared to other RZ/G1 and R-Car Gen2/3 SoCs
>
> It has a shared pll reset for usbphy0/usbphy1 and this register
> reside in usbphy0 block
>
> Each USB2.0 host needs to deassert the pll reset of usbphy0 block.
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>

> ---
>  .../devicetree/bindings/phy/rcar-gen2-phy.txt      | 64 +++++++++++++++++++---
>  1 file changed, 55 insertions(+), 9 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
> index eeb9e18..0a59971 100644
> --- a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
> +++ b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
> @@ -6,6 +6,7 @@ This file provides information on what the device node for the R-Car generation
>  Required properties:
>  - compatible: "renesas,usb-phy-r8a7743" if the device is a part of R8A7743 SoC.
>        "renesas,usb-phy-r8a7745" if the device is a part of R8A7745 SoC.
> +      "renesas,usb-phy-r8a77470" if the device is a part of R8A77470 SoC.
>        "renesas,usb-phy-r8a7790" if the device is a part of R8A7790 SoC.
>        "renesas,usb-phy-r8a7791" if the device is a part of R8A7791 SoC.
>        "renesas,usb-phy-r8a7794" if the device is a part of R8A7794 SoC.
> @@ -23,13 +24,23 @@ Required properties:
>  - clocks: clock phandle and specifier pair.
>  - clock-names: string, clock input name, must be "usbhs".
>
> +Optional properties (r8a77470 SoC Only):
> +To use a USB channel as USB 2.0 Host, the device tree node should set below
> +optional properties. This is because USB2.0 Host needs to deassert pll reset,
> +apart from initializing interrupt enable, OVC detection timer and suspend/
> +resume timer register.
> +
> +- reg: offset and length of the partial USB2.0 Host register block.
> +- clocks: clock phandle and specifier pair for usb2.0 host.
> +- clk-names: string, clock input name, must be "usb20_host".
> +
>  The USB PHY device tree node should have the subnodes corresponding to the USB
>  channels. These subnodes must contain the following properties:
>  - reg: the USB controller selector; see the table below for the values.
>  - #phy-cells: see phy-bindings.txt in the same directory, must be <1>.
>
>  The phandle's argument in the PHY specifier is the USB controller selector for
> -the USB channel; see the selector meanings below:
> +the USB channel other than r8a77470 SoC; see the selector meanings below:
>
>  +-----------+---------------+---------------+
>  |\ Selector |               |               |
> @@ -40,22 +51,57 @@ the USB channel; see the selector meanings below:
>  | 2         | PCI EHCI/OHCI | xHCI          |
>  +-----------+---------------+---------------+
>
> +For r8a77470 SoC see the selector meaning below:
> +
> ++-----------+---------------+---------------+
> +|\ Selector |               |               |
> ++ --------- +       0       |       1       |
> +| Channel  \|               |               |
> ++-----------+---------------+---------------+
> +| 0         | EHCI/OHCI     | HS-USB        |
> ++-----------+---------------+---------------+
> +
>  Example (Lager board):
>
> -usb-phy@e6590100 {
> -compatible = "renesas,usb-phy-r8a7790", "renesas,rcar-gen2-usb-phy";
> +usbphy: usb-phy@e6590100 {
> +compatible = "renesas,usb-phy-r8a7790",
> +             "renesas,rcar-gen2-usb-phy";
>  reg = <0 0xe6590100 0 0x100>;
>  #address-cells = <1>;
>  #size-cells = <0>;
> -clocks = <&mstp7_clks R8A7790_CLK_HSUSB>;
> +clocks = <&cpg CPG_MOD 704>;
>  clock-names = "usbhs";
> +power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
> +resets = <&cpg 704>;
> +status = "disabled";
>
> -usb-channel@0 {
> -reg = <0>;
> -#phy-cells = <1>;
> +usb0: usb-channel@0 {
> +        reg = <0>;
> +        #phy-cells = <1>;
> +};
> +usb2: usb-channel@2 {
> +        reg = <2>;
> +        #phy-cells = <1>;
>  };
> -usb-channel@2 {
> -reg = <2>;
> +};
> +
> +Example (iWave RZ/G1C SBC):
> +
> +usbphy0: usb-phy0@e6590100 {
> +compatible = "renesas,usb-phy-r8a77470",
> +     "renesas,rcar-gen2-usb-phy";
> +reg = <0 0xe6590100 0 0x100>,
> +      <0 0xee080200 0 0x118>;
> +#address-cells = <1>;
> +#size-cells = <0>;
> +clocks = <&cpg CPG_MOD 704>, <&cpg CPG_MOD 703>;
> +clock-names = "usbhs", "usb20_host";
> +power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
> +resets = <&cpg 704>, <&cpg 703>;
> +status = "disabled";
> +
> +usb0: usb-channel@0 {
> +reg = <0>;
>  #phy-cells = <1>;
>  };
>  };
> --
> 2.7.4




Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.

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

* RE: [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support
  2018-10-25 13:56 ` [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support Biju Das
@ 2018-10-26  9:44   ` Fabrizio Castro
  2018-10-29  8:41   ` Yoshihiro Shimoda
  1 sibling, 0 replies; 17+ messages in thread
From: Fabrizio Castro @ 2018-10-26  9:44 UTC (permalink / raw)
  To: Biju Das, Rob Herring, Mark Rutland
  Cc: Simon Horman, Magnus Damm, linux-renesas-soc@vger.kernel.org,
	devicetree@vger.kernel.org, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson

> Subject: [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support
>
> Define the r8a77470 generic part of the USB PHY device node.
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>

> ---
> This patch is tested against renesas-devel
> ---
>  arch/arm/boot/dts/r8a77470.dtsi | 38 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
>
> diff --git a/arch/arm/boot/dts/r8a77470.dtsi b/arch/arm/boot/dts/r8a77470.dtsi
> index 6ac7f46..7d20c3b 100644
> --- a/arch/arm/boot/dts/r8a77470.dtsi
> +++ b/arch/arm/boot/dts/r8a77470.dtsi
> @@ -315,6 +315,44 @@
>  status = "disabled";
>  };
>
> +usbphy0: usb-phy@e6590100 {
> +compatible = "renesas,usb-phy-r8a77470",
> +     "renesas,rcar-gen2-usb-phy";
> +reg = <0 0xe6590100 0 0x100>,
> +<0 0xee080200 0 0x118>;
> +#address-cells = <1>;
> +#size-cells = <0>;
> +clocks = <&cpg CPG_MOD 704>, <&cpg CPG_MOD 703>;
> +clock-names = "usbhs", "usb20_host";
> +power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
> +resets = <&cpg 704>, <&cpg 703>;
> +status = "disabled";
> +
> +usb0: usb-channel@0 {
> +reg = <0>;
> +#phy-cells = <1>;
> +};
> +};
> +
> +usbphy1: usb-phy@e6598100 {
> +compatible = "renesas,usb-phy-r8a77470",
> +     "renesas,rcar-gen2-usb-phy";
> +reg = <0 0xe6598100 0 0x100>,
> +      <0 0xee0c0200 0 0x118>;
> +#address-cells = <1>;
> +#size-cells = <0>;
> +clocks = <&cpg CPG_MOD 706>, <&cpg CPG_MOD 705>;
> +clock-names = "usbhs", "usb20_host";
> +status = "disabled";
> +resets = <&cpg 706>, <&cpg 705>;
> +power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
> +
> +usb1: usb-channel@0 {
> +reg = <0>;
> +#phy-cells = <1>;
> +};
> +};
> +
>  dmac0: dma-controller@e6700000 {
>  compatible = "renesas,dmac-r8a77470",
>       "renesas,rcar-dmac";
> --
> 2.7.4




Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.

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

* RE: [PATCH 4/7] ARM: dts: iwg23s-sbc: Enable USB Phy[01]
  2018-10-25 13:56 ` [PATCH 4/7] ARM: dts: iwg23s-sbc: Enable USB Phy[01] Biju Das
@ 2018-10-26  9:45   ` Fabrizio Castro
  0 siblings, 0 replies; 17+ messages in thread
From: Fabrizio Castro @ 2018-10-26  9:45 UTC (permalink / raw)
  To: Biju Das, Rob Herring, Mark Rutland
  Cc: Simon Horman, Magnus Damm, linux-renesas-soc@vger.kernel.org,
	devicetree@vger.kernel.org, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson

> Subject: [PATCH 4/7] ARM: dts: iwg23s-sbc: Enable USB Phy[01]
>
> Enable USB phy[01] on iWave iwg23s sbc based on RZ/G1C SoC.
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>

> ---
> This patch is tested against renesas devel.
> ---
>  arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
>
> diff --git a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
> index e5cfb50..157af7c 100644
> --- a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
> +++ b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
> @@ -100,6 +100,16 @@
>  function = "sdhi2";
>  power-source = <1800>;
>  };
> +
> +usb0_pins: usb0 {
> +groups = "usb0";
> +function = "usb0";
> +};
> +
> +usb1_pins: usb1 {
> +groups = "usb1";
> +function = "usb1";
> +};
>  };
>
>  &scif1 {
> @@ -134,3 +144,17 @@
>  sd-uhs-sdr50;
>  status = "okay";
>  };
> +
> +&usbphy0 {
> +pinctrl-0 = <&usb0_pins>;
> +pinctrl-names = "default";
> +
> +status = "okay";
> +};
> +
> +&usbphy1 {
> +pinctrl-0 = <&usb1_pins>;
> +pinctrl-names = "default";
> +
> +status = "okay";
> +};
> --
> 2.7.4




Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.

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

* RE: [PATCH 5/7] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device nodes
  2018-10-25 13:56 ` [PATCH 5/7] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device nodes Biju Das
@ 2018-10-26  9:45   ` Fabrizio Castro
  0 siblings, 0 replies; 17+ messages in thread
From: Fabrizio Castro @ 2018-10-26  9:45 UTC (permalink / raw)
  To: Biju Das, Rob Herring, Mark Rutland
  Cc: Simon Horman, Magnus Damm, linux-renesas-soc@vger.kernel.org,
	devicetree@vger.kernel.org, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson

> Subject: [PATCH 5/7] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device nodes
>
> Define the r8a77470 generic part of the USB2.0 Host Controller device
> nodes (ehci[01]/ohci[01]).
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>

> ---
> This patch is tested against renesas devel.
> ---
>  arch/arm/boot/dts/r8a77470.dtsi | 50 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 50 insertions(+)
>
> diff --git a/arch/arm/boot/dts/r8a77470.dtsi b/arch/arm/boot/dts/r8a77470.dtsi
> index 7d20c3b..935b82b 100644
> --- a/arch/arm/boot/dts/r8a77470.dtsi
> +++ b/arch/arm/boot/dts/r8a77470.dtsi
> @@ -528,6 +528,56 @@
>  status = "disabled";
>  };
>
> +ohci0: usb@ee080000 {
> +compatible = "generic-ohci";
> +reg = <0 0xee080000 0 0x100>;
> +interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
> +clocks = <&cpg CPG_MOD 703>;
> +phys = <&usb0 0>;
> +phy-names = "usb";
> +power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
> +resets = <&cpg 703>;
> +status = "disabled";
> +};
> +
> +ohci1: usb@ee0c0000 {
> +compatible = "generic-ohci";
> +reg = <0 0xee0c0000 0 0x100>;
> +interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
> +clocks = <&cpg CPG_MOD 705>;
> +phys = <&usb1 0>, <&usb0 1>;
> +phy-names = "usb";
> +power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
> +resets = <&cpg 705>;
> +status = "disabled";
> +};
> +
> +ehci0: usb@ee080100 {
> +compatible = "generic-ehci";
> +reg = <0 0xee080100 0 0x100>;
> +interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
> +clocks = <&cpg CPG_MOD 703>;
> +phys = <&usb0 0>;
> +phy-names = "usb";
> +companion = <&ohci0>;
> +power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
> +resets = <&cpg 703>;
> +status = "disabled";
> +};
> +
> +ehci1: usb@ee0c0100 {
> +compatible = "generic-ehci";
> +reg = <0 0xee0c0100 0 0x100>;
> +interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
> +clocks = <&cpg CPG_MOD 705>;
> +phys = <&usb1 0>, <&usb0 1>;
> +phy-names = "usb";
> +companion = <&ohci1>;
> +power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
> +resets = <&cpg 705>;
> +status = "disabled";
> +};
> +
>  sdhi0: sd@ee100000 {
>  compatible = "renesas,sdhi-r8a77470",
>       "renesas,rcar-gen2-sdhi";
> --
> 2.7.4




Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.

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

* RE: [PATCH 6/7] ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host
  2018-10-25 13:56 ` [PATCH 6/7] ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host Biju Das
@ 2018-10-26  9:45   ` Fabrizio Castro
  0 siblings, 0 replies; 17+ messages in thread
From: Fabrizio Castro @ 2018-10-26  9:45 UTC (permalink / raw)
  To: Biju Das, Rob Herring, Mark Rutland
  Cc: Simon Horman, Magnus Damm, linux-renesas-soc@vger.kernel.org,
	devicetree@vger.kernel.org, Geert Uytterhoeven, Yoshihiro Shimoda,
	Chris Paterson

> Subject: [PATCH 6/7] ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host
>
> Enable USB2.0 host on USB port1 of the iwg23s sbc.
>
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>

Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>

> ---
> This patch is tested against renesas-devel.
> ---
>  arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
> index 157af7c..7aa7993e 100644
> --- a/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
> +++ b/arch/arm/boot/dts/r8a77470-iwg23s-sbc.dts
> @@ -73,10 +73,18 @@
>  };
>  };
>
> +&ehci1 {
> +status = "okay";
> +};
> +
>  &extal_clk {
>  clock-frequency = <20000000>;
>  };
>
> +&ohci1 {
> +status = "okay";
> +};
> +
>  &pfc {
>  mmc_pins_uhs: mmc_uhs {
>  groups = "mmc_data8", "mmc_ctrl";
> --
> 2.7.4




Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.

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

* RE: [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support
  2018-10-25 13:56 ` [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support Biju Das
  2018-10-26  9:44   ` Fabrizio Castro
@ 2018-10-29  8:41   ` Yoshihiro Shimoda
  2018-10-29  9:14     ` Biju Das
  1 sibling, 1 reply; 17+ messages in thread
From: Yoshihiro Shimoda @ 2018-10-29  8:41 UTC (permalink / raw)
  To: Biju Das, Rob Herring, Mark Rutland
  Cc: Simon Horman, Magnus Damm, linux-renesas-soc@vger.kernel.org,
	devicetree@vger.kernel.org, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro

Hi Biju-san,

> From: Biju Das, Sent: Thursday, October 25, 2018 10:57 PM
> 
> Define the r8a77470 generic part of the USB PHY device node.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> ---
> This patch is tested against renesas-devel

Thank you for the patch!

<snip>
> +		usbphy1: usb-phy@e6598100 {
> +			compatible = "renesas,usb-phy-r8a77470",
> +				     "renesas,rcar-gen2-usb-phy";
> +			reg = <0 0xe6598100 0 0x100>,
> +			      <0 0xee0c0200 0 0x118>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			clocks = <&cpg CPG_MOD 706>, <&cpg CPG_MOD 705>;
> +			clock-names = "usbhs", "usb20_host";
> +			status = "disabled";
> +			resets = <&cpg 706>, <&cpg 705>;
> +			power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
> +
> +			usb1: usb-channel@0 {
> +				reg = <0>;
> +				#phy-cells = <1>;
> +			};
> +		};

I think this usbphy1 has to have 'status = "disabled"'.

Best regards,
Yoshihiro Shimoda

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

* RE: [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support
  2018-10-29  8:41   ` Yoshihiro Shimoda
@ 2018-10-29  9:14     ` Biju Das
  2018-10-29 11:03       ` Yoshihiro Shimoda
  0 siblings, 1 reply; 17+ messages in thread
From: Biju Das @ 2018-10-29  9:14 UTC (permalink / raw)
  To: Yoshihiro Shimoda, Rob Herring, Mark Rutland
  Cc: Simon Horman, Magnus Damm, linux-renesas-soc@vger.kernel.org,
	devicetree@vger.kernel.org, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro

Hi Shimoda-San,

Thanks for the feedback.

Regards,
Biju

> -----Original Message-----
> From: Yoshihiro Shimoda
> Sent: 29 October 2018 08:42
> To: Biju Das <biju.das@bp.renesas.com>; Rob Herring
> <robh+dt@kernel.org>; Mark Rutland <mark.rutland@arm.com>
> Cc: Biju Das <biju.das@bp.renesas.com>; Simon Horman
> <horms@verge.net.au>; Magnus Damm <magnus.damm@gmail.com>;
> linux-renesas-soc@vger.kernel.org; devicetree@vger.kernel.org; Geert
> Uytterhoeven <geert+renesas@glider.be>; Chris Paterson
> <Chris.Paterson2@renesas.com>; Fabrizio Castro
> <fabrizio.castro@bp.renesas.com>
> Subject: RE: [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support
>
> Hi Biju-san,
>
> > From: Biju Das, Sent: Thursday, October 25, 2018 10:57 PM
> >
> > Define the r8a77470 generic part of the USB PHY device node.
> >
> > Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> > ---
> > This patch is tested against renesas-devel
>
> Thank you for the patch!
>
> <snip>
> > +usbphy1: usb-phy@e6598100 {
> > +compatible = "renesas,usb-phy-r8a77470",
> > +     "renesas,rcar-gen2-usb-phy";
> > +reg = <0 0xe6598100 0 0x100>,
> > +      <0 0xee0c0200 0 0x118>;
> > +#address-cells = <1>;
> > +#size-cells = <0>;
> > +clocks = <&cpg CPG_MOD 706>, <&cpg CPG_MOD
> 705>;
> > +clock-names = "usbhs", "usb20_host";
> > +status = "disabled";

'status = "disabled"'.

> > +resets = <&cpg 706>, <&cpg 705>;
> > +power-domains = <&sysc
> R8A77470_PD_ALWAYS_ON>;
> > +
> > +usb1: usb-channel@0 {
> > +reg = <0>;
> > +#phy-cells = <1>;
> > +};
> > +};
>
> I think this usbphy1 has to have 'status = "disabled"'.

It is already disabled please see above.

Regards,
Biju



Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.

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

* RE: [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support
  2018-10-29  9:14     ` Biju Das
@ 2018-10-29 11:03       ` Yoshihiro Shimoda
  2018-10-29 11:26         ` Biju Das
  0 siblings, 1 reply; 17+ messages in thread
From: Yoshihiro Shimoda @ 2018-10-29 11:03 UTC (permalink / raw)
  To: Biju Das
  Cc: Simon Horman, Magnus Damm, linux-renesas-soc@vger.kernel.org,
	devicetree@vger.kernel.org, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro, Rob Herring, Mark Rutland

Hi Biju-san,

> From: Biju Das, Sent: Monday, October 29, 2018 6:15 PM
> > -----Original Message-----
> > From: Yoshihiro Shimoda
> > Sent: 29 October 2018 08:42
> >
> > Hi Biju-san,
> >
> > > From: Biju Das, Sent: Thursday, October 25, 2018 10:57 PM
> > >
> > > Define the r8a77470 generic part of the USB PHY device node.
> > >
> > > Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> > > ---
> > > This patch is tested against renesas-devel
> >
> > Thank you for the patch!
> >
> > <snip>
> > > +		usbphy1: usb-phy@e6598100 {
> > > +			compatible = "renesas,usb-phy-r8a77470",
> > > +				     "renesas,rcar-gen2-usb-phy";
> > > +			reg = <0 0xe6598100 0 0x100>,
> > > +			      <0 0xee0c0200 0 0x118>;
> > > +			#address-cells = <1>;
> > > +			#size-cells = <0>;
> > > +			clocks = <&cpg CPG_MOD 706>, <&cpg CPG_MOD
> > 705>;
> > > +			clock-names = "usbhs", "usb20_host";
> > > +			status = "disabled";
> 
> 'status = "disabled"'.

Oops! I overlooked this line...

> > > +			resets = <&cpg 706>, <&cpg 705>;
> > > +			power-domains = <&sysc
> > R8A77470_PD_ALWAYS_ON>;
> > > +
> > > +			usb1: usb-channel@0 {
> > > +				reg = <0>;
> > > +				#phy-cells = <1>;
> > > +			};
> > > +		};
> >
> > I think this usbphy1 has to have 'status = "disabled"'.
> 
> It is already disabled please see above.

Indeed.
However, I prefer that properties order of both usbphy0 and usbphy1
are the same because it improves readability.

Best regards,
Yoshihiro Shimoda


> Regards,
> Biju

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

* RE: [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support
  2018-10-29 11:03       ` Yoshihiro Shimoda
@ 2018-10-29 11:26         ` Biju Das
  0 siblings, 0 replies; 17+ messages in thread
From: Biju Das @ 2018-10-29 11:26 UTC (permalink / raw)
  To: Yoshihiro Shimoda
  Cc: Simon Horman, Magnus Damm, linux-renesas-soc@vger.kernel.org,
	devicetree@vger.kernel.org, Geert Uytterhoeven, Chris Paterson,
	Fabrizio Castro, Rob Herring, Mark Rutland

HI Shimoda-San,

Thanks for the feedback.

> Subject: RE: [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support
>
> Hi Biju-san,
>
> > From: Biju Das, Sent: Monday, October 29, 2018 6:15 PM
> > > -----Original Message-----
> > > From: Yoshihiro Shimoda
> > > Sent: 29 October 2018 08:42
> > >
> > > Hi Biju-san,
> > >
> > > > From: Biju Das, Sent: Thursday, October 25, 2018 10:57 PM
> > > >
> > > > Define the r8a77470 generic part of the USB PHY device node.
> > > >
> > > > Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> > > > ---
> > > > This patch is tested against renesas-devel
> > >
> > > Thank you for the patch!
> > >
> > > <snip>
> > > > +usbphy1: usb-phy@e6598100 {
> > > > +compatible = "renesas,usb-phy-r8a77470",
> > > > +     "renesas,rcar-gen2-usb-phy";
> > > > +reg = <0 0xe6598100 0 0x100>,
> > > > +      <0 0xee0c0200 0 0x118>;
> > > > +#address-cells = <1>;
> > > > +#size-cells = <0>;
> > > > +clocks = <&cpg CPG_MOD 706>, <&cpg CPG_MOD
> > > 705>;
> > > > +clock-names = "usbhs", "usb20_host";
> > > > +status = "disabled";
> >
> > 'status = "disabled"'.
>
> Oops! I overlooked this line...
>
> > > > +resets = <&cpg 706>, <&cpg 705>;
> > > > +power-domains = <&sysc
> > > R8A77470_PD_ALWAYS_ON>;
> > > > +
> > > > +usb1: usb-channel@0 {
> > > > +reg = <0>;
> > > > +#phy-cells = <1>;
> > > > +};
> > > > +};
> > >
> > > I think this usbphy1 has to have 'status = "disabled"'.
> >
> > It is already disabled please see above.
>
> Indeed.
> However, I prefer that properties order of both usbphy0 and usbphy1 are
> the same because it improves readability.

OK. Will fix this.

Regards,
Biju



Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.

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

* Re: [PATCH 1/7] dt-bindings: phy: rcar-gen2: Add r8a77470 support
  2018-10-25 13:56 ` [PATCH 1/7] dt-bindings: phy: rcar-gen2: Add r8a77470 support Biju Das
  2018-10-26  9:44   ` Fabrizio Castro
@ 2018-11-05 23:26   ` Rob Herring
  2018-11-19  8:20     ` Biju Das
  1 sibling, 1 reply; 17+ messages in thread
From: Rob Herring @ 2018-11-05 23:26 UTC (permalink / raw)
  To: Biju Das
  Cc: Mark Rutland, devicetree, Simon Horman, Geert Uytterhoeven,
	Chris Paterson, Fabrizio Castro, Yoshihiro Shimoda,
	linux-renesas-soc

On Thu, Oct 25, 2018 at 02:56:53PM +0100, Biju Das wrote:
> Add USB PHY support for r8a77470 SoC. Renesas RZ/G1C (R8A77470)
> USB PHY is similar to the R-Car Gen2 family, but has the below
> features compared to other RZ/G1 and R-Car Gen2/3 SoCs
> 
> It has a shared pll reset for usbphy0/usbphy1 and this register
> reside in usbphy0 block
> 
> Each USB2.0 host needs to deassert the pll reset of usbphy0 block.
> 
> Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> ---
>  .../devicetree/bindings/phy/rcar-gen2-phy.txt      | 64 +++++++++++++++++++---
>  1 file changed, 55 insertions(+), 9 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
> index eeb9e18..0a59971 100644
> --- a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
> +++ b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
> @@ -6,6 +6,7 @@ This file provides information on what the device node for the R-Car generation
>  Required properties:
>  - compatible: "renesas,usb-phy-r8a7743" if the device is a part of R8A7743 SoC.
>  	      "renesas,usb-phy-r8a7745" if the device is a part of R8A7745 SoC.
> +	      "renesas,usb-phy-r8a77470" if the device is a part of R8A77470 SoC.
>  	      "renesas,usb-phy-r8a7790" if the device is a part of R8A7790 SoC.
>  	      "renesas,usb-phy-r8a7791" if the device is a part of R8A7791 SoC.
>  	      "renesas,usb-phy-r8a7794" if the device is a part of R8A7794 SoC.
> @@ -23,13 +24,23 @@ Required properties:
>  - clocks: clock phandle and specifier pair.
>  - clock-names: string, clock input name, must be "usbhs".
>  
> +Optional properties (r8a77470 SoC Only):
> +To use a USB channel as USB 2.0 Host, the device tree node should set below
> +optional properties. This is because USB2.0 Host needs to deassert pll reset,
> +apart from initializing interrupt enable, OVC detection timer and suspend/
> +resume timer register.
> +
> +- reg: offset and length of the partial USB2.0 Host register block.

USB host registers in the phy node? And somewhere else too? Don't create 
overlapping regions in DT. That's not a reflection of the h/w and also 
is an error in the kernel's resource handling code (which we work-around 
in the DT code).

> +- clocks: clock phandle and specifier pair for usb2.0 host.
> +- clk-names: string, clock input name, must be "usb20_host".

Same with clocks.

> +
>  The USB PHY device tree node should have the subnodes corresponding to the USB
>  channels. These subnodes must contain the following properties:
>  - reg: the USB controller selector; see the table below for the values.
>  - #phy-cells: see phy-bindings.txt in the same directory, must be <1>.
>  
>  The phandle's argument in the PHY specifier is the USB controller selector for
> -the USB channel; see the selector meanings below:
> +the USB channel other than r8a77470 SoC; see the selector meanings below:
>  
>  +-----------+---------------+---------------+
>  |\ Selector |               |               |
> @@ -40,22 +51,57 @@ the USB channel; see the selector meanings below:
>  | 2         | PCI EHCI/OHCI | xHCI          |
>  +-----------+---------------+---------------+
>  
> +For r8a77470 SoC see the selector meaning below:
> +
> ++-----------+---------------+---------------+
> +|\ Selector |               |               |
> ++ --------- +       0       |       1       |
> +| Channel  \|               |               |
> ++-----------+---------------+---------------+
> +| 0         | EHCI/OHCI     | HS-USB        |
> ++-----------+---------------+---------------+
> +
>  Example (Lager board):
>  
> -	usb-phy@e6590100 {
> -		compatible = "renesas,usb-phy-r8a7790", "renesas,rcar-gen2-usb-phy";
> +	usbphy: usb-phy@e6590100 {
> +		compatible = "renesas,usb-phy-r8a7790",
> +		             "renesas,rcar-gen2-usb-phy";

This change doesn't seem necessary.

>  		reg = <0 0xe6590100 0 0x100>;
>  		#address-cells = <1>;
>  		#size-cells = <0>;
> -		clocks = <&mstp7_clks R8A7790_CLK_HSUSB>;
> +		clocks = <&cpg CPG_MOD 704>;
>  		clock-names = "usbhs";
> +		power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
> +		resets = <&cpg 704>;
> +		status = "disabled";

Don't show status in examples.
>  
> -		usb-channel@0 {
> -			reg = <0>;
> -			#phy-cells = <1>;
> +		usb0: usb-channel@0 {
> +		        reg = <0>;
> +		        #phy-cells = <1>;
> +		};
> +		usb2: usb-channel@2 {
> +		        reg = <2>;
> +		        #phy-cells = <1>;
>  		};
> -		usb-channel@2 {
> -			reg = <2>;
> +	};
> +
> +Example (iWave RZ/G1C SBC):
> +
> +	usbphy0: usb-phy0@e6590100 {
> +		compatible = "renesas,usb-phy-r8a77470",
> +			     "renesas,rcar-gen2-usb-phy";
> +		reg = <0 0xe6590100 0 0x100>,
> +		      <0 0xee080200 0 0x118>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		clocks = <&cpg CPG_MOD 704>, <&cpg CPG_MOD 703>;
> +		clock-names = "usbhs", "usb20_host";
> +		power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
> +		resets = <&cpg 704>, <&cpg 703>;
> +		status = "disabled";

Don't show status.

> +
> +		usb0: usb-channel@0 {
> +			reg = <0>;
>  			#phy-cells = <1>;
>  		};
>  	};
> -- 
> 2.7.4
> 

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

* RE: [PATCH 1/7] dt-bindings: phy: rcar-gen2: Add r8a77470 support
  2018-11-05 23:26   ` Rob Herring
@ 2018-11-19  8:20     ` Biju Das
  0 siblings, 0 replies; 17+ messages in thread
From: Biju Das @ 2018-11-19  8:20 UTC (permalink / raw)
  To: Rob Herring
  Cc: Mark Rutland, devicetree@vger.kernel.org, Simon Horman,
	Geert Uytterhoeven, Chris Paterson, Fabrizio Castro,
	Yoshihiro Shimoda, linux-renesas-soc@vger.kernel.org

Hi Rob,

Thanks for the feedback.

> Subject: Re: [PATCH 1/7] dt-bindings: phy: rcar-gen2: Add r8a77470 support
>
> On Thu, Oct 25, 2018 at 02:56:53PM +0100, Biju Das wrote:
> > Add USB PHY support for r8a77470 SoC. Renesas RZ/G1C (R8A77470) USB
> > PHY is similar to the R-Car Gen2 family, but has the below features
> > compared to other RZ/G1 and R-Car Gen2/3 SoCs
> >
> > It has a shared pll reset for usbphy0/usbphy1 and this register reside
> > in usbphy0 block
> >
> > Each USB2.0 host needs to deassert the pll reset of usbphy0 block.
> >
> > Signed-off-by: Biju Das <biju.das@bp.renesas.com>
> > ---
> >  .../devicetree/bindings/phy/rcar-gen2-phy.txt      | 64
> +++++++++++++++++++---
> >  1 file changed, 55 insertions(+), 9 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
> > b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
> > index eeb9e18..0a59971 100644
> > --- a/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
> > +++ b/Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt
> > @@ -6,6 +6,7 @@ This file provides information on what the device node
> > for the R-Car generation  Required properties:
> >  - compatible: "renesas,usb-phy-r8a7743" if the device is a part of R8A7743
> SoC.
> >        "renesas,usb-phy-r8a7745" if the device is a part of R8A7745 SoC.
> > +      "renesas,usb-phy-r8a77470" if the device is a part of R8A77470
> SoC.
> >        "renesas,usb-phy-r8a7790" if the device is a part of R8A7790 SoC.
> >        "renesas,usb-phy-r8a7791" if the device is a part of R8A7791 SoC.
> >        "renesas,usb-phy-r8a7794" if the device is a part of R8A7794 SoC.
> > @@ -23,13 +24,23 @@ Required properties:
> >  - clocks: clock phandle and specifier pair.
> >  - clock-names: string, clock input name, must be "usbhs".
> >
> > +Optional properties (r8a77470 SoC Only):
> > +To use a USB channel as USB 2.0 Host, the device tree node should set
> > +below optional properties. This is because USB2.0 Host needs to
> > +deassert pll reset, apart from initializing interrupt enable, OVC
> > +detection timer and suspend/ resume timer register.
> > +
> > +- reg: offset and length of the partial USB2.0 Host register block.
>
> USB host registers in the phy node? And somewhere else too? Don't create
> overlapping regions in DT. That's not a reflection of the h/w and also is an
> error in the kernel's resource handling code (which we work-around in the
> DT code).

OK, this means that looks like I need to create 2 drivers ehci-rcar.c and ohci-rcar.c  just
for initializing 3 registers(initializing interrupt enable, OVC detection timer and suspend/ resume timer register)

> > +- clocks: clock phandle and specifier pair for usb2.0 host.
> > +- clk-names: string, clock input name, must be "usb20_host".
>
> Same with clocks.

OK.

> > +
> >  The USB PHY device tree node should have the subnodes corresponding
> > to the USB  channels. These subnodes must contain the following
> properties:
> >  - reg: the USB controller selector; see the table below for the values.
> >  - #phy-cells: see phy-bindings.txt in the same directory, must be <1>.
> >
> >  The phandle's argument in the PHY specifier is the USB controller
> > selector for -the USB channel; see the selector meanings below:
> > +the USB channel other than r8a77470 SoC; see the selector meanings
> below:
> >
> >  +-----------+---------------+---------------+
> >  |\ Selector |               |               |
> > @@ -40,22 +51,57 @@ the USB channel; see the selector meanings below:
> >  | 2         | PCI EHCI/OHCI | xHCI          |
> >  +-----------+---------------+---------------+
> >
> > +For r8a77470 SoC see the selector meaning below:
> > +
> > ++-----------+---------------+---------------+
> > +|\ Selector |               |               |
> > ++ --------- +       0       |       1       |
> > +| Channel  \|               |               |
> > ++-----------+---------------+---------------+
> > +| 0         | EHCI/OHCI     | HS-USB        |
> > ++-----------+---------------+---------------+
> > +
> >  Example (Lager board):
> >
> > -usb-phy@e6590100 {
> > -compatible = "renesas,usb-phy-r8a7790", "renesas,rcar-
> gen2-usb-phy";
> > +usbphy: usb-phy@e6590100 {
> > +compatible = "renesas,usb-phy-r8a7790",
> > +             "renesas,rcar-gen2-usb-phy";
>
> This change doesn't seem necessary.
OK. Will remove this.

> >  reg = <0 0xe6590100 0 0x100>;
> >  #address-cells = <1>;
> >  #size-cells = <0>;
> > -clocks = <&mstp7_clks R8A7790_CLK_HSUSB>;
> > +clocks = <&cpg CPG_MOD 704>;
> >  clock-names = "usbhs";
> > +power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
> > +resets = <&cpg 704>;
> > +status = "disabled";
>
> Don't show status in examples.
OK will take out the status.

> >
> > -usb-channel@0 {
> > -reg = <0>;
> > -#phy-cells = <1>;
> > +usb0: usb-channel@0 {
> > +        reg = <0>;
> > +        #phy-cells = <1>;
> > +};
> > +usb2: usb-channel@2 {
> > +        reg = <2>;
> > +        #phy-cells = <1>;
> >  };
> > -usb-channel@2 {
> > -reg = <2>;
> > +};
> > +
> > +Example (iWave RZ/G1C SBC):
> > +
> > +usbphy0: usb-phy0@e6590100 {
> > +compatible = "renesas,usb-phy-r8a77470",
> > +     "renesas,rcar-gen2-usb-phy";
> > +reg = <0 0xe6590100 0 0x100>,
> > +      <0 0xee080200 0 0x118>;
> > +#address-cells = <1>;
> > +#size-cells = <0>;
> > +clocks = <&cpg CPG_MOD 704>, <&cpg CPG_MOD 703>;
> > +clock-names = "usbhs", "usb20_host";
> > +power-domains = <&sysc R8A77470_PD_ALWAYS_ON>;
> > +resets = <&cpg 704>, <&cpg 703>;
> > +status = "disabled";
>
> Don't show status.
OK will take out the status.

> > +
> > +usb0: usb-channel@0 {
> > +reg = <0>;
> >  #phy-cells = <1>;
> >  };
> >  };
> > --
> > 2.7.4
> >

Regards,
Biju



Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.

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

end of thread, other threads:[~2018-11-19 18:43 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-25 13:56 [PATCH 0/7] Add RZ/G1C USB2.0 Host support Biju Das
2018-10-25 13:56 ` [PATCH 1/7] dt-bindings: phy: rcar-gen2: Add r8a77470 support Biju Das
2018-10-26  9:44   ` Fabrizio Castro
2018-11-05 23:26   ` Rob Herring
2018-11-19  8:20     ` Biju Das
2018-10-25 13:56 ` [PATCH 3/7] ARM: dts: r8a77470: Add USB PHY DT support Biju Das
2018-10-26  9:44   ` Fabrizio Castro
2018-10-29  8:41   ` Yoshihiro Shimoda
2018-10-29  9:14     ` Biju Das
2018-10-29 11:03       ` Yoshihiro Shimoda
2018-10-29 11:26         ` Biju Das
2018-10-25 13:56 ` [PATCH 4/7] ARM: dts: iwg23s-sbc: Enable USB Phy[01] Biju Das
2018-10-26  9:45   ` Fabrizio Castro
2018-10-25 13:56 ` [PATCH 5/7] ARM: dts: r8a77470: Add USB2.0 Host (EHCI/OHCI) device nodes Biju Das
2018-10-26  9:45   ` Fabrizio Castro
2018-10-25 13:56 ` [PATCH 6/7] ARM: dts: iwg23s-sbc: Enable USB USB2.0 Host Biju Das
2018-10-26  9:45   ` Fabrizio Castro

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).