ramips: add RB750Gr3 native support
authorAnton Arapov <arapov@gmail.com>
Sat, 29 Dec 2018 00:28:27 +0000 (01:28 +0100)
committerMathias Kresin <dev@kresin.me>
Sat, 5 Jan 2019 11:28:22 +0000 (12:28 +0100)
This patch adds support of MikroTik RouterBOARD 750Gr3, without the need
to reflashing the bootloader.

Installation through RouterBoot follows the usual MikroTik method
https://openwrt.org/toh/mikrotik/common

Since the image isn't compatible with RouterBOARD 750Gr3 installations
which have replaced the bootloader, the former used userspace boardname
is not added to the SUPPORTED_DEVICES, to prevent a brick while trying
to upgrade to the image with native support.

Signed-off-by: Anton Arapov <arapov@gmail.com>
Signed-off-by: Thibaut VARĂˆNE <hacks@slashdirt.org>
Signed-off-by: Mathias Kresin <dev@kresin.me>
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/RB750Gr3.dts
target/linux/ramips/image/mt7621.mk

index 2dbd891..80940db 100755 (executable)
@@ -222,9 +222,9 @@ ramips_setup_interfaces()
        jhr-n805r|\
        jhr-n825r|\
        jhr-n926r|\
+       mikrotik,rb750gr3|\
        mikrotik,rbm33g|\
        mzk-wdpr|\
-       rb750gr3|\
        rt-n14u|\
        skylab,skw92a|\
        tplink,c20-v4|\
index ca71ef3..49bed87 100755 (executable)
@@ -415,9 +415,6 @@ ramips_board_detect() {
        *"R6220")
                name="r6220"
                ;;
-       *"RB750Gr3")
-               name="rb750gr3"
-               ;;
        *"RE350 v1")
                name="re350-v1"
                ;;
index 97fbaef..a50e943 100755 (executable)
@@ -13,6 +13,7 @@ platform_pre_upgrade() {
        local board=$(board_name)
 
        case "$board" in
+       mikrotik,rb750gr3|\
        mikrotik,rbm11g|\
        mikrotik,rbm33g)
                [ -z "$(rootfs_type)" ] && mtd erase firmware
index 6b18cce..da9167a 100644 (file)
@@ -22,7 +22,7 @@
        };
 
        chosen {
-               bootargs = "console=ttyS0,57600";
+               bootargs = "console=ttyS0,115200";
        };
 
        gpio-leds {
                        #size-cells = <1>;
 
                        partition@0 {
-                               label = "u-boot";
-                               reg = <0x0 0x30000>;
+                               label = "RouterBoot";
+                               reg = <0x0 0x40000>;
                                read-only;
+                               compatible = "fixed-partitions";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               partition@0 {
+                                       label = "bootloader1";
+                                       reg = <0x0 0xf000>;
+                                       read-only;
+                               };
+
+                               hard_config: partition@f000 {
+                                       label = "hard_config";
+                                       reg = <0xf000 0x1000>;
+                                       read-only;
+                               };
+
+                               partition@10000 {
+                                       label = "bootloader2";
+                                       reg = <0x10000 0xf000>;
+                                       read-only;
+                               };
+
+                               partition@20000 {
+                                       label = "soft_config";
+                                       reg = <0x20000 0x1000>;
+                               };
+
+                               partition@30000 {
+                                       label = "bios";
+                                       reg = <0x30000 0x1000>;
+                                       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";
+                       partition@40000 {
+                               compatible = "mikrotik,minor";
                                label = "firmware";
-                               reg = <0x50000 0xfb0000>;
+                               reg = <0x040000 0xfc0000>;
                        };
                };
        };
 };
 
 &ethernet {
-       mtd-mac-address = <&factory 0xe000>;
+       mtd-mac-address = <&hard_config 0x0010>;
        mtd-mac-address-increment = <1>;
 };
 
index 0edc8af..3f0c4bb 100644 (file)
@@ -324,14 +324,6 @@ define Device/netgear_r6350
 endef
 TARGET_DEVICES += netgear_r6350
 
-define Device/rb750gr3
-  DTS := RB750Gr3
-  IMAGE_SIZE := $(ralink_default_fw_size_16M)
-  DEVICE_TITLE := MikroTik RB750Gr3
-  DEVICE_PACKAGES := kmod-usb3 uboot-envtools
-endef
-TARGET_DEVICES += rb750gr3
-
 define Device/MikroTik
   BLOCKSIZE := 64k
   IMAGE_SIZE := 16128k
@@ -343,6 +335,13 @@ define Device/MikroTik
        append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
 endef
 
+define Device/mikrotik_rb750gr3
+  $(Device/MikroTik)
+  DTS := RB750Gr3
+  DEVICE_TITLE := MikroTik RouterBOARD RB750Gr3
+endef
+TARGET_DEVICES += mikrotik_rb750gr3
+
 define Device/mikrotik_rbm33g
   $(Device/MikroTik)
   DTS := RBM33G