From 142ec7ada939313cc890f94df5fc6903f2660635 Mon Sep 17 00:00:00 2001 From: BangLang Huang Date: Tue, 27 Sep 2016 14:25:04 +0800 Subject: [PATCH] ramips : add support for Newifi D1 Signed-off-by: BangLang Huang --- .../ramips/base-files/etc/board.d/01_leds | 3 + .../ramips/base-files/etc/board.d/02_network | 11 ++ target/linux/ramips/base-files/etc/diag.sh | 3 + target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/Newifi-D1.dts | 149 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 8 + 7 files changed, 178 insertions(+) create mode 100644 target/linux/ramips/dts/Newifi-D1.dts diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds index 5dee0d5a697..c3230b7e5a6 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -235,6 +235,9 @@ mzk-ex750np) na930) set_usb_led "$board:blue:status" ;; +newifi-d1) + set_usb_led "$board:red:status" + ;; nw718) set_usb_led "$board:amber:usb" ;; diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network index 70297de6f84..c8b57ca64ed 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -208,6 +208,13 @@ ramips_setup_interfaces() ucidef_add_switch "switch0" \ "0:lan" "4:lan" "6t@eth0" ;; + newifi-d1) + ucidef_set_interface_lan_wan "eth0.1" "eth0.2" + ucidef_add_switch "switch0" \ + "0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6t@eth0" "7t@eth0" + ucidef_add_switch "switch1" \ + "4:lan" "6t@eth0" "7t@eth0" + ;; rt-n56u) ucidef_add_switch "switch0" \ "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0" @@ -322,6 +329,10 @@ ramips_setup_macs() lan_mac=$(cat /sys/class/net/eth0/address) lan_mac=$(macaddr_add "$lan_mac" -2) ;; + newifi-d1) + lan_mac=$(cat /sys/class/net/eth0/address) + lan_mac=$(macaddr_add "$lan_mac" 2) + ;; oy-0001) lan_mac=$(mtd_get_mac_binary factory 40) wan_mac=$(mtd_get_mac_binary factory 46) diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index e604d7f51df..00239214159 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -152,6 +152,9 @@ get_status_led() { nw718) status_led="$board:amber:cpu" ;; + newifi-d1) + status_led="$board:blue:status" + ;; oy-0001|\ sl-r7205|\ zbt-we826) diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 74298166758..bb379f77fcb 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -325,6 +325,9 @@ ramips_board_detect() { *"NBG-419N") name="nbg-419n" ;; + *"Newifi-D1") + name="newifi-d1" + ;; *"NCS601W") name="ncs601w" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 162a69e3d80..0ef23087d1d 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -96,6 +96,7 @@ platform_check_image() { mzk-w300nh2|\ mzk-wdpr|\ nbg-419n|\ + newifi-d1|\ nixcore|\ nw718|\ oy-0001|\ diff --git a/target/linux/ramips/dts/Newifi-D1.dts b/target/linux/ramips/dts/Newifi-D1.dts new file mode 100644 index 00000000000..2d91c58c1e5 --- /dev/null +++ b/target/linux/ramips/dts/Newifi-D1.dts @@ -0,0 +1,149 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +/ { + compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc"; + model = "Newifi-D1"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x10000000>; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + gpio-leds { + compatible = "gpio-leds"; + + status-red { + label = "newifi-d1:red:status"; + gpios = <&gpio0 14 1>; + }; + + status-green { + label = "newifi-d1:green:status"; + gpios = <&gpio0 13 1>; + }; + + statys-blue { + label = "newifi-d1:blue:status"; + gpios = <&gpio0 16 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 15 1>; + linux,code = <0x198>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + usb2power { + gpio-export,name = "usb2power"; + gpio-export,output = <1>; + gpios = <&gpio0 9 0>; + }; + + usb3power { + gpio-export,name = "usb3power"; + gpio-export,output = <1>; + gpios = <&gpio0 11 0>; + }; + }; +}; + +&sdhci { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&sdhci_pins>; +}; + +&xhci { + status = "okay"; +}; + +&spi0 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <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 0x2000000>; + }; + }; +}; + +&pcie { + status = "okay"; + + pcie0 { + mt76@0,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x8000>; + mediatek,2ghz = <0>; + }; + }; + + pcie1 { + mt76@1,0 { + reg = <0x0000 0 0 0 0>; + device_type = "pci"; + mediatek,mtd-eeprom = <&factory 0x0000>; + mediatek,5ghz = <0>; + }; + }; +}; + +ðernet { + mtd-mac-address = <&factory 0xe000>; +}; + + + +&pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "wdt", "rgmii2", "jtag", "uart2", "uart3", "i2c"; + ralink,function = "gpio"; + }; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index d8f9fecde83..323f08ddbce 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -83,6 +83,14 @@ define Device/firewrt endef TARGET_DEVICES += firewrt +define Device/newifi-d1 + DTS := Newifi-D1 + IMAGE_SIZE := $(ralink_default_fw_size_16M) + DEVICE_TITLE := Newifi D1 + DEVICE_PACKAGES := kmod-usb3 kmod-ledtrig-usbdev kmod-i2c-mt7621 +endef +TARGET_DEVICES += newifi-d1 + define Device/pbr-m1 DTS := PBR-M1 IMAGE_SIZE := $(ralink_default_fw_size_16M)