xref: /freebsd/sys/contrib/device-tree/Bindings/usb/richtek,rt1711h.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
17ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
27ef62cebSEmmanuel Vadot%YAML 1.2
37ef62cebSEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/richtek,rt1711h.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
67ef62cebSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Richtek RT1711H Type-C Port Switch and Power Delivery controller
87ef62cebSEmmanuel Vadot
97ef62cebSEmmanuel Vadotmaintainers:
107ef62cebSEmmanuel Vadot  - Gene Chen <gene_chen@richtek.com>
117ef62cebSEmmanuel Vadot
127ef62cebSEmmanuel Vadotdescription: |
137ef62cebSEmmanuel Vadot  The RT1711H is a USB Type-C controller that complies with the latest
147ef62cebSEmmanuel Vadot  USB Type-C and PD standards. It does the USB Type-C detection including attach
157ef62cebSEmmanuel Vadot  and orientation. It integrates the physical layer of the USB BMC power
167ef62cebSEmmanuel Vadot  delivery protocol to allow up to 100W of power. The BMC PD block enables full
177ef62cebSEmmanuel Vadot  support for alternative interfaces of the Type-C specification.
187ef62cebSEmmanuel Vadot
197ef62cebSEmmanuel Vadotproperties:
207ef62cebSEmmanuel Vadot  compatible:
217ef62cebSEmmanuel Vadot    enum:
227ef62cebSEmmanuel Vadot      - richtek,rt1711h
237ef62cebSEmmanuel Vadot      - richtek,rt1715
247ef62cebSEmmanuel Vadot    description:
257ef62cebSEmmanuel Vadot      RT1711H support PD20, RT1715 support PD30 except Fast Role Swap.
267ef62cebSEmmanuel Vadot
277ef62cebSEmmanuel Vadot  reg:
287ef62cebSEmmanuel Vadot    maxItems: 1
297ef62cebSEmmanuel Vadot
307ef62cebSEmmanuel Vadot  interrupts:
317ef62cebSEmmanuel Vadot    maxItems: 1
327ef62cebSEmmanuel Vadot
337ef62cebSEmmanuel Vadot  wakeup-source:
347ef62cebSEmmanuel Vadot    type: boolean
357ef62cebSEmmanuel Vadot
367ef62cebSEmmanuel Vadot  connector:
377ef62cebSEmmanuel Vadot    type: object
387ef62cebSEmmanuel Vadot    $ref: /schemas/connector/usb-connector.yaml#
397ef62cebSEmmanuel Vadot    description:
407ef62cebSEmmanuel Vadot      Properties for usb c connector.
417ef62cebSEmmanuel Vadot
427ef62cebSEmmanuel VadotadditionalProperties: false
437ef62cebSEmmanuel Vadot
447ef62cebSEmmanuel Vadotrequired:
457ef62cebSEmmanuel Vadot  - compatible
467ef62cebSEmmanuel Vadot  - reg
477ef62cebSEmmanuel Vadot  - connector
487ef62cebSEmmanuel Vadot  - interrupts
497ef62cebSEmmanuel Vadot
507ef62cebSEmmanuel Vadotexamples:
517ef62cebSEmmanuel Vadot  - |
527ef62cebSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
537ef62cebSEmmanuel Vadot    #include <dt-bindings/usb/pd.h>
54*fac71e4eSEmmanuel Vadot    i2c {
557ef62cebSEmmanuel Vadot      #address-cells = <1>;
567ef62cebSEmmanuel Vadot      #size-cells = <0>;
577ef62cebSEmmanuel Vadot
587ef62cebSEmmanuel Vadot      rt1711h@4e {
597ef62cebSEmmanuel Vadot        compatible = "richtek,rt1711h";
607ef62cebSEmmanuel Vadot        reg = <0x4e>;
617ef62cebSEmmanuel Vadot        interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;
627ef62cebSEmmanuel Vadot        wakeup-source;
637ef62cebSEmmanuel Vadot
647ef62cebSEmmanuel Vadot        connector {
657ef62cebSEmmanuel Vadot          compatible = "usb-c-connector";
667ef62cebSEmmanuel Vadot          label = "USB-C";
677ef62cebSEmmanuel Vadot          data-role = "dual";
687ef62cebSEmmanuel Vadot          power-role = "dual";
697ef62cebSEmmanuel Vadot          try-power-role = "sink";
707ef62cebSEmmanuel Vadot          source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
717ef62cebSEmmanuel Vadot          sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
727ef62cebSEmmanuel Vadot          op-sink-microwatt = <10000000>;
737ef62cebSEmmanuel Vadot
747ef62cebSEmmanuel Vadot          ports {
757ef62cebSEmmanuel Vadot            #address-cells = <1>;
767ef62cebSEmmanuel Vadot            #size-cells = <0>;
777ef62cebSEmmanuel Vadot
787ef62cebSEmmanuel Vadot            port@0 {
797ef62cebSEmmanuel Vadot              reg = <0>;
807ef62cebSEmmanuel Vadot              endpoint {
817ef62cebSEmmanuel Vadot                remote-endpoint = <&usb_hs>;
827ef62cebSEmmanuel Vadot              };
837ef62cebSEmmanuel Vadot            };
847ef62cebSEmmanuel Vadot            port@1 {
857ef62cebSEmmanuel Vadot              reg = <1>;
867ef62cebSEmmanuel Vadot              endpoint {
877ef62cebSEmmanuel Vadot                remote-endpoint = <&usb_ss>;
887ef62cebSEmmanuel Vadot              };
897ef62cebSEmmanuel Vadot            };
907ef62cebSEmmanuel Vadot            port@2 {
917ef62cebSEmmanuel Vadot              reg = <2>;
927ef62cebSEmmanuel Vadot              endpoint {
937ef62cebSEmmanuel Vadot                remote-endpoint = <&dp_aux>;
947ef62cebSEmmanuel Vadot              };
957ef62cebSEmmanuel Vadot            };
967ef62cebSEmmanuel Vadot          };
977ef62cebSEmmanuel Vadot        };
987ef62cebSEmmanuel Vadot      };
997ef62cebSEmmanuel Vadot    };
1007ef62cebSEmmanuel Vadot...
101