Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pinctrl/eswin,eic7700-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Eswin Eic7700 Pinctrl
8
9maintainers:
10 - Yulin Lu <luyulin@eswincomputing.com>
11
12allOf:
13 - $ref: pinctrl.yaml#
14
15description: |
16 eic7700 pin configuration nodes act as a container for an arbitrary number of
17 subnodes. Each of these subnodes represents some desired configuration for one or
18 more pins. This configuration can include the mux function to select on those pin(s),
19 and various pin configuration parameters, such as input-enable, pull-up, etc.
20
21properties:
22 compatible:
23 const: eswin,eic7700-pinctrl
24
25 reg:
26 maxItems: 1
27
28 vrgmii-supply:
29 description:
30 Regulator supply for the RGMII interface IO power domain.
31 This property should reference a regulator that provides either 1.8V or 3.3V,
32 depending on the board-level voltage configuration required by the RGMII interface.
33
34patternProperties:
35 '-grp$':
36 type: object
37 additionalProperties: false
38
39 patternProperties:
40 '-pins$':
41 type: object
42
43 properties:
44 pins:
45 description:
46 For eic7700, specifies the name(s) of one or more pins to be configured by
47 this node.
48 items:
49 enum: [ chip_mode, mode_set0, mode_set1, mode_set2, mode_set3, xin,
50 rst_out_n, key_reset_n, gpio0, por_sel, jtag0_tck, jtag0_tms,
51 jtag0_tdi, jtag0_tdo, gpio5, spi2_cs0_n, jtag1_tck, jtag1_tms,
52 jtag1_tdi, jtag1_tdo, gpio11, spi2_cs1_n, pcie_clkreq_n,
53 pcie_wake_n, pcie_perst_n, hdmi_scl, hdmi_sda, hdmi_cec,
54 jtag2_trst, rgmii0_clk_125, rgmii0_txen, rgmii0_txclk,
55 rgmii0_txd0, rgmii0_txd1, rgmii0_txd2, rgmii0_txd3, i2s0_bclk,
56 i2s0_wclk, i2s0_sdi, i2s0_sdo, i2s_mclk, rgmii0_rxclk,
57 rgmii0_rxdv, rgmii0_rxd0, rgmii0_rxd1, rgmii0_rxd2, rgmii0_rxd3,
58 i2s2_bclk, i2s2_wclk, i2s2_sdi, i2s2_sdo, gpio27, gpio28, gpio29,
59 rgmii0_mdc, rgmii0_mdio, rgmii0_intb, rgmii1_clk_125, rgmii1_txen,
60 rgmii1_txclk, rgmii1_txd0, rgmii1_txd1, rgmii1_txd2, rgmii1_txd3,
61 i2s1_bclk, i2s1_wclk, i2s1_sdi, i2s1_sdo, gpio34, rgmii1_rxclk,
62 rgmii1_rxdv, rgmii1_rxd0, rgmii1_rxd1, rgmii1_rxd2, rgmii1_rxd3,
63 spi1_cs0_n, spi1_clk, spi1_d0, spi1_d1, spi1_d2, spi1_d3, spi1_cs1_n,
64 rgmii1_mdc, rgmii1_mdio, rgmii1_intb, usb0_pwren, usb1_pwren,
65 i2c0_scl, i2c0_sda, i2c1_scl, i2c1_sda, i2c2_scl, i2c2_sda,
66 i2c3_scl, i2c3_sda, i2c4_scl, i2c4_sda, i2c5_scl, i2c5_sda,
67 uart0_tx, uart0_rx, uart1_tx, uart1_rx, uart1_cts, uart1_rts,
68 uart2_tx, uart2_rx, jtag2_tck, jtag2_tms, jtag2_tdi, jtag2_tdo,
69 fan_pwm, fan_tach, mipi_csi0_xvs, mipi_csi0_xhs, mipi_csi0_mclk,
70 mipi_csi1_xvs, mipi_csi1_xhs, mipi_csi1_mclk, mipi_csi2_xvs,
71 mipi_csi2_xhs, mipi_csi2_mclk, mipi_csi3_xvs, mipi_csi3_xhs,
72 mipi_csi3_mclk, mipi_csi4_xvs, mipi_csi4_xhs, mipi_csi4_mclk,
73 mipi_csi5_xvs, mipi_csi5_xhs, mipi_csi5_mclk, spi3_cs_n, spi3_clk,
74 spi3_di, spi3_do, gpio92, gpio93, s_mode, gpio95, spi0_cs_n,
75 spi0_clk, spi0_d0, spi0_d1, spi0_d2, spi0_d3, i2c10_scl,
76 i2c10_sda, i2c11_scl, i2c11_sda, gpio106, boot_sel0, boot_sel1,
77 boot_sel2, boot_sel3, gpio111, lpddr_ref_clk ]
78
79 function:
80 description:
81 Specify the alternative function to be configured for the
82 given pins.
83 enum: [ disabled, boot_sel, chip_mode, emmc, fan_tach,
84 gpio, hdmi, i2c, i2s, jtag, ddr_ref_clk_sel,
85 lpddr_ref_clk, mipi_csi, osc, pcie, pwm,
86 rgmii, reset, sata, sdio, spi, s_mode, uart, usb ]
87
88 input-schmitt-enable: true
89
90 input-schmitt-disable: true
91
92 bias-disable: true
93
94 bias-pull-down: true
95
96 bias-pull-up: true
97
98 input-enable: true
99
100 input-disable: true
101
102 drive-strength-microamp: true
103
104 required:
105 - pins
106
107 additionalProperties: false
108
109 allOf:
110 - $ref: pincfg-node.yaml#
111 - $ref: pinmux-node.yaml#
112
113 - if:
114 properties:
115 pins:
116 anyOf:
117 - pattern: '^rgmii'
118 - const: lpddr_ref_clk
119 then:
120 properties:
121 drive-strength-microamp:
122 enum: [3000, 6000, 9000, 12000, 15000, 18000, 21000, 24000]
123 else:
124 properties:
125 drive-strength-microamp:
126 enum: [6000, 9000, 12000, 15000, 18000, 21000, 24000, 27000]
127
128required:
129 - compatible
130 - reg
131
132unevaluatedProperties: false
133
134examples:
135 - |
136 pinctrl@51600080 {
137 compatible = "eswin,eic7700-pinctrl";
138 reg = <0x51600080 0x1fff80>;
139 vrgmii-supply = <&vcc_1v8>;
140
141 dev-active-grp {
142 /* group node defining 1 standard pin */
143 gpio10-pins {
144 pins = "jtag1_tdo";
145 function = "gpio";
146 input-enable;
147 bias-pull-up;
148 };
149
150 /* group node defining 2 I2C pins */
151 i2c6-pins {
152 pins = "uart1_cts", "uart1_rts";
153 function = "i2c";
154 };
155 };
156 };