[LEDE-DEV] [PATCH] ramips: Add support for SamKnows Whitebox 8
Andrew Yong
me at ndoo.sg
Sun May 8 22:18:37 PDT 2016
The following changes since commit 91f205acaf2a44ae75418d2f2cb156149f0df8ae:
kernel: add workaround to rebuild vdso-o32.so.dbg (2016-05-09 02:31:04 +0200)
are available in the git repository at:
https://github.com/ndoo/lede-sk-wb8.git
for you to fetch changes up to f475d11dd53117d8047925dde1f1d7ef55088f0a:
ramips: Add support for SamKnows Whitebox 8 (2016-05-09 13:05:37 +0800)
----------------------------------------------------------------
Andrew Yong (1):
ramips: Add support for SamKnows Whitebox 8
package/boot/uboot-envtools/files/ramips | 3 +-
target/linux/ramips/base-files/etc/board.d/01_leds | 3 ++
target/linux/ramips/base-files/etc/board.d/02_network | 4 +++
target/linux/ramips/base-files/etc/diag.sh | 1 +
target/linux/ramips/base-files/etc/init.d/bootcount | 11 +++++++
target/linux/ramips/base-files/lib/ramips.sh | 3 ++
target/linux/ramips/base-files/lib/upgrade/platform.sh | 1 +
target/linux/ramips/dts/SK-WB8.dts | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
target/linux/ramips/image/mt7621.mk | 6 ++++
target/linux/ramips/mt7621/profiles/sk-wb8.mk | 18 +++++++++++
10 files changed, 176 insertions(+), 1 deletion(-)
create mode 100755 target/linux/ramips/base-files/etc/init.d/bootcount
create mode 100644 target/linux/ramips/dts/SK-WB8.dts
create mode 100644 target/linux/ramips/mt7621/profiles/sk-wb8.mk
diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips
index a759bcc..9ad5974 100644
--- a/package/boot/uboot-envtools/files/ramips
+++ b/package/boot/uboot-envtools/files/ramips
@@ -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
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 aeaab33..a47eacf 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -243,6 +243,9 @@ rt-n14u)
set_wifi_led "$board:blue:air"
set_usb_led "$board:blue:usb"
;;
+sk-wb8)
+ set_usb_led "$board:green:usb"
+ ;;
tiny-ac)
set_wifi_led "$board:orange:wifi"
set_usb_led "$board:green: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 c6c740f..b3740d5 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -77,6 +77,7 @@ ramips_setup_interfaces()
pbr-m1|\
psg1208|\
sap-g3200u3|\
+ sk-wb8|\
wf-2881|\
whr-300hp2|\
whr-600d|\
@@ -313,6 +314,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)
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
index 20ff8ff..e98226d 100644
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -78,6 +78,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
index 0000000..b93e3c9
--- /dev/null
+++ b/target/linux/ramips/base-files/etc/init.d/bootcount
@@ -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
+}
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index 2c669c5..f89e52d 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -373,6 +373,9 @@ ramips_board_detect() {
*"RUT5XX")
name="rut5xx"
;;
+ *"SamKnows Whitebox 8")
+ name="sk-wb8"
+ ;;
*"SAP-G3200U3")
name="sap-g3200u3"
;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index 2b24030..4e5cb07 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -111,6 +111,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
index 0000000..350cb4a
--- /dev/null
+++ b/target/linux/ramips/dts/SK-WB8.dts
@@ -0,0 +1,127 @@
+/dts-v1/;
+
+#include "mt7621.dtsi"
+
+/ {
+ compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc";
+ model = "SamKnows Whitebox 8";
+
+ memory at 0 {
+ device_type = "memory";
+ reg = <0x0 0x8000000>;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,57600";
+ };
+
+ palmbus at 1E000000 {
+ spi at b00 {
+ status = "okay";
+
+ m25p80 at 0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "mx25l6405d";
+ reg = <0 0>;
+ linux,modalias = "m25p80";
+ spi-max-frequency = <10000000>;
+
+ partition at 0 {
+ label = "u-boot";
+ reg = <0x0 0x30000>;
+ read-only;
+ };
+
+ partition at 30000 {
+ label = "u-boot-env";
+ reg = <0x30000 0x10000>;
+ };
+
+ factory: partition at 40000 {
+ label = "factory";
+ reg = <0x40000 0x10000>;
+ read-only;
+ };
+
+ partition at 50000 {
+ label = "firmware";
+ reg = <0x50000 0x7b0000>;
+ };
+
+ partition at e30000 {
+ label = "recovery";
+ reg = <0xe30000 0x1d0000>;
+ };
+
+ };
+ };
+ };
+
+ pcie at 1e140000 {
+ status = "okay";
+
+ pcie0 {
+ mt76 at 0,0 {
+ reg = <0x0000 0 0 0 0>;
+ device_type = "pci";
+ mediatek,mtd-eeprom = <&factory 0x8000>;
+ mediatek,2ghz = <0>;
+ };
+ };
+
+ pcie1 {
+ mt76 at 1,0 {
+ reg = <0x0000 0 0 0 0>;
+ device_type = "pci";
+ mediatek,mtd-eeprom = <&factory 0x0000>;
+ mediatek,5ghz = <0>;
+ };
+ };
+ };
+
+ ethernet at 1e100000 {
+ mtd-mac-address = <&factory 0xe000>;
+ };
+
+ 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>;
+ };
+ };
+
+ pinctrl {
+ state_default: pinctrl0 {
+ gpio {
+ ralink,group = "i2c", "uart2", "uart3", "rgmii2", "sdhci";
+ ralink,function = "gpio";
+ };
+ };
+ };
+
+};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 1b8d3da..a09f4ab 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -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/sk-wb8.mk b/target/linux/ramips/mt7621/profiles/sk-wb8.mk
new file mode 100644
index 0000000..aa2e45e
--- /dev/null
+++ b/target/linux/ramips/mt7621/profiles/sk-wb8.mk
@@ -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))
More information about the Lede-dev
mailing list