[PATCH v6 1/2] dt-bindings: usb: Add ITE IT8851/IT8853 Type-C PD controllers
Amber Kao <[email protected]> Fri, 31 Jul 2026 18:02:03 +0800
| Newsgroups | org.kernel.vger.linux-usb,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Add device tree binding for the ITE IT8851 and IT8853 I2C-based USB Type-C Power Delivery controllers. The IT8851 supports one Type-C port; the IT8853 is the two-port variant sharing the same interface. Add a MAINTAINERS entry for the binding. Cc: Yaode Fang <[email protected]> Cc: Jeson Yang <[email protected]> Cc: Bling Chiang <[email protected]> Cc: Eric Su <[email protected]> Cc: Doreen Lin <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Amber Kao <[email protected]> --- .../devicetree/bindings/usb/ite,it8851.yaml | 151 +++++++++++++++++++++ MAINTAINERS | 8 ++ 2 files changed, 159 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/ite,it8851.yaml b/Documentation/devicetree/bindings/usb/ite,it8851.yaml new file mode 100644 index 000000000000..246d34734b4a --- /dev/null +++ b/Documentation/devicetree/bindings/usb/ite,it8851.yaml @@ -0,0 +1,151 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/ite,it8851.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ITE IT8851/IT8853 USB Type-C Power Delivery Controller + +maintainers: + - Jeson Yang <[email protected]> + +description: + The ITE IT8851 is an I2C-based USB Type-C Power Delivery (PD) controller + supporting one Type-C port. + The IT8853 is the two-port variant sharing the same programming interface. + +properties: + compatible: + oneOf: + - const: ite,it8851 + - items: + - const: ite,it8853 + - const: ite,it8851 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + wakeup-source: true + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + +patternProperties: + '^connector@[01]$': + $ref: /schemas/connector/usb-connector.yaml# + unevaluatedProperties: false + +required: + - compatible + - reg + - interrupts + +anyOf: + - required: + - connector@0 + - required: + - connector@1 + +allOf: + - if: + not: + properties: + compatible: + contains: + const: ite,it8853 + then: + properties: + connector@1: false + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + typec@40 { + compatible = "ite,it8853", "ite,it8851"; + reg = <0x40>; + interrupts-extended = <&tlmm 129 IRQ_TYPE_EDGE_FALLING>; + wakeup-source; + + #address-cells = <1>; + #size-cells = <0>; + + connector@0 { + compatible = "usb-c-connector"; + reg = <0>; + label = "USB-C-0"; + power-role = "dual"; + data-role = "dual"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + endpoint { + remote-endpoint = <&eud_con>; + }; + }; + + port@1 { + reg = <1>; + endpoint { + remote-endpoint = <&redriver_ss_out>; + }; + }; + + port@2 { + reg = <2>; + endpoint { + remote-endpoint = <&fsa4480_sbu_mux>; + }; + }; + }; + }; + + connector@1 { + compatible = "usb-c-connector"; + reg = <1>; + label = "USB-C-1"; + power-role = "dual"; + data-role = "dual"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + endpoint { + remote-endpoint = <&usb1_hs_con>; + }; + }; + port@1 { + reg = <1>; + endpoint { + remote-endpoint = <&redriver1_ss_out>; + }; + }; + port@2 { + reg = <2>; + endpoint { + remote-endpoint = <&sbu_mux1>; + }; + }; + }; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 461a3eed6129..ec0eeea79b9e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13720,6 +13720,14 @@ T: git https://gitlab.freedesktop.org/drm/misc/kernel.git F: Documentation/devicetree/bindings/display/bridge/ite,it66121.yaml F: drivers/gpu/drm/bridge/ite-it66121.c +ITE IT8851 TYPE-C PD CONTROLLER DRIVER +M: Amber Kao <[email protected]> +R: Jeson Yang <[email protected]> +R: Yaode Fang <[email protected]> +L: [email protected] +S: Maintained +F: Documentation/devicetree/bindings/usb/ite,it8851.yaml + IVTV VIDEO4LINUX DRIVER M: Andy Walls <[email protected]> L: [email protected] -- 2.53.0