File Index
Files and directories
Sign in
FILE

eswin,eic7700-pinctrl.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/pinctrl/eswin,eic7700-pinctrl.yaml YAML
  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    };
~/ Read-only file preview.