linux/Documentation/devicetree/bindings/usb/cypress,cypd4226.yaml
Krzysztof Kozlowski e251a4e28a dt-bindings: usb: connector: disallow additional properties
USB connector bindings is complete, thus no additional properties should
be allowed.  Add missing 'reg' property and change additionalProperties
to false, so the schema will check for anything unexpected.  This also
allows to drop the 'reg' from other bindings referencing the
usb-connector.yaml and make it required.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230725102325.76336-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Rob Herring <robh@kernel.org>
2023-07-27 11:08:36 -06:00

97 lines
2.1 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/cypress,cypd4226.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Cypress cypd4226 Type-C Controller
maintainers:
- Wayne Chang <waynec@nvidia.com>
description:
The Cypress cypd4226 is a dual Type-C controller that is controlled
via an I2C interface.
properties:
compatible:
const: cypress,cypd4226
'#address-cells':
const: 1
'#size-cells':
const: 0
reg:
const: 0x08
interrupts:
items:
- description: cypd4226 host interrupt
firmware-name:
enum:
- nvidia,gpu
- nvidia,jetson-agx-xavier
description: |
The name of the CCGx firmware built for product series.
should be set one of following:
- "nvidia,gpu" for the NVIDIA RTX product series
- "nvidia,jetson-agx-xavier" for the NVIDIA Jetson product series
patternProperties:
'^connector@[01]$':
$ref: /schemas/connector/usb-connector.yaml#
required:
- reg
required:
- compatible
- reg
- interrupts
anyOf:
- required:
- connector@0
- required:
- connector@1
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/tegra194-gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
#interrupt-cells = <2>;
typec@8 {
compatible = "cypress,cypd4226";
reg = <0x08>;
interrupt-parent = <&gpio_aon>;
interrupts = <TEGRA194_AON_GPIO(BB, 2) IRQ_TYPE_LEVEL_LOW>;
firmware-name = "nvidia,jetson-agx-xavier";
#address-cells = <1>;
#size-cells = <0>;
connector@0 {
compatible = "usb-c-connector";
reg = <0>;
label = "USB-C";
data-role = "dual";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
endpoint {
remote-endpoint = <&usb_role_switch0>;
};
};
};
};
};
};