xref: /linux/Documentation/devicetree/bindings/pinctrl/nvidia,tegra264-pinmux-uphy.yaml (revision 53c7db5c1916afcecc8683ae01ff8415c708a883)
1*30a9d516SPrathamesh Shete# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*30a9d516SPrathamesh Shete%YAML 1.2
3*30a9d516SPrathamesh Shete---
4*30a9d516SPrathamesh Shete$id: http://devicetree.org/schemas/pinctrl/nvidia,tegra264-pinmux-uphy.yaml#
5*30a9d516SPrathamesh Shete$schema: http://devicetree.org/meta-schemas/core.yaml#
6*30a9d516SPrathamesh Shete
7*30a9d516SPrathamesh Shetetitle: NVIDIA Tegra264 UPHY Pinmux Controller
8*30a9d516SPrathamesh Shete
9*30a9d516SPrathamesh Shetemaintainers:
10*30a9d516SPrathamesh Shete  - Thierry Reding <thierry.reding@gmail.com>
11*30a9d516SPrathamesh Shete  - Jon Hunter <jonathanh@nvidia.com>
12*30a9d516SPrathamesh Shete
13*30a9d516SPrathamesh Sheteproperties:
14*30a9d516SPrathamesh Shete  compatible:
15*30a9d516SPrathamesh Shete    const: nvidia,tegra264-pinmux-uphy
16*30a9d516SPrathamesh Shete
17*30a9d516SPrathamesh Shete  reg:
18*30a9d516SPrathamesh Shete    maxItems: 1
19*30a9d516SPrathamesh Shete
20*30a9d516SPrathamesh ShetepatternProperties:
21*30a9d516SPrathamesh Shete  "^pinmux(-[a-z0-9-]+)?$":
22*30a9d516SPrathamesh Shete    type: object
23*30a9d516SPrathamesh Shete
24*30a9d516SPrathamesh Shete    # pin groups
25*30a9d516SPrathamesh Shete    additionalProperties:
26*30a9d516SPrathamesh Shete      $ref: nvidia,tegra264-pinmux-common.yaml
27*30a9d516SPrathamesh Shete
28*30a9d516SPrathamesh Shete      properties:
29*30a9d516SPrathamesh Shete        nvidia,pins:
30*30a9d516SPrathamesh Shete          items:
31*30a9d516SPrathamesh Shete            enum: [ eth1_mdio_pe0, pex_l4_clkreq_n_pd0, pex_l4_rst_n_pd1,
32*30a9d516SPrathamesh Shete                    pex_l5_clkreq_n_pd2, pex_l5_rst_n_pd3, eth0_mdio_pd4,
33*30a9d516SPrathamesh Shete                    eth0_mdc_pd5, eth1_mdc_pe1, eth2_mdio_pe2, eth2_mdc_pe3,
34*30a9d516SPrathamesh Shete                    eth3_mdio_pd6, eth3_mdc_pd7, pex_l1_clkreq_n_pb0,
35*30a9d516SPrathamesh Shete                    pex_l1_rst_n_pb1, pex_wake_n_pc2, pex_l2_rst_n_pb3,
36*30a9d516SPrathamesh Shete                    pex_l2_clkreq_n_pb2, pex_l3_clkreq_n_pb4, pex_l3_rst_n_pb5,
37*30a9d516SPrathamesh Shete                    sgmii0_sma_mdio_pc0, sgmii0_sma_mdc_pc1, soc_gpio113_pb6,
38*30a9d516SPrathamesh Shete                    soc_gpio114_pb7, pwm1_pa0, pwm6_pa1, pwm7_pa2, pwm8_pa3,
39*30a9d516SPrathamesh Shete                    ufs0_ref_clk_pa4, ufs0_rst_n_pa5, drive_eth1_mdio_pe0,
40*30a9d516SPrathamesh Shete                    drive_pex_l4_clkreq_n_pd0, drive_pex_l4_rst_n_pd1,
41*30a9d516SPrathamesh Shete                    drive_pex_l5_clkreq_n_pd2, drive_pex_l5_rst_n_pd3,
42*30a9d516SPrathamesh Shete                    drive_eth0_mdio_pd4, drive_eth0_mdc_pd5, drive_eth1_mdc_pe1,
43*30a9d516SPrathamesh Shete                    drive_eth2_mdio_pe2, drive_eth2_mdc_pe3, drive_eth3_mdio_pd6,
44*30a9d516SPrathamesh Shete                    drive_eth3_mdc_pd7, drive_pex_l1_clkreq_n_pb0,
45*30a9d516SPrathamesh Shete                    drive_pex_l1_rst_n_pb1, drive_pex_wake_n_pc2,
46*30a9d516SPrathamesh Shete                    drive_pex_l2_rst_n_pb3, drive_pex_l2_clkreq_n_pb2,
47*30a9d516SPrathamesh Shete                    drive_pex_l3_clkreq_n_pb4, drive_pex_l3_rst_n_pb5,
48*30a9d516SPrathamesh Shete                    drive_sgmii0_sma_mdio_pc0, drive_sgmii0_sma_mdc_pc1,
49*30a9d516SPrathamesh Shete                    drive_soc_gpio113_pb6, drive_soc_gpio114_pb7,
50*30a9d516SPrathamesh Shete                    drive_pwm1_pa0, drive_pwm6_pa1, drive_pwm7_pa2,
51*30a9d516SPrathamesh Shete                    drive_pwm8_pa3, drive_ufs0_ref_clk_pa4, drive_ufs0_rst_n_pa5 ]
52*30a9d516SPrathamesh Shete
53*30a9d516SPrathamesh Sheterequired:
54*30a9d516SPrathamesh Shete  - compatible
55*30a9d516SPrathamesh Shete  - reg
56*30a9d516SPrathamesh Shete
57*30a9d516SPrathamesh SheteadditionalProperties: false
58*30a9d516SPrathamesh Shete
59*30a9d516SPrathamesh Sheteexamples:
60*30a9d516SPrathamesh Shete  - |
61*30a9d516SPrathamesh Shete    #include <dt-bindings/pinctrl/pinctrl-tegra.h>
62*30a9d516SPrathamesh Shete
63*30a9d516SPrathamesh Shete    pinmux@82e0000 {
64*30a9d516SPrathamesh Shete        compatible = "nvidia,tegra264-pinmux-uphy";
65*30a9d516SPrathamesh Shete        reg = <0x82e0000 0x4000>;
66*30a9d516SPrathamesh Shete
67*30a9d516SPrathamesh Shete        pinctrl-names = "default";
68*30a9d516SPrathamesh Shete        pinctrl-0 = <&pinmux_default>;
69*30a9d516SPrathamesh Shete
70*30a9d516SPrathamesh Shete        pinmux_default: pinmux-default {
71*30a9d516SPrathamesh Shete            pex {
72*30a9d516SPrathamesh Shete                nvidia,pins = "pex_l1_rst_n_pb1";
73*30a9d516SPrathamesh Shete                nvidia,pull = <TEGRA_PIN_PULL_NONE>;
74*30a9d516SPrathamesh Shete                nvidia,tristate = <TEGRA_PIN_DISABLE>;
75*30a9d516SPrathamesh Shete                nvidia,enable-input = <TEGRA_PIN_ENABLE>;
76*30a9d516SPrathamesh Shete            };
77*30a9d516SPrathamesh Shete        };
78*30a9d516SPrathamesh Shete    };
79