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