18e01fb15SFrank Wunderlich// SPDX-License-Identifier: (GPL-2.0 OR MIT) 28e01fb15SFrank Wunderlich/* 38e01fb15SFrank Wunderlich * Copyright (C) 2021 MediaTek Inc. 48e01fb15SFrank Wunderlich * Authors: Sam.Shih <sam.shih@mediatek.com> 58e01fb15SFrank Wunderlich * Frank Wunderlich <frank-w@public-files.de> 68e01fb15SFrank Wunderlich * Daniel Golle <daniel@makrotopia.org> 78e01fb15SFrank Wunderlich */ 88e01fb15SFrank Wunderlich 98e01fb15SFrank Wunderlich/dts-v1/; 108e01fb15SFrank Wunderlich#include <dt-bindings/gpio/gpio.h> 118e01fb15SFrank Wunderlich#include <dt-bindings/input/input.h> 128e01fb15SFrank Wunderlich#include <dt-bindings/leds/common.h> 138e01fb15SFrank Wunderlich#include <dt-bindings/pinctrl/mt65xx.h> 148e01fb15SFrank Wunderlich 158e01fb15SFrank Wunderlich#include "mt7986a.dtsi" 168e01fb15SFrank Wunderlich 178e01fb15SFrank Wunderlich/ { 188e01fb15SFrank Wunderlich model = "Bananapi BPI-R3"; 19380d18fbSAngeloGioacchino Del Regno chassis-type = "embedded"; 208e01fb15SFrank Wunderlich compatible = "bananapi,bpi-r3", "mediatek,mt7986a"; 218e01fb15SFrank Wunderlich 228e01fb15SFrank Wunderlich aliases { 238e01fb15SFrank Wunderlich serial0 = &uart0; 248e01fb15SFrank Wunderlich ethernet0 = &gmac0; 258e01fb15SFrank Wunderlich ethernet1 = &gmac1; 268e01fb15SFrank Wunderlich }; 278e01fb15SFrank Wunderlich 288e01fb15SFrank Wunderlich chosen { 298e01fb15SFrank Wunderlich stdout-path = "serial0:115200n8"; 308e01fb15SFrank Wunderlich }; 318e01fb15SFrank Wunderlich 328e01fb15SFrank Wunderlich dcin: regulator-12vd { 338e01fb15SFrank Wunderlich compatible = "regulator-fixed"; 348e01fb15SFrank Wunderlich regulator-name = "12vd"; 358e01fb15SFrank Wunderlich regulator-min-microvolt = <12000000>; 368e01fb15SFrank Wunderlich regulator-max-microvolt = <12000000>; 378e01fb15SFrank Wunderlich regulator-boot-on; 388e01fb15SFrank Wunderlich regulator-always-on; 398e01fb15SFrank Wunderlich }; 408e01fb15SFrank Wunderlich 41*c26f779aSDaniel Golle fan: pwm-fan { 42*c26f779aSDaniel Golle compatible = "pwm-fan"; 43*c26f779aSDaniel Golle #cooling-cells = <2>; 44*c26f779aSDaniel Golle /* cooling level (0, 1, 2) - pwm inverted */ 45*c26f779aSDaniel Golle cooling-levels = <255 96 0>; 46*c26f779aSDaniel Golle pwms = <&pwm 0 10000 0>; 47*c26f779aSDaniel Golle status = "okay"; 48*c26f779aSDaniel Golle }; 49*c26f779aSDaniel Golle 508e01fb15SFrank Wunderlich gpio-keys { 518e01fb15SFrank Wunderlich compatible = "gpio-keys"; 528e01fb15SFrank Wunderlich 538e01fb15SFrank Wunderlich reset-key { 548e01fb15SFrank Wunderlich label = "reset"; 558e01fb15SFrank Wunderlich linux,code = <KEY_RESTART>; 568e01fb15SFrank Wunderlich gpios = <&pio 9 GPIO_ACTIVE_LOW>; 578e01fb15SFrank Wunderlich }; 588e01fb15SFrank Wunderlich 598e01fb15SFrank Wunderlich wps-key { 608e01fb15SFrank Wunderlich label = "wps"; 618e01fb15SFrank Wunderlich linux,code = <KEY_WPS_BUTTON>; 628e01fb15SFrank Wunderlich gpios = <&pio 10 GPIO_ACTIVE_LOW>; 638e01fb15SFrank Wunderlich }; 648e01fb15SFrank Wunderlich }; 658e01fb15SFrank Wunderlich 668e01fb15SFrank Wunderlich /* i2c of the left SFP cage (wan) */ 678e01fb15SFrank Wunderlich i2c_sfp1: i2c-gpio-0 { 688e01fb15SFrank Wunderlich compatible = "i2c-gpio"; 698e01fb15SFrank Wunderlich sda-gpios = <&pio 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 708e01fb15SFrank Wunderlich scl-gpios = <&pio 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 718e01fb15SFrank Wunderlich i2c-gpio,delay-us = <2>; 728e01fb15SFrank Wunderlich #address-cells = <1>; 738e01fb15SFrank Wunderlich #size-cells = <0>; 748e01fb15SFrank Wunderlich }; 758e01fb15SFrank Wunderlich 768e01fb15SFrank Wunderlich /* i2c of the right SFP cage (lan) */ 778e01fb15SFrank Wunderlich i2c_sfp2: i2c-gpio-1 { 788e01fb15SFrank Wunderlich compatible = "i2c-gpio"; 798e01fb15SFrank Wunderlich sda-gpios = <&pio 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 808e01fb15SFrank Wunderlich scl-gpios = <&pio 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 818e01fb15SFrank Wunderlich i2c-gpio,delay-us = <2>; 828e01fb15SFrank Wunderlich #address-cells = <1>; 838e01fb15SFrank Wunderlich #size-cells = <0>; 848e01fb15SFrank Wunderlich }; 858e01fb15SFrank Wunderlich 868e01fb15SFrank Wunderlich leds { 878e01fb15SFrank Wunderlich compatible = "gpio-leds"; 888e01fb15SFrank Wunderlich 898e01fb15SFrank Wunderlich green_led: led-0 { 908e01fb15SFrank Wunderlich color = <LED_COLOR_ID_GREEN>; 918e01fb15SFrank Wunderlich function = LED_FUNCTION_POWER; 928e01fb15SFrank Wunderlich gpios = <&pio 69 GPIO_ACTIVE_HIGH>; 938e01fb15SFrank Wunderlich default-state = "on"; 948e01fb15SFrank Wunderlich }; 958e01fb15SFrank Wunderlich 968e01fb15SFrank Wunderlich blue_led: led-1 { 978e01fb15SFrank Wunderlich color = <LED_COLOR_ID_BLUE>; 988e01fb15SFrank Wunderlich function = LED_FUNCTION_STATUS; 998e01fb15SFrank Wunderlich gpios = <&pio 86 GPIO_ACTIVE_HIGH>; 1008e01fb15SFrank Wunderlich default-state = "off"; 1018e01fb15SFrank Wunderlich }; 1028e01fb15SFrank Wunderlich }; 1038e01fb15SFrank Wunderlich 1048e01fb15SFrank Wunderlich reg_1p8v: regulator-1p8v { 1058e01fb15SFrank Wunderlich compatible = "regulator-fixed"; 1068e01fb15SFrank Wunderlich regulator-name = "1.8vd"; 1078e01fb15SFrank Wunderlich regulator-min-microvolt = <1800000>; 1088e01fb15SFrank Wunderlich regulator-max-microvolt = <1800000>; 1098e01fb15SFrank Wunderlich regulator-boot-on; 1108e01fb15SFrank Wunderlich regulator-always-on; 1118e01fb15SFrank Wunderlich vin-supply = <&dcin>; 1128e01fb15SFrank Wunderlich }; 1138e01fb15SFrank Wunderlich 1148e01fb15SFrank Wunderlich reg_3p3v: regulator-3p3v { 1158e01fb15SFrank Wunderlich compatible = "regulator-fixed"; 1168e01fb15SFrank Wunderlich regulator-name = "3.3vd"; 1178e01fb15SFrank Wunderlich regulator-min-microvolt = <3300000>; 1188e01fb15SFrank Wunderlich regulator-max-microvolt = <3300000>; 1198e01fb15SFrank Wunderlich regulator-boot-on; 1208e01fb15SFrank Wunderlich regulator-always-on; 1218e01fb15SFrank Wunderlich vin-supply = <&dcin>; 1228e01fb15SFrank Wunderlich }; 1238e01fb15SFrank Wunderlich 1248e01fb15SFrank Wunderlich /* left SFP cage (wan) */ 1258e01fb15SFrank Wunderlich sfp1: sfp-1 { 1268e01fb15SFrank Wunderlich compatible = "sff,sfp"; 1278e01fb15SFrank Wunderlich i2c-bus = <&i2c_sfp1>; 1288e01fb15SFrank Wunderlich los-gpios = <&pio 46 GPIO_ACTIVE_HIGH>; 1298e01fb15SFrank Wunderlich mod-def0-gpios = <&pio 49 GPIO_ACTIVE_LOW>; 1308e01fb15SFrank Wunderlich tx-disable-gpios = <&pio 20 GPIO_ACTIVE_HIGH>; 1318e01fb15SFrank Wunderlich tx-fault-gpios = <&pio 7 GPIO_ACTIVE_HIGH>; 1328e01fb15SFrank Wunderlich }; 1338e01fb15SFrank Wunderlich 1348e01fb15SFrank Wunderlich /* right SFP cage (lan) */ 1358e01fb15SFrank Wunderlich sfp2: sfp-2 { 1368e01fb15SFrank Wunderlich compatible = "sff,sfp"; 1378e01fb15SFrank Wunderlich i2c-bus = <&i2c_sfp2>; 1388e01fb15SFrank Wunderlich los-gpios = <&pio 31 GPIO_ACTIVE_HIGH>; 1398e01fb15SFrank Wunderlich mod-def0-gpios = <&pio 47 GPIO_ACTIVE_LOW>; 1408e01fb15SFrank Wunderlich tx-disable-gpios = <&pio 15 GPIO_ACTIVE_HIGH>; 1418e01fb15SFrank Wunderlich tx-fault-gpios = <&pio 48 GPIO_ACTIVE_HIGH>; 1428e01fb15SFrank Wunderlich }; 1438e01fb15SFrank Wunderlich}; 1448e01fb15SFrank Wunderlich 145*c26f779aSDaniel Golle&cpu_thermal { 146*c26f779aSDaniel Golle cooling-maps { 147*c26f779aSDaniel Golle cpu-active-high { 148*c26f779aSDaniel Golle /* active: set fan to cooling level 2 */ 149*c26f779aSDaniel Golle cooling-device = <&fan 2 2>; 150*c26f779aSDaniel Golle trip = <&cpu_trip_active_high>; 151*c26f779aSDaniel Golle }; 152*c26f779aSDaniel Golle 153*c26f779aSDaniel Golle cpu-active-low { 154*c26f779aSDaniel Golle /* active: set fan to cooling level 1 */ 155*c26f779aSDaniel Golle cooling-device = <&fan 1 1>; 156*c26f779aSDaniel Golle trip = <&cpu_trip_active_low>; 157*c26f779aSDaniel Golle }; 158*c26f779aSDaniel Golle 159*c26f779aSDaniel Golle cpu-passive { 160*c26f779aSDaniel Golle /* passive: set fan to cooling level 0 */ 161*c26f779aSDaniel Golle cooling-device = <&fan 0 0>; 162*c26f779aSDaniel Golle trip = <&cpu_trip_passive>; 163*c26f779aSDaniel Golle }; 164*c26f779aSDaniel Golle }; 165*c26f779aSDaniel Golle}; 166*c26f779aSDaniel Golle 1678e01fb15SFrank Wunderlich&crypto { 1688e01fb15SFrank Wunderlich status = "okay"; 1698e01fb15SFrank Wunderlich}; 1708e01fb15SFrank Wunderlich 1718e01fb15SFrank Wunderlichð { 1728e01fb15SFrank Wunderlich status = "okay"; 1738e01fb15SFrank Wunderlich 1748e01fb15SFrank Wunderlich gmac0: mac@0 { 1758e01fb15SFrank Wunderlich compatible = "mediatek,eth-mac"; 1768e01fb15SFrank Wunderlich reg = <0>; 1778e01fb15SFrank Wunderlich phy-mode = "2500base-x"; 1788e01fb15SFrank Wunderlich 1798e01fb15SFrank Wunderlich fixed-link { 1808e01fb15SFrank Wunderlich speed = <2500>; 1818e01fb15SFrank Wunderlich full-duplex; 1828e01fb15SFrank Wunderlich pause; 1838e01fb15SFrank Wunderlich }; 1848e01fb15SFrank Wunderlich }; 1858e01fb15SFrank Wunderlich 1868e01fb15SFrank Wunderlich gmac1: mac@1 { 1878e01fb15SFrank Wunderlich compatible = "mediatek,eth-mac"; 1888e01fb15SFrank Wunderlich reg = <1>; 1898e01fb15SFrank Wunderlich phy-mode = "2500base-x"; 1908e01fb15SFrank Wunderlich sfp = <&sfp1>; 1918e01fb15SFrank Wunderlich managed = "in-band-status"; 1928e01fb15SFrank Wunderlich }; 1938e01fb15SFrank Wunderlich 1948e01fb15SFrank Wunderlich mdio: mdio-bus { 1958e01fb15SFrank Wunderlich #address-cells = <1>; 1968e01fb15SFrank Wunderlich #size-cells = <0>; 1978e01fb15SFrank Wunderlich }; 1988e01fb15SFrank Wunderlich}; 1998e01fb15SFrank Wunderlich 2008e01fb15SFrank Wunderlich&mdio { 2018e01fb15SFrank Wunderlich switch: switch@31 { 2028e01fb15SFrank Wunderlich compatible = "mediatek,mt7531"; 2038e01fb15SFrank Wunderlich reg = <31>; 2048e01fb15SFrank Wunderlich interrupt-controller; 2058e01fb15SFrank Wunderlich #interrupt-cells = <1>; 2068e01fb15SFrank Wunderlich interrupt-parent = <&pio>; 2078e01fb15SFrank Wunderlich interrupts = <66 IRQ_TYPE_LEVEL_HIGH>; 2088e01fb15SFrank Wunderlich reset-gpios = <&pio 5 GPIO_ACTIVE_HIGH>; 2098e01fb15SFrank Wunderlich }; 2108e01fb15SFrank Wunderlich}; 2118e01fb15SFrank Wunderlich 2128e01fb15SFrank Wunderlich&mmc0 { 2138e01fb15SFrank Wunderlich pinctrl-names = "default", "state_uhs"; 2148e01fb15SFrank Wunderlich pinctrl-0 = <&mmc0_pins_default>; 2158e01fb15SFrank Wunderlich pinctrl-1 = <&mmc0_pins_uhs>; 2168e01fb15SFrank Wunderlich vmmc-supply = <®_3p3v>; 2178e01fb15SFrank Wunderlich vqmmc-supply = <®_1p8v>; 2188e01fb15SFrank Wunderlich}; 2198e01fb15SFrank Wunderlich 2208e01fb15SFrank Wunderlich&i2c0 { 2218e01fb15SFrank Wunderlich pinctrl-names = "default"; 2228e01fb15SFrank Wunderlich pinctrl-0 = <&i2c_pins>; 2238e01fb15SFrank Wunderlich status = "okay"; 2248e01fb15SFrank Wunderlich}; 2258e01fb15SFrank Wunderlich 2268e01fb15SFrank Wunderlich&pcie { 2278e01fb15SFrank Wunderlich pinctrl-names = "default"; 2288e01fb15SFrank Wunderlich pinctrl-0 = <&pcie_pins>; 2298e01fb15SFrank Wunderlich status = "okay"; 2308e01fb15SFrank Wunderlich}; 2318e01fb15SFrank Wunderlich 2328e01fb15SFrank Wunderlich&pcie_phy { 2338e01fb15SFrank Wunderlich status = "okay"; 2348e01fb15SFrank Wunderlich}; 2358e01fb15SFrank Wunderlich 2368e01fb15SFrank Wunderlich&pio { 2378e01fb15SFrank Wunderlich i2c_pins: i2c-pins { 2388e01fb15SFrank Wunderlich mux { 2398e01fb15SFrank Wunderlich function = "i2c"; 2408e01fb15SFrank Wunderlich groups = "i2c"; 2418e01fb15SFrank Wunderlich }; 2428e01fb15SFrank Wunderlich }; 2438e01fb15SFrank Wunderlich 2448e01fb15SFrank Wunderlich mmc0_pins_default: mmc0-pins { 2458e01fb15SFrank Wunderlich mux { 2468e01fb15SFrank Wunderlich function = "emmc"; 2478e01fb15SFrank Wunderlich groups = "emmc_51"; 2488e01fb15SFrank Wunderlich }; 2498e01fb15SFrank Wunderlich conf-cmd-dat { 2508e01fb15SFrank Wunderlich pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2", 2518e01fb15SFrank Wunderlich "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5", 2528e01fb15SFrank Wunderlich "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD"; 2538e01fb15SFrank Wunderlich input-enable; 2548e01fb15SFrank Wunderlich drive-strength = <4>; 2558e01fb15SFrank Wunderlich bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */ 2568e01fb15SFrank Wunderlich }; 2578e01fb15SFrank Wunderlich conf-clk { 2588e01fb15SFrank Wunderlich pins = "EMMC_CK"; 2598e01fb15SFrank Wunderlich drive-strength = <6>; 2608e01fb15SFrank Wunderlich bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */ 2618e01fb15SFrank Wunderlich }; 2628e01fb15SFrank Wunderlich conf-ds { 2638e01fb15SFrank Wunderlich pins = "EMMC_DSL"; 2648e01fb15SFrank Wunderlich bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */ 2658e01fb15SFrank Wunderlich }; 2668e01fb15SFrank Wunderlich conf-rst { 2678e01fb15SFrank Wunderlich pins = "EMMC_RSTB"; 2688e01fb15SFrank Wunderlich drive-strength = <4>; 2698e01fb15SFrank Wunderlich bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */ 2708e01fb15SFrank Wunderlich }; 2718e01fb15SFrank Wunderlich }; 2728e01fb15SFrank Wunderlich 2738e01fb15SFrank Wunderlich mmc0_pins_uhs: mmc0-uhs-pins { 2748e01fb15SFrank Wunderlich mux { 2758e01fb15SFrank Wunderlich function = "emmc"; 2768e01fb15SFrank Wunderlich groups = "emmc_51"; 2778e01fb15SFrank Wunderlich }; 2788e01fb15SFrank Wunderlich conf-cmd-dat { 2798e01fb15SFrank Wunderlich pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2", 2808e01fb15SFrank Wunderlich "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5", 2818e01fb15SFrank Wunderlich "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD"; 2828e01fb15SFrank Wunderlich input-enable; 2838e01fb15SFrank Wunderlich drive-strength = <4>; 2848e01fb15SFrank Wunderlich bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */ 2858e01fb15SFrank Wunderlich }; 2868e01fb15SFrank Wunderlich conf-clk { 2878e01fb15SFrank Wunderlich pins = "EMMC_CK"; 2888e01fb15SFrank Wunderlich drive-strength = <6>; 2898e01fb15SFrank Wunderlich bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */ 2908e01fb15SFrank Wunderlich }; 2918e01fb15SFrank Wunderlich conf-ds { 2928e01fb15SFrank Wunderlich pins = "EMMC_DSL"; 2938e01fb15SFrank Wunderlich bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */ 2948e01fb15SFrank Wunderlich }; 2958e01fb15SFrank Wunderlich conf-rst { 2968e01fb15SFrank Wunderlich pins = "EMMC_RSTB"; 2978e01fb15SFrank Wunderlich drive-strength = <4>; 2988e01fb15SFrank Wunderlich bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */ 2998e01fb15SFrank Wunderlich }; 3008e01fb15SFrank Wunderlich }; 3018e01fb15SFrank Wunderlich 3028e01fb15SFrank Wunderlich pcie_pins: pcie-pins { 3038e01fb15SFrank Wunderlich mux { 3048e01fb15SFrank Wunderlich function = "pcie"; 3058e01fb15SFrank Wunderlich groups = "pcie_clk", "pcie_pereset"; 3068e01fb15SFrank Wunderlich }; 3078e01fb15SFrank Wunderlich }; 3088e01fb15SFrank Wunderlich 309cfde46c6SFrank Wunderlich pwm_pins: pwm-pins { 310cfde46c6SFrank Wunderlich mux { 311cfde46c6SFrank Wunderlich function = "pwm"; 312cfde46c6SFrank Wunderlich groups = "pwm0", "pwm1_0"; 313cfde46c6SFrank Wunderlich }; 314cfde46c6SFrank Wunderlich }; 315cfde46c6SFrank Wunderlich 3168e01fb15SFrank Wunderlich spi_flash_pins: spi-flash-pins { 3178e01fb15SFrank Wunderlich mux { 3188e01fb15SFrank Wunderlich function = "spi"; 3198e01fb15SFrank Wunderlich groups = "spi0", "spi0_wp_hold"; 3208e01fb15SFrank Wunderlich }; 3218e01fb15SFrank Wunderlich }; 3228e01fb15SFrank Wunderlich 3238e01fb15SFrank Wunderlich spic_pins: spic-pins { 3248e01fb15SFrank Wunderlich mux { 3258e01fb15SFrank Wunderlich function = "spi"; 3268e01fb15SFrank Wunderlich groups = "spi1_0"; 3278e01fb15SFrank Wunderlich }; 3288e01fb15SFrank Wunderlich }; 3298e01fb15SFrank Wunderlich 3308e01fb15SFrank Wunderlich uart1_pins: uart1-pins { 3318e01fb15SFrank Wunderlich mux { 3328e01fb15SFrank Wunderlich function = "uart"; 3338e01fb15SFrank Wunderlich groups = "uart1_rx_tx"; 3348e01fb15SFrank Wunderlich }; 3358e01fb15SFrank Wunderlich }; 3368e01fb15SFrank Wunderlich 3378e01fb15SFrank Wunderlich uart2_pins: uart2-pins { 3388e01fb15SFrank Wunderlich mux { 3398e01fb15SFrank Wunderlich function = "uart"; 3408e01fb15SFrank Wunderlich groups = "uart2_0_rx_tx"; 3418e01fb15SFrank Wunderlich }; 3428e01fb15SFrank Wunderlich }; 3438e01fb15SFrank Wunderlich 3448e01fb15SFrank Wunderlich wf_2g_5g_pins: wf-2g-5g-pins { 3458e01fb15SFrank Wunderlich mux { 3468e01fb15SFrank Wunderlich function = "wifi"; 3478e01fb15SFrank Wunderlich groups = "wf_2g", "wf_5g"; 3488e01fb15SFrank Wunderlich }; 3498e01fb15SFrank Wunderlich conf { 3508e01fb15SFrank Wunderlich pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4", 3518e01fb15SFrank Wunderlich "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6", 3528e01fb15SFrank Wunderlich "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10", 3538e01fb15SFrank Wunderlich "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1", 3548e01fb15SFrank Wunderlich "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0", 3558e01fb15SFrank Wunderlich "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8", 3568e01fb15SFrank Wunderlich "WF1_TOP_CLK", "WF1_TOP_DATA"; 3578e01fb15SFrank Wunderlich drive-strength = <4>; 3588e01fb15SFrank Wunderlich }; 3598e01fb15SFrank Wunderlich }; 3608e01fb15SFrank Wunderlich 3618e01fb15SFrank Wunderlich wf_dbdc_pins: wf-dbdc-pins { 3628e01fb15SFrank Wunderlich mux { 3638e01fb15SFrank Wunderlich function = "wifi"; 3648e01fb15SFrank Wunderlich groups = "wf_dbdc"; 3658e01fb15SFrank Wunderlich }; 3668e01fb15SFrank Wunderlich conf { 3678e01fb15SFrank Wunderlich pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4", 3688e01fb15SFrank Wunderlich "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6", 3698e01fb15SFrank Wunderlich "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10", 3708e01fb15SFrank Wunderlich "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1", 3718e01fb15SFrank Wunderlich "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0", 3728e01fb15SFrank Wunderlich "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8", 3738e01fb15SFrank Wunderlich "WF1_TOP_CLK", "WF1_TOP_DATA"; 3748e01fb15SFrank Wunderlich drive-strength = <4>; 3758e01fb15SFrank Wunderlich }; 3768e01fb15SFrank Wunderlich }; 3778e01fb15SFrank Wunderlich 3788e01fb15SFrank Wunderlich wf_led_pins: wf-led-pins { 3798e01fb15SFrank Wunderlich mux { 3808e01fb15SFrank Wunderlich function = "led"; 3818e01fb15SFrank Wunderlich groups = "wifi_led"; 3828e01fb15SFrank Wunderlich }; 3838e01fb15SFrank Wunderlich }; 3848e01fb15SFrank Wunderlich}; 3858e01fb15SFrank Wunderlich 386cfde46c6SFrank Wunderlich&pwm { 387cfde46c6SFrank Wunderlich pinctrl-names = "default"; 388cfde46c6SFrank Wunderlich pinctrl-0 = <&pwm_pins>; 389cfde46c6SFrank Wunderlich status = "okay"; 390cfde46c6SFrank Wunderlich}; 391cfde46c6SFrank Wunderlich 3928e01fb15SFrank Wunderlich&spi0 { 3938e01fb15SFrank Wunderlich pinctrl-names = "default"; 3948e01fb15SFrank Wunderlich pinctrl-0 = <&spi_flash_pins>; 3958e01fb15SFrank Wunderlich status = "okay"; 3968e01fb15SFrank Wunderlich}; 3978e01fb15SFrank Wunderlich 3988e01fb15SFrank Wunderlich&spi1 { 3998e01fb15SFrank Wunderlich pinctrl-names = "default"; 4008e01fb15SFrank Wunderlich pinctrl-0 = <&spic_pins>; 4018e01fb15SFrank Wunderlich status = "okay"; 4028e01fb15SFrank Wunderlich}; 4038e01fb15SFrank Wunderlich 4048e01fb15SFrank Wunderlich&ssusb { 4058e01fb15SFrank Wunderlich status = "okay"; 4068e01fb15SFrank Wunderlich}; 4078e01fb15SFrank Wunderlich 4088e01fb15SFrank Wunderlich&switch { 4098e01fb15SFrank Wunderlich ports { 4108e01fb15SFrank Wunderlich #address-cells = <1>; 4118e01fb15SFrank Wunderlich #size-cells = <0>; 4128e01fb15SFrank Wunderlich 4138e01fb15SFrank Wunderlich port@0 { 4148e01fb15SFrank Wunderlich reg = <0>; 4158e01fb15SFrank Wunderlich label = "wan"; 4168e01fb15SFrank Wunderlich }; 4178e01fb15SFrank Wunderlich 4188e01fb15SFrank Wunderlich port@1 { 4198e01fb15SFrank Wunderlich reg = <1>; 4208e01fb15SFrank Wunderlich label = "lan0"; 4218e01fb15SFrank Wunderlich }; 4228e01fb15SFrank Wunderlich 4238e01fb15SFrank Wunderlich port@2 { 4248e01fb15SFrank Wunderlich reg = <2>; 4258e01fb15SFrank Wunderlich label = "lan1"; 4268e01fb15SFrank Wunderlich }; 4278e01fb15SFrank Wunderlich 4288e01fb15SFrank Wunderlich port@3 { 4298e01fb15SFrank Wunderlich reg = <3>; 4308e01fb15SFrank Wunderlich label = "lan2"; 4318e01fb15SFrank Wunderlich }; 4328e01fb15SFrank Wunderlich 4338e01fb15SFrank Wunderlich port@4 { 4348e01fb15SFrank Wunderlich reg = <4>; 4358e01fb15SFrank Wunderlich label = "lan3"; 4368e01fb15SFrank Wunderlich }; 4378e01fb15SFrank Wunderlich 4388e01fb15SFrank Wunderlich port5: port@5 { 4398e01fb15SFrank Wunderlich reg = <5>; 4408e01fb15SFrank Wunderlich label = "lan4"; 4418e01fb15SFrank Wunderlich phy-mode = "2500base-x"; 4428e01fb15SFrank Wunderlich sfp = <&sfp2>; 4438e01fb15SFrank Wunderlich managed = "in-band-status"; 4448e01fb15SFrank Wunderlich }; 4458e01fb15SFrank Wunderlich 4468e01fb15SFrank Wunderlich port@6 { 4478e01fb15SFrank Wunderlich reg = <6>; 4488e01fb15SFrank Wunderlich label = "cpu"; 4498e01fb15SFrank Wunderlich ethernet = <&gmac0>; 4508e01fb15SFrank Wunderlich phy-mode = "2500base-x"; 4518e01fb15SFrank Wunderlich 4528e01fb15SFrank Wunderlich fixed-link { 4538e01fb15SFrank Wunderlich speed = <2500>; 4548e01fb15SFrank Wunderlich full-duplex; 4558e01fb15SFrank Wunderlich pause; 4568e01fb15SFrank Wunderlich }; 4578e01fb15SFrank Wunderlich }; 4588e01fb15SFrank Wunderlich }; 4598e01fb15SFrank Wunderlich}; 4608e01fb15SFrank Wunderlich 4618e01fb15SFrank Wunderlich&trng { 4628e01fb15SFrank Wunderlich status = "okay"; 4638e01fb15SFrank Wunderlich}; 4648e01fb15SFrank Wunderlich 4658e01fb15SFrank Wunderlich&uart0 { 4668e01fb15SFrank Wunderlich status = "okay"; 4678e01fb15SFrank Wunderlich}; 4688e01fb15SFrank Wunderlich 4698e01fb15SFrank Wunderlich&uart1 { 4708e01fb15SFrank Wunderlich pinctrl-names = "default"; 4718e01fb15SFrank Wunderlich pinctrl-0 = <&uart1_pins>; 4728e01fb15SFrank Wunderlich status = "okay"; 4738e01fb15SFrank Wunderlich}; 4748e01fb15SFrank Wunderlich 4758e01fb15SFrank Wunderlich&uart2 { 4768e01fb15SFrank Wunderlich pinctrl-names = "default"; 4778e01fb15SFrank Wunderlich pinctrl-0 = <&uart2_pins>; 4788e01fb15SFrank Wunderlich status = "okay"; 4798e01fb15SFrank Wunderlich}; 4808e01fb15SFrank Wunderlich 4818e01fb15SFrank Wunderlich&usb_phy { 4828e01fb15SFrank Wunderlich status = "okay"; 4838e01fb15SFrank Wunderlich}; 4848e01fb15SFrank Wunderlich 4858e01fb15SFrank Wunderlich&watchdog { 4868e01fb15SFrank Wunderlich status = "okay"; 4878e01fb15SFrank Wunderlich}; 4888e01fb15SFrank Wunderlich 4898e01fb15SFrank Wunderlich&wifi { 4908e01fb15SFrank Wunderlich status = "okay"; 4918e01fb15SFrank Wunderlich pinctrl-names = "default", "dbdc"; 4928e01fb15SFrank Wunderlich pinctrl-0 = <&wf_2g_5g_pins>, <&wf_led_pins>; 4938e01fb15SFrank Wunderlich pinctrl-1 = <&wf_dbdc_pins>, <&wf_led_pins>; 49442bdf378SFrank Wunderlich 49542bdf378SFrank Wunderlich led { 49642bdf378SFrank Wunderlich led-active-low; 49742bdf378SFrank Wunderlich }; 4988e01fb15SFrank Wunderlich}; 4998e01fb15SFrank Wunderlich 500