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