mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 05:38:00 +00:00
ath79: support for MikroTik RouterBOARD 911G-(2,5)HPnD
This is a stripped-down version of RB912UAG-(2,5)HPnD, without USB, miniPCIe and SIM sockets. This board has been supported in the ar71xx. Add support based on RB912UAG board, by splitting out the common part to .dtsi, and creating separate device tree for the stripped-down version. Links: * https://mikrotik.com/product/RB911G-2HPnD * https://mikrotik.com/product/RB911G-5HPnD * https://openwrt.org/toh/hwdata/mikrotik/mikrotik_rb911g-5hpnd Hardware: * SoC: Atheros AR9342, * RAM: DDR 64MB, * SPI NOR: 64KB, * NAND: 128MB, * Ethernet: x1 10/100/1000 port with passive POE in, * Wi-Fi: 802.11 a/b/g/n (depending on band variant) * LEDs: 5 general purpose LEDs (led1..led5), power LED, user LED, Ethernet phy LED, * Button, * Beeper. Flashing: * Use the RouterBOARD Reset button to enable TFTP netboot, boot kernel and initramfs and then perform sysupgrade. * From ar71xx OpenWrt firmware run: $ sysupgrade -F /tmp/<sysupgrade.bin> For more info see: https://openwrt.org/toh/mikrotik/common. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
This commit is contained in:
parent
d13d513b9f
commit
bcc44b1212
@ -0,0 +1,11 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "ar9342_mikrotik_routerboard-911g.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
compatible = "mikrotik,routerboard-911g-xhpnd", "qca,ar9342";
|
||||
model = "MikroTik RouterBOARD 911G-(2,5)HPnD";
|
||||
};
|
224
target/linux/ath79/dts/ar9342_mikrotik_routerboard-911g.dtsi
Normal file
224
target/linux/ath79/dts/ar9342_mikrotik_routerboard-911g.dtsi
Normal file
@ -0,0 +1,224 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "ar9344.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
led-boot = &led_power;
|
||||
led-failsafe = &led_power;
|
||||
led-running = &led_power;
|
||||
led-upgrade = &led_power;
|
||||
};
|
||||
|
||||
gpio_key: gpio_key {
|
||||
compatible = "mikrotik,gpio-rb91x-key";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
gpio_latch: gpio_latch {
|
||||
compatible = "gpio-latch";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio 1 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio 2 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio 3 GPIO_ACTIVE_HIGH>,
|
||||
<0>, /* Not connected */
|
||||
<&gpio 13 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio 14 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio_key 0 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio 11 GPIO_ACTIVE_LOW>; /* Latch Enable */
|
||||
};
|
||||
|
||||
nand_gpio {
|
||||
compatible = "mikrotik,rb91x-nand";
|
||||
|
||||
gpios = <&gpio_latch 3 GPIO_ACTIVE_HIGH>, /* Read */
|
||||
<&gpio 4 GPIO_ACTIVE_HIGH>, /* Ready (RDY) */
|
||||
<&gpio_latch 5 GPIO_ACTIVE_LOW>, /* Chip Enable (nCE) */
|
||||
<&gpio_latch 6 GPIO_ACTIVE_HIGH>, /* Command Latch Enable (CLE) */
|
||||
<&gpio_latch 7 GPIO_ACTIVE_HIGH>, /* Address Latch Enable (ALE) */
|
||||
<&gpio 12 GPIO_ACTIVE_LOW>, /* Read/Write Enable (nRW) */
|
||||
<&gpio_latch 8 GPIO_ACTIVE_LOW>, /* Latch Enable (nLE) */
|
||||
<&gpio_key 2 GPIO_ACTIVE_HIGH>; /* Key poll disable */
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "booter";
|
||||
reg = <0x0 0x0040000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@40000 {
|
||||
label = "kernel";
|
||||
reg = <0x0040000 0x03c0000>;
|
||||
};
|
||||
|
||||
partition@400000 {
|
||||
label = "ubi";
|
||||
reg = <0x0400000 0x7c00000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <20>;
|
||||
|
||||
button-reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&gpio_key 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_power: power {
|
||||
label = "green:power";
|
||||
gpios = <&gpio_latch 1 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
user {
|
||||
label = "green:user";
|
||||
gpios = <&gpio_latch 2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led1 {
|
||||
label = "green:led1";
|
||||
gpios = <&ssr 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led2 {
|
||||
label = "green:led2";
|
||||
gpios = <&ssr 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led3 {
|
||||
label = "green:led3";
|
||||
gpios = <&ssr 2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led4 {
|
||||
label = "green:led4";
|
||||
gpios = <&ssr 3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led5 {
|
||||
label = "green:led5";
|
||||
gpios = <&ssr 4 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-export {
|
||||
compatible = "gpio-export";
|
||||
|
||||
beeper {
|
||||
gpio-export,name = "beeper";
|
||||
gpio-export,output = <1>; /* Must be 1 to avoid EMI induced clicking noise */
|
||||
gpios = <&ssr 5 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
usb_power {
|
||||
gpio-export,name = "power-usb";
|
||||
gpio-export,output = <1>;
|
||||
gpios = <&ssr 6 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
pcie_power {
|
||||
gpio-export,name = "power-pcie";
|
||||
gpio-export,output = <0>;
|
||||
gpios = <&ssr 7 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ref {
|
||||
clock-frequency = <40000000>;
|
||||
};
|
||||
|
||||
&spi {
|
||||
status = "okay";
|
||||
|
||||
compatible = "qca,ar7100-spi";
|
||||
|
||||
cs-gpios = <0>, <&gpio_latch 0 GPIO_ACTIVE_LOW>;
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "mikrotik,routerboot-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "routerboot";
|
||||
reg = <0x0 0x0>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
hard_config {
|
||||
read-only;
|
||||
};
|
||||
|
||||
bios {
|
||||
size = <0x1000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
soft_config {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ssr: ssr@1 {
|
||||
compatible = "fairchild,74hc595";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
registers-number = <1>;
|
||||
reg = <1>;
|
||||
spi-max-frequency = <50000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <&phy0>;
|
||||
pll-data = <0x02000000 0x00000101 0x00001313>;
|
||||
|
||||
gmac-config {
|
||||
device = <&gmac>;
|
||||
rgmii-gmac0 = <1>;
|
||||
rxd-delay = <1>;
|
||||
txd-delay = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&wmac {
|
||||
status = "okay";
|
||||
qca,no-eeprom;
|
||||
};
|
@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "ar9344.dtsi"
|
||||
#include "ar9342_mikrotik_routerboard-911g.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
@ -8,222 +8,6 @@
|
||||
/ {
|
||||
compatible = "mikrotik,routerboard-912uag-2hpnd", "qca,ar9342";
|
||||
model = "MikroTik RouterBOARD 912UAG-(2,5)HPnD";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_power;
|
||||
led-failsafe = &led_power;
|
||||
led-running = &led_power;
|
||||
led-upgrade = &led_power;
|
||||
};
|
||||
|
||||
gpio_key: gpio_key {
|
||||
compatible = "mikrotik,gpio-rb91x-key";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
gpio_latch: gpio_latch {
|
||||
compatible = "gpio-latch";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio 1 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio 2 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio 3 GPIO_ACTIVE_HIGH>,
|
||||
<0>, /* Not connected */
|
||||
<&gpio 13 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio 14 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio_key 0 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio 11 GPIO_ACTIVE_LOW>; /* Latch Enable */
|
||||
};
|
||||
|
||||
nand_gpio {
|
||||
compatible = "mikrotik,rb91x-nand";
|
||||
|
||||
gpios = <&gpio_latch 3 GPIO_ACTIVE_HIGH>, /* Read */
|
||||
<&gpio 4 GPIO_ACTIVE_HIGH>, /* Ready (RDY) */
|
||||
<&gpio_latch 5 GPIO_ACTIVE_LOW>, /* Chip Enable (nCE) */
|
||||
<&gpio_latch 6 GPIO_ACTIVE_HIGH>, /* Command Latch Enable (CLE) */
|
||||
<&gpio_latch 7 GPIO_ACTIVE_HIGH>, /* Address Latch Enable (ALE) */
|
||||
<&gpio 12 GPIO_ACTIVE_LOW>, /* Read/Write Enable (nRW) */
|
||||
<&gpio_latch 8 GPIO_ACTIVE_LOW>, /* Latch Enable (nLE) */
|
||||
<&gpio_key 2 GPIO_ACTIVE_HIGH>; /* Key poll disable */
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "booter";
|
||||
reg = <0x0 0x0040000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
partition@40000 {
|
||||
label = "kernel";
|
||||
reg = <0x0040000 0x03c0000>;
|
||||
};
|
||||
|
||||
partition@400000 {
|
||||
label = "ubi";
|
||||
reg = <0x0400000 0x7c00000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <20>;
|
||||
|
||||
button-reset {
|
||||
label = "reset";
|
||||
linux,code = <KEY_RESTART>;
|
||||
gpios = <&gpio_key 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_power: power {
|
||||
label = "green:power";
|
||||
gpios = <&gpio_latch 1 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
user {
|
||||
label = "green:user";
|
||||
gpios = <&gpio_latch 2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led1 {
|
||||
label = "green:led1";
|
||||
gpios = <&ssr 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led2 {
|
||||
label = "green:led2";
|
||||
gpios = <&ssr 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led3 {
|
||||
label = "green:led3";
|
||||
gpios = <&ssr 2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led4 {
|
||||
label = "green:led4";
|
||||
gpios = <&ssr 3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
led5 {
|
||||
label = "green:led5";
|
||||
gpios = <&ssr 4 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-export {
|
||||
compatible = "gpio-export";
|
||||
|
||||
beeper {
|
||||
gpio-export,name = "beeper";
|
||||
gpio-export,output = <1>; /* Must be 1 to avoid EMI induced clicking noise */
|
||||
gpios = <&ssr 5 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
usb_power {
|
||||
gpio-export,name = "power-usb";
|
||||
gpio-export,output = <1>;
|
||||
gpios = <&ssr 6 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
pcie_power {
|
||||
gpio-export,name = "power-pcie";
|
||||
gpio-export,output = <0>;
|
||||
gpios = <&ssr 7 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ref {
|
||||
clock-frequency = <40000000>;
|
||||
};
|
||||
|
||||
&spi {
|
||||
status = "okay";
|
||||
|
||||
compatible = "qca,ar7100-spi";
|
||||
|
||||
cs-gpios = <0>, <&gpio_latch 0 GPIO_ACTIVE_LOW>;
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "mikrotik,routerboot-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "routerboot";
|
||||
reg = <0x0 0x0>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
hard_config {
|
||||
read-only;
|
||||
};
|
||||
|
||||
bios {
|
||||
size = <0x1000>;
|
||||
read-only;
|
||||
};
|
||||
|
||||
soft_config {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ssr: ssr@1 {
|
||||
compatible = "fairchild,74hc595";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
registers-number = <1>;
|
||||
reg = <1>;
|
||||
spi-max-frequency = <50000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <&phy0>;
|
||||
pll-data = <0x02000000 0x00000101 0x00001313>;
|
||||
|
||||
gmac-config {
|
||||
device = <&gmac>;
|
||||
rgmii-gmac0 = <1>;
|
||||
rxd-delay = <1>;
|
||||
txd-delay = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&wmac {
|
||||
status = "okay";
|
||||
qca,no-eeprom;
|
||||
};
|
||||
|
||||
&pcie {
|
||||
|
@ -28,6 +28,16 @@ define Device/mikrotik_routerboard-911-lite
|
||||
endef
|
||||
TARGET_DEVICES += mikrotik_routerboard-911-lite
|
||||
|
||||
define Device/mikrotik_routerboard-911g-xhpnd
|
||||
$(Device/mikrotik_nand)
|
||||
SOC := ar9342
|
||||
DEVICE_MODEL := RouterBOARD 911G-2HPnD
|
||||
DEVICE_ALT0_VENDOR := Mikrotik
|
||||
DEVICE_ALT0_MODEL := RouterBOARD 911G-5HPnD
|
||||
SUPPORTED_DEVICES += rb-912uag-2hpnd
|
||||
endef
|
||||
TARGET_DEVICES += mikrotik_routerboard-911g-xhpnd
|
||||
|
||||
define Device/mikrotik_routerboard-912uag-2hpnd
|
||||
$(Device/mikrotik_nand)
|
||||
SOC := ar9342
|
||||
|
@ -20,6 +20,7 @@ ath79_setup_interfaces()
|
||||
"0@eth0" "1:lan:4" "2:lan:1" "3:lan:3" "4:lan:2"
|
||||
;;
|
||||
mikrotik,routerboard-911-lite|\
|
||||
mikrotik,routerboard-911g-xhpnd|\
|
||||
mikrotik,routerboard-912uag-2hpnd|\
|
||||
mikrotik,routerboard-lhg-2nd|\
|
||||
mikrotik,routerboard-lhg-5nd|\
|
||||
@ -61,6 +62,7 @@ ath79_setup_macs()
|
||||
|
||||
case "$board" in
|
||||
mikrotik,routerboard-911-lite|\
|
||||
mikrotik,routerboard-911g-xhpnd|\
|
||||
mikrotik,routerboard-912uag-2hpnd|\
|
||||
mikrotik,routerboard-lhg-2nd|\
|
||||
mikrotik,routerboard-lhg-5nd|\
|
||||
|
@ -24,6 +24,7 @@ case "$FIRMWARE" in
|
||||
"ath9k-eeprom-ahb-18100000.wmac.bin")
|
||||
case $board in
|
||||
mikrotik,routerboard-911-lite|\
|
||||
mikrotik,routerboard-911g-xhpnd|\
|
||||
mikrotik,routerboard-912uag-2hpnd|\
|
||||
mikrotik,routerboard-lhg-2nd|\
|
||||
mikrotik,routerboard-lhg-5nd|\
|
||||
|
@ -30,6 +30,7 @@ platform_do_upgrade() {
|
||||
|
||||
case "$board" in
|
||||
mikrotik,routerboard-493g|\
|
||||
mikrotik,routerboard-911g-xhpnd|\
|
||||
mikrotik,routerboard-912uag-2hpnd|\
|
||||
mikrotik,routerboard-921gs-5hpacd-15s|\
|
||||
mikrotik,routerboard-922uags-5hpacd|\
|
||||
|
Loading…
Reference in New Issue
Block a user