| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/usb/richtek,rt1711h.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Richtek RT1711H Type-C Port Switch and Power Delivery controller |
| |
| maintainers: |
| - Gene Chen <gene_chen@richtek.com> |
| |
| description: | |
| The RT1711H is a USB Type-C controller that complies with the latest |
| USB Type-C and PD standards. It does the USB Type-C detection including attach |
| and orientation. It integrates the physical layer of the USB BMC power |
| delivery protocol to allow up to 100W of power. The BMC PD block enables full |
| support for alternative interfaces of the Type-C specification. |
| |
| properties: |
| compatible: |
| enum: |
| - richtek,rt1711h |
| - richtek,rt1715 |
| description: |
| RT1711H support PD20, RT1715 support PD30 except Fast Role Swap. |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| maxItems: 1 |
| |
| wakeup-source: |
| type: boolean |
| |
| connector: |
| type: object |
| $ref: /schemas/connector/usb-connector.yaml# |
| description: |
| Properties for usb c connector. |
| |
| additionalProperties: false |
| |
| required: |
| - compatible |
| - reg |
| - connector |
| - interrupts |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/irq.h> |
| #include <dt-bindings/usb/pd.h> |
| i2c { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| rt1711h@4e { |
| compatible = "richtek,rt1711h"; |
| reg = <0x4e>; |
| interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>; |
| wakeup-source; |
| |
| connector { |
| compatible = "usb-c-connector"; |
| label = "USB-C"; |
| data-role = "dual"; |
| power-role = "dual"; |
| try-power-role = "sink"; |
| source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>; |
| sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>; |
| op-sink-microwatt = <10000000>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| endpoint { |
| remote-endpoint = <&usb_hs>; |
| }; |
| }; |
| port@1 { |
| reg = <1>; |
| endpoint { |
| remote-endpoint = <&usb_ss>; |
| }; |
| }; |
| port@2 { |
| reg = <2>; |
| endpoint { |
| remote-endpoint = <&dp_aux>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| }; |
| ... |