ramips : add support for Newifi D1
authorBangLang Huang <banglang.huang@foxmail.com>
Tue, 27 Sep 2016 06:25:04 +0000 (14:25 +0800)
committerJohn Crispin <john@phrozen.org>
Tue, 27 Sep 2016 15:50:22 +0000 (17:50 +0200)
Signed-off-by: BangLang Huang <banglang.huang@foxmail.com>
target/linux/ramips/base-files/etc/board.d/01_leds
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/base-files/etc/diag.sh
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/Newifi-D1.dts [new file with mode: 0644]
target/linux/ramips/image/mt7621.mk

index 5dee0d5a69716711e725c5bf90fbdcbd0fe008dc..c3230b7e5a6fb5062fad2aa181025dd859a56b7b 100755 (executable)
@@ -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"
        ;;
index 70297de6f847159809b621d68076869e8945938b..c8b57ca64ed3d61e349ee1c144a13692fe506f17 100755 (executable)
@@ -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)
index e604d7f51df7ad08ceaa5ca73ade6074182d2788..00239214159829d406a01141658ea72b3777ca69 100644 (file)
@@ -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)
index 742981667586ab98a399ce3c4907dfddcd05421a..bb379f77fcbc4d6ee23b4e43416d2a08c86b3caf 100755 (executable)
@@ -325,6 +325,9 @@ ramips_board_detect() {
        *"NBG-419N")
                name="nbg-419n"
                ;;
+       *"Newifi-D1")
+               name="newifi-d1"
+               ;;
        *"NCS601W")
                name="ncs601w"
                ;;
index 162a69e3d802128733cc4ee8904253c1452d5efa..0ef23087d1d576aea3645ff1c7711fe6271cee8e 100755 (executable)
@@ -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 (file)
index 0000000..2d91c58
--- /dev/null
@@ -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>;
+               };
+       };
+};
+
+&ethernet {
+       mtd-mac-address = <&factory 0xe000>;
+};
+
+
+
+&pinctrl {
+       state_default: pinctrl0 {
+               gpio {
+                       ralink,group = "wdt", "rgmii2", "jtag", "uart2", "uart3", "i2c";
+                       ralink,function = "gpio";
+               };
+       };
+};
index d8f9fecde83a5beb8393a166895e6d199a0467c5..323f08ddbcec367d3ccfab8e1305e14360e43804 100644 (file)
@@ -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)