1fb9a1b80SWayne Chang# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2fb9a1b80SWayne Chang%YAML 1.2
3fb9a1b80SWayne Chang---
4fb9a1b80SWayne Chang$id: http://devicetree.org/schemas/usb/cypress,cypd4226.yaml#
5fb9a1b80SWayne Chang$schema: http://devicetree.org/meta-schemas/core.yaml#
6fb9a1b80SWayne Chang
7fb9a1b80SWayne Changtitle: Cypress cypd4226 Type-C Controller
8fb9a1b80SWayne Chang
9fb9a1b80SWayne Changmaintainers:
10fb9a1b80SWayne Chang  - Wayne Chang <waynec@nvidia.com>
11fb9a1b80SWayne Chang
12fb9a1b80SWayne Changdescription:
13fb9a1b80SWayne Chang  The Cypress cypd4226 is a dual Type-C controller that is controlled
14fb9a1b80SWayne Chang  via an I2C interface.
15fb9a1b80SWayne Chang
16fb9a1b80SWayne Changproperties:
17fb9a1b80SWayne Chang  compatible:
18fb9a1b80SWayne Chang    const: cypress,cypd4226
19fb9a1b80SWayne Chang
20fb9a1b80SWayne Chang  '#address-cells':
21fb9a1b80SWayne Chang    const: 1
22fb9a1b80SWayne Chang
23fb9a1b80SWayne Chang  '#size-cells':
24fb9a1b80SWayne Chang    const: 0
25fb9a1b80SWayne Chang
26fb9a1b80SWayne Chang  reg:
27fb9a1b80SWayne Chang    const: 0x08
28fb9a1b80SWayne Chang
29fb9a1b80SWayne Chang  interrupts:
30fb9a1b80SWayne Chang    items:
31fb9a1b80SWayne Chang      - description: cypd4226 host interrupt
32fb9a1b80SWayne Chang
33fb9a1b80SWayne Chang  firmware-name:
34fb9a1b80SWayne Chang    enum:
35fb9a1b80SWayne Chang      - nvidia,gpu
36fb9a1b80SWayne Chang      - nvidia,jetson-agx-xavier
37fb9a1b80SWayne Chang    description: |
38fb9a1b80SWayne Chang      The name of the CCGx firmware built for product series.
39fb9a1b80SWayne Chang      should be set one of following:
40fb9a1b80SWayne Chang      - "nvidia,gpu" for the NVIDIA RTX product series
41fb9a1b80SWayne Chang      - "nvidia,jetson-agx-xavier" for the NVIDIA Jetson product series
42fb9a1b80SWayne Chang
43fb9a1b80SWayne ChangpatternProperties:
44fb9a1b80SWayne Chang  '^connector@[01]$':
45fb9a1b80SWayne Chang    $ref: /schemas/connector/usb-connector.yaml#
46*e251a4e2SKrzysztof Kozlowski    required:
47*e251a4e2SKrzysztof Kozlowski      - reg
48fb9a1b80SWayne Chang
49fb9a1b80SWayne Changrequired:
50fb9a1b80SWayne Chang  - compatible
51fb9a1b80SWayne Chang  - reg
52fb9a1b80SWayne Chang  - interrupts
53fb9a1b80SWayne Chang
54fb9a1b80SWayne ChanganyOf:
55fb9a1b80SWayne Chang  - required:
56fb9a1b80SWayne Chang      - connector@0
57fb9a1b80SWayne Chang  - required:
58fb9a1b80SWayne Chang      - connector@1
59fb9a1b80SWayne Chang
60fb9a1b80SWayne ChangadditionalProperties: false
61fb9a1b80SWayne Chang
62fb9a1b80SWayne Changexamples:
63fb9a1b80SWayne Chang  - |
64fb9a1b80SWayne Chang    #include <dt-bindings/gpio/tegra194-gpio.h>
65fb9a1b80SWayne Chang    #include <dt-bindings/interrupt-controller/arm-gic.h>
66fb9a1b80SWayne Chang    i2c {
67fb9a1b80SWayne Chang      #address-cells = <1>;
68fb9a1b80SWayne Chang      #size-cells = <0>;
69fb9a1b80SWayne Chang      #interrupt-cells = <2>;
70fb9a1b80SWayne Chang
71fb9a1b80SWayne Chang      typec@8 {
72fb9a1b80SWayne Chang        compatible = "cypress,cypd4226";
73fb9a1b80SWayne Chang        reg = <0x08>;
74fb9a1b80SWayne Chang        interrupt-parent = <&gpio_aon>;
75fb9a1b80SWayne Chang        interrupts = <TEGRA194_AON_GPIO(BB, 2) IRQ_TYPE_LEVEL_LOW>;
76fb9a1b80SWayne Chang        firmware-name = "nvidia,jetson-agx-xavier";
77fb9a1b80SWayne Chang        #address-cells = <1>;
78fb9a1b80SWayne Chang        #size-cells = <0>;
79fb9a1b80SWayne Chang        connector@0 {
80fb9a1b80SWayne Chang          compatible = "usb-c-connector";
81fb9a1b80SWayne Chang          reg = <0>;
82fb9a1b80SWayne Chang          label = "USB-C";
83fb9a1b80SWayne Chang          data-role = "dual";
84fb9a1b80SWayne Chang          ports {
85fb9a1b80SWayne Chang            #address-cells = <1>;
86fb9a1b80SWayne Chang            #size-cells = <0>;
87fb9a1b80SWayne Chang            port@0 {
88fb9a1b80SWayne Chang              reg = <0>;
89fb9a1b80SWayne Chang              endpoint {
90fb9a1b80SWayne Chang                remote-endpoint = <&usb_role_switch0>;
91fb9a1b80SWayne Chang              };
92fb9a1b80SWayne Chang            };
93fb9a1b80SWayne Chang          };
94fb9a1b80SWayne Chang        };
95fb9a1b80SWayne Chang      };
96fb9a1b80SWayne Chang    };
97