mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-31 22:23:05 +00:00

The TPS6598x device family provides a high-level reset pin. It can be either grounded or used to reinitialize all device settings. Document the reset GPIO as an optional property and add it to the existing example. Signed-off-by: Javier Carrasco <javier.carrasco@wolfvision.net> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20230912-topic-tps6598x_reset-v3-2-0c2873070a77@wolfvision.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
160 lines
3.7 KiB
YAML
160 lines
3.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/usb/ti,tps6598x.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Texas Instruments 6598x Type-C Port Switch and Power Delivery controller
|
|
|
|
maintainers:
|
|
- Bryan O'Donoghue <bryan.odonoghue@linaro.org>
|
|
|
|
description: |
|
|
Texas Instruments 6598x Type-C Port Switch and Power Delivery controller
|
|
|
|
A variant of this controller known as Apple CD321x or Apple ACE is also
|
|
present on hardware with Apple SoCs such as the M1.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- ti,tps6598x
|
|
- apple,cd321x
|
|
- ti,tps25750
|
|
|
|
reg:
|
|
minItems: 1
|
|
items:
|
|
- description: main PD controller address
|
|
- description: |
|
|
I2C slave address field in PBMs input data
|
|
which is used as the device address when writing the
|
|
patch for TPS25750.
|
|
The patch address can be any value except 0x00, 0x20,
|
|
0x21, 0x22, and 0x23
|
|
|
|
reg-names:
|
|
items:
|
|
- const: main
|
|
- const: patch-address
|
|
|
|
reset-gpios:
|
|
description: GPIO used for the HRESET pin.
|
|
maxItems: 1
|
|
|
|
wakeup-source: true
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
interrupt-names:
|
|
items:
|
|
- const: irq
|
|
|
|
connector:
|
|
$ref: /schemas/connector/usb-connector.yaml#
|
|
|
|
firmware-name:
|
|
description: |
|
|
Should contain the name of the default patch binary
|
|
file located on the firmware search path which is
|
|
used to switch the controller into APP mode.
|
|
This is used when tps25750 doesn't have an EEPROM
|
|
connected to it.
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: ti,tps25750
|
|
then:
|
|
properties:
|
|
reg:
|
|
maxItems: 2
|
|
|
|
connector:
|
|
required:
|
|
- data-role
|
|
|
|
required:
|
|
- connector
|
|
- reg-names
|
|
else:
|
|
properties:
|
|
reg:
|
|
maxItems: 1
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
tps6598x: tps6598x@38 {
|
|
compatible = "ti,tps6598x";
|
|
reg = <0x38>;
|
|
wakeup-source;
|
|
|
|
interrupt-parent = <&msmgpio>;
|
|
interrupts = <107 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-names = "irq";
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&typec_pins>;
|
|
reset-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
|
|
|
|
typec_con: connector {
|
|
compatible = "usb-c-connector";
|
|
label = "USB-C";
|
|
port {
|
|
typec_ep: endpoint {
|
|
remote-endpoint = <&otg_ep>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
typec@21 {
|
|
compatible = "ti,tps25750";
|
|
reg = <0x21>, <0x0f>;
|
|
reg-names = "main", "patch-address";
|
|
|
|
interrupt-parent = <&msmgpio>;
|
|
interrupts = <100 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-names = "irq";
|
|
firmware-name = "tps25750.bin";
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&typec_pins>;
|
|
|
|
typec_con0: connector {
|
|
compatible = "usb-c-connector";
|
|
label = "USB-C";
|
|
data-role = "dual";
|
|
port {
|
|
typec_ep0: endpoint {
|
|
remote-endpoint = <&otg_ep>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|