162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/soc/tegra/nvidia,nvec.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: NVIDIA compliant embedded controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Thierry Reding <thierry.reding@gmail.com>
1162306a36Sopenharmony_ci  - Jon Hunter <jonathanh@nvidia.com>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciproperties:
1462306a36Sopenharmony_ci  compatible:
1562306a36Sopenharmony_ci    const: nvidia,nvec
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci  reg:
1862306a36Sopenharmony_ci    maxItems: 1
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci  interrupts:
2162306a36Sopenharmony_ci    maxItems: 1
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  clocks:
2462306a36Sopenharmony_ci    minItems: 1
2562306a36Sopenharmony_ci    items:
2662306a36Sopenharmony_ci      - description: divider clock
2762306a36Sopenharmony_ci      - description: fast clock
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  clock-names:
3062306a36Sopenharmony_ci    minItems: 1
3162306a36Sopenharmony_ci    items:
3262306a36Sopenharmony_ci      - const: div-clk
3362306a36Sopenharmony_ci      - const: fast-clk
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci  resets:
3662306a36Sopenharmony_ci    items:
3762306a36Sopenharmony_ci      - description: module reset
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  reset-names:
4062306a36Sopenharmony_ci    items:
4162306a36Sopenharmony_ci      - const: i2c
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci  clock-frequency: true
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  request-gpios:
4662306a36Sopenharmony_ci    description: phandle to the GPIO used for EC request
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci  slave-addr:
4962306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
5062306a36Sopenharmony_ci    description: I2C address of the slave controller
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciadditionalProperties: false
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_cirequired:
5562306a36Sopenharmony_ci  - compatible
5662306a36Sopenharmony_ci  - reg
5762306a36Sopenharmony_ci  - interrupts
5862306a36Sopenharmony_ci  - clocks
5962306a36Sopenharmony_ci  - clock-names
6062306a36Sopenharmony_ci  - resets
6162306a36Sopenharmony_ci  - reset-names
6262306a36Sopenharmony_ci  - clock-frequency
6362306a36Sopenharmony_ci  - request-gpios
6462306a36Sopenharmony_ci  - slave-addr
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ciexamples:
6762306a36Sopenharmony_ci  - |
6862306a36Sopenharmony_ci    #include <dt-bindings/clock/tegra20-car.h>
6962306a36Sopenharmony_ci    #include <dt-bindings/gpio/tegra-gpio.h>
7062306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci    i2c@7000c500 {
7362306a36Sopenharmony_ci        compatible = "nvidia,nvec";
7462306a36Sopenharmony_ci        reg = <0x7000c500 0x100>;
7562306a36Sopenharmony_ci        interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
7662306a36Sopenharmony_ci        clock-frequency = <80000>;
7762306a36Sopenharmony_ci        request-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
7862306a36Sopenharmony_ci        slave-addr = <138>;
7962306a36Sopenharmony_ci        clocks = <&tegra_car TEGRA20_CLK_I2C3>,
8062306a36Sopenharmony_ci                 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
8162306a36Sopenharmony_ci        clock-names = "div-clk", "fast-clk";
8262306a36Sopenharmony_ci        resets = <&tegra_car 67>;
8362306a36Sopenharmony_ci        reset-names = "i2c";
8462306a36Sopenharmony_ci    };
85