162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/pinctrl/mediatek,mt7981-pinctrl.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: MediaTek MT7981 Pin Controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Daniel Golle <daniel@makrotopia.org> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: 1362306a36Sopenharmony_ci The MediaTek's MT7981 Pin controller is used to control SoC pins. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciproperties: 1662306a36Sopenharmony_ci compatible: 1762306a36Sopenharmony_ci enum: 1862306a36Sopenharmony_ci - mediatek,mt7981-pinctrl 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci reg: 2162306a36Sopenharmony_ci minItems: 9 2262306a36Sopenharmony_ci maxItems: 9 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci reg-names: 2562306a36Sopenharmony_ci items: 2662306a36Sopenharmony_ci - const: gpio 2762306a36Sopenharmony_ci - const: iocfg_rt 2862306a36Sopenharmony_ci - const: iocfg_rm 2962306a36Sopenharmony_ci - const: iocfg_rb 3062306a36Sopenharmony_ci - const: iocfg_lb 3162306a36Sopenharmony_ci - const: iocfg_bl 3262306a36Sopenharmony_ci - const: iocfg_tm 3362306a36Sopenharmony_ci - const: iocfg_tl 3462306a36Sopenharmony_ci - const: eint 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci gpio-controller: true 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci "#gpio-cells": 3962306a36Sopenharmony_ci const: 2 4062306a36Sopenharmony_ci description: 4162306a36Sopenharmony_ci Number of cells in GPIO specifier. Since the generic GPIO binding is used, 4262306a36Sopenharmony_ci the amount of cells must be specified as 2. See the below mentioned gpio 4362306a36Sopenharmony_ci binding representation for description of particular cells. 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci gpio-ranges: 4662306a36Sopenharmony_ci minItems: 1 4762306a36Sopenharmony_ci maxItems: 5 4862306a36Sopenharmony_ci description: GPIO valid number range. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci interrupt-controller: true 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci interrupts: 5362306a36Sopenharmony_ci maxItems: 1 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci "#interrupt-cells": 5662306a36Sopenharmony_ci const: 2 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ciallOf: 5962306a36Sopenharmony_ci - $ref: pinctrl.yaml# 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_cirequired: 6262306a36Sopenharmony_ci - compatible 6362306a36Sopenharmony_ci - reg 6462306a36Sopenharmony_ci - reg-names 6562306a36Sopenharmony_ci - gpio-controller 6662306a36Sopenharmony_ci - "#gpio-cells" 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_cipatternProperties: 6962306a36Sopenharmony_ci '-pins$': 7062306a36Sopenharmony_ci type: object 7162306a36Sopenharmony_ci additionalProperties: false 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci patternProperties: 7462306a36Sopenharmony_ci '^.*mux.*$': 7562306a36Sopenharmony_ci type: object 7662306a36Sopenharmony_ci additionalProperties: false 7762306a36Sopenharmony_ci description: | 7862306a36Sopenharmony_ci pinmux configuration nodes. 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci The following table shows the effective values of "group", "function" 8162306a36Sopenharmony_ci properties and chip pinout pins 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci groups function pins (in pin#) 8462306a36Sopenharmony_ci --------------------------------------------------------------------- 8562306a36Sopenharmony_ci "wa_aice1" "wa_aice" 0, 1 8662306a36Sopenharmony_ci "wa_aice2" "wa_aice" 0, 1 8762306a36Sopenharmony_ci "wm_uart_0" "uart" 0, 1 8862306a36Sopenharmony_ci "dfd" "dfd" 0, 1, 4, 5 8962306a36Sopenharmony_ci "watchdog" "watchdog" 2 9062306a36Sopenharmony_ci "pcie_pereset" "pcie" 3 9162306a36Sopenharmony_ci "jtag" "jtag" 4, 5, 6, 7, 8 9262306a36Sopenharmony_ci "wm_jtag_0" "jtag" 4, 5, 6, 7, 8 9362306a36Sopenharmony_ci "wo0_jtag_0" "jtag" 9, 10, 11, 12, 13 9462306a36Sopenharmony_ci "uart2_0" "uart" 4, 5, 6, 7 9562306a36Sopenharmony_ci "gbe_led0" "led" 8 9662306a36Sopenharmony_ci "pta_ext_0" "pta" 4, 5, 6 9762306a36Sopenharmony_ci "pwm2" "pwm" 7 9862306a36Sopenharmony_ci "net_wo0_uart_txd_0" "uart" 8 9962306a36Sopenharmony_ci "spi1_0" "spi" 4, 5, 6, 7 10062306a36Sopenharmony_ci "i2c0_0" "i2c" 6, 7 10162306a36Sopenharmony_ci "dfd_ntrst" "dfd" 8 10262306a36Sopenharmony_ci "wm_aice1" "wa_aice" 9, 10 10362306a36Sopenharmony_ci "pwm0_0" "pwm" 13 10462306a36Sopenharmony_ci "pwm0_1" "pwm" 15 10562306a36Sopenharmony_ci "pwm1_0" "pwm" 14 10662306a36Sopenharmony_ci "pwm1_1" "pwm" 15 10762306a36Sopenharmony_ci "net_wo0_uart_txd_1" "uart" 14 10862306a36Sopenharmony_ci "net_wo0_uart_txd_2" "uart" 15 10962306a36Sopenharmony_ci "gbe_led1" "led" 13 11062306a36Sopenharmony_ci "pcm" "pcm" 9, 10, 11, 12, 13, 25 11162306a36Sopenharmony_ci "watchdog1" "watchdog" 13 11262306a36Sopenharmony_ci "udi" "udi" 9, 10, 11, 12, 13 11362306a36Sopenharmony_ci "drv_vbus" "usb" 14 11462306a36Sopenharmony_ci "emmc_45" "flash" 15, 16, 17, 18, 19, 20, 21, 22, 23, 11562306a36Sopenharmony_ci 24, 25 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci "snfi" "flash" 16, 17, 18, 19, 20, 21 11862306a36Sopenharmony_ci "spi0" "spi" 16, 17, 18, 19 11962306a36Sopenharmony_ci "spi0_wp_hold" "spi" 20, 21 12062306a36Sopenharmony_ci "spi1_1" "spi" 22, 23, 24, 25 12162306a36Sopenharmony_ci "spi2" "spi" 26, 27, 28, 29 12262306a36Sopenharmony_ci "spi2_wp_hold" "spi" 30, 31 12362306a36Sopenharmony_ci "uart1_0" "uart" 16, 17, 18, 19 12462306a36Sopenharmony_ci "uart1_1" "uart" 26, 27, 28, 29 12562306a36Sopenharmony_ci "uart2_1" "uart" 22, 23, 24, 25 12662306a36Sopenharmony_ci "pta_ext_1" "pta" 22, 23, 24 12762306a36Sopenharmony_ci "wm_aurt_1" "uart" 20, 21 12862306a36Sopenharmony_ci "wm_aurt_2" "uart" 30, 31 12962306a36Sopenharmony_ci "wm_jtag_1" "jtag" 20, 21, 22, 23, 24 13062306a36Sopenharmony_ci "wo0_jtag_1" "jtag" 25, 26, 27, 28, 29 13162306a36Sopenharmony_ci "wa_aice3" "wa_aice" 28, 20 13262306a36Sopenharmony_ci "wm_aice2" "wa_aice" 30, 31 13362306a36Sopenharmony_ci "i2c0_1" "i2c" 30, 31 13462306a36Sopenharmony_ci "u2_phy_i2c" "i2c" 30, 31 13562306a36Sopenharmony_ci "uart0" "uart" 32, 33 13662306a36Sopenharmony_ci "sgmii1_phy_i2c" "i2c" 32, 33 13762306a36Sopenharmony_ci "u3_phy_i2c" "i2c" 32, 33 13862306a36Sopenharmony_ci "sgmii0_phy_i2c" "i2c" 32, 33 13962306a36Sopenharmony_ci "pcie_clk" "pcie" 34 14062306a36Sopenharmony_ci "pcie_wake" "pcie" 35 14162306a36Sopenharmony_ci "i2c0_2" "i2c" 36, 37 14262306a36Sopenharmony_ci "smi_mdc_mdio" "eth" 36, 37 14362306a36Sopenharmony_ci "gbe_ext_mdc_mdio" "eth" 36, 37 14462306a36Sopenharmony_ci "wf0_mode1" "eth" 40, 41, 42, 43, 44, 45, 46, 47, 48, 14562306a36Sopenharmony_ci 49, 50, 51, 52, 53, 54, 55, 56 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci "wf0_mode3" "eth" 45, 46, 47, 48, 49, 51 14862306a36Sopenharmony_ci "wf2g_led0" "led" 30 14962306a36Sopenharmony_ci "wf2g_led1" "led" 34 15062306a36Sopenharmony_ci "wf5g_led0" "led" 31 15162306a36Sopenharmony_ci "wf5g_led1" "led" 35 15262306a36Sopenharmony_ci "mt7531_int" "eth" 38 15362306a36Sopenharmony_ci "ant_sel" "ant" 14, 15, 16, 17, 18, 19, 20, 21, 22, 15462306a36Sopenharmony_ci 23, 24, 25, 34, 35 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci $ref: /schemas/pinctrl/pinmux-node.yaml 15762306a36Sopenharmony_ci properties: 15862306a36Sopenharmony_ci function: 15962306a36Sopenharmony_ci description: 16062306a36Sopenharmony_ci A string containing the name of the function to mux to the group. 16162306a36Sopenharmony_ci enum: [wa_aice, dfd, jtag, pta, pcm, udi, usb, ant, eth, i2c, led, 16262306a36Sopenharmony_ci pwm, spi, uart, watchdog, flash, pcie] 16362306a36Sopenharmony_ci groups: 16462306a36Sopenharmony_ci description: 16562306a36Sopenharmony_ci An array of strings. Each string contains the name of a group. 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci required: 16862306a36Sopenharmony_ci - function 16962306a36Sopenharmony_ci - groups 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci allOf: 17262306a36Sopenharmony_ci - if: 17362306a36Sopenharmony_ci properties: 17462306a36Sopenharmony_ci function: 17562306a36Sopenharmony_ci const: wa_aice 17662306a36Sopenharmony_ci then: 17762306a36Sopenharmony_ci properties: 17862306a36Sopenharmony_ci groups: 17962306a36Sopenharmony_ci enum: [wa_aice1, wa_aice2, wm_aice1_1, wa_aice3, wm_aice1_2] 18062306a36Sopenharmony_ci - if: 18162306a36Sopenharmony_ci properties: 18262306a36Sopenharmony_ci function: 18362306a36Sopenharmony_ci const: dfd 18462306a36Sopenharmony_ci then: 18562306a36Sopenharmony_ci properties: 18662306a36Sopenharmony_ci groups: 18762306a36Sopenharmony_ci enum: [dfd, dfd_ntrst] 18862306a36Sopenharmony_ci - if: 18962306a36Sopenharmony_ci properties: 19062306a36Sopenharmony_ci function: 19162306a36Sopenharmony_ci const: jtag 19262306a36Sopenharmony_ci then: 19362306a36Sopenharmony_ci properties: 19462306a36Sopenharmony_ci groups: 19562306a36Sopenharmony_ci enum: [jtag, wm_jtag_0, wo0_jtag_0, wo0_jtag_1, wm_jtag_1] 19662306a36Sopenharmony_ci - if: 19762306a36Sopenharmony_ci properties: 19862306a36Sopenharmony_ci function: 19962306a36Sopenharmony_ci const: pta 20062306a36Sopenharmony_ci then: 20162306a36Sopenharmony_ci properties: 20262306a36Sopenharmony_ci groups: 20362306a36Sopenharmony_ci enum: [pta_ext_0, pta_ext_1] 20462306a36Sopenharmony_ci - if: 20562306a36Sopenharmony_ci properties: 20662306a36Sopenharmony_ci function: 20762306a36Sopenharmony_ci const: pcm 20862306a36Sopenharmony_ci then: 20962306a36Sopenharmony_ci properties: 21062306a36Sopenharmony_ci groups: 21162306a36Sopenharmony_ci enum: [pcm] 21262306a36Sopenharmony_ci - if: 21362306a36Sopenharmony_ci properties: 21462306a36Sopenharmony_ci function: 21562306a36Sopenharmony_ci const: udi 21662306a36Sopenharmony_ci then: 21762306a36Sopenharmony_ci properties: 21862306a36Sopenharmony_ci groups: 21962306a36Sopenharmony_ci enum: [udi] 22062306a36Sopenharmony_ci - if: 22162306a36Sopenharmony_ci properties: 22262306a36Sopenharmony_ci function: 22362306a36Sopenharmony_ci const: usb 22462306a36Sopenharmony_ci then: 22562306a36Sopenharmony_ci properties: 22662306a36Sopenharmony_ci groups: 22762306a36Sopenharmony_ci enum: [drv_vbus] 22862306a36Sopenharmony_ci - if: 22962306a36Sopenharmony_ci properties: 23062306a36Sopenharmony_ci function: 23162306a36Sopenharmony_ci const: ant 23262306a36Sopenharmony_ci then: 23362306a36Sopenharmony_ci properties: 23462306a36Sopenharmony_ci groups: 23562306a36Sopenharmony_ci enum: [ant_sel] 23662306a36Sopenharmony_ci - if: 23762306a36Sopenharmony_ci properties: 23862306a36Sopenharmony_ci function: 23962306a36Sopenharmony_ci const: eth 24062306a36Sopenharmony_ci then: 24162306a36Sopenharmony_ci properties: 24262306a36Sopenharmony_ci groups: 24362306a36Sopenharmony_ci enum: [smi_mdc_mdio, gbe_ext_mdc_mdio, wf0_mode1, wf0_mode3, 24462306a36Sopenharmony_ci mt7531_int] 24562306a36Sopenharmony_ci - if: 24662306a36Sopenharmony_ci properties: 24762306a36Sopenharmony_ci function: 24862306a36Sopenharmony_ci const: i2c 24962306a36Sopenharmony_ci then: 25062306a36Sopenharmony_ci properties: 25162306a36Sopenharmony_ci groups: 25262306a36Sopenharmony_ci enum: [i2c0_0, i2c0_1, u2_phy_i2c, sgmii1_phy_i2c, u3_phy_i2c, 25362306a36Sopenharmony_ci sgmii0_phy_i2c, i2c0_2] 25462306a36Sopenharmony_ci - if: 25562306a36Sopenharmony_ci properties: 25662306a36Sopenharmony_ci function: 25762306a36Sopenharmony_ci const: led 25862306a36Sopenharmony_ci then: 25962306a36Sopenharmony_ci properties: 26062306a36Sopenharmony_ci groups: 26162306a36Sopenharmony_ci enum: [gbe_led0, gbe_led1, wf2g_led0, wf2g_led1, wf5g_led0, 26262306a36Sopenharmony_ci wf5g_led1] 26362306a36Sopenharmony_ci - if: 26462306a36Sopenharmony_ci properties: 26562306a36Sopenharmony_ci function: 26662306a36Sopenharmony_ci const: pwm 26762306a36Sopenharmony_ci then: 26862306a36Sopenharmony_ci properties: 26962306a36Sopenharmony_ci groups: 27062306a36Sopenharmony_ci items: 27162306a36Sopenharmony_ci enum: [pwm2, pwm0_0, pwm0_1, pwm1_0, pwm1_1] 27262306a36Sopenharmony_ci maxItems: 3 27362306a36Sopenharmony_ci - if: 27462306a36Sopenharmony_ci properties: 27562306a36Sopenharmony_ci function: 27662306a36Sopenharmony_ci const: spi 27762306a36Sopenharmony_ci then: 27862306a36Sopenharmony_ci properties: 27962306a36Sopenharmony_ci groups: 28062306a36Sopenharmony_ci items: 28162306a36Sopenharmony_ci enum: [spi1_0, spi0, spi0_wp_hold, spi1_1, spi2, 28262306a36Sopenharmony_ci spi2_wp_hold] 28362306a36Sopenharmony_ci maxItems: 4 28462306a36Sopenharmony_ci - if: 28562306a36Sopenharmony_ci properties: 28662306a36Sopenharmony_ci function: 28762306a36Sopenharmony_ci const: uart 28862306a36Sopenharmony_ci then: 28962306a36Sopenharmony_ci properties: 29062306a36Sopenharmony_ci groups: 29162306a36Sopenharmony_ci items: 29262306a36Sopenharmony_ci enum: [wm_uart_0, uart2_0, net_wo0_uart_txd_0, 29362306a36Sopenharmony_ci net_wo0_uart_txd_1, net_wo0_uart_txd_2, uart1_0, 29462306a36Sopenharmony_ci uart1_1, uart2_1, wm_aurt_1, wm_aurt_2, uart0] 29562306a36Sopenharmony_ci - if: 29662306a36Sopenharmony_ci properties: 29762306a36Sopenharmony_ci function: 29862306a36Sopenharmony_ci const: watchdog 29962306a36Sopenharmony_ci then: 30062306a36Sopenharmony_ci properties: 30162306a36Sopenharmony_ci groups: 30262306a36Sopenharmony_ci enum: [watchdog] 30362306a36Sopenharmony_ci - if: 30462306a36Sopenharmony_ci properties: 30562306a36Sopenharmony_ci function: 30662306a36Sopenharmony_ci const: flash 30762306a36Sopenharmony_ci then: 30862306a36Sopenharmony_ci properties: 30962306a36Sopenharmony_ci groups: 31062306a36Sopenharmony_ci items: 31162306a36Sopenharmony_ci enum: [emmc_45, snfi] 31262306a36Sopenharmony_ci maxItems: 1 31362306a36Sopenharmony_ci - if: 31462306a36Sopenharmony_ci properties: 31562306a36Sopenharmony_ci function: 31662306a36Sopenharmony_ci const: pcie 31762306a36Sopenharmony_ci then: 31862306a36Sopenharmony_ci properties: 31962306a36Sopenharmony_ci groups: 32062306a36Sopenharmony_ci items: 32162306a36Sopenharmony_ci enum: [pcie_clk, pcie_wake, pcie_pereset] 32262306a36Sopenharmony_ci maxItems: 3 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_ci '^.*conf.*$': 32562306a36Sopenharmony_ci type: object 32662306a36Sopenharmony_ci additionalProperties: false 32762306a36Sopenharmony_ci description: pinconf configuration nodes. 32862306a36Sopenharmony_ci $ref: /schemas/pinctrl/pincfg-node.yaml 32962306a36Sopenharmony_ci 33062306a36Sopenharmony_ci properties: 33162306a36Sopenharmony_ci pins: 33262306a36Sopenharmony_ci description: 33362306a36Sopenharmony_ci An array of strings. Each string contains the name of a pin. 33462306a36Sopenharmony_ci items: 33562306a36Sopenharmony_ci enum: [GPIO_WPS, GPIO_RESET, SYS_WATCHDOG, PCIE_PERESET_N, 33662306a36Sopenharmony_ci JTAG_JTDO, JTAG_JTDI, JTAG_JTMS, JTAG_JTCLK, JTAG_JTRST_N, 33762306a36Sopenharmony_ci WO_JTAG_JTDO, WO_JTAG_JTDI, WO_JTAG_JTMS, WO_JTAG_JTCLK, 33862306a36Sopenharmony_ci WO_JTAG_JTRST_N, USB_VBUS, PWM0, SPI0_CLK, SPI0_MOSI, 33962306a36Sopenharmony_ci SPI0_MISO, SPI0_CS, SPI0_HOLD, SPI0_WP, SPI1_CLK, 34062306a36Sopenharmony_ci SPI1_MOSI, SPI1_MISO, SPI1_CS, SPI2_CLK, SPI2_MOSI, 34162306a36Sopenharmony_ci SPI2_MISO, SPI2_CS, SPI2_HOLD, SPI2_WP, UART0_RXD, 34262306a36Sopenharmony_ci UART0_TXD, PCIE_CLK_REQ, PCIE_WAKE_N, SMI_MDC, SMI_MDIO, 34362306a36Sopenharmony_ci GBE_INT, GBE_RESET, WF_DIG_RESETB, WF_CBA_RESETB, 34462306a36Sopenharmony_ci WF_XO_REQ, WF_TOP_CLK, WF_TOP_DATA, WF_HB1, WF_HB2, WF_HB3, 34562306a36Sopenharmony_ci WF_HB4, WF_HB0, WF_HB0_B, WF_HB5, WF_HB6, WF_HB7, WF_HB8, 34662306a36Sopenharmony_ci WF_HB9, WF_HB10] 34762306a36Sopenharmony_ci maxItems: 57 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ci bias-disable: true 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ci bias-pull-up: 35262306a36Sopenharmony_ci oneOf: 35362306a36Sopenharmony_ci - type: boolean 35462306a36Sopenharmony_ci description: normal pull up. 35562306a36Sopenharmony_ci - enum: [100, 101, 102, 103] 35662306a36Sopenharmony_ci description: 35762306a36Sopenharmony_ci PUPD/R1/R0 pull down type. See MTK_PUPD_SET_R1R0 defines in 35862306a36Sopenharmony_ci dt-bindings/pinctrl/mt65xx.h. 35962306a36Sopenharmony_ci 36062306a36Sopenharmony_ci bias-pull-down: 36162306a36Sopenharmony_ci oneOf: 36262306a36Sopenharmony_ci - type: boolean 36362306a36Sopenharmony_ci description: normal pull down. 36462306a36Sopenharmony_ci - enum: [100, 101, 102, 103] 36562306a36Sopenharmony_ci description: 36662306a36Sopenharmony_ci PUPD/R1/R0 pull down type. See MTK_PUPD_SET_R1R0 defines in 36762306a36Sopenharmony_ci dt-bindings/pinctrl/mt65xx.h. 36862306a36Sopenharmony_ci 36962306a36Sopenharmony_ci input-enable: true 37062306a36Sopenharmony_ci 37162306a36Sopenharmony_ci input-disable: true 37262306a36Sopenharmony_ci 37362306a36Sopenharmony_ci output-enable: true 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_ci output-low: true 37662306a36Sopenharmony_ci 37762306a36Sopenharmony_ci output-high: true 37862306a36Sopenharmony_ci 37962306a36Sopenharmony_ci input-schmitt-enable: true 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci input-schmitt-disable: true 38262306a36Sopenharmony_ci 38362306a36Sopenharmony_ci drive-strength: 38462306a36Sopenharmony_ci enum: [2, 4, 6, 8, 10, 12, 14, 16] 38562306a36Sopenharmony_ci 38662306a36Sopenharmony_ci mediatek,pull-up-adv: 38762306a36Sopenharmony_ci description: | 38862306a36Sopenharmony_ci Valid arguments for 'mediatek,pull-up-adv' are '0', '1', '2', '3' 38962306a36Sopenharmony_ci Pull up settings for 2 pull resistors, R0 and R1. Valid arguments 39062306a36Sopenharmony_ci are described as below: 39162306a36Sopenharmony_ci 0: (R1, R0) = (0, 0) which means R1 disabled and R0 disabled. 39262306a36Sopenharmony_ci 1: (R1, R0) = (0, 1) which means R1 disabled and R0 enabled. 39362306a36Sopenharmony_ci 2: (R1, R0) = (1, 0) which means R1 enabled and R0 disabled. 39462306a36Sopenharmony_ci 3: (R1, R0) = (1, 1) which means R1 enabled and R0 enabled. 39562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 39662306a36Sopenharmony_ci enum: [0, 1, 2, 3] 39762306a36Sopenharmony_ci 39862306a36Sopenharmony_ci mediatek,pull-down-adv: 39962306a36Sopenharmony_ci description: | 40062306a36Sopenharmony_ci Valid arguments for 'mediatek,pull-up-adv' are '0', '1', '2', '3' 40162306a36Sopenharmony_ci Pull down settings for 2 pull resistors, R0 and R1. Valid arguments 40262306a36Sopenharmony_ci are described as below: 40362306a36Sopenharmony_ci 0: (R1, R0) = (0, 0) which means R1 disabled and R0 disabled. 40462306a36Sopenharmony_ci 1: (R1, R0) = (0, 1) which means R1 disabled and R0 enabled. 40562306a36Sopenharmony_ci 2: (R1, R0) = (1, 0) which means R1 enabled and R0 disabled. 40662306a36Sopenharmony_ci 3: (R1, R0) = (1, 1) which means R1 enabled and R0 enabled. 40762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 40862306a36Sopenharmony_ci enum: [0, 1, 2, 3] 40962306a36Sopenharmony_ci 41062306a36Sopenharmony_ci required: 41162306a36Sopenharmony_ci - pins 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ciadditionalProperties: false 41462306a36Sopenharmony_ci 41562306a36Sopenharmony_ciexamples: 41662306a36Sopenharmony_ci - | 41762306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 41862306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 41962306a36Sopenharmony_ci #include <dt-bindings/pinctrl/mt65xx.h> 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci soc { 42262306a36Sopenharmony_ci #address-cells = <2>; 42362306a36Sopenharmony_ci #size-cells = <2>; 42462306a36Sopenharmony_ci pio: pinctrl@11d00000 { 42562306a36Sopenharmony_ci compatible = "mediatek,mt7981-pinctrl"; 42662306a36Sopenharmony_ci reg = <0 0x11d00000 0 0x1000>, 42762306a36Sopenharmony_ci <0 0x11c00000 0 0x1000>, 42862306a36Sopenharmony_ci <0 0x11c10000 0 0x1000>, 42962306a36Sopenharmony_ci <0 0x11d20000 0 0x1000>, 43062306a36Sopenharmony_ci <0 0x11e00000 0 0x1000>, 43162306a36Sopenharmony_ci <0 0x11e20000 0 0x1000>, 43262306a36Sopenharmony_ci <0 0x11f00000 0 0x1000>, 43362306a36Sopenharmony_ci <0 0x11f10000 0 0x1000>, 43462306a36Sopenharmony_ci <0 0x1000b000 0 0x1000>; 43562306a36Sopenharmony_ci reg-names = "gpio", "iocfg_rt", "iocfg_rm", 43662306a36Sopenharmony_ci "iocfg_rb", "iocfg_lb", "iocfg_bl", 43762306a36Sopenharmony_ci "iocfg_tm", "iocfg_tl", "eint"; 43862306a36Sopenharmony_ci gpio-controller; 43962306a36Sopenharmony_ci #gpio-cells = <2>; 44062306a36Sopenharmony_ci gpio-ranges = <&pio 0 0 56>; 44162306a36Sopenharmony_ci interrupt-controller; 44262306a36Sopenharmony_ci interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 44362306a36Sopenharmony_ci interrupt-parent = <&gic>; 44462306a36Sopenharmony_ci #interrupt-cells = <2>; 44562306a36Sopenharmony_ci 44662306a36Sopenharmony_ci mdio_pins: mdio-pins { 44762306a36Sopenharmony_ci mux { 44862306a36Sopenharmony_ci function = "eth"; 44962306a36Sopenharmony_ci groups = "smi_mdc_mdio"; 45062306a36Sopenharmony_ci }; 45162306a36Sopenharmony_ci }; 45262306a36Sopenharmony_ci 45362306a36Sopenharmony_ci spi0_flash_pins: spi0-pins { 45462306a36Sopenharmony_ci mux { 45562306a36Sopenharmony_ci function = "spi"; 45662306a36Sopenharmony_ci groups = "spi0", "spi0_wp_hold"; 45762306a36Sopenharmony_ci }; 45862306a36Sopenharmony_ci 45962306a36Sopenharmony_ci conf-pu { 46062306a36Sopenharmony_ci pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP"; 46162306a36Sopenharmony_ci drive-strength = <MTK_DRIVE_8mA>; 46262306a36Sopenharmony_ci bias-pull-up = <MTK_PUPD_SET_R1R0_11>; 46362306a36Sopenharmony_ci }; 46462306a36Sopenharmony_ci 46562306a36Sopenharmony_ci conf-pd { 46662306a36Sopenharmony_ci pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO"; 46762306a36Sopenharmony_ci drive-strength = <MTK_DRIVE_8mA>; 46862306a36Sopenharmony_ci bias-pull-down = <MTK_PUPD_SET_R1R0_11>; 46962306a36Sopenharmony_ci }; 47062306a36Sopenharmony_ci }; 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ci pcie_pins: pcie-pins { 47362306a36Sopenharmony_ci mux { 47462306a36Sopenharmony_ci function = "pcie"; 47562306a36Sopenharmony_ci groups = "pcie_clk", "pcie_wake", "pcie_pereset"; 47662306a36Sopenharmony_ci }; 47762306a36Sopenharmony_ci }; 47862306a36Sopenharmony_ci 47962306a36Sopenharmony_ci }; 48062306a36Sopenharmony_ci }; 481