2015-07-02 08:17:02

by Phil Edworthy

[permalink] [raw]
Subject: [PATCH v2] arm: koelsch: make USB0 perform Host/Function switching

Both USB Host (pci0) and Function (USBHS) drivers are enabled.
The USB PHY driver determines which IP block should be connected
based on vbus and id signals read via gpios.

Note that switch SW5 and SW6 on Koelsch board needs to be set to
position 3 for this to work.

---

Not for upstream until the following patches have been accepted:
"usb: renesas_usbhs: Allow an OTG PHY driver to provide VBUS"
"phy: rcar-gen2 usb: Add Host/Function switching for USB0"
Hence, not signed off.

v2:
- Added -gpio to dts prop names of GPIO pins.
---
arch/arm/boot/dts/r8a7791-koelsch.dts | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts
index cffe33f..1bb34d0 100644
--- a/arch/arm/boot/dts/r8a7791-koelsch.dts
+++ b/arch/arm/boot/dts/r8a7791-koelsch.dts
@@ -615,7 +615,6 @@

&pci0 {
status = "okay";
- pinctrl-0 = <&usb0_pins>;
pinctrl-names = "default";
};

@@ -627,13 +626,15 @@

&hsusb {
status = "okay";
- pinctrl-0 = <&usb0_pins>;
pinctrl-names = "default";
- renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
};

&usbphy {
status = "okay";
+ renesas,pwr-gpio = <&gpio2 4 GPIO_ACTIVE_HIGH>;
+ renesas,id-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
+ renesas,vbus-gpio = <&gpio7 24 GPIO_ACTIVE_HIGH>;
+ renesas,vbus-pwr-gpio = <&gpio7 23 GPIO_ACTIVE_HIGH>;
};

&pcie_bus_clk {
--
1.9.1


2015-07-02 11:32:25

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH v2] arm: koelsch: make USB0 perform Host/Function switching

Hello.

On 7/2/2015 11:14 AM, Phil Edworthy wrote:

> Both USB Host (pci0) and Function (USBHS) drivers are enabled.
> The USB PHY driver determines which IP block should be connected
> based on vbus and id signals read via gpios.

> Note that switch SW5 and SW6 on Koelsch board needs to be set to
> position 3 for this to work.

[...]

> diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts
> index cffe33f..1bb34d0 100644
> --- a/arch/arm/boot/dts/r8a7791-koelsch.dts
> +++ b/arch/arm/boot/dts/r8a7791-koelsch.dts
> @@ -615,7 +615,6 @@
>
> &pci0 {
> status = "okay";
> - pinctrl-0 = <&usb0_pins>;
> pinctrl-names = "default";

As you're removing "pinctrl-0" prop, you also should remove "pinctrl-names".

> };
>
> @@ -627,13 +626,15 @@
>
> &hsusb {
> status = "okay";
> - pinctrl-0 = <&usb0_pins>;

Likewise.

[...]

WBR, Sergei

2015-07-02 12:11:12

by Phil Edworthy

[permalink] [raw]
Subject: RE: [PATCH v2] arm: koelsch: make USB0 perform Host/Function switching

Hi Sergei.

On 02 July 2015 12:32, Sergei wrote:
> Hello.
>
> On 7/2/2015 11:14 AM, Phil Edworthy wrote:
>
> > Both USB Host (pci0) and Function (USBHS) drivers are enabled.
> > The USB PHY driver determines which IP block should be connected
> > based on vbus and id signals read via gpios.
>
> > Note that switch SW5 and SW6 on Koelsch board needs to be set to
> > position 3 for this to work.
>
> [...]
>
> > diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts
> b/arch/arm/boot/dts/r8a7791-koelsch.dts
> > index cffe33f..1bb34d0 100644
> > --- a/arch/arm/boot/dts/r8a7791-koelsch.dts
> > +++ b/arch/arm/boot/dts/r8a7791-koelsch.dts
> > @@ -615,7 +615,6 @@
> >
> > &pci0 {
> > status = "okay";
> > - pinctrl-0 = <&usb0_pins>;
> > pinctrl-names = "default";
>
> As you're removing "pinctrl-0" prop, you also should remove "pinctrl-names".
Ok.

> > };
> >
> > @@ -627,13 +626,15 @@
> >
> > &hsusb {
> > status = "okay";
> > - pinctrl-0 = <&usb0_pins>;
>
> Likewise.
Sure.

> [...]
>
> WBR, Sergei

Thanks
Phil

2015-07-03 00:14:43

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH v2] arm: koelsch: make USB0 perform Host/Function switching

Hi Phil,

when you re-spin this patch could you change the prefix to the following?

ARM: shmobile: koelsch:

Thanks

2015-07-07 12:18:54

by Phil Edworthy

[permalink] [raw]
Subject: [PATCH v4] ARM: shmobile: koelsch: make USB0 perform Host/Function switching

Both USB Host (pci0) and Function (USBHS) drivers are enabled.
The USB PHY driver determines which IP block should be connected
based on vbus and id signals read via gpios.

Note that switch SW5 and SW6 on Koelsch board needs to be set to
position 3 for this to work.

Signed-off-by: Phil Edworthy <[email protected]>

---
Not for upstream until the following patches have been accepted:
"usb: renesas_usbhs: Allow an OTG PHY driver to provide VBUS"
"phy: rcar-gen2 usb: Add Host/Function switching for USB0"
Hence, not signed off.

v4:
- Changed prefix in title.

v3:
- Remove "pinctrl-names" as well as "pinctrl-0" props.

v2:
- Added -gpio to dts prop names of GPIO pins.
---
arch/arm/boot/dts/r8a7791-koelsch.dts | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts
index cffe33f..21c2fdc 100644
--- a/arch/arm/boot/dts/r8a7791-koelsch.dts
+++ b/arch/arm/boot/dts/r8a7791-koelsch.dts
@@ -615,8 +615,6 @@

&pci0 {
status = "okay";
- pinctrl-0 = <&usb0_pins>;
- pinctrl-names = "default";
};

&pci1 {
@@ -627,13 +625,14 @@

&hsusb {
status = "okay";
- pinctrl-0 = <&usb0_pins>;
- pinctrl-names = "default";
- renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
};

&usbphy {
status = "okay";
+ renesas,pwr-gpio = <&gpio2 4 GPIO_ACTIVE_HIGH>;
+ renesas,id-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
+ renesas,vbus-gpio = <&gpio7 24 GPIO_ACTIVE_HIGH>;
+ renesas,vbus-pwr-gpio = <&gpio7 23 GPIO_ACTIVE_HIGH>;
};

&pcie_bus_clk {
--
1.9.1