Re: [PATCH v4 4/4] doc: usb: ci-hdrc-usb2: Add pinctrl properties for HSIC pin groups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Peter,

On 09.12.18 06:40, Peter Chen wrote:
> For USB HSIC, the data and strobe pin needs to be pulled down
> at default, we consider it as "idle" state. When the USB host
> is ready to be used, the strobe pin needs to be pulled up,
> we consider it as "active" state.
> 
> Signed-off-by: Peter Chen <peter.chen@xxxxxxx>
> ---
>   .../devicetree/bindings/usb/ci-hdrc-usb2.txt       | 34 +++++++++++++++++++++-
>   1 file changed, 33 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> index 529e51879fb2..a6c66f05601c 100644
> --- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
> @@ -80,7 +80,10 @@ Optional properties:
>     controller. It's expected that a mux state of 0 indicates device mode and a
>     mux state of 1 indicates host mode.
>   - mux-control-names: Shall be "usb_switch" if mux-controls is specified.
> -- pinctrl-names: Names for optional pin modes in "default", "host", "device"
> +- pinctrl-names: Names for optional pin modes in "default", "host", "device".
> +  In case of HSIC-mode, "idle" and "active" pin modes are mandatory. In this
> +  case, the "idle" state needs to pull down the data and strobe pin
> +  and the "active" state needs to pull up the strobe pin.
>   - pinctrl-n: alternate pin modes
>   
>   i.mx specific properties
> @@ -110,4 +113,33 @@ Example:
>   		phy-clkgate-delay-us = <400>;
>   		mux-controls = <&usb_switch>;
>   		mux-control-names = "usb_switch";
> +		pinctrl-names = "idle", "active";
> +		pinctrl-0 = <&pinctrl_usbh2_1>;
> +		pinctrl-1 = <&pinctrl_usbh2_2>;
> +	};

With a separate example for HSIC, we should probably leave the standard 
example unchanged (I think that was one of the reasons for adding a 
separate example).

Regards,
Frieder

> +
> +Example for HSIC:
> +
> +	usb@2184400 {
> +		compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
> +		reg = <0x02184400 0x200>;
> +		interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
> +		clocks = <&clks IMX6QDL_CLK_USBOH3>;
> +		fsl,usbphy = <&usbphynop1>;
> +		fsl,usbmisc = <&usbmisc 2>;
> +		phy_type = "hsic";
> +		dr_mode = "host";
> +		ahb-burst-config = <0x0>;
> +		tx-burst-size-dword = <0x10>;
> +		rx-burst-size-dword = <0x10>;
> +		pinctrl-names = "idle", "active";
> +		pinctrl-0 = <&pinctrl_usbh2_idle>;
> +		pinctrl-1 = <&pinctrl_usbh2_active>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		usbnet: smsc@1 {
> +			compatible = "usb424,9730";
> +			reg = <1>;
> +		};
>   	};
> 




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux