[openwrt/openwrt] ramips: add support for ZyXEL Keenetic 4G Rev.B Device

LEDE Commits lede-commits at lists.infradead.org
Mon Sep 12 09:04:29 PDT 2022


mans0n pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/2905ce3d643f1a098139d16d9c73ff7e802ee04e

commit 2905ce3d643f1a098139d16d9c73ff7e802ee04e
Author: Sergei Burakov <senior.anonymous at mail.ru>
AuthorDate: Fri May 20 16:20:23 2022 +0300

    ramips: add support for ZyXEL Keenetic 4G Rev.B Device
    
    Specification:
    SoC: RT5350
    CPU Frequency: 360 MHz
    Flash Chip: Macronix MX25L6406E (8192 KiB)
    RAM: Winbond W9825G6JH-6 (32768 KiB)
    3x 10/100 Mbps Ethernet (2x LAN, 1x WAN)
    1x external antenna
    UART (J1) header on PCB (57800 8n1)
    Wireless: SoC-intergated: 2.4GHz 802.11bgn
    USB: Yes
    8x LED, 2x button
    
    Flash instruction:
    Configure PC with static IP 192.168.99.8/24 and start TFTP server.
    Rename "openwrt-ramips-rt305x-zyxel_keenetic-4g-b-squashfs-sysupgrade.bin"
    to "rt305x_firmware.bin" and place it in TFTP server directory.
    Connect PC with one of LAN ports, press the reset button, power up
    the router and keep button pressed until power LED start blinking.
    Router will download file from TFTP server, write it to flash and reboot.
    
    Signed-off-by: Sergei Burakov <senior.anonymous at mail.ru>
---
 .../ramips/dts/rt5350_zyxel_keenetic-4g-b.dts      | 136 +++++++++++++++++++++
 target/linux/ramips/image/rt305x.mk                |  10 ++
 .../rt305x/base-files/etc/board.d/02_network       |   4 +
 3 files changed, 150 insertions(+)

diff --git a/target/linux/ramips/dts/rt5350_zyxel_keenetic-4g-b.dts b/target/linux/ramips/dts/rt5350_zyxel_keenetic-4g-b.dts
new file mode 100644
index 0000000000..9b5c45347b
--- /dev/null
+++ b/target/linux/ramips/dts/rt5350_zyxel_keenetic-4g-b.dts
@@ -0,0 +1,136 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "rt5350.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+	compatible = "zyxel,keenetic-4g-b", "ralink,rt5350-soc";
+	model = "ZyXEL Keenetic 4G Rev.B";
+
+	aliases {
+		led-boot = &led_power;
+		led-failsafe = &led_power;
+		led-running = &led_power;
+		led-upgrade = &led_power;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		led_power: power {
+			label = "green:power";
+			gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
+		};
+
+		usb {
+			label = "green:usb";
+			gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
+		};
+
+		reserved {
+			label = "green:reserved";
+			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+		};
+
+		internet {
+			label = "green:internet";
+			gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
+		};
+
+		wlan {
+			label = "green:wlan";
+			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
+		};
+
+	};
+
+	keys {
+		compatible = "gpio-keys";
+
+		wps {
+			label = "wps";
+			gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_WPS_BUTTON>;
+		};
+
+		reset {
+			label = "reset";
+			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_RESTART>;
+		};
+	};
+};
+
+&spi0 {
+	status = "okay";
+
+	flash at 0 {
+		compatible = "jedec,spi-nor";
+		reg = <0>;
+		spi-max-frequency = <30000000>;
+
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			partition at 0 {
+				label = "u-boot";
+				reg = <0x0 0x30000>;
+				read-only;
+			};
+
+			partition at 30000 {
+				label = "u-boot-env";
+				reg = <0x30000 0x10000>;
+				read-only;
+			};
+
+			factory: partition at 40000 {
+				label = "factory";
+				reg = <0x40000 0x10000>;
+				read-only;
+			};
+
+			partition at 50000 {
+				compatible = "denx,uimage";
+				label = "firmware";
+				reg = <0x50000 0x7b0000>;
+			};
+		};
+	};
+};
+
+&state_default {
+	gpio {
+		groups = "uartf";
+		function = "gpio";
+	};
+};
+
+&ethernet {
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
+};
+
+&esw {
+	mediatek,portmap = <0x2f>;
+	mediatek,led_polarity = <0x17>;
+};
+
+&wmac {
+	ralink,led-polarity = <1>;
+	ralink,mtd-eeprom = <&factory 0x0>;
+};
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr at 28 {
+		reg = <0x28 0x6>;
+	};
+};
diff --git a/target/linux/ramips/image/rt305x.mk b/target/linux/ramips/image/rt305x.mk
index 708aeb8555..6b8dada3c9 100644
--- a/target/linux/ramips/image/rt305x.mk
+++ b/target/linux/ramips/image/rt305x.mk
@@ -1206,6 +1206,16 @@ define Device/zyxel_keenetic
 endef
 TARGET_DEVICES += zyxel_keenetic
 
+define Device/zyxel_keenetic-4g-b
+  $(Device/uimage-lzma-loader)
+  SOC := rt5350
+  IMAGE_SIZE := 7872k
+  DEVICE_VENDOR := ZyXEL
+  DEVICE_MODEL := Keenetic 4G
+  DEVICE_VARIANT := B
+endef
+TARGET_DEVICES += zyxel_keenetic-4g-b
+
 define Device/zyxel_keenetic-lite-b
   $(Device/uimage-lzma-loader)
   SOC := rt5350
diff --git a/target/linux/ramips/rt305x/base-files/etc/board.d/02_network b/target/linux/ramips/rt305x/base-files/etc/board.d/02_network
index db200de9fa..64c3997f27 100644
--- a/target/linux/ramips/rt305x/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/rt305x/base-files/etc/board.d/02_network
@@ -167,6 +167,10 @@ ramips_setup_interfaces()
 		ucidef_add_switch "switch0" \
 			"0:lan" "1:lan" "2:lan" "3:lan" "6 at eth0"
 		;;
+	zyxel,keenetic-4g-b)
+		ucidef_add_switch "switch0" \
+			"0:lan:1" "1:lan:0" "4:wan" "6 at eth0"
+		;;
 	zyxel,keenetic-lite-b|\
 	zyxel,keenetic-start)
 		ucidef_add_switch "switch0" \




More information about the lede-commits mailing list