Explorar o código

ramips: Add support for ZBT WG3526

The WG3526 is the follow-up to the 2626 and is mostly the same, with the
excaption that the mt7602 has been replaced with the mt7603. The internal wifi
setup has also changed slightly. Based on my tests, everything that worked on
the 2626 works on the 3526 and with roughly the same performance.

v1->v2:
* Remove some references to 2626 that I had missed in the dts.

v2->v3:
* Update patch to match new file structure.
* Removed SD driver to be consistent with other MT7621 targets.

Signed-off-by: Kristian Evensen <[email protected]>

SVN-Revision: 49213
John Crispin %!s(int64=10) %!d(string=hai) anos
pai
achega
30fbc1a4d1

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

@@ -86,6 +86,7 @@ ramips_setup_interfaces()
 	wt1520|\
 	y1|\
 	zbt-wg2626|\
+	zbt-wg3526|\
 	youku-yk1)
 		ucidef_add_switch "switch0" \
 			"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"

+ 2 - 1
target/linux/ramips/base-files/etc/diag.sh

@@ -66,7 +66,8 @@ get_status_led() {
 	v11st-fe|\
 	vocore|\
 	wmr-300|\
-	zbt-wg2626)
+	zbt-wg2626|\
+	zbt-wg3526)
 		status_led="$board:green:status"
 		;;
 	atp-52b|\

+ 3 - 0
target/linux/ramips/base-files/lib/ramips.sh

@@ -508,6 +508,9 @@ ramips_board_detect() {
 	*"ZBT-WG2626")
 		name="zbt-wg2626"
 		;;
+	*"ZBT-WG3526")
+		name="zbt-wg3526"
+		;;
 	*"ZBT-WR8305RT")
 		name="zbt-wr8305rt"
 		;;

+ 1 - 0
target/linux/ramips/base-files/lib/upgrade/platform.sh

@@ -151,6 +151,7 @@ platform_check_image() {
 	zbt-wa05|\
 	zbt-we826|\
 	zbt-wg2626|\
+	zbt-wg3526|\
 	zbt-wr8305rt|\
 	zte-q7|\
 	youku-yk1)

+ 127 - 0
target/linux/ramips/dts/ZBT-WG3526.dts

@@ -0,0 +1,127 @@
+/dts-v1/;
+
+#include "mt7621.dtsi"
+
+/ {
+	compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc";
+	model = "ZBT-WG3526";
+
+	memory@0 {
+		device_type = "memory";
+		reg = <0x0 0x1c000000>, <0x20000000 0x4000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,115200";
+	};
+
+	sdhci@10130000 {
+		status = "okay";
+	};
+
+	palmbus@1E000000 {
+		spi@b00 {
+			status = "okay";
+
+			m25p80@0 {
+				#address-cells = <1>;
+				#size-cells = <1>;
+				compatible = "jedec,spi-nor";
+				reg = <0 0>;
+				linux,modalias = "m25p80";
+				spi-max-frequency = <10000000>;
+
+				partition@0 {
+					label = "u-boot";
+					reg = <0x0 0x30000>;
+					read-only;
+				};
+
+				partition@30000 {
+					label = "u-boot-env";
+					reg = <0x30000 0x10000>;
+					read-only;
+				};
+
+				factory: partition@40000 {
+					label = "factory";
+					reg = <0x40000 0x10000>;
+					read-only;
+				};
+
+				partition@50000 {
+					label = "firmware";
+					reg = <0x50000 0xfb0000>;
+				};
+
+			};
+		};
+
+		i2c@900 {
+			compatible = "ralink,i2c-mt7621";
+			reg = <0x900 0x100>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			pinctrl-names = "default";
+			pinctrl-0 = <&i2c_pins>;
+			status = "okay";
+		};
+	};
+
+	pcie@1e140000 {
+		status = "okay";
+
+		pcie0 {
+			mt76@0,0 {
+				reg = <0x0000 0 0 0 0>;
+				device_type = "pci";
+				mediatek,mtd-eeprom = <&factory 0x0000>;
+				mediatek,5ghz = <0>;
+			};
+		};
+
+		pcie1 {
+			mt76@1,0 {
+				reg = <0x0000 0 0 0 0>;
+				device_type = "pci";
+				mediatek,mtd-eeprom = <&factory 0x8000>;
+				mediatek,2ghz = <0>;
+			};
+		};
+	};
+
+	ethernet@1e100000 {
+		mtd-mac-address = <&factory 0xe000>;
+	};
+
+	gpio-keys-polled {
+		compatible = "gpio-keys-polled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		poll-interval = <20>;
+
+		reset {
+			label = "reset";
+			gpios = <&gpio0 18 1>;
+			linux,code = <0x198>;
+		};
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+
+		status {
+			label = "zbt-wg3526:green:status";
+			gpios = <&gpio0 24 1>;
+		};
+	};
+
+	pinctrl {
+		state_default: pinctrl0 {
+			gpio {
+				ralink,group = "wdt", "rgmii2", "wdt rst", "jtag", "mdio";
+				ralink,function = "gpio";
+			};
+		};
+	};
+};

+ 6 - 0
target/linux/ramips/image/mt7621.mk

@@ -103,6 +103,12 @@ define Device/zbt-wg2626
 endef
 TARGET_DEVICES += zbt-wg2626
 
+define Device/zbt-wg3526
+  DTS := ZBT-WG3526
+  IMAGE_SIZE := $(ralink_default_fw_size_16M)
+endef
+TARGET_DEVICES += zbt-wg3526
+
 define Device/wf-2881
   DTS := WF-2881
   BLOCKSIZE := 128KiB

+ 13 - 0
target/linux/ramips/mt7621/profiles/zbt.mk

@@ -16,3 +16,16 @@ define Profile/ZBT-WG2626/Description
 	Package set for ZBT-WG2626 device
 endef
 $(eval $(call Profile,ZBT-WG2626))
+
+
+define Profile/ZBT-WG3526
+	NAME:=ZBT-WG3526 Device
+	PACKAGES:=\
+		kmod-usb-core kmod-usb3 \
+		kmod-ledtrig-usbdev kmod-ata-core kmod-ata-ahci
+endef
+
+define Profile/ZBT-WG3526/Description
+	Package set for ZBT-WG3526 device
+endef
+$(eval $(call Profile,ZBT-WG3526))