|
|
@@ -0,0 +1,344 @@
|
|
|
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
|
|
|
+
|
|
|
+#include "ar9344.dtsi"
|
|
|
+
|
|
|
+#include <dt-bindings/gpio/gpio.h>
|
|
|
+#include <dt-bindings/input/input.h>
|
|
|
+#include <dt-bindings/leds/common.h>
|
|
|
+
|
|
|
+/ {
|
|
|
+ model = "MikroTik RouterBOARD 2011UiAS-2HnD";
|
|
|
+ compatible = "mikrotik,routerboard-2011uias-2hnd", "qca,ar9344";
|
|
|
+
|
|
|
+ aliases {
|
|
|
+ led-boot = &led_user;
|
|
|
+ led-failsafe = &led_user;
|
|
|
+ led-running = &led_user;
|
|
|
+ led-upgrade = &led_user;
|
|
|
+ };
|
|
|
+
|
|
|
+ keys {
|
|
|
+ compatible = "gpio-keys";
|
|
|
+
|
|
|
+ reset {
|
|
|
+ label = "reset";
|
|
|
+ linux,code = <KEY_RESTART>;
|
|
|
+ gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
|
|
|
+ debounce-interval = <60>;
|
|
|
+ };
|
|
|
+
|
|
|
+ poe-in {
|
|
|
+ label = "poe-in";
|
|
|
+ linux,input-type = <EV_SW>;
|
|
|
+ linux,code = <BTN_1>;
|
|
|
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
|
|
|
+ debounce-interval = <60>;
|
|
|
+ };
|
|
|
+ };
|
|
|
+
|
|
|
+ beeper {
|
|
|
+ compatible = "gpio-beeper";
|
|
|
+ gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
|
|
|
+ };
|
|
|
+
|
|
|
+ sfp_i2c: i2c-gpio {
|
|
|
+ compatible = "i2c-gpio";
|
|
|
+ #address-cells = <1>;
|
|
|
+ #size-cells = <0>;
|
|
|
+
|
|
|
+ pictrl-names = "default";
|
|
|
+ pinctrl-0 = <&pmx_sfp_i2c>;
|
|
|
+
|
|
|
+ sda-gpios = <&gpio 11 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
|
+ scl-gpios = <&gpio 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
|
+ i2c-gpio,delay-us = <2>;
|
|
|
+ };
|
|
|
+
|
|
|
+ sfp {
|
|
|
+ /*
|
|
|
+ * SFP port attached throug AR8327 port 6 isn't functional for now
|
|
|
+ * The module detects sucessfully, but lacks some GPIO definitions,
|
|
|
+ * and proper SGMII configuration isn't known yet.
|
|
|
+ */
|
|
|
+ compatible = "sff,sfp";
|
|
|
+ i2c-bus = <&sfp_i2c>;
|
|
|
+ los-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
|
|
|
+ maximum-power-milliwatt = <1000>;
|
|
|
+ };
|
|
|
+
|
|
|
+ leds {
|
|
|
+ compatible = "gpio-leds";
|
|
|
+
|
|
|
+ led-0 {
|
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
|
+ function = LED_FUNCTION_WLAN_2GHZ;
|
|
|
+ gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
|
|
|
+ linux,default-trigger = "phy0tpt";
|
|
|
+ };
|
|
|
+ };
|
|
|
+};
|
|
|
+
|
|
|
+&ref {
|
|
|
+ clock-frequency = <25000000>;
|
|
|
+};
|
|
|
+
|
|
|
+&gpio {
|
|
|
+ nand-nce {
|
|
|
+ gpio-hog;
|
|
|
+ gpios = <14 GPIO_ACTIVE_LOW>;
|
|
|
+ output-high;
|
|
|
+ line-name = "nand-nce";
|
|
|
+ };
|
|
|
+};
|
|
|
+
|
|
|
+&nand {
|
|
|
+ status = "okay";
|
|
|
+
|
|
|
+ nand-ecc-mode = "soft";
|
|
|
+ nand-ecc-step-size = <2048>;
|
|
|
+ qca,nand-swap-dma;
|
|
|
+ qca,nand-scan-fixup;
|
|
|
+
|
|
|
+ partitions {
|
|
|
+ compatible = "fixed-partitions";
|
|
|
+ #address-cells = <1>;
|
|
|
+ #size-cells = <1>;
|
|
|
+
|
|
|
+ partition@0 {
|
|
|
+ label = "booter";
|
|
|
+ reg = <0x0000000 0x0040000>;
|
|
|
+ read-only;
|
|
|
+ };
|
|
|
+
|
|
|
+ partition@40000 {
|
|
|
+ label = "kernel";
|
|
|
+ reg = <0x0040000 0x03c0000>;
|
|
|
+ };
|
|
|
+
|
|
|
+ partition@400000 {
|
|
|
+ label = "ubi";
|
|
|
+ reg = <0x0400000 0x0>;
|
|
|
+ };
|
|
|
+ };
|
|
|
+};
|
|
|
+
|
|
|
+&pinmux {
|
|
|
+ pmx_sfp_i2c: pinmux_sfp_i2c {
|
|
|
+ pinctrl-single,bits = <0x8 0x00000000 0xff000000>; /* set GPIO11 back as GPIO */
|
|
|
+ };
|
|
|
+};
|
|
|
+
|
|
|
+&spi {
|
|
|
+ status = "okay";
|
|
|
+
|
|
|
+ flash@0 {
|
|
|
+ compatible = "jedec,spi-nor";
|
|
|
+ reg = <0>;
|
|
|
+ spi-max-frequency = <25000000>;
|
|
|
+
|
|
|
+ partitions {
|
|
|
+ compatible = "mikrotik,routerboot-partitions";
|
|
|
+ #address-cells = <1>;
|
|
|
+ #size-cells = <1>;
|
|
|
+
|
|
|
+ partition@0 {
|
|
|
+ label = "routerboot";
|
|
|
+ reg = <0x0 0x0>;
|
|
|
+ read-only;
|
|
|
+ };
|
|
|
+
|
|
|
+ hard_config {
|
|
|
+ read-only;
|
|
|
+
|
|
|
+ nvmem-layout {
|
|
|
+ compatible = "fixed-layout";
|
|
|
+ #address-cells = <1>;
|
|
|
+ #size-cells = <1>;
|
|
|
+
|
|
|
+ macaddr_hardconfig_10: macaddr@10 {
|
|
|
+ compatible = "mac-base";
|
|
|
+ reg = <0x10 0x6>;
|
|
|
+ #nvmem-cell-cells = <1>;
|
|
|
+ };
|
|
|
+ };
|
|
|
+ };
|
|
|
+
|
|
|
+ bios {
|
|
|
+ size = <0x1000>;
|
|
|
+ read-only;
|
|
|
+ };
|
|
|
+
|
|
|
+ soft_config {
|
|
|
+ };
|
|
|
+ };
|
|
|
+ };
|
|
|
+};
|
|
|
+
|
|
|
+&mdio0 {
|
|
|
+ status = "okay";
|
|
|
+ switch@1f {
|
|
|
+ compatible = "qca,ar8327";
|
|
|
+ reg = <0x1f>;
|
|
|
+
|
|
|
+ qca,ar8327-initvals = <
|
|
|
+ 0x04 0x07c00000 /* PORT0 PAD MODE CTRL: Mac0_rgmii_en | Mac0_rgmii_txclk_delay_en | Mac0_rgmii_rxclk_delay_en | Mac0_rgmii_txclk_delay_sel3 | Mac0_rgmii_rxclk_delay_sel0 */
|
|
|
+ 0x0c 0x00000080 /* PORT6 PAD MODE CTRL: Mac6_sgmii_en */
|
|
|
+ 0x10 0x81000000 /* PWS_REG: POWER_ON_STRAP | LED_OPEN_EN_CSR */
|
|
|
+ 0x50 0xc731c731 /* LED_CTRL0 */
|
|
|
+ 0x54 0x00000000 /* LED_CTRL1 */
|
|
|
+ 0x5c 0x0230c300 /* LED_CTRL3: 5C: enable SFP power */
|
|
|
+ 0x7c 0x0000007e /* PORT0_STATUS: DUPLEX_MODE_0 | RX_FLOW_EN_0 | TX_FLOW_EN_0 | RXMAC_EN_0 | TXMAC_EN_0 | SPEED_0 1000M */
|
|
|
+ 0x94 0x0000007e /* PORT6_STATUS: DUPLEX_MODE_0 | RX_FLOW_EN_0 | TX_FLOW_EN_0 | RXMAC_EN_0 | TXMAC_EN_0 | SPEED_0 1000M */
|
|
|
+ 0xe0 0xc701e7d0 /* SGMII_CTRL */
|
|
|
+ >;
|
|
|
+
|
|
|
+ leds {
|
|
|
+ led@0 {
|
|
|
+ reg = <0>;
|
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
|
+ function = "eth";
|
|
|
+ function-enumerator = <1>;
|
|
|
+ qca,led-mode = <0>;
|
|
|
+ };
|
|
|
+
|
|
|
+ led@1 {
|
|
|
+ reg = <1>;
|
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
|
+ function = "eth";
|
|
|
+ function-enumerator = <6>;
|
|
|
+ qca,led-mode = <1>;
|
|
|
+ };
|
|
|
+
|
|
|
+ lcd_backlight: led@2 {
|
|
|
+ reg = <2>;
|
|
|
+ color = <LED_COLOR_ID_WHITE>;
|
|
|
+ function = LED_FUNCTION_BACKLIGHT;
|
|
|
+ linux,default-trigger = "backlight";
|
|
|
+ active-low;
|
|
|
+ qca,led-mode = <1>;
|
|
|
+ };
|
|
|
+
|
|
|
+ led@3 {
|
|
|
+ reg = <3>;
|
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
|
+ function = "eth";
|
|
|
+ function-enumerator = <2>;
|
|
|
+ qca,led-mode = <0>;
|
|
|
+ };
|
|
|
+
|
|
|
+ led@4 {
|
|
|
+ reg = <4>;
|
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
|
+ function = "eth";
|
|
|
+ function-enumerator = <7>;
|
|
|
+ qca,led-mode = <1>;
|
|
|
+ };
|
|
|
+
|
|
|
+ led@6 {
|
|
|
+ reg = <6>;
|
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
|
+ function = "eth";
|
|
|
+ function-enumerator = <3>;
|
|
|
+ qca,led-mode = <0>;
|
|
|
+ };
|
|
|
+
|
|
|
+ led@7 {
|
|
|
+ reg = <7>;
|
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
|
+ function = "eth";
|
|
|
+ function-enumerator = <8>;
|
|
|
+ qca,led-mode = <1>;
|
|
|
+ };
|
|
|
+
|
|
|
+ led@9 {
|
|
|
+ reg = <9>;
|
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
|
+ function = "eth";
|
|
|
+ function-enumerator = <4>;
|
|
|
+ qca,led-mode = <0>;
|
|
|
+ };
|
|
|
+
|
|
|
+ led@10 {
|
|
|
+ reg = <10>;
|
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
|
+ function = "eth";
|
|
|
+ function-enumerator = <9>;
|
|
|
+ qca,led-mode = <1>;
|
|
|
+ };
|
|
|
+
|
|
|
+ led@12 {
|
|
|
+ reg = <12>;
|
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
|
+ function = "eth";
|
|
|
+ function-enumerator = <5>;
|
|
|
+ qca,led-mode = <0>;
|
|
|
+ };
|
|
|
+
|
|
|
+ led@13 {
|
|
|
+ reg = <13>;
|
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
|
+ function = "eth";
|
|
|
+ function-enumerator = <10>;
|
|
|
+ qca,led-mode = <1>;
|
|
|
+ };
|
|
|
+
|
|
|
+ led_user: led@14 {
|
|
|
+ reg = <14>;
|
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
|
+ function = "user";
|
|
|
+ qca,led-mode = <1>;
|
|
|
+ };
|
|
|
+ };
|
|
|
+ };
|
|
|
+};
|
|
|
+
|
|
|
+ð0 {
|
|
|
+ status = "okay";
|
|
|
+
|
|
|
+ /* default for ar934x, except for 1000M */
|
|
|
+ pll-data = <0x6f000000 0x00000101 0x00001616>;
|
|
|
+
|
|
|
+ phy-mode = "rgmii";
|
|
|
+
|
|
|
+ nvmem-cells = <&macaddr_hardconfig_10 0>;
|
|
|
+ nvmem-cell-names = "mac-address";
|
|
|
+
|
|
|
+ fixed-link {
|
|
|
+ speed = <1000>;
|
|
|
+ full-duplex;
|
|
|
+ };
|
|
|
+
|
|
|
+ gmac-config {
|
|
|
+ device = <&gmac>;
|
|
|
+ rgmii-gmac0 = <1>;
|
|
|
+ switch-phy-swap = <0>;
|
|
|
+ switch-only-mode = <1>;
|
|
|
+ rxd-delay = <1>;
|
|
|
+ rxdv-delay = <1>;
|
|
|
+ };
|
|
|
+};
|
|
|
+
|
|
|
+&builtin_switch {
|
|
|
+ /delete-property/ qca,phy4-mii-enable;
|
|
|
+};
|
|
|
+
|
|
|
+ð1 {
|
|
|
+ status = "okay";
|
|
|
+
|
|
|
+ nvmem-cells = <&macaddr_hardconfig_10 5>;
|
|
|
+ nvmem-cell-names = "mac-address";
|
|
|
+};
|
|
|
+
|
|
|
+&usb {
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
+&usb_phy {
|
|
|
+ status = "okay";
|
|
|
+};
|
|
|
+
|
|
|
+&wmac {
|
|
|
+ status = "okay";
|
|
|
+
|
|
|
+ qca,no-eeprom;
|
|
|
+};
|