1// SPDX-License-Identifier: GPL-2.0 2#include "qcom-ipq8064.dtsi" 3#include <dt-bindings/input/input.h> 4 5/ { 6 model = "MikroTik RB3011UiAS-RM"; 7 compatible = "mikrotik,rb3011"; 8 9 aliases { 10 serial0 = &gsbi7_serial; 11 ethernet0 = &gmac0; 12 ethernet1 = &gmac3; 13 mdio-gpio0 = &mdio0; 14 mdio-gpio1 = &mdio1; 15 }; 16 17 chosen { 18 bootargs = "loglevel=8 console=ttyMSM0,115200"; 19 stdout-path = "serial0:115200n8"; 20 }; 21 22 memory@42000000 { 23 reg = <0x42000000 0x3e000000>; 24 device_type = "memory"; 25 }; 26 27 mdio0: mdio-0 { 28 status = "okay"; 29 compatible = "virtual,mdio-gpio"; 30 gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH>, 31 <&qcom_pinmux 0 GPIO_ACTIVE_HIGH>; 32 #address-cells = <1>; 33 #size-cells = <0>; 34 35 pinctrl-0 = <&mdio0_pins>; 36 pinctrl-names = "default"; 37 38 switch0: switch@10 { 39 compatible = "qca,qca8337"; 40 #address-cells = <1>; 41 #size-cells = <0>; 42 43 dsa,member = <0 0>; 44 45 pinctrl-0 = <&sw0_reset_pin>; 46 pinctrl-names = "default"; 47 48 reset-gpios = <&qcom_pinmux 16 GPIO_ACTIVE_LOW>; 49 reg = <0x10>; 50 51 ports { 52 #address-cells = <1>; 53 #size-cells = <0>; 54 55 switch0cpu: port@0 { 56 reg = <0>; 57 label = "cpu"; 58 ethernet = <&gmac0>; 59 phy-mode = "rgmii-id"; 60 fixed-link { 61 speed = <1000>; 62 full-duplex; 63 }; 64 }; 65 66 port@1 { 67 reg = <1>; 68 label = "sw1"; 69 }; 70 71 port@2 { 72 reg = <2>; 73 label = "sw2"; 74 }; 75 76 port@3 { 77 reg = <3>; 78 label = "sw3"; 79 }; 80 81 port@4 { 82 reg = <4>; 83 label = "sw4"; 84 }; 85 86 port@5 { 87 reg = <5>; 88 label = "sw5"; 89 }; 90 }; 91 }; 92 }; 93 94 mdio1: mdio-1 { 95 status = "okay"; 96 compatible = "virtual,mdio-gpio"; 97 gpios = <&qcom_pinmux 11 GPIO_ACTIVE_HIGH>, 98 <&qcom_pinmux 10 GPIO_ACTIVE_HIGH>; 99 #address-cells = <1>; 100 #size-cells = <0>; 101 102 pinctrl-0 = <&mdio1_pins>; 103 pinctrl-names = "default"; 104 105 switch1: switch@14 { 106 compatible = "qca,qca8337"; 107 #address-cells = <1>; 108 #size-cells = <0>; 109 110 dsa,member = <1 0>; 111 112 pinctrl-0 = <&sw1_reset_pin>; 113 pinctrl-names = "default"; 114 115 reset-gpios = <&qcom_pinmux 17 GPIO_ACTIVE_LOW>; 116 reg = <0x10>; 117 118 ports { 119 #address-cells = <1>; 120 #size-cells = <0>; 121 122 switch1cpu: port@0 { 123 reg = <0>; 124 label = "cpu"; 125 ethernet = <&gmac3>; 126 phy-mode = "sgmii"; 127 fixed-link { 128 speed = <1000>; 129 full-duplex; 130 }; 131 }; 132 133 port@1 { 134 reg = <1>; 135 label = "sw6"; 136 }; 137 138 port@2 { 139 reg = <2>; 140 label = "sw7"; 141 }; 142 143 port@3 { 144 reg = <3>; 145 label = "sw8"; 146 }; 147 148 port@4 { 149 reg = <4>; 150 label = "sw9"; 151 }; 152 153 port@5 { 154 reg = <5>; 155 label = "sw10"; 156 }; 157 }; 158 }; 159 }; 160 161 soc { 162 gsbi5: gsbi@1a200000 { 163 qcom,mode = <GSBI_PROT_SPI>; 164 status = "okay"; 165 166 spi4: spi@1a280000 { 167 status = "okay"; 168 spi-max-frequency = <50000000>; 169 170 pinctrl-0 = <&spi_pins>; 171 pinctrl-names = "default"; 172 173 cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>; 174 175 norflash: s25fl016k@0 { 176 compatible = "jedec,spi-nor"; 177 #address-cells = <1>; 178 #size-cells = <1>; 179 spi-max-frequency = <50000000>; 180 reg = <0>; 181 182 partition@0 { 183 label = "RouterBoot"; 184 reg = <0x0 0x40000>; 185 }; 186 }; 187 }; 188 }; 189 190 gpio_keys { 191 compatible = "gpio-keys"; 192 pinctrl-0 = <&buttons_pins>; 193 pinctrl-names = "default"; 194 195 button@1 { 196 label = "reset"; 197 linux,code = <KEY_RESTART>; 198 gpios = <&qcom_pinmux 66 GPIO_ACTIVE_LOW>; 199 linux,input-type = <1>; 200 debounce-interval = <60>; 201 }; 202 }; 203 204 leds { 205 compatible = "gpio-leds"; 206 pinctrl-0 = <&leds_pins>; 207 pinctrl-names = "default"; 208 209 led@7 { 210 label = "rb3011:green:user"; 211 gpios = <&qcom_pinmux 33 GPIO_ACTIVE_HIGH>; 212 default-state = "off"; 213 }; 214 }; 215 216 }; 217}; 218 219&gmac0 { 220 status = "okay"; 221 222 phy-mode = "rgmii"; 223 qcom,id = <0>; 224 phy-handle = <&switch0cpu>; 225 226 fixed-link { 227 speed = <1000>; 228 full-duplex; 229 }; 230}; 231 232&gmac3 { 233 status = "okay"; 234 235 phy-mode = "sgmii"; 236 qcom,id = <3>; 237 phy-handle = <&switch1cpu>; 238 239 fixed-link { 240 speed = <1000>; 241 full-duplex; 242 }; 243}; 244 245&gsbi7 { 246 status = "okay"; 247 qcom,mode = <GSBI_PROT_I2C_UART>; 248}; 249 250&gsbi7_serial { 251 status = "okay"; 252}; 253 254&qcom_pinmux { 255 buttons_pins: buttons_pins { 256 mux { 257 pins = "gpio66"; 258 drive-strength = <16>; 259 bias-disable; 260 }; 261 }; 262 263 leds_pins: leds_pins { 264 mux { 265 pins = "gpio33"; 266 drive-strength = <16>; 267 bias-disable; 268 }; 269 }; 270 271 mdio0_pins: mdio0_pins { 272 mux { 273 pins = "gpio0", "gpio1"; 274 function = "gpio"; 275 drive-strength = <8>; 276 bias-disable; 277 }; 278 }; 279 280 mdio1_pins: mdio1_pins { 281 mux { 282 pins = "gpio10", "gpio11"; 283 function = "gpio"; 284 drive-strength = <8>; 285 bias-disable; 286 }; 287 }; 288 289 sw0_reset_pin: sw0_reset_pin { 290 mux { 291 pins = "gpio16"; 292 drive-strength = <16>; 293 function = "gpio"; 294 bias-disable; 295 input-disable; 296 }; 297 }; 298 299 sw1_reset_pin: sw1_reset_pin { 300 mux { 301 pins = "gpio17"; 302 drive-strength = <16>; 303 function = "gpio"; 304 bias-disable; 305 input-disable; 306 }; 307 }; 308}; 309