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 e05260f35ae75900a7570de1f0f4f19f64baf97e..fa20ab0714c96cc08a463c74a33201b11c01b64e 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 89cdf57b3e34dd9909e727456330648abf14203f..c2646876a27c145241dd91294dd58076ce639ea7 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 02b03e5007c4f511f3584fbffc0e48fac3f4727c..571ddf3d51bc9c0ebba66bd9c7074f42e5e4da17 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