From 173d8642532125f7ba24ef6b6de34e6ca1a0935c Mon Sep 17 00:00:00 2001 From: Tomasz Maciej Nowak Date: Wed, 24 Aug 2022 18:05:57 +0200 Subject: [PATCH] ath79: mikrotik: stack ar9344 devices to single dtsi Most of boards from MikroTik with AR9344 SoC (supported and un-supported) replicate the same schematic, so stack common device nodes to a single dtsi. ar9344_mikrotik_routerboard-16m-nor.dtsi: - remove include paragraph and wmac node, make it single nor flash node for others dts to include ar9344_mikrotik_routerboard-lhg-5nd.dts: - move all of the nodes to new file ar9344_mikrotik_routerboard.dtsi and leave only power, user and lan LEDs which differ from sxt-5nd-r2 and other yet unsupported devices ar9344_mikrotik_routerboard-sxt-5n.dtsi: - remove, it made no sense to keep it, as only ar9344_mikrotik_routerboard-sxt-5nd-r2.dts included this file and added only compatible and model ar9344_mikrotik_routerboard-sxt-5nd-r2.dts: - include ar9344_mikrotik_routerboard.dtsi - add nand gpio activating node, beeper, additional LEDs and flash chips which previously have been in ar9344_mikrotik_routerboard-sxt-5n.dtsi ar9344_mikrotik_routerboard.dtsi: - inherited most of the content from ar9344_mikrotik_routerboard-lhg-5nd.dts except three LEDs - add wmac node, removed from ar9344_mikrotik_routerboard-16m-nor.dtsi Signed-off-by: Tomasz Maciej Nowak --- .../ar9344_mikrotik_routerboard-16m-nor.dtsi | 8 - .../ar9344_mikrotik_routerboard-lhg-5nd.dts | 90 ++------- .../ar9344_mikrotik_routerboard-sxt-5n.dtsi | 185 ------------------ ...ar9344_mikrotik_routerboard-sxt-5nd-r2.dts | 108 +++++++++- .../dts/ar9344_mikrotik_routerboard.dtsi | 78 ++++++++ 5 files changed, 198 insertions(+), 271 deletions(-) delete mode 100644 target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi create mode 100644 target/linux/ath79/dts/ar9344_mikrotik_routerboard.dtsi diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-16m-nor.dtsi b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-16m-nor.dtsi index 7cc4bb689cd..b915dd5a723 100644 --- a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-16m-nor.dtsi +++ b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-16m-nor.dtsi @@ -1,7 +1,5 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -#include "ar9344.dtsi" - &spi { status = "okay"; @@ -55,9 +53,3 @@ }; }; }; - -&wmac { - status = "okay"; - - qca,no-eeprom; -}; diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-lhg-5nd.dts b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-lhg-5nd.dts index 194a789fb21..b6de8c4b7b1 100644 --- a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-lhg-5nd.dts +++ b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-lhg-5nd.dts @@ -1,91 +1,27 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT +#include "ar9344_mikrotik_routerboard.dtsi" #include "ar9344_mikrotik_routerboard-16m-nor.dtsi" -#include -#include - / { compatible = "mikrotik,routerboard-lhg-5nd", "qca,ar9344"; model = "MikroTik RouterBOARD LHG 5nD"; +}; - aliases { - led-boot = &led_user; - led-failsafe = &led_user; - led-running = &led_user; - led-upgrade = &led_user; - }; - - leds { - compatible = "gpio-leds"; - - power { - label = "blue:power"; - gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; - default-state = "on"; - }; - - rssilow { - label = "green:rssilow"; - gpios = <&gpio 13 GPIO_ACTIVE_LOW>; - }; - - rssimediumlow { - label = "green:rssimediumlow"; - gpios = <&gpio 12 GPIO_ACTIVE_LOW>; - }; - - rssimedium { - label = "green:rssimedium"; - gpios = <&gpio 4 GPIO_ACTIVE_LOW>; - }; - - rssimediumhigh { - label = "green:rssimediumhigh"; - gpios = <&gpio 21 GPIO_ACTIVE_LOW>; - }; - - rssihigh { - label = "green:rssihigh"; - gpios = <&gpio 18 GPIO_ACTIVE_LOW>; - }; - - led_user: user { - label = "white:user"; - gpios = <&gpio 20 GPIO_ACTIVE_LOW>; - }; - - lan { - label = "green:lan"; - gpios = <&gpio 14 GPIO_ACTIVE_LOW>; - }; +&leds { + power { + label = "blue:power"; + gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; + default-state = "on"; }; - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - linux,code = ; - gpios = <&gpio 15 GPIO_ACTIVE_LOW>; - debounce-interval = <60>; - }; + led_user: user { + label = "white:user"; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; }; -}; - -ð0 { - status = "okay"; - phy-handle = <&swphy0>; - - gmac-config { - device = <&gmac>; - switch-phy-swap = <1>; + lan { + label = "green:lan"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; }; }; - -ð1 { - status = "okay"; - - compatible = "syscon", "simple-mfd"; -}; diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi deleted file mode 100644 index 6cf84c98b3a..00000000000 --- a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5n.dtsi +++ /dev/null @@ -1,185 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later OR MIT - -#include "ar9344.dtsi" - -#include -#include - -/ { - compatible = "mikrotik,routerboard-sxt-5n", "qca,ar9344"; - model = "MikroTik SXT 5N platform"; - - aliases { - led-boot = &led_user; - led-failsafe = &led_user; - led-running = &led_user; - led-upgrade = &led_user; - }; - - leds { - compatible = "gpio-leds"; - - power { - label = "green:power"; - gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; - default-state = "on"; - }; - - rssilow { - label = "green:rssilow"; - gpios = <&gpio 13 GPIO_ACTIVE_LOW>; - }; - - rssimediumlow { - label = "green:rssimediumlow"; - gpios = <&gpio 12 GPIO_ACTIVE_LOW>; - }; - - rssimedium { - label = "green:rssimedium"; - gpios = <&gpio 4 GPIO_ACTIVE_LOW>; - }; - - rssimediumhigh { - label = "green:rssimediumhigh"; - gpios = <&gpio 21 GPIO_ACTIVE_LOW>; - }; - - rssihigh { - label = "green:rssihigh"; - gpios = <&gpio 18 GPIO_ACTIVE_LOW>; - }; - - led_user: user { - label = "green:user"; - gpios = <&gpio 3 GPIO_ACTIVE_LOW>; - }; - }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - linux,code = ; - gpios = <&gpio 15 GPIO_ACTIVE_LOW>; - debounce-interval = <60>; - }; - }; - - gpio-export { - compatible = "gpio-export"; - - gpio_nand_power { - gpio-export,name = "sxt5n:power:nand"; - gpio-export,output = <0>; - gpios = <&gpio 14 GPIO_ACTIVE_LOW>; - }; - }; - - beeper { - compatible = "gpio-beeper"; - gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; - }; -}; - -&spi { - status = "okay"; - - flash@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <40000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "RouterBoot"; - reg = <0x0 0x20000>; - compatible = "mikrotik,routerboot-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "bootloader1"; - reg = <0x0 0x0>; - read-only; - }; - - hard_config { - read-only; - }; - - bios { - size = <0x1000>; - read-only; - }; - - soft_config { - }; - - partition@10000 { - label = "bootloader2"; - reg = <0x10000 0x10000>; - read-only; - }; - }; - }; - }; -}; - -&nand { - status = "okay"; - - nand-ecc-mode = "soft"; - 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 0x7c00000>; - }; - }; -}; - -ð0 { - status = "okay"; - - phy-handle = <&swphy0>; - - gmac-config { - device = <&gmac>; - switch-phy-swap = <1>; - }; -}; - -ð1 { - status = "okay"; - - compatible = "syscon", "simple-mfd"; -}; - -&wmac { - status = "okay"; - - qca,no-eeprom; -}; diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5nd-r2.dts b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5nd-r2.dts index 3d0b941c24c..c8b1183d70c 100644 --- a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5nd-r2.dts +++ b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-sxt-5nd-r2.dts @@ -1,8 +1,114 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT -#include "ar9344_mikrotik_routerboard-sxt-5n.dtsi" +#include "ar9344_mikrotik_routerboard.dtsi" / { compatible = "mikrotik,routerboard-sxt-5nd-r2", "qca,ar9344"; model = "MikroTik RouterBOARD SXT 5nD r2 (SXT Lite5)"; + + gpio-export { + compatible = "gpio-export"; + + gpio_nand_power { + gpio-export,name = "sxt5n:power:nand"; + gpio-export,output = <0>; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + }; + + beeper { + compatible = "gpio-beeper"; + gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; + }; +}; + +&leds { + power { + label = "green:power"; + gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; + default-state = "on"; + }; + + led_user: user { + label = "green:user"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; +}; + +&spi { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <40000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "RouterBoot"; + reg = <0x0 0x20000>; + compatible = "mikrotik,routerboot-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "bootloader1"; + reg = <0x0 0x0>; + read-only; + }; + + hard_config { + read-only; + }; + + bios { + size = <0x1000>; + read-only; + }; + + soft_config { + }; + + partition@10000 { + label = "bootloader2"; + reg = <0x10000 0x10000>; + read-only; + }; + }; + }; + }; +}; + +&nand { + status = "okay"; + + nand-ecc-mode = "soft"; + 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 0x7c00000>; + }; + }; }; diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard.dtsi b/target/linux/ath79/dts/ar9344_mikrotik_routerboard.dtsi new file mode 100644 index 00000000000..10233e3d4ee --- /dev/null +++ b/target/linux/ath79/dts/ar9344_mikrotik_routerboard.dtsi @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "ar9344.dtsi" + +#include +#include + +/ { + 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 = ; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + + leds: leds { + compatible = "gpio-leds"; + + rssilow { + label = "green:rssilow"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + }; + + rssimediumlow { + label = "green:rssimediumlow"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + + rssimedium { + label = "green:rssimedium"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + rssimediumhigh { + label = "green:rssimediumhigh"; + gpios = <&gpio 21 GPIO_ACTIVE_LOW>; + }; + + rssihigh { + label = "green:rssihigh"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + }; + }; +}; + +ð0 { + status = "okay"; + + phy-handle = <&swphy0>; + + gmac-config { + device = <&gmac>; + switch-phy-swap = <1>; + }; +}; + +ð1 { + status = "okay"; + + compatible = "syscon", "simple-mfd"; +}; + +&wmac { + status = "okay"; + + qca,no-eeprom; +}; -- 2.30.2