.. | .. |
---|
10 | 10 | "fsl,imx6sx-usb" |
---|
11 | 11 | "fsl,imx6ul-usb" |
---|
12 | 12 | "fsl,imx7d-usb" |
---|
| 13 | + "fsl,imx7ulp-usb" |
---|
13 | 14 | "lsi,zevio-usb" |
---|
14 | 15 | "qcom,ci-hdrc" |
---|
15 | 16 | "chipidea,usb2" |
---|
16 | 17 | "xlnx,zynq-usb-2.20a" |
---|
| 18 | + "nvidia,tegra20-udc" |
---|
| 19 | + "nvidia,tegra30-udc" |
---|
| 20 | + "nvidia,tegra114-udc" |
---|
| 21 | + "nvidia,tegra124-udc" |
---|
17 | 22 | - reg: base address and length of the registers |
---|
18 | 23 | - interrupts: interrupt for the USB controller |
---|
19 | 24 | |
---|
.. | .. |
---|
80 | 85 | controller. It's expected that a mux state of 0 indicates device mode and a |
---|
81 | 86 | mux state of 1 indicates host mode. |
---|
82 | 87 | - mux-control-names: Shall be "usb_switch" if mux-controls is specified. |
---|
| 88 | +- pinctrl-names: Names for optional pin modes in "default", "host", "device". |
---|
| 89 | + In case of HSIC-mode, "idle" and "active" pin modes are mandatory. In this |
---|
| 90 | + case, the "idle" state needs to pull down the data and strobe pin |
---|
| 91 | + and the "active" state needs to pull up the strobe pin. |
---|
| 92 | +- pinctrl-n: alternate pin modes |
---|
83 | 93 | |
---|
84 | 94 | i.mx specific properties |
---|
85 | 95 | - fsl,usbmisc: phandler of non-core register device, with one |
---|
86 | 96 | argument that indicate usb controller index |
---|
87 | 97 | - disable-over-current: disable over current detect |
---|
88 | | -- over-current-active-high: over current signal polarity is high active, |
---|
89 | | - typically over current signal polarity is low active. |
---|
| 98 | +- over-current-active-low: over current signal polarity is active low. |
---|
| 99 | +- over-current-active-high: over current signal polarity is active high. |
---|
| 100 | + It's recommended to specify the over current polarity. |
---|
| 101 | +- power-active-high: power signal polarity is active high |
---|
90 | 102 | - external-vbus-divider: enables off-chip resistor divider for Vbus |
---|
| 103 | +- samsung,picophy-pre-emp-curr-control: HS Transmitter Pre-Emphasis Current |
---|
| 104 | + Control. This signal controls the amount of current sourced to the |
---|
| 105 | + USB_OTG*_DP and USB_OTG*_DN pins after a J-to-K or K-to-J transition. |
---|
| 106 | + The range is from 0x0 to 0x3, the default value is 0x1. |
---|
| 107 | + Details can refer to TXPREEMPAMPTUNE0 bits of USBNC_n_PHY_CFG1. |
---|
| 108 | +- samsung,picophy-dc-vol-level-adjust: HS DC Voltage Level Adjustment. |
---|
| 109 | + Adjust the high-speed transmitter DC level voltage. |
---|
| 110 | + The range is from 0x0 to 0xf, the default value is 0x3. |
---|
| 111 | + Details can refer to TXVREFTUNE0 bits of USBNC_n_PHY_CFG1. |
---|
91 | 112 | |
---|
92 | 113 | Example: |
---|
93 | 114 | |
---|
.. | .. |
---|
109 | 130 | mux-controls = <&usb_switch>; |
---|
110 | 131 | mux-control-names = "usb_switch"; |
---|
111 | 132 | }; |
---|
| 133 | + |
---|
| 134 | +Example for HSIC: |
---|
| 135 | + |
---|
| 136 | + usb@2184400 { |
---|
| 137 | + compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; |
---|
| 138 | + reg = <0x02184400 0x200>; |
---|
| 139 | + interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 140 | + clocks = <&clks IMX6QDL_CLK_USBOH3>; |
---|
| 141 | + fsl,usbphy = <&usbphynop1>; |
---|
| 142 | + fsl,usbmisc = <&usbmisc 2>; |
---|
| 143 | + phy_type = "hsic"; |
---|
| 144 | + dr_mode = "host"; |
---|
| 145 | + ahb-burst-config = <0x0>; |
---|
| 146 | + tx-burst-size-dword = <0x10>; |
---|
| 147 | + rx-burst-size-dword = <0x10>; |
---|
| 148 | + pinctrl-names = "idle", "active"; |
---|
| 149 | + pinctrl-0 = <&pinctrl_usbh2_idle>; |
---|
| 150 | + pinctrl-1 = <&pinctrl_usbh2_active>; |
---|
| 151 | + #address-cells = <1>; |
---|
| 152 | + #size-cells = <0>; |
---|
| 153 | + |
---|
| 154 | + usbnet: smsc@1 { |
---|
| 155 | + compatible = "usb424,9730"; |
---|
| 156 | + reg = <1>; |
---|
| 157 | + }; |
---|
| 158 | + }; |
---|