xref: /freebsd/sys/contrib/device-tree/Bindings/usb/ti,hd3ss3220.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotTI HD3SS3220 TypeC DRP Port Controller.
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot - compatible: Must be "ti,hd3ss3220".
5*c66ec88fSEmmanuel Vadot - reg: I2C slave address, must be 0x47 or 0x67 based on ADDR pin.
6*c66ec88fSEmmanuel Vadot - interrupts: An interrupt specifier.
7*c66ec88fSEmmanuel Vadot
8*c66ec88fSEmmanuel VadotRequired sub-node:
9*c66ec88fSEmmanuel Vadot - connector: The "usb-c-connector" attached to the hd3ss3220 chip. The
10*c66ec88fSEmmanuel Vadot   bindings of the connector node are specified in:
11*c66ec88fSEmmanuel Vadot
12*c66ec88fSEmmanuel Vadot	Documentation/devicetree/bindings/connector/usb-connector.yaml
13*c66ec88fSEmmanuel Vadot
14*c66ec88fSEmmanuel VadotExample:
15*c66ec88fSEmmanuel Vadothd3ss3220@47 {
16*c66ec88fSEmmanuel Vadot	compatible = "ti,hd3ss3220";
17*c66ec88fSEmmanuel Vadot	reg = <0x47>;
18*c66ec88fSEmmanuel Vadot	interrupt-parent = <&gpio6>;
19*c66ec88fSEmmanuel Vadot	interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
20*c66ec88fSEmmanuel Vadot
21*c66ec88fSEmmanuel Vadot	connector {
22*c66ec88fSEmmanuel Vadot		compatible = "usb-c-connector";
23*c66ec88fSEmmanuel Vadot		label = "USB-C";
24*c66ec88fSEmmanuel Vadot		data-role = "dual";
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel Vadot		ports {
27*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
28*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
29*c66ec88fSEmmanuel Vadot
30*c66ec88fSEmmanuel Vadot			port@1 {
31*c66ec88fSEmmanuel Vadot				reg = <1>;
32*c66ec88fSEmmanuel Vadot				hd3ss3220_ep: endpoint {
33*c66ec88fSEmmanuel Vadot					remote-endpoint = <&usb3_role_switch>;
34*c66ec88fSEmmanuel Vadot				};
35*c66ec88fSEmmanuel Vadot			};
36*c66ec88fSEmmanuel Vadot		};
37*c66ec88fSEmmanuel Vadot	};
38*c66ec88fSEmmanuel Vadot};
39