1cb7aa33aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2cb7aa33aSEmmanuel Vadot/* 3cb7aa33aSEmmanuel Vadot * Copyright (C) 2021 MediaTek Inc. 4cb7aa33aSEmmanuel Vadot * Authors: Sam.Shih <sam.shih@mediatek.com> 5cb7aa33aSEmmanuel Vadot * Frank Wunderlich <frank-w@public-files.de> 6cb7aa33aSEmmanuel Vadot * Daniel Golle <daniel@makrotopia.org> 7cb7aa33aSEmmanuel Vadot */ 8cb7aa33aSEmmanuel Vadot 9cb7aa33aSEmmanuel Vadot/dts-v1/; 10cb7aa33aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 11cb7aa33aSEmmanuel Vadot#include <dt-bindings/input/input.h> 12cb7aa33aSEmmanuel Vadot#include <dt-bindings/leds/common.h> 13cb7aa33aSEmmanuel Vadot#include <dt-bindings/pinctrl/mt65xx.h> 14cb7aa33aSEmmanuel Vadot 15cb7aa33aSEmmanuel Vadot#include "mt7986a.dtsi" 16cb7aa33aSEmmanuel Vadot 17cb7aa33aSEmmanuel Vadot/ { 18cb7aa33aSEmmanuel Vadot model = "Bananapi BPI-R3"; 19f126890aSEmmanuel Vadot chassis-type = "embedded"; 20cb7aa33aSEmmanuel Vadot compatible = "bananapi,bpi-r3", "mediatek,mt7986a"; 21cb7aa33aSEmmanuel Vadot 22cb7aa33aSEmmanuel Vadot aliases { 23cb7aa33aSEmmanuel Vadot serial0 = &uart0; 24cb7aa33aSEmmanuel Vadot ethernet0 = &gmac0; 25cb7aa33aSEmmanuel Vadot ethernet1 = &gmac1; 26cb7aa33aSEmmanuel Vadot }; 27cb7aa33aSEmmanuel Vadot 28cb7aa33aSEmmanuel Vadot chosen { 29cb7aa33aSEmmanuel Vadot stdout-path = "serial0:115200n8"; 30cb7aa33aSEmmanuel Vadot }; 31cb7aa33aSEmmanuel Vadot 32cb7aa33aSEmmanuel Vadot dcin: regulator-12vd { 33cb7aa33aSEmmanuel Vadot compatible = "regulator-fixed"; 34cb7aa33aSEmmanuel Vadot regulator-name = "12vd"; 35cb7aa33aSEmmanuel Vadot regulator-min-microvolt = <12000000>; 36cb7aa33aSEmmanuel Vadot regulator-max-microvolt = <12000000>; 37cb7aa33aSEmmanuel Vadot regulator-boot-on; 38cb7aa33aSEmmanuel Vadot regulator-always-on; 39cb7aa33aSEmmanuel Vadot }; 40cb7aa33aSEmmanuel Vadot 41f126890aSEmmanuel Vadot fan: pwm-fan { 42f126890aSEmmanuel Vadot compatible = "pwm-fan"; 43f126890aSEmmanuel Vadot #cooling-cells = <2>; 44f126890aSEmmanuel Vadot /* cooling level (0, 1, 2) - pwm inverted */ 45f126890aSEmmanuel Vadot cooling-levels = <255 96 0>; 46*01950c46SEmmanuel Vadot pwms = <&pwm 0 10000>; 47f126890aSEmmanuel Vadot status = "okay"; 48f126890aSEmmanuel Vadot }; 49f126890aSEmmanuel Vadot 50cb7aa33aSEmmanuel Vadot gpio-keys { 51cb7aa33aSEmmanuel Vadot compatible = "gpio-keys"; 52cb7aa33aSEmmanuel Vadot 53cb7aa33aSEmmanuel Vadot reset-key { 54cb7aa33aSEmmanuel Vadot label = "reset"; 55cb7aa33aSEmmanuel Vadot linux,code = <KEY_RESTART>; 56cb7aa33aSEmmanuel Vadot gpios = <&pio 9 GPIO_ACTIVE_LOW>; 57cb7aa33aSEmmanuel Vadot }; 58cb7aa33aSEmmanuel Vadot 59cb7aa33aSEmmanuel Vadot wps-key { 60cb7aa33aSEmmanuel Vadot label = "wps"; 61cb7aa33aSEmmanuel Vadot linux,code = <KEY_WPS_BUTTON>; 62cb7aa33aSEmmanuel Vadot gpios = <&pio 10 GPIO_ACTIVE_LOW>; 63cb7aa33aSEmmanuel Vadot }; 64cb7aa33aSEmmanuel Vadot }; 65cb7aa33aSEmmanuel Vadot 66cb7aa33aSEmmanuel Vadot /* i2c of the left SFP cage (wan) */ 67cb7aa33aSEmmanuel Vadot i2c_sfp1: i2c-gpio-0 { 68cb7aa33aSEmmanuel Vadot compatible = "i2c-gpio"; 69cb7aa33aSEmmanuel Vadot sda-gpios = <&pio 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 70cb7aa33aSEmmanuel Vadot scl-gpios = <&pio 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 71cb7aa33aSEmmanuel Vadot i2c-gpio,delay-us = <2>; 72cb7aa33aSEmmanuel Vadot #address-cells = <1>; 73cb7aa33aSEmmanuel Vadot #size-cells = <0>; 74cb7aa33aSEmmanuel Vadot }; 75cb7aa33aSEmmanuel Vadot 76cb7aa33aSEmmanuel Vadot /* i2c of the right SFP cage (lan) */ 77cb7aa33aSEmmanuel Vadot i2c_sfp2: i2c-gpio-1 { 78cb7aa33aSEmmanuel Vadot compatible = "i2c-gpio"; 79cb7aa33aSEmmanuel Vadot sda-gpios = <&pio 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 80cb7aa33aSEmmanuel Vadot scl-gpios = <&pio 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 81cb7aa33aSEmmanuel Vadot i2c-gpio,delay-us = <2>; 82cb7aa33aSEmmanuel Vadot #address-cells = <1>; 83cb7aa33aSEmmanuel Vadot #size-cells = <0>; 84cb7aa33aSEmmanuel Vadot }; 85cb7aa33aSEmmanuel Vadot 86cb7aa33aSEmmanuel Vadot leds { 87cb7aa33aSEmmanuel Vadot compatible = "gpio-leds"; 88cb7aa33aSEmmanuel Vadot 89cb7aa33aSEmmanuel Vadot green_led: led-0 { 90cb7aa33aSEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 91cb7aa33aSEmmanuel Vadot function = LED_FUNCTION_POWER; 92cb7aa33aSEmmanuel Vadot gpios = <&pio 69 GPIO_ACTIVE_HIGH>; 93cb7aa33aSEmmanuel Vadot default-state = "on"; 94cb7aa33aSEmmanuel Vadot }; 95cb7aa33aSEmmanuel Vadot 96cb7aa33aSEmmanuel Vadot blue_led: led-1 { 97cb7aa33aSEmmanuel Vadot color = <LED_COLOR_ID_BLUE>; 98cb7aa33aSEmmanuel Vadot function = LED_FUNCTION_STATUS; 99cb7aa33aSEmmanuel Vadot gpios = <&pio 86 GPIO_ACTIVE_HIGH>; 100cb7aa33aSEmmanuel Vadot default-state = "off"; 101cb7aa33aSEmmanuel Vadot }; 102cb7aa33aSEmmanuel Vadot }; 103cb7aa33aSEmmanuel Vadot 104cb7aa33aSEmmanuel Vadot reg_1p8v: regulator-1p8v { 105cb7aa33aSEmmanuel Vadot compatible = "regulator-fixed"; 106cb7aa33aSEmmanuel Vadot regulator-name = "1.8vd"; 107cb7aa33aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 108cb7aa33aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 109cb7aa33aSEmmanuel Vadot regulator-boot-on; 110cb7aa33aSEmmanuel Vadot regulator-always-on; 111cb7aa33aSEmmanuel Vadot vin-supply = <&dcin>; 112cb7aa33aSEmmanuel Vadot }; 113cb7aa33aSEmmanuel Vadot 114cb7aa33aSEmmanuel Vadot reg_3p3v: regulator-3p3v { 115cb7aa33aSEmmanuel Vadot compatible = "regulator-fixed"; 116cb7aa33aSEmmanuel Vadot regulator-name = "3.3vd"; 117cb7aa33aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 118cb7aa33aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 119cb7aa33aSEmmanuel Vadot regulator-boot-on; 120cb7aa33aSEmmanuel Vadot regulator-always-on; 121cb7aa33aSEmmanuel Vadot vin-supply = <&dcin>; 122cb7aa33aSEmmanuel Vadot }; 123cb7aa33aSEmmanuel Vadot 124cb7aa33aSEmmanuel Vadot /* left SFP cage (wan) */ 125cb7aa33aSEmmanuel Vadot sfp1: sfp-1 { 126cb7aa33aSEmmanuel Vadot compatible = "sff,sfp"; 127cb7aa33aSEmmanuel Vadot i2c-bus = <&i2c_sfp1>; 128cb7aa33aSEmmanuel Vadot los-gpios = <&pio 46 GPIO_ACTIVE_HIGH>; 12984943d6fSEmmanuel Vadot maximum-power-milliwatt = <3000>; 130cb7aa33aSEmmanuel Vadot mod-def0-gpios = <&pio 49 GPIO_ACTIVE_LOW>; 131cb7aa33aSEmmanuel Vadot tx-disable-gpios = <&pio 20 GPIO_ACTIVE_HIGH>; 132cb7aa33aSEmmanuel Vadot tx-fault-gpios = <&pio 7 GPIO_ACTIVE_HIGH>; 133cb7aa33aSEmmanuel Vadot }; 134cb7aa33aSEmmanuel Vadot 135cb7aa33aSEmmanuel Vadot /* right SFP cage (lan) */ 136cb7aa33aSEmmanuel Vadot sfp2: sfp-2 { 137cb7aa33aSEmmanuel Vadot compatible = "sff,sfp"; 138cb7aa33aSEmmanuel Vadot i2c-bus = <&i2c_sfp2>; 139cb7aa33aSEmmanuel Vadot los-gpios = <&pio 31 GPIO_ACTIVE_HIGH>; 140cb7aa33aSEmmanuel Vadot mod-def0-gpios = <&pio 47 GPIO_ACTIVE_LOW>; 14184943d6fSEmmanuel Vadot maximum-power-milliwatt = <3000>; 142cb7aa33aSEmmanuel Vadot tx-disable-gpios = <&pio 15 GPIO_ACTIVE_HIGH>; 143cb7aa33aSEmmanuel Vadot tx-fault-gpios = <&pio 48 GPIO_ACTIVE_HIGH>; 144cb7aa33aSEmmanuel Vadot }; 145cb7aa33aSEmmanuel Vadot}; 146cb7aa33aSEmmanuel Vadot 147f126890aSEmmanuel Vadot&cpu_thermal { 148f126890aSEmmanuel Vadot cooling-maps { 149*01950c46SEmmanuel Vadot map-cpu-active-high { 150f126890aSEmmanuel Vadot /* active: set fan to cooling level 2 */ 151f126890aSEmmanuel Vadot cooling-device = <&fan 2 2>; 152f126890aSEmmanuel Vadot trip = <&cpu_trip_active_high>; 153f126890aSEmmanuel Vadot }; 154f126890aSEmmanuel Vadot 155*01950c46SEmmanuel Vadot map-cpu-active-med { 156f126890aSEmmanuel Vadot /* active: set fan to cooling level 1 */ 157f126890aSEmmanuel Vadot cooling-device = <&fan 1 1>; 15884943d6fSEmmanuel Vadot trip = <&cpu_trip_active_med>; 159f126890aSEmmanuel Vadot }; 160f126890aSEmmanuel Vadot 161*01950c46SEmmanuel Vadot map-cpu-active-low { 16284943d6fSEmmanuel Vadot /* active: set fan to cooling level 0 */ 163f126890aSEmmanuel Vadot cooling-device = <&fan 0 0>; 16484943d6fSEmmanuel Vadot trip = <&cpu_trip_active_low>; 165f126890aSEmmanuel Vadot }; 166f126890aSEmmanuel Vadot }; 167f126890aSEmmanuel Vadot}; 168f126890aSEmmanuel Vadot 169cb7aa33aSEmmanuel Vadot&crypto { 170cb7aa33aSEmmanuel Vadot status = "okay"; 171cb7aa33aSEmmanuel Vadot}; 172cb7aa33aSEmmanuel Vadot 173cb7aa33aSEmmanuel Vadotð { 174cb7aa33aSEmmanuel Vadot status = "okay"; 175cb7aa33aSEmmanuel Vadot 176cb7aa33aSEmmanuel Vadot gmac0: mac@0 { 177cb7aa33aSEmmanuel Vadot compatible = "mediatek,eth-mac"; 178cb7aa33aSEmmanuel Vadot reg = <0>; 179cb7aa33aSEmmanuel Vadot phy-mode = "2500base-x"; 180cb7aa33aSEmmanuel Vadot 181cb7aa33aSEmmanuel Vadot fixed-link { 182cb7aa33aSEmmanuel Vadot speed = <2500>; 183cb7aa33aSEmmanuel Vadot full-duplex; 184cb7aa33aSEmmanuel Vadot pause; 185cb7aa33aSEmmanuel Vadot }; 186cb7aa33aSEmmanuel Vadot }; 187cb7aa33aSEmmanuel Vadot 188cb7aa33aSEmmanuel Vadot gmac1: mac@1 { 189cb7aa33aSEmmanuel Vadot compatible = "mediatek,eth-mac"; 190cb7aa33aSEmmanuel Vadot reg = <1>; 191cb7aa33aSEmmanuel Vadot phy-mode = "2500base-x"; 192cb7aa33aSEmmanuel Vadot sfp = <&sfp1>; 193cb7aa33aSEmmanuel Vadot managed = "in-band-status"; 194cb7aa33aSEmmanuel Vadot }; 195cb7aa33aSEmmanuel Vadot 196cb7aa33aSEmmanuel Vadot mdio: mdio-bus { 197cb7aa33aSEmmanuel Vadot #address-cells = <1>; 198cb7aa33aSEmmanuel Vadot #size-cells = <0>; 199cb7aa33aSEmmanuel Vadot }; 200cb7aa33aSEmmanuel Vadot}; 201cb7aa33aSEmmanuel Vadot 202cb7aa33aSEmmanuel Vadot&mdio { 203cb7aa33aSEmmanuel Vadot switch: switch@31 { 204cb7aa33aSEmmanuel Vadot compatible = "mediatek,mt7531"; 205cb7aa33aSEmmanuel Vadot reg = <31>; 206cb7aa33aSEmmanuel Vadot interrupt-controller; 207cb7aa33aSEmmanuel Vadot #interrupt-cells = <1>; 2088d13bc63SEmmanuel Vadot interrupts-extended = <&pio 66 IRQ_TYPE_LEVEL_HIGH>; 209cb7aa33aSEmmanuel Vadot reset-gpios = <&pio 5 GPIO_ACTIVE_HIGH>; 210cb7aa33aSEmmanuel Vadot }; 211cb7aa33aSEmmanuel Vadot}; 212cb7aa33aSEmmanuel Vadot 213cb7aa33aSEmmanuel Vadot&mmc0 { 214cb7aa33aSEmmanuel Vadot pinctrl-names = "default", "state_uhs"; 215cb7aa33aSEmmanuel Vadot pinctrl-0 = <&mmc0_pins_default>; 216cb7aa33aSEmmanuel Vadot pinctrl-1 = <&mmc0_pins_uhs>; 217cb7aa33aSEmmanuel Vadot vmmc-supply = <®_3p3v>; 218cb7aa33aSEmmanuel Vadot vqmmc-supply = <®_1p8v>; 219cb7aa33aSEmmanuel Vadot}; 220cb7aa33aSEmmanuel Vadot 221cb7aa33aSEmmanuel Vadot&i2c0 { 222cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 223cb7aa33aSEmmanuel Vadot pinctrl-0 = <&i2c_pins>; 224cb7aa33aSEmmanuel Vadot status = "okay"; 225cb7aa33aSEmmanuel Vadot}; 226cb7aa33aSEmmanuel Vadot 227cb7aa33aSEmmanuel Vadot&pcie { 228cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 229cb7aa33aSEmmanuel Vadot pinctrl-0 = <&pcie_pins>; 230cb7aa33aSEmmanuel Vadot status = "okay"; 231cb7aa33aSEmmanuel Vadot}; 232cb7aa33aSEmmanuel Vadot 233cb7aa33aSEmmanuel Vadot&pcie_phy { 234cb7aa33aSEmmanuel Vadot status = "okay"; 235cb7aa33aSEmmanuel Vadot}; 236cb7aa33aSEmmanuel Vadot 237cb7aa33aSEmmanuel Vadot&pio { 238cb7aa33aSEmmanuel Vadot i2c_pins: i2c-pins { 239cb7aa33aSEmmanuel Vadot mux { 240cb7aa33aSEmmanuel Vadot function = "i2c"; 241cb7aa33aSEmmanuel Vadot groups = "i2c"; 242cb7aa33aSEmmanuel Vadot }; 243cb7aa33aSEmmanuel Vadot }; 244cb7aa33aSEmmanuel Vadot 245cb7aa33aSEmmanuel Vadot mmc0_pins_default: mmc0-pins { 246cb7aa33aSEmmanuel Vadot mux { 247cb7aa33aSEmmanuel Vadot function = "emmc"; 248cb7aa33aSEmmanuel Vadot groups = "emmc_51"; 249cb7aa33aSEmmanuel Vadot }; 250cb7aa33aSEmmanuel Vadot conf-cmd-dat { 251cb7aa33aSEmmanuel Vadot pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2", 252cb7aa33aSEmmanuel Vadot "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5", 253cb7aa33aSEmmanuel Vadot "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD"; 254cb7aa33aSEmmanuel Vadot input-enable; 255cb7aa33aSEmmanuel Vadot drive-strength = <4>; 256cb7aa33aSEmmanuel Vadot bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */ 257cb7aa33aSEmmanuel Vadot }; 258cb7aa33aSEmmanuel Vadot conf-clk { 259cb7aa33aSEmmanuel Vadot pins = "EMMC_CK"; 260cb7aa33aSEmmanuel Vadot drive-strength = <6>; 261cb7aa33aSEmmanuel Vadot bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */ 262cb7aa33aSEmmanuel Vadot }; 263cb7aa33aSEmmanuel Vadot conf-ds { 264cb7aa33aSEmmanuel Vadot pins = "EMMC_DSL"; 265cb7aa33aSEmmanuel Vadot bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */ 266cb7aa33aSEmmanuel Vadot }; 267cb7aa33aSEmmanuel Vadot conf-rst { 268cb7aa33aSEmmanuel Vadot pins = "EMMC_RSTB"; 269cb7aa33aSEmmanuel Vadot drive-strength = <4>; 270cb7aa33aSEmmanuel Vadot bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */ 271cb7aa33aSEmmanuel Vadot }; 272cb7aa33aSEmmanuel Vadot }; 273cb7aa33aSEmmanuel Vadot 274cb7aa33aSEmmanuel Vadot mmc0_pins_uhs: mmc0-uhs-pins { 275cb7aa33aSEmmanuel Vadot mux { 276cb7aa33aSEmmanuel Vadot function = "emmc"; 277cb7aa33aSEmmanuel Vadot groups = "emmc_51"; 278cb7aa33aSEmmanuel Vadot }; 279cb7aa33aSEmmanuel Vadot conf-cmd-dat { 280cb7aa33aSEmmanuel Vadot pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2", 281cb7aa33aSEmmanuel Vadot "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5", 282cb7aa33aSEmmanuel Vadot "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD"; 283cb7aa33aSEmmanuel Vadot input-enable; 284cb7aa33aSEmmanuel Vadot drive-strength = <4>; 285cb7aa33aSEmmanuel Vadot bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */ 286cb7aa33aSEmmanuel Vadot }; 287cb7aa33aSEmmanuel Vadot conf-clk { 288cb7aa33aSEmmanuel Vadot pins = "EMMC_CK"; 289cb7aa33aSEmmanuel Vadot drive-strength = <6>; 290cb7aa33aSEmmanuel Vadot bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */ 291cb7aa33aSEmmanuel Vadot }; 292cb7aa33aSEmmanuel Vadot conf-ds { 293cb7aa33aSEmmanuel Vadot pins = "EMMC_DSL"; 294cb7aa33aSEmmanuel Vadot bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */ 295cb7aa33aSEmmanuel Vadot }; 296cb7aa33aSEmmanuel Vadot conf-rst { 297cb7aa33aSEmmanuel Vadot pins = "EMMC_RSTB"; 298cb7aa33aSEmmanuel Vadot drive-strength = <4>; 299cb7aa33aSEmmanuel Vadot bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */ 300cb7aa33aSEmmanuel Vadot }; 301cb7aa33aSEmmanuel Vadot }; 302cb7aa33aSEmmanuel Vadot 303cb7aa33aSEmmanuel Vadot pcie_pins: pcie-pins { 304cb7aa33aSEmmanuel Vadot mux { 305cb7aa33aSEmmanuel Vadot function = "pcie"; 306cb7aa33aSEmmanuel Vadot groups = "pcie_clk", "pcie_pereset"; 307cb7aa33aSEmmanuel Vadot }; 308cb7aa33aSEmmanuel Vadot }; 309cb7aa33aSEmmanuel Vadot 310f126890aSEmmanuel Vadot pwm_pins: pwm-pins { 311f126890aSEmmanuel Vadot mux { 312f126890aSEmmanuel Vadot function = "pwm"; 313f126890aSEmmanuel Vadot groups = "pwm0", "pwm1_0"; 314f126890aSEmmanuel Vadot }; 315f126890aSEmmanuel Vadot }; 316f126890aSEmmanuel Vadot 317cb7aa33aSEmmanuel Vadot spi_flash_pins: spi-flash-pins { 318cb7aa33aSEmmanuel Vadot mux { 319cb7aa33aSEmmanuel Vadot function = "spi"; 320cb7aa33aSEmmanuel Vadot groups = "spi0", "spi0_wp_hold"; 321cb7aa33aSEmmanuel Vadot }; 322cb7aa33aSEmmanuel Vadot }; 323cb7aa33aSEmmanuel Vadot 324cb7aa33aSEmmanuel Vadot spic_pins: spic-pins { 325cb7aa33aSEmmanuel Vadot mux { 326cb7aa33aSEmmanuel Vadot function = "spi"; 327cb7aa33aSEmmanuel Vadot groups = "spi1_0"; 328cb7aa33aSEmmanuel Vadot }; 329cb7aa33aSEmmanuel Vadot }; 330cb7aa33aSEmmanuel Vadot 331cb7aa33aSEmmanuel Vadot uart1_pins: uart1-pins { 332cb7aa33aSEmmanuel Vadot mux { 333cb7aa33aSEmmanuel Vadot function = "uart"; 334cb7aa33aSEmmanuel Vadot groups = "uart1_rx_tx"; 335cb7aa33aSEmmanuel Vadot }; 336cb7aa33aSEmmanuel Vadot }; 337cb7aa33aSEmmanuel Vadot 338cb7aa33aSEmmanuel Vadot uart2_pins: uart2-pins { 339cb7aa33aSEmmanuel Vadot mux { 340cb7aa33aSEmmanuel Vadot function = "uart"; 341cb7aa33aSEmmanuel Vadot groups = "uart2_0_rx_tx"; 342cb7aa33aSEmmanuel Vadot }; 343cb7aa33aSEmmanuel Vadot }; 344cb7aa33aSEmmanuel Vadot 345cb7aa33aSEmmanuel Vadot wf_2g_5g_pins: wf-2g-5g-pins { 346cb7aa33aSEmmanuel Vadot mux { 347cb7aa33aSEmmanuel Vadot function = "wifi"; 348cb7aa33aSEmmanuel Vadot groups = "wf_2g", "wf_5g"; 349cb7aa33aSEmmanuel Vadot }; 350cb7aa33aSEmmanuel Vadot conf { 351cb7aa33aSEmmanuel Vadot pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4", 352cb7aa33aSEmmanuel Vadot "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6", 353cb7aa33aSEmmanuel Vadot "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10", 354cb7aa33aSEmmanuel Vadot "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1", 355cb7aa33aSEmmanuel Vadot "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0", 356cb7aa33aSEmmanuel Vadot "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8", 357cb7aa33aSEmmanuel Vadot "WF1_TOP_CLK", "WF1_TOP_DATA"; 358cb7aa33aSEmmanuel Vadot drive-strength = <4>; 359cb7aa33aSEmmanuel Vadot }; 360cb7aa33aSEmmanuel Vadot }; 361cb7aa33aSEmmanuel Vadot 362cb7aa33aSEmmanuel Vadot wf_dbdc_pins: wf-dbdc-pins { 363cb7aa33aSEmmanuel Vadot mux { 364cb7aa33aSEmmanuel Vadot function = "wifi"; 365cb7aa33aSEmmanuel Vadot groups = "wf_dbdc"; 366cb7aa33aSEmmanuel Vadot }; 367cb7aa33aSEmmanuel Vadot conf { 368cb7aa33aSEmmanuel Vadot pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4", 369cb7aa33aSEmmanuel Vadot "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6", 370cb7aa33aSEmmanuel Vadot "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10", 371cb7aa33aSEmmanuel Vadot "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1", 372cb7aa33aSEmmanuel Vadot "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0", 373cb7aa33aSEmmanuel Vadot "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8", 374cb7aa33aSEmmanuel Vadot "WF1_TOP_CLK", "WF1_TOP_DATA"; 375cb7aa33aSEmmanuel Vadot drive-strength = <4>; 376cb7aa33aSEmmanuel Vadot }; 377cb7aa33aSEmmanuel Vadot }; 378cb7aa33aSEmmanuel Vadot 379cb7aa33aSEmmanuel Vadot wf_led_pins: wf-led-pins { 380cb7aa33aSEmmanuel Vadot mux { 381cb7aa33aSEmmanuel Vadot function = "led"; 382cb7aa33aSEmmanuel Vadot groups = "wifi_led"; 383cb7aa33aSEmmanuel Vadot }; 384cb7aa33aSEmmanuel Vadot }; 385cb7aa33aSEmmanuel Vadot}; 386cb7aa33aSEmmanuel Vadot 387f126890aSEmmanuel Vadot&pwm { 388f126890aSEmmanuel Vadot pinctrl-names = "default"; 389f126890aSEmmanuel Vadot pinctrl-0 = <&pwm_pins>; 390f126890aSEmmanuel Vadot status = "okay"; 391f126890aSEmmanuel Vadot}; 392f126890aSEmmanuel Vadot 393cb7aa33aSEmmanuel Vadot&spi0 { 394cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 395cb7aa33aSEmmanuel Vadot pinctrl-0 = <&spi_flash_pins>; 396cb7aa33aSEmmanuel Vadot status = "okay"; 397cb7aa33aSEmmanuel Vadot}; 398cb7aa33aSEmmanuel Vadot 399cb7aa33aSEmmanuel Vadot&spi1 { 400cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 401cb7aa33aSEmmanuel Vadot pinctrl-0 = <&spic_pins>; 402cb7aa33aSEmmanuel Vadot status = "okay"; 403cb7aa33aSEmmanuel Vadot}; 404cb7aa33aSEmmanuel Vadot 405cb7aa33aSEmmanuel Vadot&ssusb { 406cb7aa33aSEmmanuel Vadot status = "okay"; 407cb7aa33aSEmmanuel Vadot}; 408cb7aa33aSEmmanuel Vadot 409cb7aa33aSEmmanuel Vadot&switch { 410cb7aa33aSEmmanuel Vadot ports { 411cb7aa33aSEmmanuel Vadot #address-cells = <1>; 412cb7aa33aSEmmanuel Vadot #size-cells = <0>; 413cb7aa33aSEmmanuel Vadot 414cb7aa33aSEmmanuel Vadot port@0 { 415cb7aa33aSEmmanuel Vadot reg = <0>; 416cb7aa33aSEmmanuel Vadot label = "wan"; 417cb7aa33aSEmmanuel Vadot }; 418cb7aa33aSEmmanuel Vadot 419cb7aa33aSEmmanuel Vadot port@1 { 420cb7aa33aSEmmanuel Vadot reg = <1>; 421cb7aa33aSEmmanuel Vadot label = "lan0"; 422cb7aa33aSEmmanuel Vadot }; 423cb7aa33aSEmmanuel Vadot 424cb7aa33aSEmmanuel Vadot port@2 { 425cb7aa33aSEmmanuel Vadot reg = <2>; 426cb7aa33aSEmmanuel Vadot label = "lan1"; 427cb7aa33aSEmmanuel Vadot }; 428cb7aa33aSEmmanuel Vadot 429cb7aa33aSEmmanuel Vadot port@3 { 430cb7aa33aSEmmanuel Vadot reg = <3>; 431cb7aa33aSEmmanuel Vadot label = "lan2"; 432cb7aa33aSEmmanuel Vadot }; 433cb7aa33aSEmmanuel Vadot 434cb7aa33aSEmmanuel Vadot port@4 { 435cb7aa33aSEmmanuel Vadot reg = <4>; 436cb7aa33aSEmmanuel Vadot label = "lan3"; 437cb7aa33aSEmmanuel Vadot }; 438cb7aa33aSEmmanuel Vadot 439cb7aa33aSEmmanuel Vadot port5: port@5 { 440cb7aa33aSEmmanuel Vadot reg = <5>; 441cb7aa33aSEmmanuel Vadot label = "lan4"; 442cb7aa33aSEmmanuel Vadot phy-mode = "2500base-x"; 443cb7aa33aSEmmanuel Vadot sfp = <&sfp2>; 444cb7aa33aSEmmanuel Vadot managed = "in-band-status"; 445cb7aa33aSEmmanuel Vadot }; 446cb7aa33aSEmmanuel Vadot 447cb7aa33aSEmmanuel Vadot port@6 { 448cb7aa33aSEmmanuel Vadot reg = <6>; 449cb7aa33aSEmmanuel Vadot label = "cpu"; 450cb7aa33aSEmmanuel Vadot ethernet = <&gmac0>; 451cb7aa33aSEmmanuel Vadot phy-mode = "2500base-x"; 452cb7aa33aSEmmanuel Vadot 453cb7aa33aSEmmanuel Vadot fixed-link { 454cb7aa33aSEmmanuel Vadot speed = <2500>; 455cb7aa33aSEmmanuel Vadot full-duplex; 456cb7aa33aSEmmanuel Vadot pause; 457cb7aa33aSEmmanuel Vadot }; 458cb7aa33aSEmmanuel Vadot }; 459cb7aa33aSEmmanuel Vadot }; 460cb7aa33aSEmmanuel Vadot}; 461cb7aa33aSEmmanuel Vadot 462cb7aa33aSEmmanuel Vadot&trng { 463cb7aa33aSEmmanuel Vadot status = "okay"; 464cb7aa33aSEmmanuel Vadot}; 465cb7aa33aSEmmanuel Vadot 466cb7aa33aSEmmanuel Vadot&uart0 { 467cb7aa33aSEmmanuel Vadot status = "okay"; 468cb7aa33aSEmmanuel Vadot}; 469cb7aa33aSEmmanuel Vadot 470cb7aa33aSEmmanuel Vadot&uart1 { 471cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 472cb7aa33aSEmmanuel Vadot pinctrl-0 = <&uart1_pins>; 473cb7aa33aSEmmanuel Vadot status = "okay"; 474cb7aa33aSEmmanuel Vadot}; 475cb7aa33aSEmmanuel Vadot 476cb7aa33aSEmmanuel Vadot&uart2 { 477cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 478cb7aa33aSEmmanuel Vadot pinctrl-0 = <&uart2_pins>; 479cb7aa33aSEmmanuel Vadot status = "okay"; 480cb7aa33aSEmmanuel Vadot}; 481cb7aa33aSEmmanuel Vadot 482cb7aa33aSEmmanuel Vadot&usb_phy { 483cb7aa33aSEmmanuel Vadot status = "okay"; 484cb7aa33aSEmmanuel Vadot}; 485cb7aa33aSEmmanuel Vadot 486cb7aa33aSEmmanuel Vadot&watchdog { 487cb7aa33aSEmmanuel Vadot status = "okay"; 488cb7aa33aSEmmanuel Vadot}; 489cb7aa33aSEmmanuel Vadot 490cb7aa33aSEmmanuel Vadot&wifi { 491cb7aa33aSEmmanuel Vadot status = "okay"; 492cb7aa33aSEmmanuel Vadot pinctrl-names = "default", "dbdc"; 493cb7aa33aSEmmanuel Vadot pinctrl-0 = <&wf_2g_5g_pins>, <&wf_led_pins>; 494cb7aa33aSEmmanuel Vadot pinctrl-1 = <&wf_dbdc_pins>, <&wf_led_pins>; 495f126890aSEmmanuel Vadot 496f126890aSEmmanuel Vadot led { 497f126890aSEmmanuel Vadot led-active-low; 498f126890aSEmmanuel Vadot }; 499cb7aa33aSEmmanuel Vadot}; 500cb7aa33aSEmmanuel Vadot 501