1*4882a593Smuzhiyun== MediaTek MT7622 pinctrl controller == 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRequired properties for the root node: 4*4882a593Smuzhiyun - compatible: Should be one of the following 5*4882a593Smuzhiyun "mediatek,mt7622-pinctrl" for MT7622 SoC 6*4882a593Smuzhiyun "mediatek,mt7629-pinctrl" for MT7629 SoC 7*4882a593Smuzhiyun - reg: offset and length of the pinctrl space 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun - gpio-controller: Marks the device node as a GPIO controller. 10*4882a593Smuzhiyun - #gpio-cells: Should be two. The first cell is the pin number and the 11*4882a593Smuzhiyun second is the GPIO flags. 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunOptional properties: 14*4882a593Smuzhiyun- interrupt-controller : Marks the device node as an interrupt controller 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunIf the property interrupt-controller is defined, following property is required 17*4882a593Smuzhiyun- reg-names: A string describing the "reg" entries. Must contain "eint". 18*4882a593Smuzhiyun- interrupts : The interrupt output from the controller. 19*4882a593Smuzhiyun- #interrupt-cells: Should be two. 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunPlease refer to pinctrl-bindings.txt in this directory for details of the 22*4882a593Smuzhiyuncommon pinctrl bindings used by client devices, including the meaning of the 23*4882a593Smuzhiyunphrase "pin configuration node". 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunMT7622 pin configuration nodes act as a container for an arbitrary number of 26*4882a593Smuzhiyunsubnodes. Each of these subnodes represents some desired configuration for a 27*4882a593Smuzhiyunpin, a group, or a list of pins or groups. This configuration can include the 28*4882a593Smuzhiyunmux function to select on those pin(s)/group(s), and various pin configuration 29*4882a593Smuzhiyunparameters, such as pull-up, slew rate, etc. 30*4882a593Smuzhiyun 31*4882a593SmuzhiyunWe support 2 types of configuration nodes. Those nodes can be either pinmux 32*4882a593Smuzhiyunnodes or pinconf nodes. Each configuration node can consist of multiple nodes 33*4882a593Smuzhiyundescribing the pinmux and pinconf options. 34*4882a593Smuzhiyun 35*4882a593SmuzhiyunThe name of each subnode doesn't matter as long as it is unique; all subnodes 36*4882a593Smuzhiyunshould be enumerated and processed purely based on their content. 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun== pinmux nodes content == 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunThe following generic properties as defined in pinctrl-bindings.txt are valid 41*4882a593Smuzhiyunto specify in a pinmux subnode: 42*4882a593Smuzhiyun 43*4882a593SmuzhiyunRequired properties are: 44*4882a593Smuzhiyun - groups: An array of strings. Each string contains the name of a group. 45*4882a593Smuzhiyun Valid values for these names are listed below. 46*4882a593Smuzhiyun - function: A string containing the name of the function to mux to the 47*4882a593Smuzhiyun group. Valid values for function names are listed below. 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun== pinconf nodes content == 50*4882a593Smuzhiyun 51*4882a593SmuzhiyunThe following generic properties as defined in pinctrl-bindings.txt are valid 52*4882a593Smuzhiyunto specify in a pinconf subnode: 53*4882a593Smuzhiyun 54*4882a593SmuzhiyunRequired properties are: 55*4882a593Smuzhiyun - pins: An array of strings. Each string contains the name of a pin. 56*4882a593Smuzhiyun Valid values for these names are listed below. 57*4882a593Smuzhiyun - groups: An array of strings. Each string contains the name of a group. 58*4882a593Smuzhiyun Valid values for these names are listed below. 59*4882a593Smuzhiyun 60*4882a593SmuzhiyunOptional properies are: 61*4882a593Smuzhiyun bias-disable, bias-pull, bias-pull-down, input-enable, 62*4882a593Smuzhiyun input-schmitt-enable, input-schmitt-disable, output-enable 63*4882a593Smuzhiyun output-low, output-high, drive-strength, slew-rate 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun Valid arguments for 'slew-rate' are '0' for no slew rate controlled and '1' for 66*4882a593Smuzhiyun slower slew rate respectively. 67*4882a593Smuzhiyun Valid arguments for 'drive-strength', 4, 8, 12, or 16 in mA. 68*4882a593Smuzhiyun 69*4882a593SmuzhiyunThe following specific properties as defined are valid to specify in a pinconf 70*4882a593Smuzhiyunsubnode: 71*4882a593Smuzhiyun 72*4882a593SmuzhiyunOptional properties are: 73*4882a593Smuzhiyun - mediatek,tdsel: An integer describing the steps for output level shifter duty 74*4882a593Smuzhiyun cycle when asserted (high pulse width adjustment). Valid arguments are from 0 75*4882a593Smuzhiyun to 15. 76*4882a593Smuzhiyun - mediatek,rdsel: An integer describing the steps for input level shifter duty 77*4882a593Smuzhiyun cycle when asserted (high pulse width adjustment). Valid arguments are from 0 78*4882a593Smuzhiyun to 63. 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun== Valid values for pins, function and groups on MT7622 == 81*4882a593Smuzhiyun 82*4882a593SmuzhiyunValid values for pins are: 83*4882a593Smuzhiyunpins can be referenced via the pin names as the below table shown and the 84*4882a593Smuzhiyunrelated physical number is also put ahead of those names which helps cross 85*4882a593Smuzhiyunreferences to pins between groups to know whether pins assignment conflict 86*4882a593Smuzhiyunhappens among devices try to acquire those available pins. 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun Pin #: Valid values for pins 89*4882a593Smuzhiyun ----------------------------- 90*4882a593Smuzhiyun PIN 0: "GPIO_A" 91*4882a593Smuzhiyun PIN 1: "I2S1_IN" 92*4882a593Smuzhiyun PIN 2: "I2S1_OUT" 93*4882a593Smuzhiyun PIN 3: "I2S_BCLK" 94*4882a593Smuzhiyun PIN 4: "I2S_WS" 95*4882a593Smuzhiyun PIN 5: "I2S_MCLK" 96*4882a593Smuzhiyun PIN 6: "TXD0" 97*4882a593Smuzhiyun PIN 7: "RXD0" 98*4882a593Smuzhiyun PIN 8: "SPI_WP" 99*4882a593Smuzhiyun PIN 9: "SPI_HOLD" 100*4882a593Smuzhiyun PIN 10: "SPI_CLK" 101*4882a593Smuzhiyun PIN 11: "SPI_MOSI" 102*4882a593Smuzhiyun PIN 12: "SPI_MISO" 103*4882a593Smuzhiyun PIN 13: "SPI_CS" 104*4882a593Smuzhiyun PIN 14: "I2C_SDA" 105*4882a593Smuzhiyun PIN 15: "I2C_SCL" 106*4882a593Smuzhiyun PIN 16: "I2S2_IN" 107*4882a593Smuzhiyun PIN 17: "I2S3_IN" 108*4882a593Smuzhiyun PIN 18: "I2S4_IN" 109*4882a593Smuzhiyun PIN 19: "I2S2_OUT" 110*4882a593Smuzhiyun PIN 20: "I2S3_OUT" 111*4882a593Smuzhiyun PIN 21: "I2S4_OUT" 112*4882a593Smuzhiyun PIN 22: "GPIO_B" 113*4882a593Smuzhiyun PIN 23: "MDC" 114*4882a593Smuzhiyun PIN 24: "MDIO" 115*4882a593Smuzhiyun PIN 25: "G2_TXD0" 116*4882a593Smuzhiyun PIN 26: "G2_TXD1" 117*4882a593Smuzhiyun PIN 27: "G2_TXD2" 118*4882a593Smuzhiyun PIN 28: "G2_TXD3" 119*4882a593Smuzhiyun PIN 29: "G2_TXEN" 120*4882a593Smuzhiyun PIN 30: "G2_TXC" 121*4882a593Smuzhiyun PIN 31: "G2_RXD0" 122*4882a593Smuzhiyun PIN 32: "G2_RXD1" 123*4882a593Smuzhiyun PIN 33: "G2_RXD2" 124*4882a593Smuzhiyun PIN 34: "G2_RXD3" 125*4882a593Smuzhiyun PIN 35: "G2_RXDV" 126*4882a593Smuzhiyun PIN 36: "G2_RXC" 127*4882a593Smuzhiyun PIN 37: "NCEB" 128*4882a593Smuzhiyun PIN 38: "NWEB" 129*4882a593Smuzhiyun PIN 39: "NREB" 130*4882a593Smuzhiyun PIN 40: "NDL4" 131*4882a593Smuzhiyun PIN 41: "NDL5" 132*4882a593Smuzhiyun PIN 42: "NDL6" 133*4882a593Smuzhiyun PIN 43: "NDL7" 134*4882a593Smuzhiyun PIN 44: "NRB" 135*4882a593Smuzhiyun PIN 45: "NCLE" 136*4882a593Smuzhiyun PIN 46: "NALE" 137*4882a593Smuzhiyun PIN 47: "NDL0" 138*4882a593Smuzhiyun PIN 48: "NDL1" 139*4882a593Smuzhiyun PIN 49: "NDL2" 140*4882a593Smuzhiyun PIN 50: "NDL3" 141*4882a593Smuzhiyun PIN 51: "MDI_TP_P0" 142*4882a593Smuzhiyun PIN 52: "MDI_TN_P0" 143*4882a593Smuzhiyun PIN 53: "MDI_RP_P0" 144*4882a593Smuzhiyun PIN 54: "MDI_RN_P0" 145*4882a593Smuzhiyun PIN 55: "MDI_TP_P1" 146*4882a593Smuzhiyun PIN 56: "MDI_TN_P1" 147*4882a593Smuzhiyun PIN 57: "MDI_RP_P1" 148*4882a593Smuzhiyun PIN 58: "MDI_RN_P1" 149*4882a593Smuzhiyun PIN 59: "MDI_RP_P2" 150*4882a593Smuzhiyun PIN 60: "MDI_RN_P2" 151*4882a593Smuzhiyun PIN 61: "MDI_TP_P2" 152*4882a593Smuzhiyun PIN 62: "MDI_TN_P2" 153*4882a593Smuzhiyun PIN 63: "MDI_TP_P3" 154*4882a593Smuzhiyun PIN 64: "MDI_TN_P3" 155*4882a593Smuzhiyun PIN 65: "MDI_RP_P3" 156*4882a593Smuzhiyun PIN 66: "MDI_RN_P3" 157*4882a593Smuzhiyun PIN 67: "MDI_RP_P4" 158*4882a593Smuzhiyun PIN 68: "MDI_RN_P4" 159*4882a593Smuzhiyun PIN 69: "MDI_TP_P4" 160*4882a593Smuzhiyun PIN 70: "MDI_TN_P4" 161*4882a593Smuzhiyun PIN 71: "PMIC_SCL" 162*4882a593Smuzhiyun PIN 72: "PMIC_SDA" 163*4882a593Smuzhiyun PIN 73: "SPIC1_CLK" 164*4882a593Smuzhiyun PIN 74: "SPIC1_MOSI" 165*4882a593Smuzhiyun PIN 75: "SPIC1_MISO" 166*4882a593Smuzhiyun PIN 76: "SPIC1_CS" 167*4882a593Smuzhiyun PIN 77: "GPIO_D" 168*4882a593Smuzhiyun PIN 78: "WATCHDOG" 169*4882a593Smuzhiyun PIN 79: "RTS3_N" 170*4882a593Smuzhiyun PIN 80: "CTS3_N" 171*4882a593Smuzhiyun PIN 81: "TXD3" 172*4882a593Smuzhiyun PIN 82: "RXD3" 173*4882a593Smuzhiyun PIN 83: "PERST0_N" 174*4882a593Smuzhiyun PIN 84: "PERST1_N" 175*4882a593Smuzhiyun PIN 85: "WLED_N" 176*4882a593Smuzhiyun PIN 86: "EPHY_LED0_N" 177*4882a593Smuzhiyun PIN 87: "AUXIN0" 178*4882a593Smuzhiyun PIN 88: "AUXIN1" 179*4882a593Smuzhiyun PIN 89: "AUXIN2" 180*4882a593Smuzhiyun PIN 90: "AUXIN3" 181*4882a593Smuzhiyun PIN 91: "TXD4" 182*4882a593Smuzhiyun PIN 92: "RXD4" 183*4882a593Smuzhiyun PIN 93: "RTS4_N" 184*4882a593Smuzhiyun PIN 94: "CST4_N" 185*4882a593Smuzhiyun PIN 95: "PWM1" 186*4882a593Smuzhiyun PIN 96: "PWM2" 187*4882a593Smuzhiyun PIN 97: "PWM3" 188*4882a593Smuzhiyun PIN 98: "PWM4" 189*4882a593Smuzhiyun PIN 99: "PWM5" 190*4882a593Smuzhiyun PIN 100: "PWM6" 191*4882a593Smuzhiyun PIN 101: "PWM7" 192*4882a593Smuzhiyun PIN 102: "GPIO_E" 193*4882a593Smuzhiyun 194*4882a593SmuzhiyunValid values for function are: 195*4882a593Smuzhiyun "emmc", "eth", "i2c", "i2s", "ir", "led", "flash", "pcie", 196*4882a593Smuzhiyun "pmic", "pwm", "sd", "spi", "tdm", "uart", "watchdog" 197*4882a593Smuzhiyun 198*4882a593SmuzhiyunValid values for groups are: 199*4882a593Smuzhiyunadditional data is put followingly with valid value allowing us to know which 200*4882a593Smuzhiyunapplicable function and which relevant pins (in pin#) are able applied for that 201*4882a593Smuzhiyungroup. 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun Valid value function pins (in pin#) 204*4882a593Smuzhiyun ------------------------------------------------------------------------- 205*4882a593Smuzhiyun "emmc" "emmc" 40, 41, 42, 43, 44, 45, 206*4882a593Smuzhiyun 47, 48, 49, 50 207*4882a593Smuzhiyun "emmc_rst" "emmc" 37 208*4882a593Smuzhiyun "esw" "eth" 51, 52, 53, 54, 55, 56, 209*4882a593Smuzhiyun 57, 58, 59, 60, 61, 62, 210*4882a593Smuzhiyun 63, 64, 65, 66, 67, 68, 211*4882a593Smuzhiyun 69, 70 212*4882a593Smuzhiyun "esw_p0_p1" "eth" 51, 52, 53, 54, 55, 56, 213*4882a593Smuzhiyun 57, 58 214*4882a593Smuzhiyun "esw_p2_p3_p4" "eth" 59, 60, 61, 62, 63, 64, 215*4882a593Smuzhiyun 65, 66, 67, 68, 69, 70 216*4882a593Smuzhiyun "rgmii_via_esw" "eth" 59, 60, 61, 62, 63, 64, 217*4882a593Smuzhiyun 65, 66, 67, 68, 69, 70 218*4882a593Smuzhiyun "rgmii_via_gmac1" "eth" 59, 60, 61, 62, 63, 64, 219*4882a593Smuzhiyun 65, 66, 67, 68, 69, 70 220*4882a593Smuzhiyun "rgmii_via_gmac2" "eth" 25, 26, 27, 28, 29, 30, 221*4882a593Smuzhiyun 31, 32, 33, 34, 35, 36 222*4882a593Smuzhiyun "mdc_mdio" "eth" 23, 24 223*4882a593Smuzhiyun "i2c0" "i2c" 14, 15 224*4882a593Smuzhiyun "i2c1_0" "i2c" 55, 56 225*4882a593Smuzhiyun "i2c1_1" "i2c" 73, 74 226*4882a593Smuzhiyun "i2c1_2" "i2c" 87, 88 227*4882a593Smuzhiyun "i2c2_0" "i2c" 57, 58 228*4882a593Smuzhiyun "i2c2_1" "i2c" 75, 76 229*4882a593Smuzhiyun "i2c2_2" "i2c" 89, 90 230*4882a593Smuzhiyun "i2s_in_mclk_bclk_ws" "i2s" 3, 4, 5 231*4882a593Smuzhiyun "i2s1_in_data" "i2s" 1 232*4882a593Smuzhiyun "i2s2_in_data" "i2s" 16 233*4882a593Smuzhiyun "i2s3_in_data" "i2s" 17 234*4882a593Smuzhiyun "i2s4_in_data" "i2s" 18 235*4882a593Smuzhiyun "i2s_out_mclk_bclk_ws" "i2s" 3, 4, 5 236*4882a593Smuzhiyun "i2s1_out_data" "i2s" 2 237*4882a593Smuzhiyun "i2s2_out_data" "i2s" 19 238*4882a593Smuzhiyun "i2s3_out_data" "i2s" 20 239*4882a593Smuzhiyun "i2s4_out_data" "i2s" 21 240*4882a593Smuzhiyun "ir_0_tx" "ir" 16 241*4882a593Smuzhiyun "ir_1_tx" "ir" 59 242*4882a593Smuzhiyun "ir_2_tx" "ir" 99 243*4882a593Smuzhiyun "ir_0_rx" "ir" 17 244*4882a593Smuzhiyun "ir_1_rx" "ir" 60 245*4882a593Smuzhiyun "ir_2_rx" "ir" 100 246*4882a593Smuzhiyun "ephy_leds" "led" 86, 91, 92, 93, 94 247*4882a593Smuzhiyun "ephy0_led" "led" 86 248*4882a593Smuzhiyun "ephy1_led" "led" 91 249*4882a593Smuzhiyun "ephy2_led" "led" 92 250*4882a593Smuzhiyun "ephy3_led" "led" 93 251*4882a593Smuzhiyun "ephy4_led" "led" 94 252*4882a593Smuzhiyun "wled" "led" 85 253*4882a593Smuzhiyun "par_nand" "flash" 37, 38, 39, 40, 41, 42, 254*4882a593Smuzhiyun 43, 44, 45, 46, 47, 48, 255*4882a593Smuzhiyun 49, 50 256*4882a593Smuzhiyun "snfi" "flash" 8, 9, 10, 11, 12, 13 257*4882a593Smuzhiyun "spi_nor" "flash" 8, 9, 10, 11, 12, 13 258*4882a593Smuzhiyun "pcie0_0_waken" "pcie" 14 259*4882a593Smuzhiyun "pcie0_1_waken" "pcie" 79 260*4882a593Smuzhiyun "pcie1_0_waken" "pcie" 14 261*4882a593Smuzhiyun "pcie0_0_clkreq" "pcie" 15 262*4882a593Smuzhiyun "pcie0_1_clkreq" "pcie" 80 263*4882a593Smuzhiyun "pcie1_0_clkreq" "pcie" 15 264*4882a593Smuzhiyun "pcie0_pad_perst" "pcie" 83 265*4882a593Smuzhiyun "pcie1_pad_perst" "pcie" 84 266*4882a593Smuzhiyun "pmic_bus" "pmic" 71, 72 267*4882a593Smuzhiyun "pwm_ch1_0" "pwm" 51 268*4882a593Smuzhiyun "pwm_ch1_1" "pwm" 73 269*4882a593Smuzhiyun "pwm_ch1_2" "pwm" 95 270*4882a593Smuzhiyun "pwm_ch2_0" "pwm" 52 271*4882a593Smuzhiyun "pwm_ch2_1" "pwm" 74 272*4882a593Smuzhiyun "pwm_ch2_2" "pwm" 96 273*4882a593Smuzhiyun "pwm_ch3_0" "pwm" 53 274*4882a593Smuzhiyun "pwm_ch3_1" "pwm" 75 275*4882a593Smuzhiyun "pwm_ch3_2" "pwm" 97 276*4882a593Smuzhiyun "pwm_ch4_0" "pwm" 54 277*4882a593Smuzhiyun "pwm_ch4_1" "pwm" 67 278*4882a593Smuzhiyun "pwm_ch4_2" "pwm" 76 279*4882a593Smuzhiyun "pwm_ch4_3" "pwm" 98 280*4882a593Smuzhiyun "pwm_ch5_0" "pwm" 68 281*4882a593Smuzhiyun "pwm_ch5_1" "pwm" 77 282*4882a593Smuzhiyun "pwm_ch5_2" "pwm" 99 283*4882a593Smuzhiyun "pwm_ch6_0" "pwm" 69 284*4882a593Smuzhiyun "pwm_ch6_1" "pwm" 78 285*4882a593Smuzhiyun "pwm_ch6_2" "pwm" 81 286*4882a593Smuzhiyun "pwm_ch6_3" "pwm" 100 287*4882a593Smuzhiyun "pwm_ch7_0" "pwm" 70 288*4882a593Smuzhiyun "pwm_ch7_1" "pwm" 82 289*4882a593Smuzhiyun "pwm_ch7_2" "pwm" 101 290*4882a593Smuzhiyun "sd_0" "sd" 16, 17, 18, 19, 20, 21 291*4882a593Smuzhiyun "sd_1" "sd" 25, 26, 27, 28, 29, 30 292*4882a593Smuzhiyun "spic0_0" "spi" 63, 64, 65, 66 293*4882a593Smuzhiyun "spic0_1" "spi" 79, 80, 81, 82 294*4882a593Smuzhiyun "spic1_0" "spi" 67, 68, 69, 70 295*4882a593Smuzhiyun "spic1_1" "spi" 73, 74, 75, 76 296*4882a593Smuzhiyun "spic2_0_wp_hold" "spi" 8, 9 297*4882a593Smuzhiyun "spic2_0" "spi" 10, 11, 12, 13 298*4882a593Smuzhiyun "tdm_0_out_mclk_bclk_ws" "tdm" 8, 9, 10 299*4882a593Smuzhiyun "tdm_0_in_mclk_bclk_ws" "tdm" 11, 12, 13 300*4882a593Smuzhiyun "tdm_0_out_data" "tdm" 20 301*4882a593Smuzhiyun "tdm_0_in_data" "tdm" 21 302*4882a593Smuzhiyun "tdm_1_out_mclk_bclk_ws" "tdm" 57, 58, 59 303*4882a593Smuzhiyun "tdm_1_in_mclk_bclk_ws" "tdm" 60, 61, 62 304*4882a593Smuzhiyun "tdm_1_out_data" "tdm" 55 305*4882a593Smuzhiyun "tdm_1_in_data" "tdm" 56 306*4882a593Smuzhiyun "uart0_0_tx_rx" "uart" 6, 7 307*4882a593Smuzhiyun "uart1_0_tx_rx" "uart" 55, 56 308*4882a593Smuzhiyun "uart1_0_rts_cts" "uart" 57, 58 309*4882a593Smuzhiyun "uart1_1_tx_rx" "uart" 73, 74 310*4882a593Smuzhiyun "uart1_1_rts_cts" "uart" 75, 76 311*4882a593Smuzhiyun "uart2_0_tx_rx" "uart" 3, 4 312*4882a593Smuzhiyun "uart2_0_rts_cts" "uart" 1, 2 313*4882a593Smuzhiyun "uart2_1_tx_rx" "uart" 51, 52 314*4882a593Smuzhiyun "uart2_1_rts_cts" "uart" 53, 54 315*4882a593Smuzhiyun "uart2_2_tx_rx" "uart" 59, 60 316*4882a593Smuzhiyun "uart2_2_rts_cts" "uart" 61, 62 317*4882a593Smuzhiyun "uart2_3_tx_rx" "uart" 95, 96 318*4882a593Smuzhiyun "uart3_0_tx_rx" "uart" 57, 58 319*4882a593Smuzhiyun "uart3_1_tx_rx" "uart" 81, 82 320*4882a593Smuzhiyun "uart3_1_rts_cts" "uart" 79, 80 321*4882a593Smuzhiyun "uart4_0_tx_rx" "uart" 61, 62 322*4882a593Smuzhiyun "uart4_1_tx_rx" "uart" 91, 92 323*4882a593Smuzhiyun "uart4_1_rts_cts" "uart" 93, 94 324*4882a593Smuzhiyun "uart4_2_tx_rx" "uart" 97, 98 325*4882a593Smuzhiyun "uart4_2_rts_cts" "uart" 95, 96 326*4882a593Smuzhiyun "watchdog" "watchdog" 78 327*4882a593Smuzhiyun 328*4882a593Smuzhiyun 329*4882a593Smuzhiyun== Valid values for pins, function and groups on MT7629 == 330*4882a593Smuzhiyun 331*4882a593Smuzhiyun Pin #: Valid values for pins 332*4882a593Smuzhiyun ----------------------------- 333*4882a593Smuzhiyun PIN 0: "TOP_5G_CLK" 334*4882a593Smuzhiyun PIN 1: "TOP_5G_DATA" 335*4882a593Smuzhiyun PIN 2: "WF0_5G_HB0" 336*4882a593Smuzhiyun PIN 3: "WF0_5G_HB1" 337*4882a593Smuzhiyun PIN 4: "WF0_5G_HB2" 338*4882a593Smuzhiyun PIN 5: "WF0_5G_HB3" 339*4882a593Smuzhiyun PIN 6: "WF0_5G_HB4" 340*4882a593Smuzhiyun PIN 7: "WF0_5G_HB5" 341*4882a593Smuzhiyun PIN 8: "WF0_5G_HB6" 342*4882a593Smuzhiyun PIN 9: "XO_REQ" 343*4882a593Smuzhiyun PIN 10: "TOP_RST_N" 344*4882a593Smuzhiyun PIN 11: "SYS_WATCHDOG" 345*4882a593Smuzhiyun PIN 12: "EPHY_LED0_N_JTDO" 346*4882a593Smuzhiyun PIN 13: "EPHY_LED1_N_JTDI" 347*4882a593Smuzhiyun PIN 14: "EPHY_LED2_N_JTMS" 348*4882a593Smuzhiyun PIN 15: "EPHY_LED3_N_JTCLK" 349*4882a593Smuzhiyun PIN 16: "EPHY_LED4_N_JTRST_N" 350*4882a593Smuzhiyun PIN 17: "WF2G_LED_N" 351*4882a593Smuzhiyun PIN 18: "WF5G_LED_N" 352*4882a593Smuzhiyun PIN 19: "I2C_SDA" 353*4882a593Smuzhiyun PIN 20: "I2C_SCL" 354*4882a593Smuzhiyun PIN 21: "GPIO_9" 355*4882a593Smuzhiyun PIN 22: "GPIO_10" 356*4882a593Smuzhiyun PIN 23: "GPIO_11" 357*4882a593Smuzhiyun PIN 24: "GPIO_12" 358*4882a593Smuzhiyun PIN 25: "UART1_TXD" 359*4882a593Smuzhiyun PIN 26: "UART1_RXD" 360*4882a593Smuzhiyun PIN 27: "UART1_CTS" 361*4882a593Smuzhiyun PIN 28: "UART1_RTS" 362*4882a593Smuzhiyun PIN 29: "UART2_TXD" 363*4882a593Smuzhiyun PIN 30: "UART2_RXD" 364*4882a593Smuzhiyun PIN 31: "UART2_CTS" 365*4882a593Smuzhiyun PIN 32: "UART2_RTS" 366*4882a593Smuzhiyun PIN 33: "MDI_TP_P1" 367*4882a593Smuzhiyun PIN 34: "MDI_TN_P1" 368*4882a593Smuzhiyun PIN 35: "MDI_RP_P1" 369*4882a593Smuzhiyun PIN 36: "MDI_RN_P1" 370*4882a593Smuzhiyun PIN 37: "MDI_RP_P2" 371*4882a593Smuzhiyun PIN 38: "MDI_RN_P2" 372*4882a593Smuzhiyun PIN 39: "MDI_TP_P2" 373*4882a593Smuzhiyun PIN 40: "MDI_TN_P2" 374*4882a593Smuzhiyun PIN 41: "MDI_TP_P3" 375*4882a593Smuzhiyun PIN 42: "MDI_TN_P3" 376*4882a593Smuzhiyun PIN 43: "MDI_RP_P3" 377*4882a593Smuzhiyun PIN 44: "MDI_RN_P3" 378*4882a593Smuzhiyun PIN 45: "MDI_RP_P4" 379*4882a593Smuzhiyun PIN 46: "MDI_RN_P4" 380*4882a593Smuzhiyun PIN 47: "MDI_TP_P4" 381*4882a593Smuzhiyun PIN 48: "MDI_TN_P4" 382*4882a593Smuzhiyun PIN 49: "SMI_MDC" 383*4882a593Smuzhiyun PIN 50: "SMI_MDIO" 384*4882a593Smuzhiyun PIN 51: "PCIE_PERESET_N" 385*4882a593Smuzhiyun PIN 52: "PWM_0" 386*4882a593Smuzhiyun PIN 53: "GPIO_0" 387*4882a593Smuzhiyun PIN 54: "GPIO_1" 388*4882a593Smuzhiyun PIN 55: "GPIO_2" 389*4882a593Smuzhiyun PIN 56: "GPIO_3" 390*4882a593Smuzhiyun PIN 57: "GPIO_4" 391*4882a593Smuzhiyun PIN 58: "GPIO_5" 392*4882a593Smuzhiyun PIN 59: "GPIO_6" 393*4882a593Smuzhiyun PIN 60: "GPIO_7" 394*4882a593Smuzhiyun PIN 61: "GPIO_8" 395*4882a593Smuzhiyun PIN 62: "SPI_CLK" 396*4882a593Smuzhiyun PIN 63: "SPI_CS" 397*4882a593Smuzhiyun PIN 64: "SPI_MOSI" 398*4882a593Smuzhiyun PIN 65: "SPI_MISO" 399*4882a593Smuzhiyun PIN 66: "SPI_WP" 400*4882a593Smuzhiyun PIN 67: "SPI_HOLD" 401*4882a593Smuzhiyun PIN 68: "UART0_TXD" 402*4882a593Smuzhiyun PIN 69: "UART0_RXD" 403*4882a593Smuzhiyun PIN 70: "TOP_2G_CLK" 404*4882a593Smuzhiyun PIN 71: "TOP_2G_DATA" 405*4882a593Smuzhiyun PIN 72: "WF0_2G_HB0" 406*4882a593Smuzhiyun PIN 73: "WF0_2G_HB1" 407*4882a593Smuzhiyun PIN 74: "WF0_2G_HB2" 408*4882a593Smuzhiyun PIN 75: "WF0_2G_HB3" 409*4882a593Smuzhiyun PIN 76: "WF0_2G_HB4" 410*4882a593Smuzhiyun PIN 77: "WF0_2G_HB5" 411*4882a593Smuzhiyun PIN 78: "WF0_2G_HB6" 412*4882a593Smuzhiyun 413*4882a593SmuzhiyunValid values for function are: 414*4882a593Smuzhiyun "eth", "i2c", "led", "flash", "pcie", "pwm", "spi", "uart", 415*4882a593Smuzhiyun "watchdog", "wifi" 416*4882a593Smuzhiyun 417*4882a593SmuzhiyunValid values for groups are: 418*4882a593Smuzhiyun Valid value function pins (in pin#) 419*4882a593Smuzhiyun ---------------------------------------------------------------- 420*4882a593Smuzhiyun "mdc_mdio" "eth" 23, 24 421*4882a593Smuzhiyun "i2c_0" "i2c" 19, 20 422*4882a593Smuzhiyun "i2c_1" "i2c" 53, 54 423*4882a593Smuzhiyun "ephy_leds" "led" 12, 13, 14, 15, 16, 424*4882a593Smuzhiyun 17, 18 425*4882a593Smuzhiyun "ephy0_led" "led" 12 426*4882a593Smuzhiyun "ephy1_led" "led" 13 427*4882a593Smuzhiyun "ephy2_led" "led" 14 428*4882a593Smuzhiyun "ephy3_led" "led" 15 429*4882a593Smuzhiyun "ephy4_led" "led" 16 430*4882a593Smuzhiyun "wf2g_led" "led" 17 431*4882a593Smuzhiyun "wf5g_led" "led" 18 432*4882a593Smuzhiyun "snfi" "flash" 62, 63, 64, 65, 66, 67 433*4882a593Smuzhiyun "spi_nor" "flash" 62, 63, 64, 65, 66, 67 434*4882a593Smuzhiyun "pcie_pereset" "pcie" 51 435*4882a593Smuzhiyun "pcie_wake" "pcie" 55 436*4882a593Smuzhiyun "pcie_clkreq" "pcie" 56 437*4882a593Smuzhiyun "pwm_0" "pwm" 52 438*4882a593Smuzhiyun "pwm_1" "pwm" 61 439*4882a593Smuzhiyun "spi_0" "spi" 21, 22, 23, 24 440*4882a593Smuzhiyun "spi_1" "spi" 62, 63, 64, 65 441*4882a593Smuzhiyun "spi_wp" "spi" 66 442*4882a593Smuzhiyun "spi_hold" "spi" 67 443*4882a593Smuzhiyun "uart0_txd_rxd" "uart" 68, 69 444*4882a593Smuzhiyun "uart1_0_txd_rxd" "uart" 25, 26 445*4882a593Smuzhiyun "uart1_0_cts_rts" "uart" 27, 28 446*4882a593Smuzhiyun "uart1_1_txd_rxd" "uart" 53, 54 447*4882a593Smuzhiyun "uart1_1_cts_rts" "uart" 55, 56 448*4882a593Smuzhiyun "uart2_0_txd_rxd" "uart" 29, 30 449*4882a593Smuzhiyun "uart2_0_cts_rts" "uart" 31, 32 450*4882a593Smuzhiyun "uart2_1_txd_rxd" "uart" 57, 58 451*4882a593Smuzhiyun "uart2_1_cts_rts" "uart" 59, 60 452*4882a593Smuzhiyun "watchdog" "watchdog" 11 453*4882a593Smuzhiyun "wf0_2g" "wifi" 70, 71, 72, 73, 74, 454*4882a593Smuzhiyun 75, 76, 77, 78 455*4882a593Smuzhiyun "wf0_5g" "wifi" 0, 1, 2, 3, 4, 5, 6, 456*4882a593Smuzhiyun 7, 8, 9, 10 457*4882a593Smuzhiyun 458*4882a593SmuzhiyunExample: 459*4882a593Smuzhiyun 460*4882a593Smuzhiyun pio: pinctrl@10211000 { 461*4882a593Smuzhiyun compatible = "mediatek,mt7622-pinctrl"; 462*4882a593Smuzhiyun reg = <0 0x10211000 0 0x1000>; 463*4882a593Smuzhiyun gpio-controller; 464*4882a593Smuzhiyun #gpio-cells = <2>; 465*4882a593Smuzhiyun 466*4882a593Smuzhiyun pinctrl_eth_default: eth-default { 467*4882a593Smuzhiyun mux-mdio { 468*4882a593Smuzhiyun groups = "mdc_mdio"; 469*4882a593Smuzhiyun function = "eth"; 470*4882a593Smuzhiyun drive-strength = <12>; 471*4882a593Smuzhiyun }; 472*4882a593Smuzhiyun 473*4882a593Smuzhiyun mux-gmac2 { 474*4882a593Smuzhiyun groups = "gmac2"; 475*4882a593Smuzhiyun function = "eth"; 476*4882a593Smuzhiyun drive-strength = <12>; 477*4882a593Smuzhiyun }; 478*4882a593Smuzhiyun 479*4882a593Smuzhiyun mux-esw { 480*4882a593Smuzhiyun groups = "esw"; 481*4882a593Smuzhiyun function = "eth"; 482*4882a593Smuzhiyun drive-strength = <8>; 483*4882a593Smuzhiyun }; 484*4882a593Smuzhiyun 485*4882a593Smuzhiyun conf-mdio { 486*4882a593Smuzhiyun pins = "MDC"; 487*4882a593Smuzhiyun bias-pull-up; 488*4882a593Smuzhiyun }; 489*4882a593Smuzhiyun }; 490*4882a593Smuzhiyun }; 491