Prechádzať zdrojové kódy

mediatek: add Ubiquiti UniFi 6 LR v2 targets

Add targets:
 * Ubiquiti UniFi 6 LR v2
 * Ubiquiti UniFi 6 LR v2 (U-Boot mod)

This target does not have a RGB led bar like v1 did

Used target/linux/ramips/dts/mt7621_ubnt_unifi.dtsi as inspiration

The white dome LED is default-on, blue will turn on when the system is
in running state

Signed-off-by: Henrik Riomar <[email protected]>
Henrik Riomar 3 rokov pred
rodič
commit
31d86a1a11

+ 84 - 0
target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2-ubootmod.dts

@@ -0,0 +1,84 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7622-ubnt-unifi-6-lr-v2.dtsi"
+
+/ {
+	model = "Ubiquiti UniFi 6 LR v2 (U-Boot mod)";
+	compatible = "ubnt,unifi-6-lr-ubootmod-v2", "mediatek,mt7622";
+};
+
+&nor_partitions {
+	partition@0 {
+		label = "bl2";
+		reg = <0x0 0x20000>;
+	};
+
+	partition@20000 {
+		label = "fip";
+		reg = <0x20000 0xa0000>;
+	};
+
+	partition@c0000 {
+		label = "u-boot-env";
+		reg = <0xc0000 0x10000>;
+	};
+
+	factory: partition@d0000 {
+		label = "factory";
+		reg = <0xd0000 0x40000>;
+		read-only;
+	};
+
+	eeprom: partition@110000 {
+		label = "eeprom";
+		reg = <0x110000 0x10000>;
+		read-only;
+	};
+
+	partition@120000 {
+		label = "recovery";
+		reg = <0x120000 0xee0000>;
+	};
+
+	partition@1000000 {
+		compatible = "denx,fit";
+		label = "firmware";
+		reg = <0x1000000 0x3000000>;
+	};
+};
+
+&wmac {
+	mediatek,mtd-eeprom = <&factory 0x0>;
+	nvmem-cells = <&macaddr_eeprom_0>;
+	nvmem-cell-names = "mac-address";
+	status = "okay";
+};
+
+&slot0 {
+	wifi@0,0 {
+		reg = <0x0 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x20000>;
+		nvmem-cells = <&macaddr_eeprom_6>;
+		nvmem-cell-names = "mac-address";
+		ieee80211-freq-limit = <5000000 6000000>;
+	};
+};
+
+&gmac0 {
+	nvmem-cells = <&macaddr_eeprom_0>;
+	nvmem-cell-names = "mac-address";
+};
+
+&eeprom {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_eeprom_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_eeprom_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 100 - 0
target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2.dts

@@ -0,0 +1,100 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7622-ubnt-unifi-6-lr-v2.dtsi"
+
+/ {
+	model = "Ubiquiti UniFi 6 LR v2";
+	compatible = "ubnt,unifi-6-lr-v2", "mediatek,mt7622";
+};
+
+&nor_partitions {
+	partition@0 {
+		label = "preloader";
+		reg = <0x0 0x40000>;
+	};
+
+	partition@40000 {
+		label = "atf";
+		reg = <0x40000 0x20000>;
+	};
+
+	partition@60000 {
+		label = "u-boot";
+		reg = <0x60000 0x60000>;
+	};
+
+	partition@c0000 {
+		label = "u-boot-env";
+		reg = <0xc0000 0x10000>;
+	};
+
+	factory: partition@d0000 {
+		label = "factory";
+		reg = <0xd0000 0x40000>;
+		read-only;
+	};
+
+	eeprom: partition@110000 {
+		label = "eeprom";
+		reg = <0x110000 0x10000>;
+		read-only;
+	};
+
+	partition@120000 {
+		label = "bs";
+		reg = <0x120000 0x10000>;
+	};
+
+	partition@130000 {
+		label = "cfg";
+		reg = <0x130000 0x100000>;
+		read-only;
+	};
+
+	partition@230000 {
+		compatible = "denx,fit";
+		label = "firmware";
+		reg = <0x230000 0x1ee0000>;
+	};
+
+	partition@2110000 {
+		label = "kernel1";
+		reg = <0x2110000 0x1ee0000>;
+	};
+};
+
+&wmac {
+	mediatek,mtd-eeprom = <&factory 0x0>;
+	nvmem-cells = <&macaddr_eeprom_0>;
+	nvmem-cell-names = "mac-address";
+	status = "okay";
+};
+
+&slot0 {
+	wifi@0,0 {
+		reg = <0x0 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x20000>;
+		nvmem-cells = <&macaddr_eeprom_6>;
+		nvmem-cell-names = "mac-address";
+		ieee80211-freq-limit = <5000000 6000000>;
+	};
+};
+
+&gmac0 {
+	nvmem-cells = <&macaddr_eeprom_0>;
+	nvmem-cell-names = "mac-address";
+};
+
+&eeprom {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_eeprom_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_eeprom_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 26 - 0
target/linux/mediatek/dts/mt7622-ubnt-unifi-6-lr-v2.dtsi

@@ -0,0 +1,26 @@
+#include "mt7622-ubnt-unifi-6-lr.dtsi"
+
+/ {
+	aliases {
+		led-boot = &led_white;
+		led-failsafe = &led_white;
+		led-running = &led_blue;
+		led-upgrade = &led_blue;
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+
+		led_white: dome_white {
+			label = "white:dome";
+			linux,default-trigger = "default-on";
+			gpios = <&pio 0x43 GPIO_ACTIVE_HIGH>;
+		};
+
+		led_blue: dome_blue {
+			label = "blue:dome";
+			default-state = "off";
+			gpios = <&pio 0x44 GPIO_ACTIVE_HIGH>;
+		};
+	};
+};

+ 29 - 0
target/linux/mediatek/image/mt7622.mk

@@ -273,6 +273,35 @@ define Device/ubnt_unifi-6-lr-v1-ubootmod
 endef
 TARGET_DEVICES += ubnt_unifi-6-lr-v1-ubootmod
 
+define Device/ubnt_unifi-6-lr-v2
+  DEVICE_VENDOR := Ubiquiti
+  DEVICE_MODEL := UniFi 6 LR
+  DEVICE_VARIANT := v2
+  DEVICE_DTS_CONFIG := config@1
+  DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v2
+  DEVICE_DTS_DIR := ../dts
+  DEVICE_PACKAGES := kmod-mt7915e
+endef
+TARGET_DEVICES += ubnt_unifi-6-lr-v2
+
+define Device/ubnt_unifi-6-lr-v2-ubootmod
+  DEVICE_VENDOR := Ubiquiti
+  DEVICE_MODEL := UniFi 6 LR
+  DEVICE_VARIANT := v2 U-Boot mod
+  DEVICE_DTS := mt7622-ubnt-unifi-6-lr-v2-ubootmod
+  DEVICE_DTS_DIR := ../dts
+  DEVICE_PACKAGES := kmod-mt7915e
+  KERNEL := kernel-bin | lzma
+  KERNEL_INITRAMFS_SUFFIX := -recovery.itb
+  KERNEL_INITRAMFS := kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
+  IMAGES := sysupgrade.itb
+  IMAGE/sysupgrade.itb := append-kernel | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
+  ARTIFACTS := preloader.bin bl31-uboot.fip
+  ARTIFACT/preloader.bin := bl2 nor-2ddr
+  ARTIFACT/bl31-uboot.fip := bl31-uboot ubnt_unifi-6-lr
+endef
+TARGET_DEVICES += ubnt_unifi-6-lr-v2-ubootmod
+
 define Device/xiaomi_redmi-router-ax6s
   DEVICE_VENDOR := Xiaomi
   DEVICE_MODEL := Redmi Router AX6S