123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359 |
- // SPDX-License-Identifier: GPL-2.0
- #include "qcom-ipq8064.dtsi"
- #include <dt-bindings/input/input.h>
- #include <dt-bindings/leds/common.h>
- / {
- 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@42000000 {
- 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 = <GSBI_PROT_SPI>;
- 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: flash@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 {
- label = "reset";
- linux,code = <KEY_RESTART>;
- 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";
- color = <LED_COLOR_ID_GREEN>;
- gpios = <&qcom_pinmux 33 GPIO_ACTIVE_HIGH>;
- default-state = "off";
- };
- };
- };
- };
- &adm_dma {
- status = "okay";
- };
- &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 = <GSBI_PROT_I2C_UART>;
- };
- &gsbi7_serial {
- status = "okay";
- };
- &hs_phy_1 {
- status = "okay";
- };
- &nand {
- status = "okay";
- nandcs@0 {
- compatible = "qcom,nandcs";
- reg = <0>;
- nand-ecc-strength = <4>;
- nand-bus-width = <8>;
- nand-ecc-step-size = <512>;
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
- boot@0 {
- label = "RouterBoard NAND 1 Boot";
- reg = <0x0000000 0x0800000>;
- };
- main@800000 {
- label = "RouterBoard NAND 1 Main";
- reg = <0x0800000 0x7800000>;
- };
- };
- };
- };
- &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;
- };
- };
- 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;
- };
- };
- usb1_pwr_en_pins: usb1_pwr_en_pins {
- mux {
- pins = "gpio4";
- function = "gpio";
- drive-strength = <16>;
- bias-disable;
- output-high;
- };
- };
- };
- &ss_phy_1 {
- status = "okay";
- };
- &usb3_1 {
- pinctrl-0 = <&usb1_pwr_en_pins>;
- pinctrl-names = "default";
- status = "okay";
- };
|