| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/pinctrl/eswin,eic7700-pinctrl.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Eswin Eic7700 Pinctrl |
| |
| maintainers: |
| - Yulin Lu <luyulin@eswincomputing.com> |
| |
| allOf: |
| - $ref: pinctrl.yaml# |
| |
| description: | |
| eic7700 pin configuration nodes act as a container for an arbitrary number of |
| subnodes. Each of these subnodes represents some desired configuration for one or |
| more pins. This configuration can include the mux function to select on those pin(s), |
| and various pin configuration parameters, such as input-enable, pull-up, etc. |
| |
| properties: |
| compatible: |
| const: eswin,eic7700-pinctrl |
| |
| reg: |
| maxItems: 1 |
| |
| vrgmii-supply: |
| description: |
| Regulator supply for the RGMII interface IO power domain. |
| This property should reference a regulator that provides either 1.8V or 3.3V, |
| depending on the board-level voltage configuration required by the RGMII interface. |
| |
| patternProperties: |
| '-grp$': |
| type: object |
| additionalProperties: false |
| |
| patternProperties: |
| '-pins$': |
| type: object |
| |
| properties: |
| pins: |
| description: |
| For eic7700, specifies the name(s) of one or more pins to be configured by |
| this node. |
| items: |
| enum: [ chip_mode, mode_set0, mode_set1, mode_set2, mode_set3, xin, |
| rst_out_n, key_reset_n, gpio0, por_sel, jtag0_tck, jtag0_tms, |
| jtag0_tdi, jtag0_tdo, gpio5, spi2_cs0_n, jtag1_tck, jtag1_tms, |
| jtag1_tdi, jtag1_tdo, gpio11, spi2_cs1_n, pcie_clkreq_n, |
| pcie_wake_n, pcie_perst_n, hdmi_scl, hdmi_sda, hdmi_cec, |
| jtag2_trst, rgmii0_clk_125, rgmii0_txen, rgmii0_txclk, |
| rgmii0_txd0, rgmii0_txd1, rgmii0_txd2, rgmii0_txd3, i2s0_bclk, |
| i2s0_wclk, i2s0_sdi, i2s0_sdo, i2s_mclk, rgmii0_rxclk, |
| rgmii0_rxdv, rgmii0_rxd0, rgmii0_rxd1, rgmii0_rxd2, rgmii0_rxd3, |
| i2s2_bclk, i2s2_wclk, i2s2_sdi, i2s2_sdo, gpio27, gpio28, gpio29, |
| rgmii0_mdc, rgmii0_mdio, rgmii0_intb, rgmii1_clk_125, rgmii1_txen, |
| rgmii1_txclk, rgmii1_txd0, rgmii1_txd1, rgmii1_txd2, rgmii1_txd3, |
| i2s1_bclk, i2s1_wclk, i2s1_sdi, i2s1_sdo, gpio34, rgmii1_rxclk, |
| rgmii1_rxdv, rgmii1_rxd0, rgmii1_rxd1, rgmii1_rxd2, rgmii1_rxd3, |
| spi1_cs0_n, spi1_clk, spi1_d0, spi1_d1, spi1_d2, spi1_d3, spi1_cs1_n, |
| rgmii1_mdc, rgmii1_mdio, rgmii1_intb, usb0_pwren, usb1_pwren, |
| i2c0_scl, i2c0_sda, i2c1_scl, i2c1_sda, i2c2_scl, i2c2_sda, |
| i2c3_scl, i2c3_sda, i2c4_scl, i2c4_sda, i2c5_scl, i2c5_sda, |
| uart0_tx, uart0_rx, uart1_tx, uart1_rx, uart1_cts, uart1_rts, |
| uart2_tx, uart2_rx, jtag2_tck, jtag2_tms, jtag2_tdi, jtag2_tdo, |
| fan_pwm, fan_tach, mipi_csi0_xvs, mipi_csi0_xhs, mipi_csi0_mclk, |
| mipi_csi1_xvs, mipi_csi1_xhs, mipi_csi1_mclk, mipi_csi2_xvs, |
| mipi_csi2_xhs, mipi_csi2_mclk, mipi_csi3_xvs, mipi_csi3_xhs, |
| mipi_csi3_mclk, mipi_csi4_xvs, mipi_csi4_xhs, mipi_csi4_mclk, |
| mipi_csi5_xvs, mipi_csi5_xhs, mipi_csi5_mclk, spi3_cs_n, spi3_clk, |
| spi3_di, spi3_do, gpio92, gpio93, s_mode, gpio95, spi0_cs_n, |
| spi0_clk, spi0_d0, spi0_d1, spi0_d2, spi0_d3, i2c10_scl, |
| i2c10_sda, i2c11_scl, i2c11_sda, gpio106, boot_sel0, boot_sel1, |
| boot_sel2, boot_sel3, gpio111, lpddr_ref_clk ] |
| |
| function: |
| description: |
| Specify the alternative function to be configured for the |
| given pins. |
| enum: [ disabled, boot_sel, chip_mode, emmc, fan_tach, |
| gpio, hdmi, i2c, i2s, jtag, ddr_ref_clk_sel, |
| lpddr_ref_clk, mipi_csi, osc, pcie, pwm, |
| rgmii, reset, sata, sdio, spi, s_mode, uart, usb ] |
| |
| input-schmitt-enable: true |
| |
| input-schmitt-disable: true |
| |
| bias-disable: true |
| |
| bias-pull-down: true |
| |
| bias-pull-up: true |
| |
| input-enable: true |
| |
| input-disable: true |
| |
| drive-strength-microamp: true |
| |
| required: |
| - pins |
| |
| additionalProperties: false |
| |
| allOf: |
| - $ref: pincfg-node.yaml# |
| - $ref: pinmux-node.yaml# |
| |
| - if: |
| properties: |
| pins: |
| anyOf: |
| - pattern: '^rgmii' |
| - const: lpddr_ref_clk |
| then: |
| properties: |
| drive-strength-microamp: |
| enum: [3000, 6000, 9000, 12000, 15000, 18000, 21000, 24000] |
| else: |
| properties: |
| drive-strength-microamp: |
| enum: [6000, 9000, 12000, 15000, 18000, 21000, 24000, 27000] |
| |
| required: |
| - compatible |
| - reg |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| pinctrl@51600080 { |
| compatible = "eswin,eic7700-pinctrl"; |
| reg = <0x51600080 0x1fff80>; |
| vrgmii-supply = <&vcc_1v8>; |
| |
| dev-active-grp { |
| /* group node defining 1 standard pin */ |
| gpio10-pins { |
| pins = "jtag1_tdo"; |
| function = "gpio"; |
| input-enable; |
| bias-pull-up; |
| }; |
| |
| /* group node defining 2 I2C pins */ |
| i2c6-pins { |
| pins = "uart1_cts", "uart1_rts"; |
| function = "i2c"; |
| }; |
| }; |
| }; |