// SPDX-License-Identifier: GPL-2.0 #include "qcom-ipq8064.dtsi" #include / { model = "MikroTik RB3011UiAS-RM"; compatible = "mikrotik,rb3011"; aliases { serial0 = &gsbi7_serial; ethernet0 = &gmac0; ethernet1 = &gmac3; mdio-gpio0 = &mdio0; mdio-gpio1 = &mdio1; }; chosen { bootargs = "loglevel=8 console=ttyMSM0,115200"; stdout-path = "serial0:115200n8"; }; memory@0 { reg = <0x42000000 0x3e000000>; device_type = "memory"; }; mdio0: mdio@0 { status = "okay"; compatible = "virtual,mdio-gpio"; gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH>, <&qcom_pinmux 0 GPIO_ACTIVE_HIGH>; #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&mdio0_pins>; pinctrl-names = "default"; switch0: switch@10 { compatible = "qca,qca8337"; #address-cells = <1>; #size-cells = <0>; dsa,member = <0 0>; pinctrl-0 = <&sw0_reset_pin>; pinctrl-names = "default"; reset-gpios = <&qcom_pinmux 16 GPIO_ACTIVE_LOW>; reg = <0x10>; ports { #address-cells = <1>; #size-cells = <0>; switch0cpu: port@0 { reg = <0>; label = "cpu"; ethernet = <&gmac0>; phy-mode = "rgmii-id"; fixed-link { speed = <1000>; full-duplex; }; }; port@1 { reg = <1>; label = "sw1"; }; port@2 { reg = <2>; label = "sw2"; }; port@3 { reg = <3>; label = "sw3"; }; port@4 { reg = <4>; label = "sw4"; }; port@5 { reg = <5>; label = "sw5"; }; }; }; }; mdio1: mdio@1 { status = "okay"; compatible = "virtual,mdio-gpio"; gpios = <&qcom_pinmux 11 GPIO_ACTIVE_HIGH>, <&qcom_pinmux 10 GPIO_ACTIVE_HIGH>; #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&mdio1_pins>; pinctrl-names = "default"; switch1: switch@14 { compatible = "qca,qca8337"; #address-cells = <1>; #size-cells = <0>; dsa,member = <1 0>; pinctrl-0 = <&sw1_reset_pin>; pinctrl-names = "default"; reset-gpios = <&qcom_pinmux 17 GPIO_ACTIVE_LOW>; reg = <0x10>; ports { #address-cells = <1>; #size-cells = <0>; switch1cpu: port@0 { reg = <0>; label = "cpu"; ethernet = <&gmac3>; phy-mode = "sgmii"; fixed-link { speed = <1000>; full-duplex; }; }; port@1 { reg = <1>; label = "sw6"; }; port@2 { reg = <2>; label = "sw7"; }; port@3 { reg = <3>; label = "sw8"; }; port@4 { reg = <4>; label = "sw9"; }; port@5 { reg = <5>; label = "sw10"; }; }; }; }; soc { gsbi5: gsbi@1a200000 { qcom,mode = ; status = "okay"; spi4: spi@1a280000 { status = "okay"; spi-max-frequency = <50000000>; pinctrl-0 = <&spi_pins>; pinctrl-names = "default"; cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>; norflash: s25fl016k@0 { compatible = "jedec,spi-nor"; #address-cells = <1>; #size-cells = <1>; spi-max-frequency = <50000000>; reg = <0>; partition@0 { label = "RouterBoot"; reg = <0x0 0x40000>; }; }; }; }; gpio_keys { compatible = "gpio-keys"; pinctrl-0 = <&buttons_pins>; pinctrl-names = "default"; button@1 { label = "reset"; linux,code = ; gpios = <&qcom_pinmux 66 GPIO_ACTIVE_LOW>; linux,input-type = <1>; debounce-interval = <60>; }; }; leds { compatible = "gpio-leds"; pinctrl-0 = <&leds_pins>; pinctrl-names = "default"; led@7 { label = "rb3011:green:user"; gpios = <&qcom_pinmux 33 GPIO_ACTIVE_HIGH>; default-state = "off"; }; }; }; }; &gmac0 { status = "okay"; phy-mode = "rgmii"; qcom,id = <0>; phy-handle = <&switch0cpu>; fixed-link { speed = <1000>; full-duplex; }; }; &gmac3 { status = "okay"; phy-mode = "sgmii"; qcom,id = <3>; phy-handle = <&switch1cpu>; fixed-link { speed = <1000>; full-duplex; }; }; &gsbi7 { status = "okay"; qcom,mode = ; }; &gsbi7_serial { status = "okay"; }; &qcom_pinmux { buttons_pins: buttons_pins { mux { pins = "gpio66"; drive-strength = <16>; bias-disable; }; }; leds_pins: leds_pins { mux { pins = "gpio33"; drive-strength = <16>; bias-disable; }; }; mdio0_pins: mdio0_pins { mux { pins = "gpio0", "gpio1"; function = "gpio"; drive-strength = <8>; bias-disable; }; }; mdio1_pins: mdio1_pins { mux { pins = "gpio10", "gpio11"; function = "gpio"; drive-strength = <8>; bias-disable; }; }; sw0_reset_pin: sw0_reset_pin { mux { pins = "gpio16"; drive-strength = <16>; function = "gpio"; bias-disable; input-disable; }; }; sw1_reset_pin: sw1_reset_pin { mux { pins = "gpio17"; drive-strength = <16>; function = "gpio"; bias-disable; input-disable; }; }; };