ramips: add initial support for SamKnows SK-WB8
authorAndrew Yong <me@ndoo.sg>
Tue, 10 May 2016 16:17:54 +0000 (00:17 +0800)
committerJohn Crispin <john@phrozen.org>
Thu, 12 May 2016 01:29:35 +0000 (03:29 +0200)
Signed-off-by: Andrew Yong <me@ndoo.sg>
package/boot/uboot-envtools/files/ramips
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/etc/init.d/bootcount [new file with mode: 0755]
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/SK-WB8.dts [new file with mode: 0644]
target/linux/ramips/image/mt7621.mk
target/linux/ramips/mt7621/profiles/samknows.mk [new file with mode: 0644]

index a759bcc..9ad5974 100644 (file)
@@ -24,7 +24,8 @@ linkits7688d | \
 wsr-600 | \
 wsr-1166 | \
 br6425 | \
-miwifi-nano)
+miwifi-nano | \
+sk-wb8)
        ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x10000"
        ;;
 esac
index 47e1e6a..f2dc8ad 100755 (executable)
@@ -46,6 +46,7 @@ all0239-3g|\
 hw550-3g|\
 mofi3500-3gn|\
 sap-g3200u3|\
+sk-wb8|\
 wf-2881)
        set_usb_led "$board:green:usb"
        ;;
index e7826d4..985ce4b 100755 (executable)
@@ -79,6 +79,7 @@ ramips_setup_interfaces()
        pbr-m1|\
        psg1208|\
        sap-g3200u3|\
+       sk-wb8|\
        wf-2881|\
        whr-300hp2|\
        whr-600d|\
@@ -307,6 +308,9 @@ ramips_setup_macs()
                lan_mac=$(macaddr_setbit_la "$lan_mac")
                wan_mac=$(mtd_get_mac_binary factory 32772)
                ;;
+       sk-wb8)
+               wan_mac=$(mtd_get_mac_binary factory 57350)
+               ;;
        tew-691gr)
                lan_mac=$(cat /sys/class/net/eth0/address)
                wan_mac=$(macaddr_add "$lan_mac" 3)
index c638d16..e432fa6 100644 (file)
@@ -79,6 +79,7 @@ get_status_led() {
                ;;
        awapn2403|\
        dir-645|\
+       sk-wb8|\
        wrh-300cr)
                status_led="$board:green:wps"
                ;;
diff --git a/target/linux/ramips/base-files/etc/init.d/bootcount b/target/linux/ramips/base-files/etc/init.d/bootcount
new file mode 100755 (executable)
index 0000000..b93e3c9
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh /etc/rc.common
+. /lib/ramips.sh
+
+START=99
+
+start() {
+       local board=$(ramips_board_name)
+       if [ $board = "sk-wb8" ]; then
+               fw_setenv bootcount 0
+       fi
+}
index 0ac0f68..9d5421b 100755 (executable)
@@ -376,6 +376,9 @@ ramips_board_detect() {
        *"RUT5XX")
                name="rut5xx"
                ;;
+       *"SamKnows Whitebox 8")
+               name="sk-wb8"
+               ;;
        *"SAP-G3200U3")
                name="sap-g3200u3"
                ;;
index 86ea4a3..6036f73 100755 (executable)
@@ -112,6 +112,7 @@ platform_check_image() {
        rt-n56u|\
        rut5xx|\
        sap-g3200u3|\
+       sk-wb8|\
        sl-r7205|\
        tew-691gr|\
        tew-692gr|\
diff --git a/target/linux/ramips/dts/SK-WB8.dts b/target/linux/ramips/dts/SK-WB8.dts
new file mode 100644 (file)
index 0000000..bb1e382
--- /dev/null
@@ -0,0 +1,124 @@
+/dts-v1/;
+
+#include "mt7621.dtsi"
+
+/ {
+       compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc";
+       model = "SamKnows Whitebox 8";
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x8000000>;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,57600";
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+
+               wps {
+                       label = "sk-wb8:green:wps";
+                       gpios = <&gpio1 14 1>;
+               };
+
+               usb {
+                       label = "sk-wb8:green:usb";
+                       gpios = <&gpio1 15 1>;
+               };
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+               wps {
+                       label = "wps";
+                       gpios = <&gpio1 11 1>;
+                       linux,code = <0x211>;
+               };
+               reset {
+                       label = "reset";
+                       gpios = <&gpio1 9 1>;
+                       linux,code = <0x198>;
+               };
+       };
+};
+
+&spi0 {
+       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>;
+               };
+
+               factory: partition@40000 {
+                       label = "factory";
+                       reg = <0x40000 0x10000>;
+                       read-only;
+               };
+
+               partition@50000 {
+                       label = "firmware";
+                       reg = <0x50000 0x7b0000>;
+               };
+
+               partition@e30000 {
+                       label = "recovery";
+                       reg = <0xe30000 0x1d0000>;
+               };
+
+       };
+};
+
+&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 = "i2c", "uart2", "uart3", "rgmii2", "sdhci";
+                       ralink,function = "gpio";
+               };
+       };
+};
index 1b8d3da..a09f4ab 100644 (file)
@@ -138,6 +138,12 @@ define Device/ubnt-erx
 endef
 TARGET_DEVICES += ubnt-erx
 
+define Device/sk-wb8
+  DTS := SK-WB8
+  IMAGE_SIZE := $(ralink_default_fw_size_16M)
+endef
+TARGET_DEVICES += sk-wb8
+
 # FIXME: is this still needed?
 define Image/Prepare
 #define Build/Compile
diff --git a/target/linux/ramips/mt7621/profiles/samknows.mk b/target/linux/ramips/mt7621/profiles/samknows.mk
new file mode 100644 (file)
index 0000000..aa2e45e
--- /dev/null
@@ -0,0 +1,18 @@
+#
+# Copyright (C) 2016 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/SK-WB8
+       NAME:=SamKnows Whitebox 8
+       PACKAGES:=\
+               kmod-usb-core kmod-usb3 \
+               kmod-ledtrig-usbdev uboot-envtools
+endef
+
+define Profile/SK-WB8/Description
+       Package set compatible with the SamKnows Whitebox 8.
+endef
+$(eval $(call Profile,SK-WB8))