hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
....@@ -10,10 +10,15 @@
1010 "fsl,imx6sx-usb"
1111 "fsl,imx6ul-usb"
1212 "fsl,imx7d-usb"
13
+ "fsl,imx7ulp-usb"
1314 "lsi,zevio-usb"
1415 "qcom,ci-hdrc"
1516 "chipidea,usb2"
1617 "xlnx,zynq-usb-2.20a"
18
+ "nvidia,tegra20-udc"
19
+ "nvidia,tegra30-udc"
20
+ "nvidia,tegra114-udc"
21
+ "nvidia,tegra124-udc"
1722 - reg: base address and length of the registers
1823 - interrupts: interrupt for the USB controller
1924
....@@ -80,14 +85,30 @@
8085 controller. It's expected that a mux state of 0 indicates device mode and a
8186 mux state of 1 indicates host mode.
8287 - 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
8393
8494 i.mx specific properties
8595 - fsl,usbmisc: phandler of non-core register device, with one
8696 argument that indicate usb controller index
8797 - 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
90102 - 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.
91112
92113 Example:
93114
....@@ -109,3 +130,29 @@
109130 mux-controls = <&usb_switch>;
110131 mux-control-names = "usb_switch";
111132 };
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
+ };