// SPDX-License-Identifier: GPL-2.0 OR MIT /* * Copyright (c) 2026 Yixun Lan */ #include #define K3_PADCONF(pin, func) (((pin) << 16) | (func)) /* Map GPIO pin to each bank's */ #define K3_GPIO(x) (x / 32) (x % 32) &pinctrl { gmac0_rgmii_0_cfg: gmac0-rgmii-0-cfg { gmac0-rgmii-0-pins { pinmux = , /* gmac0_rxdv */ , /* gmac0_rx_d0 */ , /* gmac0_rx_d1 */ , /* gmac0_rx_clk */ , /* gmac0_rx_d2 */ , /* gmac0_rx_d3 */ , /* gmac0_tx_d0 */ , /* gmac0_tx_d1 */ , /* gmac0_tx_clk */ , /* gmac0_tx_d2 */ , /* gmac0_tx_d3 */ , /* gmac0_tx_en */ , /* gmac0_mdc */ ; /* gmac0_mdio */ bias-disable; drive-strength = <25>; power-source = <1800>; }; }; gmac0_phy_0_cfg: gmac0-phy-0-cfg { gmac0-phy-0-pins { pinmux = ; /* gmac0_int */ bias-disable; drive-strength = <25>; power-source = <1800>; }; }; gmac1_rgmii_0_cfg: gmac1-rgmii-0-cfg { gmac1-rgmii-0-pins { pinmux = , /* gmac1_rxdv */ , /* gmac1 rx d0 */ , /* gmac1 rx d1 */ , /* gmac1 rx_clk */ , /* gmac1 rx d2 */ , /* gmac1 rx d3 */ , /* gmac1 tx d0 */ , /* gmac1 tx d1 */ , /* gmac1 tx clk */ , /* gmac1 tx d2 */ , /* gmac1 tx d3 */ , /* gmac1 tx_en */ , /* gmac1 mdc */ ; /* gmac1 mdio */ bias-disable; drive-strength = <25>; power-source = <1800>; }; }; gmac1_phy_0_cfg: gmac1-phy-0-cfg { gmac1-phy-0-pins { pinmux = ; /* gmac1 int */ bias-disable; drive-strength = <25>; power-source = <1800>; }; }; /omit-if-no-ref/ i2c1_1_cfg: i2c1-1-cfg { i2c1-1-pins { pinmux = , /* i2c1 scl */ ; /* i2c1 sda */ bias-pull-up = <1>; drive-strength = <25>; power-source = <1800>; }; }; /omit-if-no-ref/ i2c2_1_cfg: i2c2-1-cfg { i2c2-1-pins { pinmux = , /* i2c2 scl */ ; /* i2c2 sda */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ i2c8_cfg: i2c8-cfg { i2c8-pins { pinmux = , /* i2c8 scl */ ; /* i2c8 sda */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm0_0_cfg: pwm0-0-cfg { pwm0-0-pins { pinmux = ; /* pwm0 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm0_1_cfg: pwm0-1-cfg { pwm0-1-pins { pinmux = ; /* pwm0 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm1_0_cfg: pwm1-0-cfg { pwm1-0-pins { pinmux = ; /* pwm1 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm1_1_cfg: pwm1-1-cfg { pwm1-1-pins { pinmux = ; /* pwm1 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm1_2_cfg: pwm1-2-cfg { pwm1-2-pins { pinmux = ; /* pwm1 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm2_0_cfg: pwm2-0-cfg { pwm2-0-pins { pinmux = ; /* pwm2 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm2_1_cfg: pwm2-1-cfg { pwm2-1-pins { pinmux = ; /* pwm2 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm2_2_cfg: pwm2-2-cfg { pwm2-2-pins { pinmux = ; /* pwm2 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm2_3_cfg: pwm2-3-cfg { pwm2-3-pins { pinmux = ; /* pwm2 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm3_0_cfg: pwm3-0-cfg { pwm3-0-pins { pinmux = ; /* pwm3 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm3_1_cfg: pwm3-1-cfg { pwm3-1-pins { pinmux = ; /* pwm3 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm3_2_cfg: pwm3-2-cfg { pwm3-2-pins { pinmux = ; /* pwm3 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm3_3_cfg: pwm3-3-cfg { pwm3-3-pins { pinmux = ; /* pwm3 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm4_0_cfg: pwm4-0-cfg { pwm4-0-pins { pinmux = ; /* pwm4 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm4_1_cfg: pwm4-1-cfg { pwm4-1-pins { pinmux = ; /* pwm4 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm4_2_cfg: pwm4-2-cfg { pwm4-2-pins { pinmux = ; /* pwm4 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm5_0_cfg: pwm5-0-cfg { pwm5-0-pins { pinmux = ; /* pwm5 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm5_1_cfg: pwm5-1-cfg { pwm5-1-pins { pinmux = ; /* pwm5 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm5_2_cfg: pwm5-2-cfg { pwm5-2-pins { pinmux = ; /* pwm5 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm6_0_cfg: pwm6-0-cfg { pwm6-0-pins { pinmux = ; /* pwm6 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm6_1_cfg: pwm6-1-cfg { pwm6-1-pins { pinmux = ; /* pwm6 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm6_2_cfg: pwm6-2-cfg { pwm6-2-pins { pinmux = ; /* pwm6 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm7_0_cfg: pwm7-0-cfg { pwm7-0-pins { pinmux = ; /* pwm7 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm7_1_cfg: pwm7-1-cfg { pwm7-1-pins { pinmux = ; /* pwm7 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm7_2_cfg: pwm7-2-cfg { pwm7-2-pins { pinmux = ; /* pwm7 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm8_0_cfg: pwm8-0-cfg { pwm8-0-pins { pinmux = ; /* pwm8 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm8_1_cfg: pwm8-1-cfg { pwm8-1-pins { pinmux = ; /* pwm8 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm8_2_cfg: pwm8-2-cfg { pwm8-2-pins { pinmux = ; /* pwm8 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm9_0_cfg: pwm9-0-cfg { pwm9-0-pins { pinmux = ; /* pwm9 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm9_1_cfg: pwm9-1-cfg { pwm9-1-pins { pinmux = ; /* pwm9 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm9_2_cfg: pwm9-2-cfg { pwm9-2-pins { pinmux = ; /* pwm9 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm10_0_cfg: pwm10-0-cfg { pwm10-0-pins { pinmux = ; /* pwm10 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm10_1_cfg: pwm10-1-cfg { pwm10-1-pins { pinmux = ; /* pwm10 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm10_2_cfg: pwm10-2-cfg { pwm10-2-pins { pinmux = ; /* pwm10 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm11_0_cfg: pwm11-0-cfg { pwm11-0-pins { pinmux = ; /* pwm11 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm11_1_cfg: pwm11-1-cfg { pwm11-1-pins { pinmux = ; /* pwm11 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm12_0_cfg: pwm12-0-cfg { pwm12-0-pins { pinmux = ; /* pwm12 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm12_1_cfg: pwm12-1-cfg { pwm12-1-pins { pinmux = ; /* pwm12 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm13_0_cfg: pwm13-0-cfg { pwm13-0-pins { pinmux = ; /* pwm13 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm13_1_cfg: pwm13-1-cfg { pwm13-1-pins { pinmux = ; /* pwm13 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm13_2_cfg: pwm13-2-cfg { pwm13-2-pins { pinmux = ; /* pwm13 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm14_0_cfg: pwm14-0-cfg { pwm14-0-pins { pinmux = ; /* pwm14 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm14_1_cfg: pwm14-1-cfg { pwm14-1-pins { pinmux = ; /* pwm14 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm14_2_cfg: pwm14-2-cfg { pwm14-2-pins { pinmux = ; /* pwm14 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm15_0_cfg: pwm15-0-cfg { pwm15-0-pins { pinmux = ; /* pwm15 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm15_1_cfg: pwm15-1-cfg { pwm15-1-pins { pinmux = ; /* pwm15 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm15_2_cfg: pwm15-2-cfg { pwm15-2-pins { pinmux = ; /* pwm15 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm16_0_cfg: pwm16-0-cfg { pwm16-0-pins { pinmux = ; /* pwm16 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm16_1_cfg: pwm16-1-cfg { pwm16-1-pins { pinmux = ; /* pwm16 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm16_2_cfg: pwm16-2-cfg { pwm16-2-pins { pinmux = ; /* pwm16 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm17_0_cfg: pwm17-0-cfg { pwm17-0-pins { pinmux = ; /* pwm17 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm17_1_cfg: pwm17-1-cfg { pwm17-1-pins { pinmux = ; /* pwm17 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm17_2_cfg: pwm17-2-cfg { pwm17-2-pins { pinmux = ; /* pwm17 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm18_0_cfg: pwm18-0-cfg { pwm18-0-pins { pinmux = ; /* pwm18 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm18_1_cfg: pwm18-1-cfg { pwm18-1-pins { pinmux = ; /* pwm18 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm18_2_cfg: pwm18-2-cfg { pwm18-2-pins { pinmux = ; /* pwm18 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm19_0_cfg: pwm19-0-cfg { pwm19-0-pins { pinmux = ; /* pwm19 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm19_1_cfg: pwm19-1-cfg { pwm19-1-pins { pinmux = ; /* pwm19 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ pwm19_2_cfg: pwm19-2-cfg { pwm19-2-pins { pinmux = ; /* pwm19 */ bias-pull-up = <0>; drive-strength = <25>; }; }; /omit-if-no-ref/ qspi_cfg: qspi-cfg { qspi-pins { pinmux = , /* qspi dat0 */ , /* qspi dat1 */ , /* qspi dat2 */ , /* qspi dat3 */ ; /* qspi clk */ bias-disable; drive-strength = <25>; }; qspi-cs0-pins { pinmux = ; /* qspi cs0 */ bias-disable; drive-strength = <25>; }; }; /omit-if-no-ref/ uart0_0_cfg: uart0-0-cfg { uart0-0-pins { pinmux = , /* uart0 tx */ ; /* uart0 rx */ bias-pull-up = <0>; drive-strength = <25>; }; }; mmc1_cfg: mmc1-cfg { mmc1-data-cmd-pins { pinmux = , /* mmc1 dat3 */ , /* mmc1 dat2 */ , /* mmc1 dat1 */ , /* mmc1 dat0 */ ; /* mmc1 cmd */ bias-pull-up = <0>; drive-strength = <25>; power-source = <3300>; }; mmc1-clk-pins { pinmux = ; /* mmc1 clk */ bias-pull-down; drive-strength = <25>; power-source = <3300>; }; }; mmc1_uhs_cfg: mmc1-uhs-cfg { mmc1-uhs-data-cmd-pins { pinmux = , /* mmc1 dat3 */ , /* mmc1 dat2 */ , /* mmc1 dat1 */ , /* mmc1 dat0 */ ; /* mmc1 cmd */ bias-pull-up = <0>; drive-strength = <21>; power-source = <1800>; }; mmc1-uhs-clk-pins { pinmux = ; /* mmc1 clk */ bias-pull-down; drive-strength = <21>; power-source = <1800>; }; }; };