Ver Fonte

ramips: add preliminary support for DIR-860L B1

Signed-off-by: Felix Fietkau <[email protected]>

SVN-Revision: 44016
Felix Fietkau há 11 anos atrás
pai
commit
40b740b232

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

@@ -146,6 +146,7 @@ ramips_setup_interfaces()
 	awm003-evb | \
 	argus-atp52b | \
 	dir-645 | \
+	dir-860l-b1 | \
 	f5d8235-v1 | \
 	f5d8235-v2 | \
 	hg255d | \

+ 2 - 1
target/linux/ramips/base-files/etc/uci-defaults/09_fix-seama-header

@@ -15,7 +15,8 @@ board=$(ramips_board_name)
 
 case "$board" in
 cy-swr1100 | \
-dir-645)
+dir-645 | \
+dir-860l-b1)
 	fix_seama_header kernel
 	;;
 esac

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

@@ -133,6 +133,9 @@ ramips_board_detect() {
 	*"DIR-810L")
 		name="dir-810l"
 		;;
+	*"DIR-860L B1")
+		name="dir-860l-b1"
+		;;
 	*"DAP-1350")
 		name="dap-1350"
 		;;

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

@@ -133,7 +133,8 @@ platform_check_image() {
 		;;
 	cy-swr1100 |\
 	dir-610-a1 |\
-	dir-645)
+	dir-645 |\
+	dir-860l-b1)
 		[ "$magic" != "5ea3a417" ] && {
 			echo "Invalid image type."
 			return 1

+ 107 - 0
target/linux/ramips/dts/DIR-860L-B1.dts

@@ -0,0 +1,107 @@
+/dts-v1/;
+
+/include/ "mt7621.dtsi"
+
+/ {
+	compatible = "ralink,mt7621-eval-board", "ralink,mt7621-soc";
+	model = "D-Link DIR-860L B1";
+
+	memory@0 {
+		reg = <0x0 0x8000000>;
+	};
+
+	chosen {
+		bootargs = "console=ttyS0,57600";
+	};
+
+	palmbus@1E000000 {
+		spi@b00 {
+			status = "okay";
+
+			m25p80@0 {
+				#address-cells = <1>;
+				#size-cells = <1>;
+				compatible = "mx25l12805d";
+				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 0x4000>;
+					read-only;
+				};
+
+				radio: partition@34000 {
+					label = "radio";
+					reg = <0x34000 0x4000>;
+					read-only;
+				};
+
+				factory: partition@38000 {
+					label = "factory";
+					reg = <0x38000 0x8000>;
+					read-only;
+				};
+
+				partition@40000 {
+					label = "defaults";
+					reg = <0x40000 0x10000>;
+					read-only;
+				};
+
+				partition@50000 {
+					label = "firmware";
+					reg = <0x50000 0xfb0000>;
+				};
+			};
+		};
+	};
+
+	pcie@1e140000 {
+		status = "okay";
+
+		pcie0 {
+			mt76@0,0 {
+				reg = <0x0000 0 0 0 0>;
+				device_type = "pci";
+				mediatek,mtd-eeprom = <&radio 0>;
+				mediatek,2ghz = <0>;
+			};
+		};
+		pcie1 {
+			mt76@1,0 {
+				reg = <0x0000 0 0 0 0>;
+				device_type = "pci";
+				mediatek,mtd-eeprom = <&radio 0x2000>;
+				mediatek,5ghz = <0>;
+			};
+		};
+	};
+
+	pinctrl {
+		state_default: pinctrl0 {
+			gpio {
+				ralink,group = "i2c", "uart2", "uart3", "rgmii2", "sdhci";
+				ralink,function = "gpio";
+			};
+		};
+	};
+
+	gpio-leds {
+		compatible = "gpio-leds";
+	};
+
+	gpio-keys-polled {
+		compatible = "gpio-keys-polled";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		poll-interval = <20>;
+	};
+};

+ 42 - 1
target/linux/ramips/image/Makefile

@@ -51,6 +51,24 @@ define Build/trx
 		-a 4 -f $(word 2,$^)
 endef
 
+define Build/seama
+	$(STAGING_DIR_HOST)/bin/seama -i $@ $(1)
+	mv [email protected] $@
+endef
+
+define Build/seama-seal
+	$(call Build/seama,-s [email protected] $(1))
+endef
+
+define Build/relocate-kernel
+	( \
+		dd if=$(KDIR)/relocate/loader.bin bs=32 conv=sync && \
+		perl -e '@s = stat("$@"); print pack("V", @s[7])' && \
+		cat $@ \
+	) > [email protected]
+	mv [email protected] $@
+endef
+
 define MkCombineduImage
 	$(call PatchKernelLzma,$(2),$(3))
 	if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt `expr $(4) - 64` ]; then \
@@ -875,7 +893,7 @@ endif
 #
 
 ifeq ($(SUBTARGET),mt7621)
-  TARGET_DEVICES += mt7621 wsr-600 wsr-1166
+  TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1
 endif
 
 define Device/mt7621
@@ -892,6 +910,21 @@ define Device/wsr-1166
   IMAGE/sysupgrade.bin := trx | pad-rootfs
 endef
 
+define Device/dir-860l-b1
+  DTS := DIR-860L-B1
+  IMAGES += factory.bin
+  KERNEL := kernel-bin | patch-dtb | relocate-kernel | lzma | uImage lzma
+  IMAGE/sysupgrade.bin := \
+	append-kernel | pad-offset 65536 64 | append-rootfs | \
+	seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
+	pad-rootfs | check-size $$$$(IMAGE_SIZE)
+  IMAGE/factory.bin := \
+	append-kernel | pad-offset 65536 64 | append-rootfs | pad-rootfs -x 64 | \
+	seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
+	check-size $$$$(IMAGE_SIZE) | \
+	seama-seal -m "signature=wrgac13_dlink.2013gui_dir860lb"
+endef
+
 #
 # MT7628 Profiles
 #
@@ -932,4 +965,12 @@ define Image/Build
 endef
 endif
 
+ifeq ($(SUBTARGET),mt7621)
+define Build/Compile
+	rm -rf $(KDIR)/relocate
+	$(CP) ./relocate $(KDIR)
+	$(MAKE) -C $(KDIR)/relocate KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS)
+endef
+endif
+
 $(eval $(call BuildImage))