[PATCH 21.02 1/2] ramips: fix GB-PC1 and GB-PC2 device support

Arınç ÜNAL arinc.unal at arinc9.com
Wed Sep 14 09:01:27 PDT 2022


Change switch port labels to ethblack & ethblue.
Change lan1 & lan2 LEDs to ethblack_act & ethblue_act and fix GPIO pins.
Add the external phy with ethyellow label on the GB-PC2 devicetree.
Do not claim rgmii2 as gpio, it's used for ethernet with rgmii2 function.
Enable ICPlus PHY driver for IP1001 which GB-PC2 has got.
Update interface name and change netdev function.
Enable lzma compression to make up for the increased size of the kernel.
Make spi flash bindings on par with mainline Linux to fix read errors.

Tested on GB-PC2 by Petr.

Tested-by: Petr Louda <petr.louda at outlook.cz>
Signed-off-by: Arınç ÜNAL <arinc.unal at arinc9.com>
---
 .../linux/ramips/dts/mt7621_gnubee_gb-pc1.dts | 43 ++++++------
 .../linux/ramips/dts/mt7621_gnubee_gb-pc2.dts | 69 ++++++++++---------
 target/linux/ramips/image/mt7621.mk           |  2 +
 .../mt7621/base-files/etc/board.d/01_leds     |  4 +-
 .../mt7621/base-files/etc/board.d/02_network  |  6 +-
 target/linux/ramips/mt7621/config-5.4         |  1 +
 6 files changed, 69 insertions(+), 56 deletions(-)

diff --git a/target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts b/target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts
index c218521c03..28601445e5 100644
--- a/target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts
+++ b/target/linux/ramips/dts/mt7621_gnubee_gb-pc1.dts
@@ -8,10 +8,10 @@
 	model = "GB-PC1";
 
 	aliases {
-		led-boot = &led_status;
-		led-failsafe = &led_status;
-		led-running = &led_status;
-		led-upgrade = &led_status;
+		led-boot = &led_system;
+		led-failsafe = &led_system;
+		led-running = &led_system;
+		led-upgrade = &led_system;
 	};
 
 	keys {
@@ -27,24 +27,26 @@
 	leds {
 		compatible = "gpio-leds";
 
-		system {
-			label = "green:system";
-			gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+		ethblack_act {
+			label = "green:ethblack_act";
+			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
 		};
 
-		led_status: status {
-			label = "green:status";
-			gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+		ethblue_act {
+			label = "green:ethblue_act";
+			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
 		};
 
-		lan1 {
-			label = "green:lan1";
-			gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
+		power {
+			label = "green:power";
+			gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "default-on";
 		};
 
-		lan2 {
-			label = "green:lan2";
-			gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
+		led_system: system {
+			label = "green:system";
+			gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "disk-activity";
 		};
 	};
 };
@@ -59,9 +61,8 @@
 	flash at 0 {
 		compatible = "jedec,spi-nor";
 		reg = <0>;
-		spi-max-frequency = <80000000>;
+		spi-max-frequency = <50000000>;
 		broken-flash-reset;
-		m25p,fast-read;
 
 		partitions {
 			compatible = "fixed-partitions";
@@ -107,19 +108,19 @@
 	ports {
 		port at 0 {
 			status = "okay";
-			label = "lan1";
+			label = "ethblack";
 		};
 
 		port at 4 {
 			status = "okay";
-			label = "lan2";
+			label = "ethblue";
 		};
 	};
 };
 
 &state_default {
 	gpio {
-		groups = "jtag", "rgmii2", "uart3", "wdt";
+		groups = "jtag", "uart3", "wdt";
 		function = "gpio";
 	};
 };
diff --git a/target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts b/target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts
index 613524d1da..c25ca886ae 100644
--- a/target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts
+++ b/target/linux/ramips/dts/mt7621_gnubee_gb-pc2.dts
@@ -8,10 +8,10 @@
 	model = "GB-PC2";
 
 	aliases {
-		led-boot = &led_status;
-		led-failsafe = &led_status;
-		led-running = &led_status;
-		led-upgrade = &led_status;
+		led-boot = &led_system;
+		led-failsafe = &led_system;
+		led-running = &led_system;
+		led-upgrade = &led_system;
 	};
 
 	keys {
@@ -27,34 +27,26 @@
 	leds {
 		compatible = "gpio-leds";
 
-		system {
-			label = "green:system";
-			gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
-		};
-
-		led_status: status {
-			label = "green:status";
-			gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+		ethblack_act {
+			label = "green:ethblack_act";
+			gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
 		};
 
-		lan1 {
-			label = "green:lan1";
-			gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
+		ethblue_act {
+			label = "green:ethblue_act";
+			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
 		};
 
-		lan2 {
-			label = "green:lan2";
-			gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
-		};
-
-		lan3-yellow {
-			label = "yellow:lan3";
-			gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+		power {
+			label = "green:power";
+			gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "default-on";
 		};
 
-		lan3-green {
-			label = "green:lan3";
-			gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
+		led_system: system {
+			label = "green:system";
+			gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
+			linux,default-trigger = "disk-activity";
 		};
 	};
 };
@@ -69,9 +61,8 @@
 	flash at 0 {
 		compatible = "jedec,spi-nor";
 		reg = <0>;
-		spi-max-frequency = <80000000>;
+		spi-max-frequency = <50000000>;
 		broken-flash-reset;
-		m25p,fast-read;
 
 		partitions {
 			compatible = "fixed-partitions";
@@ -113,23 +104,39 @@
 	mtd-mac-address = <&factory 0xe000>;
 };
 
+&gmac1 {
+	status = "okay";
+	label = "ethyellow";
+	phy-handle = <&ethphy5>;
+
+	nvmem-cells = <&macaddr_factory_e000>;
+	nvmem-cell-names = "mac-address";
+};
+
+&mdio {
+	ethphy5: ethernet-phy at 5 {
+		reg = <5>;
+		phy-mode = "rgmii-rxid";
+	};
+};
+
 &switch0 {
 	ports {
 		port at 0 {
 			status = "okay";
-			label = "lan1";
+			label = "ethblack";
 		};
 
 		port at 4 {
 			status = "okay";
-			label = "lan2";
+			label = "ethblue";
 		};
 	};
 };
 
 &state_default {
 	gpio {
-		groups = "jtag", "rgmii2", "uart3", "wdt";
+		groups = "jtag", "uart3", "wdt";
 		function = "gpio";
 	};
 };
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index c62087d870..36a03e872f 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -594,6 +594,7 @@ TARGET_DEVICES += glinet_gl-mt1300
 
 define Device/gnubee_gb-pc1
   $(Device/dsa-migration)
+  $(Device/uimage-lzma-loader)
   DEVICE_VENDOR := GnuBee
   DEVICE_MODEL := Personal Cloud One
   DEVICE_PACKAGES := kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620 -wpad-basic-wolfssl
@@ -603,6 +604,7 @@ TARGET_DEVICES += gnubee_gb-pc1
 
 define Device/gnubee_gb-pc2
   $(Device/dsa-migration)
+  $(Device/uimage-lzma-loader)
   DEVICE_VENDOR := GnuBee
   DEVICE_MODEL := Personal Cloud Two
   DEVICE_PACKAGES := kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620 -wpad-basic-wolfssl
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
index 95cf120f2d..5234a773ef 100755
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds
@@ -44,8 +44,8 @@ dlink,dir-882-r1)
 	;;
 gnubee,gb-pc1|\
 gnubee,gb-pc2)
-	ucidef_set_led_netdev "lan1" "lan1" "green:lan1" "lan1"
-	ucidef_set_led_netdev "lan2" "lan2" "green:lan2" "lan2"
+	ucidef_set_led_netdev "ethblack_act" "ethblack act" "green:ethblack_act" "ethblack" "tx rx"
+	ucidef_set_led_netdev "ethblue_act" "ethblue act" "green:ethblue_act" "ethblue" "tx rx"
 	;;
 linksys,e5600)
 	ucidef_set_led_netdev "wan" "wan link" "blue:wan" "wan" "link"
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
index 4d081bed8c..9ebe652f83 100755
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
@@ -45,9 +45,11 @@ ramips_setup_interfaces()
 	xiaomi,mi-router-4a-gigabit)
 		ucidef_set_interfaces_lan_wan "lan1 lan2" "wan"
 		;;
-	gnubee,gb-pc1|\
+	gnubee,gb-pc1)
+		ucidef_set_interface_lan "ethblack ethblue"
+		;;
 	gnubee,gb-pc2)
-		ucidef_set_interface_lan "lan1 lan2"
+		ucidef_set_interface_lan "ethblack ethblue ethyellow"
 		;;
 	linksys,re6500|\
 	netgear,wac104)
diff --git a/target/linux/ramips/mt7621/config-5.4 b/target/linux/ramips/mt7621/config-5.4
index 057c782760..269628411d 100644
--- a/target/linux/ramips/mt7621/config-5.4
+++ b/target/linux/ramips/mt7621/config-5.4
@@ -107,6 +107,7 @@ CONFIG_HZ_PERIODIC=y
 CONFIG_I2C=y
 CONFIG_I2C_BOARDINFO=y
 CONFIG_I2C_MT7621=y
+CONFIG_ICPLUS_PHY=y
 CONFIG_INITRAMFS_SOURCE=""
 CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
-- 
2.34.1




More information about the openwrt-devel mailing list