Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: usb: add documentation for typec port controller(TCPCI)

TCPCI stands for typec port controller interface, its implementation
has full typec port control with power delivery support, it's a
standard i2c slave with GPIO input as irq interface, detail see spec
"Universal Serial Bus Type-C Port Controller Interface Specification
Revision 1.0, Version 1.1"

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Li Jun <jun.li@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Li Jun and committed by
Greg Kroah-Hartman
9aaf7e43 7a846d3c

+49
+49
Documentation/devicetree/bindings/usb/typec-tcpci.txt
··· 1 + TCPCI(Typec port cotroller interface) binding 2 + --------------------------------------------- 3 + 4 + Required properties: 5 + - compatible: should be set one of following: 6 + - "nxp,ptn5110" for NXP USB PD TCPC PHY IC ptn5110. 7 + 8 + - reg: the i2c slave address of typec port controller device. 9 + - interrupt-parent: the phandle to the interrupt controller which provides 10 + the interrupt. 11 + - interrupts: interrupt specification for tcpci alert. 12 + 13 + Required sub-node: 14 + - connector: The "usb-c-connector" attached to the tcpci chip, the bindings 15 + of connector node are specified in 16 + Documentation/devicetree/bindings/connector/usb-connector.txt 17 + 18 + Example: 19 + 20 + ptn5110@50 { 21 + compatible = "nxp,ptn5110"; 22 + reg = <0x50>; 23 + interrupt-parent = <&gpio3>; 24 + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 25 + 26 + usb_con: connector { 27 + compatible = "usb-c-connector"; 28 + label = "USB-C"; 29 + data-role = "dual"; 30 + power-role = "dual"; 31 + try-power-role = "sink"; 32 + source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>; 33 + sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM) 34 + PDO_VAR(5000, 12000, 2000)>; 35 + op-sink-microwatt = <10000000>; 36 + 37 + ports { 38 + #address-cells = <1>; 39 + #size-cells = <0>; 40 + 41 + port@1 { 42 + reg = <1>; 43 + usb_con_ss: endpoint { 44 + remote-endpoint = <&usb3_data_ss>; 45 + }; 46 + }; 47 + }; 48 + }; 49 + };