ramips: add support for Rakwireless RAK633
authorEike Feldmann <eike.feldmann@outlook.com>
Tue, 26 Feb 2019 22:04:53 +0000 (23:04 +0100)
committerPetr Štetiar <ynezz@true.cz>
Sun, 14 Apr 2019 21:42:03 +0000 (23:42 +0200)
It's OEM module with 2*26 pin header, similar to LinkIt Smart 7688 or
Vocore2.

Specification:

CPU:       MT7628 580 MHz. MIPS 24K
RAM:       64 MB
Flash:     8 MB
WIFI:      802.11n/g/b 20/40 MHz
USB:       1x Port USB 2.0
Ethernet:  5 Port ethernet switch
UART:      2x

Installation: Use the installed uboot Bootloader. Connect a serial cable
to serialport 0. Turn power on.  Choose the option: "Load system code
then write to Flash via TFTP".  Choose the local device IP and the TFTP
server IP and the file name of the system image.  After if the
Bootloader will copy the image to the local flash.

Notes: The I2C Kernel module work not correctly. You can send and
receive data. But the command i2cdetect doesn’t work. FS#845

Signed-off-by: Eike Feldmann <eike.feldmann@outlook.com>
[commit subject and message touches, DTS whitespace fixes, wifi LED
rename, pinctrl fixes, network settings fixes, lan/wmac mac addresses,
removed i2c kernel modules]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
target/linux/ramips/base-files/etc/board.d/01_leds
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/dts/RAK633.dts [new file with mode: 0644]
target/linux/ramips/image/mt76x8.mk

index e05260f..fa20ab0 100755 (executable)
@@ -283,6 +283,9 @@ netgear,r6350)
        ucidef_set_led_netdev "wan" "wan" "$boardname:green:wan" eth0.2
        set_wifi_led "$boardname:green:wifi"
        ;;
+rakwireless,rak633)
+       set_wifi_led "$boardname:blue:wifi"
+       ;;
 re350-v1)
        ucidef_set_led_netdev "wifi2g" "Wifi 2.4G" "$boardname:blue:wifi2G" "wlan0"
        ucidef_set_led_netdev "wifi5g" "Wifi 5G" "$boardname:blue:wifi5G" "wlan1"
index 89cdf57..c264687 100755 (executable)
@@ -193,6 +193,7 @@ ramips_setup_interfaces()
                ;;
        ar670w|\
        ar725w|\
+       rakwireless,rak633|\
        rt-ac51u)
                ucidef_add_switch "switch0" \
                        "0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
diff --git a/target/linux/ramips/dts/RAK633.dts b/target/linux/ramips/dts/RAK633.dts
new file mode 100644 (file)
index 0000000..ac72185
--- /dev/null
@@ -0,0 +1,104 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7628an.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+       compatible = "rakwireless,rak633", "mediatek,mt7628an-soc";
+       model = "Rakwireless RAK633";
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x4000000>;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               wifi {
+                       label = "rak633:blue:wifi";
+                       gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
+
+&pinctrl {
+       state_default: pinctrl0 {
+               wled_an {
+                       ralink,group = "wled_an";
+                       ralink,function = "gpio";
+               };
+       };
+};
+
+&spi0 {
+       status = "okay";
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <10000000>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       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 {
+                               compatible = "denx,uimage";
+                               label = "firmware";
+                               reg = <0x50000 0x7b0000>;
+                       };
+               };
+       };
+};
+
+&i2c {
+       status = "okay";
+};
+
+&i2s {
+       status = "okay";
+};
+
+&uart1 {
+       status = "okay";
+};
+
+&uart2 {
+       status = "okay";
+};
+
+&gdma {
+       status = "okay";
+};
+
+&ethernet {
+       mtd-mac-address = <&factory 0x28>;
+};
+
+&wmac {
+       status = "okay";
+       ralink,mtd-eeprom = <&factory 0x4>;
+};
index 02b03e5..571ddf3 100644 (file)
@@ -164,6 +164,13 @@ define Device/pbr-d1
 endef
 TARGET_DEVICES += pbr-d1
 
+define Device/rakwireless_rak633
+  DTS := RAK633
+  DEVICE_TITLE := Rakwireless RAK633
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
+endef
+TARGET_DEVICES += rakwireless_rak633
+
 define Device/skylab_skw92a
   DTS := SKW92A
   IMAGE_SIZE := 16064k