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 <[email protected]>
> ---
> .../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>;
> + };
> };
>