brintos

brintos / linux-shallow public Read only

0
0
Text · 3.7 KiB · 1745e28 Raw
160 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/usb/ti,tps6598x.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Texas Instruments 6598x Type-C Port Switch and Power Delivery controller8 9maintainers:10  - Bryan O'Donoghue <bryan.odonoghue@linaro.org>11 12description: |13  Texas Instruments 6598x Type-C Port Switch and Power Delivery controller14 15  A variant of this controller known as Apple CD321x or Apple ACE is also16  present on hardware with Apple SoCs such as the M1.17 18properties:19  compatible:20    enum:21      - ti,tps6598x22      - apple,cd321x23      - ti,tps2575024 25  reg:26    minItems: 127    items:28      - description: main PD controller address29      - description: |30          I2C slave address field in PBMs input data31          which is used as the device address when writing the32          patch for TPS25750.33          The patch address can be any value except 0x00, 0x20,34          0x21, 0x22, and 0x2335 36  reg-names:37    items:38      - const: main39      - const: patch-address40 41  reset-gpios:42    description: GPIO used for the HRESET pin.43    maxItems: 144 45  wakeup-source: true46 47  interrupts:48    maxItems: 149 50  interrupt-names:51    items:52      - const: irq53 54  connector:55    $ref: /schemas/connector/usb-connector.yaml#56 57  firmware-name:58    description: |59      Should contain the name of the default patch binary60      file located on the firmware search path which is61      used to switch the controller into APP mode.62      This is used when tps25750 doesn't have an EEPROM63      connected to it.64    maxItems: 165 66required:67  - compatible68  - reg69 70allOf:71  - if:72      properties:73        compatible:74          contains:75            const: ti,tps2575076    then:77      properties:78        reg:79          maxItems: 280 81        connector:82          required:83            - data-role84 85      required:86        - connector87        - reg-names88    else:89      properties:90        reg:91          maxItems: 192 93additionalProperties: false94 95examples:96  - |97    #include <dt-bindings/gpio/gpio.h>98    #include <dt-bindings/interrupt-controller/irq.h>99    i2c {100        #address-cells = <1>;101        #size-cells = <0>;102 103        tps6598x: tps6598x@38 {104            compatible = "ti,tps6598x";105            reg = <0x38>;106            wakeup-source;107 108            interrupt-parent = <&msmgpio>;109            interrupts = <107 IRQ_TYPE_LEVEL_LOW>;110            interrupt-names = "irq";111 112            pinctrl-names = "default";113            pinctrl-0 = <&typec_pins>;114            reset-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;115 116            typec_con: connector {117                compatible = "usb-c-connector";118                label = "USB-C";119                port {120                    typec_ep: endpoint {121                        remote-endpoint = <&otg_ep>;122                    };123                };124            };125        };126    };127 128  - |129    #include <dt-bindings/interrupt-controller/irq.h>130    i2c {131        #address-cells = <1>;132        #size-cells = <0>;133 134        typec@21 {135            compatible = "ti,tps25750";136            reg = <0x21>, <0x0f>;137            reg-names = "main", "patch-address";138 139            interrupt-parent = <&msmgpio>;140            interrupts = <100 IRQ_TYPE_LEVEL_LOW>;141            interrupt-names = "irq";142            firmware-name = "tps25750.bin";143 144            pinctrl-names = "default";145            pinctrl-0 = <&typec_pins>;146 147            typec_con0: connector {148                compatible = "usb-c-connector";149                label = "USB-C";150                data-role = "dual";151                port {152                    typec_ep0: endpoint {153                        remote-endpoint = <&otg_ep>;154                    };155                };156            };157        };158    };159...160