18c2ecf20Sopenharmony_ci== MediaTek MT7622 pinctrl controller ==
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties for the root node:
48c2ecf20Sopenharmony_ci - compatible: Should be one of the following
58c2ecf20Sopenharmony_ci	       "mediatek,mt7622-pinctrl" for MT7622 SoC
68c2ecf20Sopenharmony_ci	       "mediatek,mt7629-pinctrl" for MT7629 SoC
78c2ecf20Sopenharmony_ci - reg: offset and length of the pinctrl space
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci - gpio-controller: Marks the device node as a GPIO controller.
108c2ecf20Sopenharmony_ci - #gpio-cells: Should be two. The first cell is the pin number and the
118c2ecf20Sopenharmony_ci   second is the GPIO flags.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciOptional properties:
148c2ecf20Sopenharmony_ci- interrupt-controller  : Marks the device node as an interrupt controller
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciIf the property interrupt-controller is defined, following property is required
178c2ecf20Sopenharmony_ci- reg-names: A string describing the "reg" entries. Must contain "eint".
188c2ecf20Sopenharmony_ci- interrupts : The interrupt output from the controller.
198c2ecf20Sopenharmony_ci- #interrupt-cells: Should be two.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciPlease refer to pinctrl-bindings.txt in this directory for details of the
228c2ecf20Sopenharmony_cicommon pinctrl bindings used by client devices, including the meaning of the
238c2ecf20Sopenharmony_ciphrase "pin configuration node".
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciMT7622 pin configuration nodes act as a container for an arbitrary number of
268c2ecf20Sopenharmony_cisubnodes. Each of these subnodes represents some desired configuration for a
278c2ecf20Sopenharmony_cipin, a group, or a list of pins or groups. This configuration can include the
288c2ecf20Sopenharmony_cimux function to select on those pin(s)/group(s), and various pin configuration
298c2ecf20Sopenharmony_ciparameters, such as pull-up, slew rate, etc.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ciWe support 2 types of configuration nodes. Those nodes can be either pinmux
328c2ecf20Sopenharmony_cinodes or pinconf nodes. Each configuration node can consist of multiple nodes
338c2ecf20Sopenharmony_cidescribing the pinmux and pinconf options.
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ciThe name of each subnode doesn't matter as long as it is unique; all subnodes
368c2ecf20Sopenharmony_cishould be enumerated and processed purely based on their content.
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci== pinmux nodes content ==
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ciThe following generic properties as defined in pinctrl-bindings.txt are valid
418c2ecf20Sopenharmony_cito specify in a pinmux subnode:
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ciRequired properties are:
448c2ecf20Sopenharmony_ci - groups: An array of strings. Each string contains the name of a group.
458c2ecf20Sopenharmony_ci  Valid values for these names are listed below.
468c2ecf20Sopenharmony_ci - function: A string containing the name of the function to mux to the
478c2ecf20Sopenharmony_ci  group. Valid values for function names are listed below.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci== pinconf nodes content ==
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ciThe following generic properties as defined in pinctrl-bindings.txt are valid
528c2ecf20Sopenharmony_cito specify in a pinconf subnode:
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ciRequired properties are:
558c2ecf20Sopenharmony_ci - pins: An array of strings. Each string contains the name of a pin.
568c2ecf20Sopenharmony_ci  Valid values for these names are listed below.
578c2ecf20Sopenharmony_ci - groups: An array of strings. Each string contains the name of a group.
588c2ecf20Sopenharmony_ci  Valid values for these names are listed below.
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciOptional properies are:
618c2ecf20Sopenharmony_ci bias-disable, bias-pull, bias-pull-down, input-enable,
628c2ecf20Sopenharmony_ci input-schmitt-enable, input-schmitt-disable, output-enable
638c2ecf20Sopenharmony_ci output-low, output-high, drive-strength, slew-rate
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci Valid arguments for 'slew-rate' are '0' for no slew rate controlled and '1' for
668c2ecf20Sopenharmony_ci slower slew rate respectively.
678c2ecf20Sopenharmony_ci Valid arguments for 'drive-strength', 4, 8, 12, or 16 in mA.
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciThe following specific properties as defined are valid to specify in a pinconf
708c2ecf20Sopenharmony_cisubnode:
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ciOptional properties are:
738c2ecf20Sopenharmony_ci - mediatek,tdsel: An integer describing the steps for output level shifter duty
748c2ecf20Sopenharmony_ci   cycle when asserted (high pulse width adjustment). Valid arguments are from 0
758c2ecf20Sopenharmony_ci   to 15.
768c2ecf20Sopenharmony_ci - mediatek,rdsel: An integer describing the steps for input level shifter duty
778c2ecf20Sopenharmony_ci   cycle when asserted (high pulse width adjustment). Valid arguments are from 0
788c2ecf20Sopenharmony_ci   to 63.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci== Valid values for pins, function and groups on MT7622 ==
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciValid values for pins are:
838c2ecf20Sopenharmony_cipins can be referenced via the pin names as the below table shown and the
848c2ecf20Sopenharmony_cirelated physical number is also put ahead of those names which helps cross
858c2ecf20Sopenharmony_cireferences to pins between groups to know whether pins assignment conflict
868c2ecf20Sopenharmony_cihappens among devices try to acquire those available pins.
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci	Pin #:  Valid values for pins
898c2ecf20Sopenharmony_ci	-----------------------------
908c2ecf20Sopenharmony_ci	PIN 0: "GPIO_A"
918c2ecf20Sopenharmony_ci	PIN 1: "I2S1_IN"
928c2ecf20Sopenharmony_ci	PIN 2: "I2S1_OUT"
938c2ecf20Sopenharmony_ci	PIN 3: "I2S_BCLK"
948c2ecf20Sopenharmony_ci	PIN 4: "I2S_WS"
958c2ecf20Sopenharmony_ci	PIN 5: "I2S_MCLK"
968c2ecf20Sopenharmony_ci	PIN 6: "TXD0"
978c2ecf20Sopenharmony_ci	PIN 7: "RXD0"
988c2ecf20Sopenharmony_ci	PIN 8: "SPI_WP"
998c2ecf20Sopenharmony_ci	PIN 9: "SPI_HOLD"
1008c2ecf20Sopenharmony_ci	PIN 10: "SPI_CLK"
1018c2ecf20Sopenharmony_ci	PIN 11: "SPI_MOSI"
1028c2ecf20Sopenharmony_ci	PIN 12: "SPI_MISO"
1038c2ecf20Sopenharmony_ci	PIN 13: "SPI_CS"
1048c2ecf20Sopenharmony_ci	PIN 14: "I2C_SDA"
1058c2ecf20Sopenharmony_ci	PIN 15: "I2C_SCL"
1068c2ecf20Sopenharmony_ci	PIN 16: "I2S2_IN"
1078c2ecf20Sopenharmony_ci	PIN 17: "I2S3_IN"
1088c2ecf20Sopenharmony_ci	PIN 18: "I2S4_IN"
1098c2ecf20Sopenharmony_ci	PIN 19: "I2S2_OUT"
1108c2ecf20Sopenharmony_ci	PIN 20: "I2S3_OUT"
1118c2ecf20Sopenharmony_ci	PIN 21: "I2S4_OUT"
1128c2ecf20Sopenharmony_ci	PIN 22: "GPIO_B"
1138c2ecf20Sopenharmony_ci	PIN 23: "MDC"
1148c2ecf20Sopenharmony_ci	PIN 24: "MDIO"
1158c2ecf20Sopenharmony_ci	PIN 25: "G2_TXD0"
1168c2ecf20Sopenharmony_ci	PIN 26: "G2_TXD1"
1178c2ecf20Sopenharmony_ci	PIN 27: "G2_TXD2"
1188c2ecf20Sopenharmony_ci	PIN 28: "G2_TXD3"
1198c2ecf20Sopenharmony_ci	PIN 29: "G2_TXEN"
1208c2ecf20Sopenharmony_ci	PIN 30: "G2_TXC"
1218c2ecf20Sopenharmony_ci	PIN 31: "G2_RXD0"
1228c2ecf20Sopenharmony_ci	PIN 32: "G2_RXD1"
1238c2ecf20Sopenharmony_ci	PIN 33: "G2_RXD2"
1248c2ecf20Sopenharmony_ci	PIN 34: "G2_RXD3"
1258c2ecf20Sopenharmony_ci	PIN 35: "G2_RXDV"
1268c2ecf20Sopenharmony_ci	PIN 36: "G2_RXC"
1278c2ecf20Sopenharmony_ci	PIN 37: "NCEB"
1288c2ecf20Sopenharmony_ci	PIN 38: "NWEB"
1298c2ecf20Sopenharmony_ci	PIN 39: "NREB"
1308c2ecf20Sopenharmony_ci	PIN 40: "NDL4"
1318c2ecf20Sopenharmony_ci	PIN 41: "NDL5"
1328c2ecf20Sopenharmony_ci	PIN 42: "NDL6"
1338c2ecf20Sopenharmony_ci	PIN 43: "NDL7"
1348c2ecf20Sopenharmony_ci	PIN 44: "NRB"
1358c2ecf20Sopenharmony_ci	PIN 45: "NCLE"
1368c2ecf20Sopenharmony_ci	PIN 46: "NALE"
1378c2ecf20Sopenharmony_ci	PIN 47: "NDL0"
1388c2ecf20Sopenharmony_ci	PIN 48: "NDL1"
1398c2ecf20Sopenharmony_ci	PIN 49: "NDL2"
1408c2ecf20Sopenharmony_ci	PIN 50: "NDL3"
1418c2ecf20Sopenharmony_ci	PIN 51: "MDI_TP_P0"
1428c2ecf20Sopenharmony_ci	PIN 52: "MDI_TN_P0"
1438c2ecf20Sopenharmony_ci	PIN 53: "MDI_RP_P0"
1448c2ecf20Sopenharmony_ci	PIN 54: "MDI_RN_P0"
1458c2ecf20Sopenharmony_ci	PIN 55: "MDI_TP_P1"
1468c2ecf20Sopenharmony_ci	PIN 56: "MDI_TN_P1"
1478c2ecf20Sopenharmony_ci	PIN 57: "MDI_RP_P1"
1488c2ecf20Sopenharmony_ci	PIN 58: "MDI_RN_P1"
1498c2ecf20Sopenharmony_ci	PIN 59: "MDI_RP_P2"
1508c2ecf20Sopenharmony_ci	PIN 60: "MDI_RN_P2"
1518c2ecf20Sopenharmony_ci	PIN 61: "MDI_TP_P2"
1528c2ecf20Sopenharmony_ci	PIN 62: "MDI_TN_P2"
1538c2ecf20Sopenharmony_ci	PIN 63: "MDI_TP_P3"
1548c2ecf20Sopenharmony_ci	PIN 64: "MDI_TN_P3"
1558c2ecf20Sopenharmony_ci	PIN 65: "MDI_RP_P3"
1568c2ecf20Sopenharmony_ci	PIN 66: "MDI_RN_P3"
1578c2ecf20Sopenharmony_ci	PIN 67: "MDI_RP_P4"
1588c2ecf20Sopenharmony_ci	PIN 68: "MDI_RN_P4"
1598c2ecf20Sopenharmony_ci	PIN 69: "MDI_TP_P4"
1608c2ecf20Sopenharmony_ci	PIN 70: "MDI_TN_P4"
1618c2ecf20Sopenharmony_ci	PIN 71: "PMIC_SCL"
1628c2ecf20Sopenharmony_ci	PIN 72: "PMIC_SDA"
1638c2ecf20Sopenharmony_ci	PIN 73: "SPIC1_CLK"
1648c2ecf20Sopenharmony_ci	PIN 74: "SPIC1_MOSI"
1658c2ecf20Sopenharmony_ci	PIN 75: "SPIC1_MISO"
1668c2ecf20Sopenharmony_ci	PIN 76: "SPIC1_CS"
1678c2ecf20Sopenharmony_ci	PIN 77: "GPIO_D"
1688c2ecf20Sopenharmony_ci	PIN 78: "WATCHDOG"
1698c2ecf20Sopenharmony_ci	PIN 79: "RTS3_N"
1708c2ecf20Sopenharmony_ci	PIN 80: "CTS3_N"
1718c2ecf20Sopenharmony_ci	PIN 81: "TXD3"
1728c2ecf20Sopenharmony_ci	PIN 82: "RXD3"
1738c2ecf20Sopenharmony_ci	PIN 83: "PERST0_N"
1748c2ecf20Sopenharmony_ci	PIN 84: "PERST1_N"
1758c2ecf20Sopenharmony_ci	PIN 85: "WLED_N"
1768c2ecf20Sopenharmony_ci	PIN 86: "EPHY_LED0_N"
1778c2ecf20Sopenharmony_ci	PIN 87: "AUXIN0"
1788c2ecf20Sopenharmony_ci	PIN 88: "AUXIN1"
1798c2ecf20Sopenharmony_ci	PIN 89: "AUXIN2"
1808c2ecf20Sopenharmony_ci	PIN 90: "AUXIN3"
1818c2ecf20Sopenharmony_ci	PIN 91: "TXD4"
1828c2ecf20Sopenharmony_ci	PIN 92: "RXD4"
1838c2ecf20Sopenharmony_ci	PIN 93: "RTS4_N"
1848c2ecf20Sopenharmony_ci	PIN 94: "CST4_N"
1858c2ecf20Sopenharmony_ci	PIN 95: "PWM1"
1868c2ecf20Sopenharmony_ci	PIN 96: "PWM2"
1878c2ecf20Sopenharmony_ci	PIN 97: "PWM3"
1888c2ecf20Sopenharmony_ci	PIN 98: "PWM4"
1898c2ecf20Sopenharmony_ci	PIN 99: "PWM5"
1908c2ecf20Sopenharmony_ci	PIN 100: "PWM6"
1918c2ecf20Sopenharmony_ci	PIN 101: "PWM7"
1928c2ecf20Sopenharmony_ci	PIN 102: "GPIO_E"
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ciValid values for function are:
1958c2ecf20Sopenharmony_ci	"emmc", "eth", "i2c", "i2s", "ir", "led", "flash", "pcie",
1968c2ecf20Sopenharmony_ci	"pmic", "pwm", "sd", "spi", "tdm", "uart", "watchdog"
1978c2ecf20Sopenharmony_ci
1988c2ecf20Sopenharmony_ciValid values for groups are:
1998c2ecf20Sopenharmony_ciadditional data is put followingly with valid value allowing us to know which
2008c2ecf20Sopenharmony_ciapplicable function and which relevant pins (in pin#) are able applied for that
2018c2ecf20Sopenharmony_cigroup.
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ci	Valid value			function	pins (in pin#)
2048c2ecf20Sopenharmony_ci	-------------------------------------------------------------------------
2058c2ecf20Sopenharmony_ci	"emmc"				"emmc"		40, 41, 42, 43, 44, 45,
2068c2ecf20Sopenharmony_ci							47, 48, 49, 50
2078c2ecf20Sopenharmony_ci	"emmc_rst"			"emmc"		37
2088c2ecf20Sopenharmony_ci	"esw"				"eth"		51, 52, 53, 54, 55, 56,
2098c2ecf20Sopenharmony_ci							57, 58, 59, 60, 61, 62,
2108c2ecf20Sopenharmony_ci							63, 64, 65, 66, 67, 68,
2118c2ecf20Sopenharmony_ci							69, 70
2128c2ecf20Sopenharmony_ci	"esw_p0_p1"			"eth"		51, 52, 53, 54, 55, 56,
2138c2ecf20Sopenharmony_ci							57, 58
2148c2ecf20Sopenharmony_ci	"esw_p2_p3_p4"			"eth"		59, 60, 61, 62, 63, 64,
2158c2ecf20Sopenharmony_ci							65, 66, 67, 68, 69, 70
2168c2ecf20Sopenharmony_ci	"rgmii_via_esw"			"eth"		59, 60, 61, 62, 63, 64,
2178c2ecf20Sopenharmony_ci							65, 66, 67, 68, 69, 70
2188c2ecf20Sopenharmony_ci	"rgmii_via_gmac1"		"eth"		59, 60, 61, 62, 63, 64,
2198c2ecf20Sopenharmony_ci							65, 66, 67, 68, 69, 70
2208c2ecf20Sopenharmony_ci	"rgmii_via_gmac2"		"eth"		25, 26, 27, 28, 29, 30,
2218c2ecf20Sopenharmony_ci							31, 32, 33, 34, 35, 36
2228c2ecf20Sopenharmony_ci	"mdc_mdio"			"eth"		23, 24
2238c2ecf20Sopenharmony_ci	"i2c0"				"i2c"		14, 15
2248c2ecf20Sopenharmony_ci	"i2c1_0"			"i2c"		55, 56
2258c2ecf20Sopenharmony_ci	"i2c1_1"			"i2c"		73, 74
2268c2ecf20Sopenharmony_ci	"i2c1_2"			"i2c"		87, 88
2278c2ecf20Sopenharmony_ci	"i2c2_0"			"i2c"		57, 58
2288c2ecf20Sopenharmony_ci	"i2c2_1"			"i2c"		75, 76
2298c2ecf20Sopenharmony_ci	"i2c2_2"			"i2c"		89, 90
2308c2ecf20Sopenharmony_ci	"i2s_in_mclk_bclk_ws"		"i2s"		3, 4, 5
2318c2ecf20Sopenharmony_ci	"i2s1_in_data"			"i2s"		1
2328c2ecf20Sopenharmony_ci	"i2s2_in_data"			"i2s"		16
2338c2ecf20Sopenharmony_ci	"i2s3_in_data"			"i2s"		17
2348c2ecf20Sopenharmony_ci	"i2s4_in_data"			"i2s"		18
2358c2ecf20Sopenharmony_ci	"i2s_out_mclk_bclk_ws"		"i2s"		3, 4, 5
2368c2ecf20Sopenharmony_ci	"i2s1_out_data"			"i2s"		2
2378c2ecf20Sopenharmony_ci	"i2s2_out_data"			"i2s"		19
2388c2ecf20Sopenharmony_ci	"i2s3_out_data"			"i2s"		20
2398c2ecf20Sopenharmony_ci	"i2s4_out_data"			"i2s"		21
2408c2ecf20Sopenharmony_ci	"ir_0_tx"			"ir"		16
2418c2ecf20Sopenharmony_ci	"ir_1_tx"			"ir"		59
2428c2ecf20Sopenharmony_ci	"ir_2_tx"			"ir"		99
2438c2ecf20Sopenharmony_ci	"ir_0_rx"			"ir"		17
2448c2ecf20Sopenharmony_ci	"ir_1_rx"			"ir"		60
2458c2ecf20Sopenharmony_ci	"ir_2_rx"			"ir"		100
2468c2ecf20Sopenharmony_ci	"ephy_leds"			"led"		86, 91, 92, 93, 94
2478c2ecf20Sopenharmony_ci	"ephy0_led"			"led"		86
2488c2ecf20Sopenharmony_ci	"ephy1_led"			"led"		91
2498c2ecf20Sopenharmony_ci	"ephy2_led"			"led"		92
2508c2ecf20Sopenharmony_ci	"ephy3_led"			"led"		93
2518c2ecf20Sopenharmony_ci	"ephy4_led"			"led"		94
2528c2ecf20Sopenharmony_ci	"wled"				"led"		85
2538c2ecf20Sopenharmony_ci	"par_nand"			"flash"		37, 38, 39, 40, 41, 42,
2548c2ecf20Sopenharmony_ci							43, 44, 45, 46, 47, 48,
2558c2ecf20Sopenharmony_ci							49, 50
2568c2ecf20Sopenharmony_ci	"snfi"				"flash"		8, 9, 10, 11, 12, 13
2578c2ecf20Sopenharmony_ci	"spi_nor"			"flash"		8, 9, 10, 11, 12, 13
2588c2ecf20Sopenharmony_ci	"pcie0_0_waken"			"pcie"		14
2598c2ecf20Sopenharmony_ci	"pcie0_1_waken"			"pcie"		79
2608c2ecf20Sopenharmony_ci	"pcie1_0_waken"			"pcie"		14
2618c2ecf20Sopenharmony_ci	"pcie0_0_clkreq"		"pcie"		15
2628c2ecf20Sopenharmony_ci	"pcie0_1_clkreq"		"pcie"		80
2638c2ecf20Sopenharmony_ci	"pcie1_0_clkreq"		"pcie"		15
2648c2ecf20Sopenharmony_ci	"pcie0_pad_perst"		"pcie"		83
2658c2ecf20Sopenharmony_ci	"pcie1_pad_perst"		"pcie"		84
2668c2ecf20Sopenharmony_ci	"pmic_bus"			"pmic"		71, 72
2678c2ecf20Sopenharmony_ci	"pwm_ch1_0"			"pwm"		51
2688c2ecf20Sopenharmony_ci	"pwm_ch1_1"			"pwm"		73
2698c2ecf20Sopenharmony_ci	"pwm_ch1_2"			"pwm"		95
2708c2ecf20Sopenharmony_ci	"pwm_ch2_0"			"pwm"		52
2718c2ecf20Sopenharmony_ci	"pwm_ch2_1"			"pwm"		74
2728c2ecf20Sopenharmony_ci	"pwm_ch2_2"			"pwm"		96
2738c2ecf20Sopenharmony_ci	"pwm_ch3_0"			"pwm"		53
2748c2ecf20Sopenharmony_ci	"pwm_ch3_1"			"pwm"		75
2758c2ecf20Sopenharmony_ci	"pwm_ch3_2"			"pwm"		97
2768c2ecf20Sopenharmony_ci	"pwm_ch4_0"			"pwm"		54
2778c2ecf20Sopenharmony_ci	"pwm_ch4_1"			"pwm"		67
2788c2ecf20Sopenharmony_ci	"pwm_ch4_2"			"pwm"		76
2798c2ecf20Sopenharmony_ci	"pwm_ch4_3"			"pwm"		98
2808c2ecf20Sopenharmony_ci	"pwm_ch5_0"			"pwm"		68
2818c2ecf20Sopenharmony_ci	"pwm_ch5_1"			"pwm"		77
2828c2ecf20Sopenharmony_ci	"pwm_ch5_2"			"pwm"		99
2838c2ecf20Sopenharmony_ci	"pwm_ch6_0"			"pwm"		69
2848c2ecf20Sopenharmony_ci	"pwm_ch6_1"			"pwm"		78
2858c2ecf20Sopenharmony_ci	"pwm_ch6_2"			"pwm"		81
2868c2ecf20Sopenharmony_ci	"pwm_ch6_3"			"pwm"		100
2878c2ecf20Sopenharmony_ci	"pwm_ch7_0"			"pwm"		70
2888c2ecf20Sopenharmony_ci	"pwm_ch7_1"			"pwm"		82
2898c2ecf20Sopenharmony_ci	"pwm_ch7_2"			"pwm"		101
2908c2ecf20Sopenharmony_ci	"sd_0"				"sd"		16, 17, 18, 19, 20, 21
2918c2ecf20Sopenharmony_ci	"sd_1"				"sd"		25, 26, 27, 28, 29, 30
2928c2ecf20Sopenharmony_ci	"spic0_0"			"spi"		63, 64, 65, 66
2938c2ecf20Sopenharmony_ci	"spic0_1"			"spi"		79, 80, 81, 82
2948c2ecf20Sopenharmony_ci	"spic1_0"			"spi"		67, 68, 69, 70
2958c2ecf20Sopenharmony_ci	"spic1_1"			"spi"		73, 74, 75, 76
2968c2ecf20Sopenharmony_ci	"spic2_0_wp_hold"		"spi"		8, 9
2978c2ecf20Sopenharmony_ci	"spic2_0"			"spi"		10, 11, 12, 13
2988c2ecf20Sopenharmony_ci	"tdm_0_out_mclk_bclk_ws"	"tdm"		8, 9, 10
2998c2ecf20Sopenharmony_ci	"tdm_0_in_mclk_bclk_ws"		"tdm"		11, 12, 13
3008c2ecf20Sopenharmony_ci	"tdm_0_out_data"		"tdm"		20
3018c2ecf20Sopenharmony_ci	"tdm_0_in_data"			"tdm"		21
3028c2ecf20Sopenharmony_ci	"tdm_1_out_mclk_bclk_ws"	"tdm"		57, 58, 59
3038c2ecf20Sopenharmony_ci	"tdm_1_in_mclk_bclk_ws"		"tdm"		60, 61, 62
3048c2ecf20Sopenharmony_ci	"tdm_1_out_data"		"tdm"		55
3058c2ecf20Sopenharmony_ci	"tdm_1_in_data"			"tdm"		56
3068c2ecf20Sopenharmony_ci	"uart0_0_tx_rx"			"uart"		6, 7
3078c2ecf20Sopenharmony_ci	"uart1_0_tx_rx"			"uart"		55, 56
3088c2ecf20Sopenharmony_ci	"uart1_0_rts_cts"		"uart"		57, 58
3098c2ecf20Sopenharmony_ci	"uart1_1_tx_rx"			"uart"		73, 74
3108c2ecf20Sopenharmony_ci	"uart1_1_rts_cts"		"uart"		75, 76
3118c2ecf20Sopenharmony_ci	"uart2_0_tx_rx"			"uart"		3, 4
3128c2ecf20Sopenharmony_ci	"uart2_0_rts_cts"		"uart"		1, 2
3138c2ecf20Sopenharmony_ci	"uart2_1_tx_rx"			"uart"		51, 52
3148c2ecf20Sopenharmony_ci	"uart2_1_rts_cts"		"uart"		53, 54
3158c2ecf20Sopenharmony_ci	"uart2_2_tx_rx"			"uart"		59, 60
3168c2ecf20Sopenharmony_ci	"uart2_2_rts_cts"		"uart"		61, 62
3178c2ecf20Sopenharmony_ci	"uart2_3_tx_rx"			"uart"		95, 96
3188c2ecf20Sopenharmony_ci	"uart3_0_tx_rx"			"uart"		57, 58
3198c2ecf20Sopenharmony_ci	"uart3_1_tx_rx"			"uart"		81, 82
3208c2ecf20Sopenharmony_ci	"uart3_1_rts_cts"		"uart"		79, 80
3218c2ecf20Sopenharmony_ci	"uart4_0_tx_rx"			"uart"		61, 62
3228c2ecf20Sopenharmony_ci	"uart4_1_tx_rx"			"uart"		91, 92
3238c2ecf20Sopenharmony_ci	"uart4_1_rts_cts"		"uart"		93, 94
3248c2ecf20Sopenharmony_ci	"uart4_2_tx_rx"			"uart"		97, 98
3258c2ecf20Sopenharmony_ci	"uart4_2_rts_cts"		"uart"		95, 96
3268c2ecf20Sopenharmony_ci	"watchdog"			"watchdog"	78
3278c2ecf20Sopenharmony_ci
3288c2ecf20Sopenharmony_ci
3298c2ecf20Sopenharmony_ci== Valid values for pins, function and groups on MT7629 ==
3308c2ecf20Sopenharmony_ci
3318c2ecf20Sopenharmony_ci	Pin #:  Valid values for pins
3328c2ecf20Sopenharmony_ci	-----------------------------
3338c2ecf20Sopenharmony_ci	PIN 0: "TOP_5G_CLK"
3348c2ecf20Sopenharmony_ci	PIN 1: "TOP_5G_DATA"
3358c2ecf20Sopenharmony_ci	PIN 2: "WF0_5G_HB0"
3368c2ecf20Sopenharmony_ci	PIN 3: "WF0_5G_HB1"
3378c2ecf20Sopenharmony_ci	PIN 4: "WF0_5G_HB2"
3388c2ecf20Sopenharmony_ci	PIN 5: "WF0_5G_HB3"
3398c2ecf20Sopenharmony_ci	PIN 6: "WF0_5G_HB4"
3408c2ecf20Sopenharmony_ci	PIN 7: "WF0_5G_HB5"
3418c2ecf20Sopenharmony_ci	PIN 8: "WF0_5G_HB6"
3428c2ecf20Sopenharmony_ci	PIN 9: "XO_REQ"
3438c2ecf20Sopenharmony_ci	PIN 10: "TOP_RST_N"
3448c2ecf20Sopenharmony_ci	PIN 11: "SYS_WATCHDOG"
3458c2ecf20Sopenharmony_ci	PIN 12: "EPHY_LED0_N_JTDO"
3468c2ecf20Sopenharmony_ci	PIN 13: "EPHY_LED1_N_JTDI"
3478c2ecf20Sopenharmony_ci	PIN 14: "EPHY_LED2_N_JTMS"
3488c2ecf20Sopenharmony_ci	PIN 15: "EPHY_LED3_N_JTCLK"
3498c2ecf20Sopenharmony_ci	PIN 16: "EPHY_LED4_N_JTRST_N"
3508c2ecf20Sopenharmony_ci	PIN 17: "WF2G_LED_N"
3518c2ecf20Sopenharmony_ci	PIN 18: "WF5G_LED_N"
3528c2ecf20Sopenharmony_ci	PIN 19: "I2C_SDA"
3538c2ecf20Sopenharmony_ci	PIN 20: "I2C_SCL"
3548c2ecf20Sopenharmony_ci	PIN 21: "GPIO_9"
3558c2ecf20Sopenharmony_ci	PIN 22: "GPIO_10"
3568c2ecf20Sopenharmony_ci	PIN 23: "GPIO_11"
3578c2ecf20Sopenharmony_ci	PIN 24: "GPIO_12"
3588c2ecf20Sopenharmony_ci	PIN 25: "UART1_TXD"
3598c2ecf20Sopenharmony_ci	PIN 26: "UART1_RXD"
3608c2ecf20Sopenharmony_ci	PIN 27: "UART1_CTS"
3618c2ecf20Sopenharmony_ci	PIN 28: "UART1_RTS"
3628c2ecf20Sopenharmony_ci	PIN 29: "UART2_TXD"
3638c2ecf20Sopenharmony_ci	PIN 30: "UART2_RXD"
3648c2ecf20Sopenharmony_ci	PIN 31: "UART2_CTS"
3658c2ecf20Sopenharmony_ci	PIN 32: "UART2_RTS"
3668c2ecf20Sopenharmony_ci	PIN 33: "MDI_TP_P1"
3678c2ecf20Sopenharmony_ci	PIN 34: "MDI_TN_P1"
3688c2ecf20Sopenharmony_ci	PIN 35: "MDI_RP_P1"
3698c2ecf20Sopenharmony_ci	PIN 36: "MDI_RN_P1"
3708c2ecf20Sopenharmony_ci	PIN 37: "MDI_RP_P2"
3718c2ecf20Sopenharmony_ci	PIN 38: "MDI_RN_P2"
3728c2ecf20Sopenharmony_ci	PIN 39: "MDI_TP_P2"
3738c2ecf20Sopenharmony_ci	PIN 40: "MDI_TN_P2"
3748c2ecf20Sopenharmony_ci	PIN 41: "MDI_TP_P3"
3758c2ecf20Sopenharmony_ci	PIN 42: "MDI_TN_P3"
3768c2ecf20Sopenharmony_ci	PIN 43: "MDI_RP_P3"
3778c2ecf20Sopenharmony_ci	PIN 44: "MDI_RN_P3"
3788c2ecf20Sopenharmony_ci	PIN 45: "MDI_RP_P4"
3798c2ecf20Sopenharmony_ci	PIN 46: "MDI_RN_P4"
3808c2ecf20Sopenharmony_ci	PIN 47: "MDI_TP_P4"
3818c2ecf20Sopenharmony_ci	PIN 48: "MDI_TN_P4"
3828c2ecf20Sopenharmony_ci	PIN 49: "SMI_MDC"
3838c2ecf20Sopenharmony_ci	PIN 50: "SMI_MDIO"
3848c2ecf20Sopenharmony_ci	PIN 51: "PCIE_PERESET_N"
3858c2ecf20Sopenharmony_ci	PIN 52: "PWM_0"
3868c2ecf20Sopenharmony_ci	PIN 53: "GPIO_0"
3878c2ecf20Sopenharmony_ci	PIN 54: "GPIO_1"
3888c2ecf20Sopenharmony_ci	PIN 55: "GPIO_2"
3898c2ecf20Sopenharmony_ci	PIN 56: "GPIO_3"
3908c2ecf20Sopenharmony_ci	PIN 57: "GPIO_4"
3918c2ecf20Sopenharmony_ci	PIN 58: "GPIO_5"
3928c2ecf20Sopenharmony_ci	PIN 59: "GPIO_6"
3938c2ecf20Sopenharmony_ci	PIN 60: "GPIO_7"
3948c2ecf20Sopenharmony_ci	PIN 61: "GPIO_8"
3958c2ecf20Sopenharmony_ci	PIN 62: "SPI_CLK"
3968c2ecf20Sopenharmony_ci	PIN 63: "SPI_CS"
3978c2ecf20Sopenharmony_ci	PIN 64: "SPI_MOSI"
3988c2ecf20Sopenharmony_ci	PIN 65: "SPI_MISO"
3998c2ecf20Sopenharmony_ci	PIN 66: "SPI_WP"
4008c2ecf20Sopenharmony_ci	PIN 67: "SPI_HOLD"
4018c2ecf20Sopenharmony_ci	PIN 68: "UART0_TXD"
4028c2ecf20Sopenharmony_ci	PIN 69: "UART0_RXD"
4038c2ecf20Sopenharmony_ci	PIN 70: "TOP_2G_CLK"
4048c2ecf20Sopenharmony_ci	PIN 71: "TOP_2G_DATA"
4058c2ecf20Sopenharmony_ci	PIN 72: "WF0_2G_HB0"
4068c2ecf20Sopenharmony_ci	PIN 73: "WF0_2G_HB1"
4078c2ecf20Sopenharmony_ci	PIN 74: "WF0_2G_HB2"
4088c2ecf20Sopenharmony_ci	PIN 75: "WF0_2G_HB3"
4098c2ecf20Sopenharmony_ci	PIN 76: "WF0_2G_HB4"
4108c2ecf20Sopenharmony_ci	PIN 77: "WF0_2G_HB5"
4118c2ecf20Sopenharmony_ci	PIN 78: "WF0_2G_HB6"
4128c2ecf20Sopenharmony_ci
4138c2ecf20Sopenharmony_ciValid values for function are:
4148c2ecf20Sopenharmony_ci	"eth", "i2c", "led", "flash", "pcie", "pwm", "spi", "uart",
4158c2ecf20Sopenharmony_ci	"watchdog", "wifi"
4168c2ecf20Sopenharmony_ci
4178c2ecf20Sopenharmony_ciValid values for groups are:
4188c2ecf20Sopenharmony_ci	Valid value			function	pins (in pin#)
4198c2ecf20Sopenharmony_ci	----------------------------------------------------------------
4208c2ecf20Sopenharmony_ci	"mdc_mdio"			"eth"		23, 24
4218c2ecf20Sopenharmony_ci	"i2c_0"				"i2c"		19, 20
4228c2ecf20Sopenharmony_ci	"i2c_1"				"i2c"		53, 54
4238c2ecf20Sopenharmony_ci	"ephy_leds"			"led"		12, 13, 14, 15, 16,
4248c2ecf20Sopenharmony_ci							17, 18
4258c2ecf20Sopenharmony_ci	"ephy0_led"			"led"		12
4268c2ecf20Sopenharmony_ci	"ephy1_led"			"led"		13
4278c2ecf20Sopenharmony_ci	"ephy2_led"			"led"		14
4288c2ecf20Sopenharmony_ci	"ephy3_led"			"led"		15
4298c2ecf20Sopenharmony_ci	"ephy4_led"			"led"		16
4308c2ecf20Sopenharmony_ci	"wf2g_led"			"led"		17
4318c2ecf20Sopenharmony_ci	"wf5g_led"			"led"		18
4328c2ecf20Sopenharmony_ci	"snfi"				"flash"		62, 63, 64, 65, 66, 67
4338c2ecf20Sopenharmony_ci	"spi_nor"			"flash"		62, 63, 64, 65, 66, 67
4348c2ecf20Sopenharmony_ci	"pcie_pereset"			"pcie"		51
4358c2ecf20Sopenharmony_ci	"pcie_wake"			"pcie"		55
4368c2ecf20Sopenharmony_ci	"pcie_clkreq"			"pcie"		56
4378c2ecf20Sopenharmony_ci	"pwm_0"				"pwm"		52
4388c2ecf20Sopenharmony_ci	"pwm_1"				"pwm"		61
4398c2ecf20Sopenharmony_ci	"spi_0"				"spi"		21, 22, 23, 24
4408c2ecf20Sopenharmony_ci	"spi_1"				"spi"		62, 63, 64, 65
4418c2ecf20Sopenharmony_ci	"spi_wp"			"spi"		66
4428c2ecf20Sopenharmony_ci	"spi_hold"			"spi"		67
4438c2ecf20Sopenharmony_ci	"uart0_txd_rxd"			"uart"		68, 69
4448c2ecf20Sopenharmony_ci	"uart1_0_txd_rxd"		"uart"		25, 26
4458c2ecf20Sopenharmony_ci	"uart1_0_cts_rts"		"uart"		27, 28
4468c2ecf20Sopenharmony_ci	"uart1_1_txd_rxd"		"uart"		53, 54
4478c2ecf20Sopenharmony_ci	"uart1_1_cts_rts"		"uart"		55, 56
4488c2ecf20Sopenharmony_ci	"uart2_0_txd_rxd"		"uart"		29, 30
4498c2ecf20Sopenharmony_ci	"uart2_0_cts_rts"		"uart"		31, 32
4508c2ecf20Sopenharmony_ci	"uart2_1_txd_rxd"		"uart"		57, 58
4518c2ecf20Sopenharmony_ci	"uart2_1_cts_rts"		"uart"		59, 60
4528c2ecf20Sopenharmony_ci	"watchdog"			"watchdog"	11
4538c2ecf20Sopenharmony_ci	"wf0_2g"			"wifi"		70, 71, 72, 73, 74,
4548c2ecf20Sopenharmony_ci							75, 76, 77, 78
4558c2ecf20Sopenharmony_ci	"wf0_5g"			"wifi"		0, 1, 2, 3, 4, 5, 6,
4568c2ecf20Sopenharmony_ci							7, 8, 9, 10
4578c2ecf20Sopenharmony_ci
4588c2ecf20Sopenharmony_ciExample:
4598c2ecf20Sopenharmony_ci
4608c2ecf20Sopenharmony_ci	pio: pinctrl@10211000 {
4618c2ecf20Sopenharmony_ci		compatible = "mediatek,mt7622-pinctrl";
4628c2ecf20Sopenharmony_ci		reg = <0 0x10211000 0 0x1000>;
4638c2ecf20Sopenharmony_ci		gpio-controller;
4648c2ecf20Sopenharmony_ci		#gpio-cells = <2>;
4658c2ecf20Sopenharmony_ci
4668c2ecf20Sopenharmony_ci		pinctrl_eth_default: eth-default {
4678c2ecf20Sopenharmony_ci			mux-mdio {
4688c2ecf20Sopenharmony_ci				groups = "mdc_mdio";
4698c2ecf20Sopenharmony_ci				function = "eth";
4708c2ecf20Sopenharmony_ci				drive-strength = <12>;
4718c2ecf20Sopenharmony_ci			};
4728c2ecf20Sopenharmony_ci
4738c2ecf20Sopenharmony_ci			mux-gmac2 {
4748c2ecf20Sopenharmony_ci				groups = "gmac2";
4758c2ecf20Sopenharmony_ci				function = "eth";
4768c2ecf20Sopenharmony_ci				drive-strength = <12>;
4778c2ecf20Sopenharmony_ci			};
4788c2ecf20Sopenharmony_ci
4798c2ecf20Sopenharmony_ci			mux-esw {
4808c2ecf20Sopenharmony_ci				groups = "esw";
4818c2ecf20Sopenharmony_ci				function = "eth";
4828c2ecf20Sopenharmony_ci				drive-strength = <8>;
4838c2ecf20Sopenharmony_ci			};
4848c2ecf20Sopenharmony_ci
4858c2ecf20Sopenharmony_ci			conf-mdio {
4868c2ecf20Sopenharmony_ci				pins = "MDC";
4878c2ecf20Sopenharmony_ci				bias-pull-up;
4888c2ecf20Sopenharmony_ci			};
4898c2ecf20Sopenharmony_ci		};
4908c2ecf20Sopenharmony_ci	};
491