Forráskód Böngészése

ath79: generic: rework ar9342_ubnt_xw dtsi, and add support for Ubiquiti LiteBeam M5 (XW), Ubiquiti AirGrid M5 HP (XW), Ubiquiti PowerBeam M5 300 (XW)

Add support for Ubiquiti LiteBeam M5 (XW).
The device was previously supported in ar71xx.
See commit: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=d0988235dd277b9a832bbc4b2a100ac6e821f577

Add ALTX_MODEL for Ubiquiti AirGrid M5 HP (XW), Ubiquiti PowerBeam M5 300 (XW) in generic-ubnt.mk
This models are identical (firmware-wise) to the already supported Ubiquiti Nanostation Loco M (XW)

Add also Ubiquiti NanoBeam M5 to ALTX_MODEL of Ubiquiti Nanostation Loco M (XW) since it's another clone.

Tested on:
- Ubiquiti LiteBeam M5 (XW)
- Ubiquiti PowerBeam M5 (XW)

This also modify target/ath79/dts/ar9342_ubnt_xw.dtsi to use nvmem for calibration data
Checked that the caldata size in the eeprom partition are actually 0x440 on:
- Ubiquiti PowerBeam M5 (XW)
- Ubiquiti Nanostation M5 (XW)
- Ubiquiti LiteBeam M5 (XW)
- Ubiquiti AirGrid M5 HP (XW)

Signed-off-by: Samuele Longhi <[email protected]>
Samuele Longhi 1 éve
szülő
commit
7b5aeef6db

+ 1 - 1
target/linux/ath79/dts/ar9342_ubnt_bullet-m-xw.dts

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "ar9342_ubnt_xw.dtsi"
+#include "ar9342_ubnt_xw_rssileds.dtsi"
 
 / {
 	compatible = "ubnt,bullet-m-xw", "ubnt,xw", "qca,ar9342";

+ 59 - 0
target/linux/ath79/dts/ar9342_ubnt_litebeam-m5-xw.dts

@@ -0,0 +1,59 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "ar9342_ubnt_xw.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/leds/common.h>
+
+/ {
+	compatible = "ubnt,litebeam-m5-xw", "qca,ar9342";
+	model = "Ubiquiti LiteBeam M5 (XW)";
+
+	aliases {
+		led-boot = &led_status;
+		led-running = &led_status;
+		led-upgrade = &led_status;
+		led-failsafe = &led_status;
+		label-mac-device = &wmac;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led-lan {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_LAN;
+			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+		};
+
+		led-wlan {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_WLAN;
+			linux,default-trigger = "phy0tpt";
+			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+		};
+
+		led_status: led-power {
+			color = <LED_COLOR_ID_GREEN>;
+			function = LED_FUNCTION_POWER;
+			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+		};
+	};
+};
+
+&mdio0 {
+	status = "okay";
+
+	phy1: ethernet-phy@1 {
+		reg = <1>;
+		phy-mode = "mii";
+		reset-gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
+	};
+};
+
+&eth0 {
+	status = "okay";
+
+	phy-handle = <&phy1>;
+};

+ 0 - 24
target/linux/ath79/dts/ar9342_ubnt_nanobeam-m5-xw.dts

@@ -1,24 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
-
-#include "ar9342_ubnt_xw.dtsi"
-
-/ {
-	compatible = "ubnt,nanobeam-m5-xw", "ubnt,xw", "qca,ar9342";
-	model = "Ubiquiti NanoBeam M5 (XW)";
-};
-
-&mdio0 {
-	status = "okay";
-
-	phy1: ethernet-phy@1 {
-		reg = <1>;
-		phy-mode = "mii";
-		reset-gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
-	};
-};
-
-&eth0 {
-	status = "okay";
-
-	phy-handle = <&phy1>;
-};

+ 1 - 1
target/linux/ath79/dts/ar9342_ubnt_nanostation-loco-m-xw.dts

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "ar9342_ubnt_xw.dtsi"
+#include "ar9342_ubnt_xw_rssileds.dtsi"
 
 / {
 	compatible = "ubnt,nanostation-loco-m-xw", "ubnt,xw", "qca,ar9342";

+ 1 - 1
target/linux/ath79/dts/ar9342_ubnt_nanostation-m-xw.dts

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "ar9342_ubnt_xw.dtsi"
+#include "ar9342_ubnt_xw_rssileds.dtsi"
 
 / {
 	compatible = "ubnt,nanostation-m-xw", "ubnt,xw", "qca,ar9342";

+ 1 - 1
target/linux/ath79/dts/ar9342_ubnt_powerbeam-m2-xw.dts

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "ar9342_ubnt_xw.dtsi"
+#include "ar9342_ubnt_xw_rssileds.dtsi"
 
 / {
 	compatible = "ubnt,powerbeam-m2-xw", "ubnt,xw", "qca,ar9342";

+ 1 - 1
target/linux/ath79/dts/ar9342_ubnt_powerbeam-m5-xw.dts

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
 
-#include "ar9342_ubnt_xw.dtsi"
+#include "ar9342_ubnt_xw_rssileds.dtsi"
 
 / {
 	compatible = "ubnt,powerbeam-m5-xw", "ubnt,xw", "qca,ar9342";

+ 6 - 33
target/linux/ath79/dts/ar9342_ubnt_xw.dtsi

@@ -9,38 +9,6 @@
 	compatible = "ubnt,xw", "qca,ar9342";
 	model = "Ubiquiti Networks XW board";
 
-	aliases {
-		led-boot = &led_link4;
-		led-running = &led_link4;
-		led-upgrade = &led_link4;
-		led-failsafe = &led_link4;
-		label-mac-device = &wmac;
-	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		link1 {
-			label = "red:link1";
-			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
-		};
-
-		link2 {
-			label = "orange:link2";
-			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
-		};
-
-		link3 {
-			label = "green:link3";
-			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
-		};
-
-		led_link4: link4 {
-			label = "green:link4";
-			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
-		};
-	};
-
 	keys {
 		compatible = "gpio-keys";
 
@@ -107,6 +75,10 @@
 					macaddr_art_0: macaddr@0 {
 						reg = <0x0 0x6>;
 					};
+
+					calibration_art_1000: calibration@1000 {
+						reg = <0x1000 0x440>;
+					};
 				};
 			};
 		};
@@ -116,7 +88,8 @@
 &wmac {
 	status = "okay";
 
-	mtd-cal-data = <&art 0x1000>;
+	nvmem-cells = <&calibration_art_1000>;
+	nvmem-cell-names = "calibration";
 };
 
 &eth0 {

+ 43 - 0
target/linux/ath79/dts/ar9342_ubnt_xw_rssileds.dtsi

@@ -0,0 +1,43 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "ar9342_ubnt_xw.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	compatible = "ubnt,xw", "qca,ar9342";
+	model = "Ubiquiti Networks XW board";
+
+	aliases {
+		led-boot = &led_link4;
+		led-running = &led_link4;
+		led-upgrade = &led_link4;
+		led-failsafe = &led_link4;
+		label-mac-device = &wmac;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		link1 {
+			label = "red:link1";
+			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+		};
+
+		link2 {
+			label = "orange:link2";
+			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+		};
+
+		link3 {
+			label = "green:link3";
+			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+		};
+
+		led_link4: link4 {
+			label = "green:link4";
+			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+		};
+	};
+};

+ 2 - 1
target/linux/ath79/generic/base-files/etc/board.d/01_leds

@@ -27,7 +27,8 @@ pcs,cap324|\
 tplink,cpe605-v1|\
 tplink,cpe610-v1|\
 tplink,cpe610-v2|\
-tplink,tl-wa1201-v2)
+tplink,tl-wa1201-v2|\
+ubnt,litebeam-m5-xw)
 	ucidef_set_led_netdev "lan" "LAN" "green:lan" "eth0"
 	;;
 tplink,tl-wdr6500-v2)

+ 1 - 0
target/linux/ath79/generic/base-files/etc/board.d/02_network

@@ -105,6 +105,7 @@ ath79_setup_interfaces()
 	ubnt,bullet-m-xw|\
 	ubnt,lap-120|\
 	ubnt,litebeam-ac-gen2|\
+	ubnt,litebeam-m5-xw|\
 	ubnt,nanobeam-ac|\
 	ubnt,nanobeam-ac-xc|\
 	ubnt,nanostation-ac-loco|\

+ 19 - 10
target/linux/ath79/image/generic-ubnt.mk

@@ -62,6 +62,14 @@ define Device/ubnt_litebeam-ac-gen2
 endef
 TARGET_DEVICES += ubnt_litebeam-ac-gen2
 
+define Device/ubnt_litebeam-m5-xw
+  $(Device/ubnt-xw)
+  DEVICE_MODEL := LiteBeam M5
+  SUPPORTED_DEVICES += lbe-m5
+  DEVICE_PACKAGES := -kmod-usb2
+endef
+TARGET_DEVICES += ubnt_litebeam-m5-xw
+
 define Device/ubnt_nanobeam-ac
   $(Device/ubnt-wa)
   DEVICE_MODEL := NanoBeam AC
@@ -87,14 +95,6 @@ define Device/ubnt_nanobeam-ac-xc
 endef
 TARGET_DEVICES += ubnt_nanobeam-ac-xc
 
-define Device/ubnt_nanobeam-m5-xw
-  $(Device/ubnt-xw)
-  DEVICE_MODEL := NanoBeam M5
-  DEVICE_PACKAGES += rssileds
-  SUPPORTED_DEVICES += loco-m-xw
-endef
-TARGET_DEVICES += ubnt_nanobeam-m5-xw
-
 define Device/ubnt_nanostation-ac
   $(Device/ubnt-wa)
   DEVICE_MODEL := Nanostation AC
@@ -112,8 +112,17 @@ TARGET_DEVICES += ubnt_nanostation-ac-loco
 define Device/ubnt_nanostation-loco-m-xw
   $(Device/ubnt-xw)
   DEVICE_MODEL := Nanostation Loco M
-  DEVICE_PACKAGES += rssileds
-  SUPPORTED_DEVICES += loco-m-xw
+  DEVICE_PACKAGES += rssileds -kmod-usb2
+  DEVICE_ALT0_VENDOR := Ubiquiti
+  DEVICE_ALT0_MODEL := AirGrid M5 HP
+  DEVICE_ALT0_VARIANT := XW
+  DEVICE_ALT1_VENDOR := Ubiquiti
+  DEVICE_ALT1_MODEL := PowerBeam M5 300
+  DEVICE_ALT1_VARIANT := XW
+  DEVICE_ALT2_VENDOR := Ubiquiti
+  DEVICE_ALT2_MODEL := NanoBeam M5
+  DEVICE_ALT2_VARIANT := XW
+  SUPPORTED_DEVICES += loco-m-xw nanostation-m-xw ubnt,nanobeam-m5-xw
 endef
 TARGET_DEVICES += ubnt_nanostation-loco-m-xw