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/pinctrl/nvidia,tegra234-pinmux-common.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: NVIDIA Tegra234 Pinmux 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  reg:
1562306a36Sopenharmony_ci    items:
1662306a36Sopenharmony_ci      - description: pinmux registers
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_cipatternProperties:
1962306a36Sopenharmony_ci  "^pinmux(-[a-z0-9-]+)?$":
2062306a36Sopenharmony_ci    type: object
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci    # pin groups
2362306a36Sopenharmony_ci    additionalProperties:
2462306a36Sopenharmony_ci      $ref: nvidia,tegra-pinmux-common.yaml
2562306a36Sopenharmony_ci      # We would typically use unevaluatedProperties here but that has the
2662306a36Sopenharmony_ci      # downside that all the properties in the common bindings become valid
2762306a36Sopenharmony_ci      # for all chip generations. In this case, however, we want the per-SoC
2862306a36Sopenharmony_ci      # bindings to be able to override which of the common properties are
2962306a36Sopenharmony_ci      # allowed, since not all pinmux generations support the same sets of
3062306a36Sopenharmony_ci      # properties. This way, the common bindings define the format of the
3162306a36Sopenharmony_ci      # properties but the per-SoC bindings define which of them apply to a
3262306a36Sopenharmony_ci      # given chip.
3362306a36Sopenharmony_ci      additionalProperties: false
3462306a36Sopenharmony_ci      properties:
3562306a36Sopenharmony_ci        nvidia,function:
3662306a36Sopenharmony_ci          enum: [ gp, uartc, i2c8, spi2, i2c2, can1, can0, rsvd0, eth0, eth2,
3762306a36Sopenharmony_ci                  eth1, dp, eth3, i2c4, i2c7, i2c9, eqos, pe2, pe1, pe0, pe3,
3862306a36Sopenharmony_ci                  pe4, pe5, pe6, pe7, pe8, pe9, pe10, qspi0, qspi1, qpsi,
3962306a36Sopenharmony_ci                  sdmmc1, sce, soc, gpio, hdmi, ufs0, spi3, spi1, uartb, uarte,
4062306a36Sopenharmony_ci                  usb, extperiph2, extperiph1, i2c3, vi0, i2c5, uarta, uartd,
4162306a36Sopenharmony_ci                  i2c1, i2s4, i2s6, aud, spi5, touch, uartj, rsvd1, wdt, tsc,
4262306a36Sopenharmony_ci                  dmic3, led, vi0_alt, i2s5, nv, extperiph3, extperiph4, spi4,
4362306a36Sopenharmony_ci                  ccla, i2s1, i2s2, i2s3, i2s8, rsvd2, dmic5, dca, displayb,
4462306a36Sopenharmony_ci                  displaya, vi1, dcb, dmic1, dmic4, i2s7, dmic2, dspk0, rsvd3,
4562306a36Sopenharmony_ci                  tsc_alt, istctrl, vi1_alt, dspk1, igpu ]
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci        # out of the common properties, only these are allowed for Tegra234
4862306a36Sopenharmony_ci        nvidia,pins: true
4962306a36Sopenharmony_ci        nvidia,pull: true
5062306a36Sopenharmony_ci        nvidia,tristate: true
5162306a36Sopenharmony_ci        nvidia,schmitt: true
5262306a36Sopenharmony_ci        nvidia,enable-input: true
5362306a36Sopenharmony_ci        nvidia,open-drain: true
5462306a36Sopenharmony_ci        nvidia,lock: true
5562306a36Sopenharmony_ci        nvidia,drive-type: true
5662306a36Sopenharmony_ci        nvidia,io-hv: true
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci      required:
5962306a36Sopenharmony_ci        - nvidia,pins
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_cirequired:
6262306a36Sopenharmony_ci  - compatible
6362306a36Sopenharmony_ci  - reg
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciadditionalProperties: true
6662306a36Sopenharmony_ci...
67