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 41c26f779aSDaniel Golle fan: pwm-fan { 42c26f779aSDaniel Golle compatible = "pwm-fan"; 43c26f779aSDaniel Golle #cooling-cells = <2>; 44c26f779aSDaniel Golle /* cooling level (0, 1, 2) - pwm inverted */ 45c26f779aSDaniel Golle cooling-levels = <255 96 0>; 467865abbbSRafał Miłecki pwms = <&pwm 0 10000>; 47c26f779aSDaniel Golle status = "okay"; 48c26f779aSDaniel Golle }; 49c26f779aSDaniel 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>; 1296413cbc1SFrank Wunderlich maximum-power-milliwatt = <3000>; 1308e01fb15SFrank Wunderlich mod-def0-gpios = <&pio 49 GPIO_ACTIVE_LOW>; 1318e01fb15SFrank Wunderlich tx-disable-gpios = <&pio 20 GPIO_ACTIVE_HIGH>; 1328e01fb15SFrank Wunderlich tx-fault-gpios = <&pio 7 GPIO_ACTIVE_HIGH>; 1338e01fb15SFrank Wunderlich }; 1348e01fb15SFrank Wunderlich 1358e01fb15SFrank Wunderlich /* right SFP cage (lan) */ 1368e01fb15SFrank Wunderlich sfp2: sfp-2 { 1378e01fb15SFrank Wunderlich compatible = "sff,sfp"; 1388e01fb15SFrank Wunderlich i2c-bus = <&i2c_sfp2>; 1398e01fb15SFrank Wunderlich los-gpios = <&pio 31 GPIO_ACTIVE_HIGH>; 1408e01fb15SFrank Wunderlich mod-def0-gpios = <&pio 47 GPIO_ACTIVE_LOW>; 1416413cbc1SFrank Wunderlich maximum-power-milliwatt = <3000>; 1428e01fb15SFrank Wunderlich tx-disable-gpios = <&pio 15 GPIO_ACTIVE_HIGH>; 1438e01fb15SFrank Wunderlich tx-fault-gpios = <&pio 48 GPIO_ACTIVE_HIGH>; 1448e01fb15SFrank Wunderlich }; 1458e01fb15SFrank Wunderlich}; 1468e01fb15SFrank Wunderlich 147c26f779aSDaniel Golle&cpu_thermal { 148c26f779aSDaniel Golle cooling-maps { 149*f8c65a5eSRafał Miłecki map-cpu-active-high { 150c26f779aSDaniel Golle /* active: set fan to cooling level 2 */ 151c26f779aSDaniel Golle cooling-device = <&fan 2 2>; 152c26f779aSDaniel Golle trip = <&cpu_trip_active_high>; 153c26f779aSDaniel Golle }; 154c26f779aSDaniel Golle 155*f8c65a5eSRafał Miłecki map-cpu-active-med { 156c26f779aSDaniel Golle /* active: set fan to cooling level 1 */ 157c26f779aSDaniel Golle cooling-device = <&fan 1 1>; 1581fcda8ceSFrank Wunderlich trip = <&cpu_trip_active_med>; 159c26f779aSDaniel Golle }; 160c26f779aSDaniel Golle 161*f8c65a5eSRafał Miłecki map-cpu-active-low { 1621fcda8ceSFrank Wunderlich /* active: set fan to cooling level 0 */ 163c26f779aSDaniel Golle cooling-device = <&fan 0 0>; 1641fcda8ceSFrank Wunderlich trip = <&cpu_trip_active_low>; 165c26f779aSDaniel Golle }; 166c26f779aSDaniel Golle }; 167c26f779aSDaniel Golle}; 168c26f779aSDaniel Golle 1698e01fb15SFrank Wunderlich&crypto { 1708e01fb15SFrank Wunderlich status = "okay"; 1718e01fb15SFrank Wunderlich}; 1728e01fb15SFrank Wunderlich 1738e01fb15SFrank Wunderlichð { 1748e01fb15SFrank Wunderlich status = "okay"; 1758e01fb15SFrank Wunderlich 1768e01fb15SFrank Wunderlich gmac0: mac@0 { 1778e01fb15SFrank Wunderlich compatible = "mediatek,eth-mac"; 1788e01fb15SFrank Wunderlich reg = <0>; 1798e01fb15SFrank Wunderlich phy-mode = "2500base-x"; 1808e01fb15SFrank Wunderlich 1818e01fb15SFrank Wunderlich fixed-link { 1828e01fb15SFrank Wunderlich speed = <2500>; 1838e01fb15SFrank Wunderlich full-duplex; 1848e01fb15SFrank Wunderlich pause; 1858e01fb15SFrank Wunderlich }; 1868e01fb15SFrank Wunderlich }; 1878e01fb15SFrank Wunderlich 1888e01fb15SFrank Wunderlich gmac1: mac@1 { 1898e01fb15SFrank Wunderlich compatible = "mediatek,eth-mac"; 1908e01fb15SFrank Wunderlich reg = <1>; 1918e01fb15SFrank Wunderlich phy-mode = "2500base-x"; 1928e01fb15SFrank Wunderlich sfp = <&sfp1>; 1938e01fb15SFrank Wunderlich managed = "in-band-status"; 1948e01fb15SFrank Wunderlich }; 1958e01fb15SFrank Wunderlich 1968e01fb15SFrank Wunderlich mdio: mdio-bus { 1978e01fb15SFrank Wunderlich #address-cells = <1>; 1988e01fb15SFrank Wunderlich #size-cells = <0>; 1998e01fb15SFrank Wunderlich }; 2008e01fb15SFrank Wunderlich}; 2018e01fb15SFrank Wunderlich 2028e01fb15SFrank Wunderlich&mdio { 2038e01fb15SFrank Wunderlich switch: switch@31 { 2048e01fb15SFrank Wunderlich compatible = "mediatek,mt7531"; 2058e01fb15SFrank Wunderlich reg = <31>; 2068e01fb15SFrank Wunderlich interrupt-controller; 2078e01fb15SFrank Wunderlich #interrupt-cells = <1>; 208de7e42e9SAngeloGioacchino Del Regno interrupts-extended = <&pio 66 IRQ_TYPE_LEVEL_HIGH>; 2098e01fb15SFrank Wunderlich reset-gpios = <&pio 5 GPIO_ACTIVE_HIGH>; 2108e01fb15SFrank Wunderlich }; 2118e01fb15SFrank Wunderlich}; 2128e01fb15SFrank Wunderlich 2138e01fb15SFrank Wunderlich&mmc0 { 2148e01fb15SFrank Wunderlich pinctrl-names = "default", "state_uhs"; 2158e01fb15SFrank Wunderlich pinctrl-0 = <&mmc0_pins_default>; 2168e01fb15SFrank Wunderlich pinctrl-1 = <&mmc0_pins_uhs>; 2178e01fb15SFrank Wunderlich vmmc-supply = <®_3p3v>; 2188e01fb15SFrank Wunderlich vqmmc-supply = <®_1p8v>; 2198e01fb15SFrank Wunderlich}; 2208e01fb15SFrank Wunderlich 2218e01fb15SFrank Wunderlich&i2c0 { 2228e01fb15SFrank Wunderlich pinctrl-names = "default"; 2238e01fb15SFrank Wunderlich pinctrl-0 = <&i2c_pins>; 2248e01fb15SFrank Wunderlich status = "okay"; 2258e01fb15SFrank Wunderlich}; 2268e01fb15SFrank Wunderlich 2278e01fb15SFrank Wunderlich&pcie { 2288e01fb15SFrank Wunderlich pinctrl-names = "default"; 2298e01fb15SFrank Wunderlich pinctrl-0 = <&pcie_pins>; 2308e01fb15SFrank Wunderlich status = "okay"; 2318e01fb15SFrank Wunderlich}; 2328e01fb15SFrank Wunderlich 2338e01fb15SFrank Wunderlich&pcie_phy { 2348e01fb15SFrank Wunderlich status = "okay"; 2358e01fb15SFrank Wunderlich}; 2368e01fb15SFrank Wunderlich 2378e01fb15SFrank Wunderlich&pio { 2388e01fb15SFrank Wunderlich i2c_pins: i2c-pins { 2398e01fb15SFrank Wunderlich mux { 2408e01fb15SFrank Wunderlich function = "i2c"; 2418e01fb15SFrank Wunderlich groups = "i2c"; 2428e01fb15SFrank Wunderlich }; 2438e01fb15SFrank Wunderlich }; 2448e01fb15SFrank Wunderlich 2458e01fb15SFrank Wunderlich mmc0_pins_default: mmc0-pins { 2468e01fb15SFrank Wunderlich mux { 2478e01fb15SFrank Wunderlich function = "emmc"; 2488e01fb15SFrank Wunderlich groups = "emmc_51"; 2498e01fb15SFrank Wunderlich }; 2508e01fb15SFrank Wunderlich conf-cmd-dat { 2518e01fb15SFrank Wunderlich pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2", 2528e01fb15SFrank Wunderlich "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5", 2538e01fb15SFrank Wunderlich "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD"; 2548e01fb15SFrank Wunderlich input-enable; 2558e01fb15SFrank Wunderlich drive-strength = <4>; 2568e01fb15SFrank Wunderlich bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */ 2578e01fb15SFrank Wunderlich }; 2588e01fb15SFrank Wunderlich conf-clk { 2598e01fb15SFrank Wunderlich pins = "EMMC_CK"; 2608e01fb15SFrank Wunderlich drive-strength = <6>; 2618e01fb15SFrank Wunderlich bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */ 2628e01fb15SFrank Wunderlich }; 2638e01fb15SFrank Wunderlich conf-ds { 2648e01fb15SFrank Wunderlich pins = "EMMC_DSL"; 2658e01fb15SFrank Wunderlich bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */ 2668e01fb15SFrank Wunderlich }; 2678e01fb15SFrank Wunderlich conf-rst { 2688e01fb15SFrank Wunderlich pins = "EMMC_RSTB"; 2698e01fb15SFrank Wunderlich drive-strength = <4>; 2708e01fb15SFrank Wunderlich bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */ 2718e01fb15SFrank Wunderlich }; 2728e01fb15SFrank Wunderlich }; 2738e01fb15SFrank Wunderlich 2748e01fb15SFrank Wunderlich mmc0_pins_uhs: mmc0-uhs-pins { 2758e01fb15SFrank Wunderlich mux { 2768e01fb15SFrank Wunderlich function = "emmc"; 2778e01fb15SFrank Wunderlich groups = "emmc_51"; 2788e01fb15SFrank Wunderlich }; 2798e01fb15SFrank Wunderlich conf-cmd-dat { 2808e01fb15SFrank Wunderlich pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2", 2818e01fb15SFrank Wunderlich "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5", 2828e01fb15SFrank Wunderlich "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD"; 2838e01fb15SFrank Wunderlich input-enable; 2848e01fb15SFrank Wunderlich drive-strength = <4>; 2858e01fb15SFrank Wunderlich bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */ 2868e01fb15SFrank Wunderlich }; 2878e01fb15SFrank Wunderlich conf-clk { 2888e01fb15SFrank Wunderlich pins = "EMMC_CK"; 2898e01fb15SFrank Wunderlich drive-strength = <6>; 2908e01fb15SFrank Wunderlich bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */ 2918e01fb15SFrank Wunderlich }; 2928e01fb15SFrank Wunderlich conf-ds { 2938e01fb15SFrank Wunderlich pins = "EMMC_DSL"; 2948e01fb15SFrank Wunderlich bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */ 2958e01fb15SFrank Wunderlich }; 2968e01fb15SFrank Wunderlich conf-rst { 2978e01fb15SFrank Wunderlich pins = "EMMC_RSTB"; 2988e01fb15SFrank Wunderlich drive-strength = <4>; 2998e01fb15SFrank Wunderlich bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */ 3008e01fb15SFrank Wunderlich }; 3018e01fb15SFrank Wunderlich }; 3028e01fb15SFrank Wunderlich 3038e01fb15SFrank Wunderlich pcie_pins: pcie-pins { 3048e01fb15SFrank Wunderlich mux { 3058e01fb15SFrank Wunderlich function = "pcie"; 3068e01fb15SFrank Wunderlich groups = "pcie_clk", "pcie_pereset"; 3078e01fb15SFrank Wunderlich }; 3088e01fb15SFrank Wunderlich }; 3098e01fb15SFrank Wunderlich 310cfde46c6SFrank Wunderlich pwm_pins: pwm-pins { 311cfde46c6SFrank Wunderlich mux { 312cfde46c6SFrank Wunderlich function = "pwm"; 313cfde46c6SFrank Wunderlich groups = "pwm0", "pwm1_0"; 314cfde46c6SFrank Wunderlich }; 315cfde46c6SFrank Wunderlich }; 316cfde46c6SFrank Wunderlich 3178e01fb15SFrank Wunderlich spi_flash_pins: spi-flash-pins { 3188e01fb15SFrank Wunderlich mux { 3198e01fb15SFrank Wunderlich function = "spi"; 3208e01fb15SFrank Wunderlich groups = "spi0", "spi0_wp_hold"; 3218e01fb15SFrank Wunderlich }; 3228e01fb15SFrank Wunderlich }; 3238e01fb15SFrank Wunderlich 3248e01fb15SFrank Wunderlich spic_pins: spic-pins { 3258e01fb15SFrank Wunderlich mux { 3268e01fb15SFrank Wunderlich function = "spi"; 3278e01fb15SFrank Wunderlich groups = "spi1_0"; 3288e01fb15SFrank Wunderlich }; 3298e01fb15SFrank Wunderlich }; 3308e01fb15SFrank Wunderlich 3318e01fb15SFrank Wunderlich uart1_pins: uart1-pins { 3328e01fb15SFrank Wunderlich mux { 3338e01fb15SFrank Wunderlich function = "uart"; 3348e01fb15SFrank Wunderlich groups = "uart1_rx_tx"; 3358e01fb15SFrank Wunderlich }; 3368e01fb15SFrank Wunderlich }; 3378e01fb15SFrank Wunderlich 3388e01fb15SFrank Wunderlich uart2_pins: uart2-pins { 3398e01fb15SFrank Wunderlich mux { 3408e01fb15SFrank Wunderlich function = "uart"; 3418e01fb15SFrank Wunderlich groups = "uart2_0_rx_tx"; 3428e01fb15SFrank Wunderlich }; 3438e01fb15SFrank Wunderlich }; 3448e01fb15SFrank Wunderlich 3458e01fb15SFrank Wunderlich wf_2g_5g_pins: wf-2g-5g-pins { 3468e01fb15SFrank Wunderlich mux { 3478e01fb15SFrank Wunderlich function = "wifi"; 3488e01fb15SFrank Wunderlich groups = "wf_2g", "wf_5g"; 3498e01fb15SFrank Wunderlich }; 3508e01fb15SFrank Wunderlich conf { 3518e01fb15SFrank Wunderlich pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4", 3528e01fb15SFrank Wunderlich "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6", 3538e01fb15SFrank Wunderlich "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10", 3548e01fb15SFrank Wunderlich "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1", 3558e01fb15SFrank Wunderlich "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0", 3568e01fb15SFrank Wunderlich "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8", 3578e01fb15SFrank Wunderlich "WF1_TOP_CLK", "WF1_TOP_DATA"; 3588e01fb15SFrank Wunderlich drive-strength = <4>; 3598e01fb15SFrank Wunderlich }; 3608e01fb15SFrank Wunderlich }; 3618e01fb15SFrank Wunderlich 3628e01fb15SFrank Wunderlich wf_dbdc_pins: wf-dbdc-pins { 3638e01fb15SFrank Wunderlich mux { 3648e01fb15SFrank Wunderlich function = "wifi"; 3658e01fb15SFrank Wunderlich groups = "wf_dbdc"; 3668e01fb15SFrank Wunderlich }; 3678e01fb15SFrank Wunderlich conf { 3688e01fb15SFrank Wunderlich pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4", 3698e01fb15SFrank Wunderlich "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6", 3708e01fb15SFrank Wunderlich "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10", 3718e01fb15SFrank Wunderlich "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1", 3728e01fb15SFrank Wunderlich "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0", 3738e01fb15SFrank Wunderlich "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8", 3748e01fb15SFrank Wunderlich "WF1_TOP_CLK", "WF1_TOP_DATA"; 3758e01fb15SFrank Wunderlich drive-strength = <4>; 3768e01fb15SFrank Wunderlich }; 3778e01fb15SFrank Wunderlich }; 3788e01fb15SFrank Wunderlich 3798e01fb15SFrank Wunderlich wf_led_pins: wf-led-pins { 3808e01fb15SFrank Wunderlich mux { 3818e01fb15SFrank Wunderlich function = "led"; 3828e01fb15SFrank Wunderlich groups = "wifi_led"; 3838e01fb15SFrank Wunderlich }; 3848e01fb15SFrank Wunderlich }; 3858e01fb15SFrank Wunderlich}; 3868e01fb15SFrank Wunderlich 387cfde46c6SFrank Wunderlich&pwm { 388cfde46c6SFrank Wunderlich pinctrl-names = "default"; 389cfde46c6SFrank Wunderlich pinctrl-0 = <&pwm_pins>; 390cfde46c6SFrank Wunderlich status = "okay"; 391cfde46c6SFrank Wunderlich}; 392cfde46c6SFrank Wunderlich 3938e01fb15SFrank Wunderlich&spi0 { 3948e01fb15SFrank Wunderlich pinctrl-names = "default"; 3958e01fb15SFrank Wunderlich pinctrl-0 = <&spi_flash_pins>; 3968e01fb15SFrank Wunderlich status = "okay"; 3978e01fb15SFrank Wunderlich}; 3988e01fb15SFrank Wunderlich 3998e01fb15SFrank Wunderlich&spi1 { 4008e01fb15SFrank Wunderlich pinctrl-names = "default"; 4018e01fb15SFrank Wunderlich pinctrl-0 = <&spic_pins>; 4028e01fb15SFrank Wunderlich status = "okay"; 4038e01fb15SFrank Wunderlich}; 4048e01fb15SFrank Wunderlich 4058e01fb15SFrank Wunderlich&ssusb { 4068e01fb15SFrank Wunderlich status = "okay"; 4078e01fb15SFrank Wunderlich}; 4088e01fb15SFrank Wunderlich 4098e01fb15SFrank Wunderlich&switch { 4108e01fb15SFrank Wunderlich ports { 4118e01fb15SFrank Wunderlich #address-cells = <1>; 4128e01fb15SFrank Wunderlich #size-cells = <0>; 4138e01fb15SFrank Wunderlich 4148e01fb15SFrank Wunderlich port@0 { 4158e01fb15SFrank Wunderlich reg = <0>; 4168e01fb15SFrank Wunderlich label = "wan"; 4178e01fb15SFrank Wunderlich }; 4188e01fb15SFrank Wunderlich 4198e01fb15SFrank Wunderlich port@1 { 4208e01fb15SFrank Wunderlich reg = <1>; 4218e01fb15SFrank Wunderlich label = "lan0"; 4228e01fb15SFrank Wunderlich }; 4238e01fb15SFrank Wunderlich 4248e01fb15SFrank Wunderlich port@2 { 4258e01fb15SFrank Wunderlich reg = <2>; 4268e01fb15SFrank Wunderlich label = "lan1"; 4278e01fb15SFrank Wunderlich }; 4288e01fb15SFrank Wunderlich 4298e01fb15SFrank Wunderlich port@3 { 4308e01fb15SFrank Wunderlich reg = <3>; 4318e01fb15SFrank Wunderlich label = "lan2"; 4328e01fb15SFrank Wunderlich }; 4338e01fb15SFrank Wunderlich 4348e01fb15SFrank Wunderlich port@4 { 4358e01fb15SFrank Wunderlich reg = <4>; 4368e01fb15SFrank Wunderlich label = "lan3"; 4378e01fb15SFrank Wunderlich }; 4388e01fb15SFrank Wunderlich 4398e01fb15SFrank Wunderlich port5: port@5 { 4408e01fb15SFrank Wunderlich reg = <5>; 4418e01fb15SFrank Wunderlich label = "lan4"; 4428e01fb15SFrank Wunderlich phy-mode = "2500base-x"; 4438e01fb15SFrank Wunderlich sfp = <&sfp2>; 4448e01fb15SFrank Wunderlich managed = "in-band-status"; 4458e01fb15SFrank Wunderlich }; 4468e01fb15SFrank Wunderlich 4478e01fb15SFrank Wunderlich port@6 { 4488e01fb15SFrank Wunderlich reg = <6>; 4498e01fb15SFrank Wunderlich label = "cpu"; 4508e01fb15SFrank Wunderlich ethernet = <&gmac0>; 4518e01fb15SFrank Wunderlich phy-mode = "2500base-x"; 4528e01fb15SFrank Wunderlich 4538e01fb15SFrank Wunderlich fixed-link { 4548e01fb15SFrank Wunderlich speed = <2500>; 4558e01fb15SFrank Wunderlich full-duplex; 4568e01fb15SFrank Wunderlich pause; 4578e01fb15SFrank Wunderlich }; 4588e01fb15SFrank Wunderlich }; 4598e01fb15SFrank Wunderlich }; 4608e01fb15SFrank Wunderlich}; 4618e01fb15SFrank Wunderlich 4628e01fb15SFrank Wunderlich&trng { 4638e01fb15SFrank Wunderlich status = "okay"; 4648e01fb15SFrank Wunderlich}; 4658e01fb15SFrank Wunderlich 4668e01fb15SFrank Wunderlich&uart0 { 4678e01fb15SFrank Wunderlich status = "okay"; 4688e01fb15SFrank Wunderlich}; 4698e01fb15SFrank Wunderlich 4708e01fb15SFrank Wunderlich&uart1 { 4718e01fb15SFrank Wunderlich pinctrl-names = "default"; 4728e01fb15SFrank Wunderlich pinctrl-0 = <&uart1_pins>; 4738e01fb15SFrank Wunderlich status = "okay"; 4748e01fb15SFrank Wunderlich}; 4758e01fb15SFrank Wunderlich 4768e01fb15SFrank Wunderlich&uart2 { 4778e01fb15SFrank Wunderlich pinctrl-names = "default"; 4788e01fb15SFrank Wunderlich pinctrl-0 = <&uart2_pins>; 4798e01fb15SFrank Wunderlich status = "okay"; 4808e01fb15SFrank Wunderlich}; 4818e01fb15SFrank Wunderlich 4828e01fb15SFrank Wunderlich&usb_phy { 4838e01fb15SFrank Wunderlich status = "okay"; 4848e01fb15SFrank Wunderlich}; 4858e01fb15SFrank Wunderlich 4868e01fb15SFrank Wunderlich&watchdog { 4878e01fb15SFrank Wunderlich status = "okay"; 4888e01fb15SFrank Wunderlich}; 4898e01fb15SFrank Wunderlich 4908e01fb15SFrank Wunderlich&wifi { 4918e01fb15SFrank Wunderlich status = "okay"; 4928e01fb15SFrank Wunderlich pinctrl-names = "default", "dbdc"; 4938e01fb15SFrank Wunderlich pinctrl-0 = <&wf_2g_5g_pins>, <&wf_led_pins>; 4948e01fb15SFrank Wunderlich pinctrl-1 = <&wf_dbdc_pins>, <&wf_led_pins>; 49542bdf378SFrank Wunderlich 49642bdf378SFrank Wunderlich led { 49742bdf378SFrank Wunderlich led-active-low; 49842bdf378SFrank Wunderlich }; 4998e01fb15SFrank Wunderlich}; 5008e01fb15SFrank Wunderlich 501