diff mbox

[OpenWrt-Devel,v2] ramips:Fix support for PBR-M1 board

Message ID 1449237044-16387-1-git-send-email-gch981213@gmail.com
State Superseded
Headers show

Commit Message

Chuanhong Guo Dec. 4, 2015, 1:50 p.m. UTC
The PBR-M1 support in current OpenWrt is for the early demo board and it doesn't work on the final board.This patch fixes the support for it.
The LED called pbr-m1:buzzer is a beeper connected to GPIO26 so I used gpio-beeper instead of gpio-leds.

Changes since V1:
Fix style problems.
Use pbr-m1:blue:power as the status led.

Signed-off-by: 郭传鈜 <gch981213@gmail.com>
---
 target/linux/ramips/base-files/etc/board.d/01_leds |  6 +-
 target/linux/ramips/base-files/etc/diag.sh         |  2 +-
 target/linux/ramips/dts/PBR-M1.dts                 | 67 +++++++++++++++++-----
 3 files changed, 57 insertions(+), 18 deletions(-)

Comments

Piotr Dymacz Dec. 4, 2015, 2:19 p.m. UTC | #1
Hello,

See inline, below.

Cheers,
Piotr

2015-12-04 14:50 GMT+01:00 GuoGuo <gch981213@gmail.com>:
> The PBR-M1 support in current OpenWrt is for the early demo board and it doesn't work on the final board.This patch fixes the support for it.
> The LED called pbr-m1:buzzer is a beeper connected to GPIO26 so I used gpio-beeper instead of gpio-leds.
>
> Changes since V1:
> Fix style problems.
> Use pbr-m1:blue:power as the status led.
>
> Signed-off-by: 郭传鈜 <gch981213@gmail.com>
> ---
>  target/linux/ramips/base-files/etc/board.d/01_leds |  6 +-
>  target/linux/ramips/base-files/etc/diag.sh         |  2 +-
>  target/linux/ramips/dts/PBR-M1.dts                 | 67 +++++++++++++++++-----
>  3 files changed, 57 insertions(+), 18 deletions(-)
>
> diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds
> index 8cb0e48..40a5244 100755
> --- a/target/linux/ramips/base-files/etc/board.d/01_leds
> +++ b/target/linux/ramips/base-files/etc/board.d/01_leds
> @@ -200,9 +200,9 @@ oy-0001)
>         set_wifi_led "$board:green:wifi"
>         ;;
>  pbr-m1)
> -       ucidef_set_led_netdev "internet" "internet" "$board:green:internet" "eth0.2"
> -       ucidef_set_led_default "power" "power" "$board:green:power" "1"
> -       ucidef_set_led_default "sys" "sys" "$board:green:sys" "1"
> +       ucidef_set_led_netdev "internet" "internet" "$board:blue:internet" "eth0.2"
> +       ucidef_set_led_default "power" "power" "$board:blue:power" "1"
> +       ucidef_set_led_default "sys" "sys" "$board:blue:sys" "1"
>         ;;
>  px-4885)
>         set_wifi_led "$board:orange:wifi"
> diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
> index ff5fbf2..e2c25dc 100644
> --- a/target/linux/ramips/base-files/etc/diag.sh
> +++ b/target/linux/ramips/base-files/etc/diag.sh
> @@ -83,6 +83,7 @@ get_status_led() {
>                 ;;
>         dap-1350|\
>         na930|\
> +       pbr-m1|\

This one here is OK...

>         rt-n13u|\
>         rt-n14u|\
>         rt-n15|\
> @@ -135,7 +136,6 @@ get_status_led() {
>         sl-r7205)
>                 status_led="$board:green:wifi"
>                 ;;
> -       pbr-m1|\
>         w306r-v20|\
>         zbt-wr8305rt)

... but this breaks alphabetical order.

Boards in this file are ordered in two stages: inside every group
(group means boards with common status_led definition) and then all
groups together.

I hope this time it's clear.
Please, reorder boards (move above part down, where are boards
starting with "w...").

>                 status_led="$board:green:sys"
> diff --git a/target/linux/ramips/dts/PBR-M1.dts b/target/linux/ramips/dts/PBR-M1.dts
> index 7702d9c..6f6ac31 100644
> --- a/target/linux/ramips/dts/PBR-M1.dts
> +++ b/target/linux/ramips/dts/PBR-M1.dts
> @@ -17,6 +17,12 @@
>
>         sdhci@10130000 {
>                 status = "okay";
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&sdhci_pins>;
> +       };
> +
> +       xhci@1E1C0000 {
> +               status = "okay";
>         };
>
>         palmbus@1E000000 {
> @@ -81,7 +87,7 @@
>                         mt76@0,0 {
>                                 reg = <0x0000 0 0 0 0>;
>                                 device_type = "pci";
> -                               mediatek,mtd-eeprom = <&factory 0x0000>;
> +                               mediatek,mtd-eeprom = <&factory 0x8000>;
>                                 mediatek,2ghz = <0>;
>                         };
>                 };
> @@ -90,7 +96,7 @@
>                         mt76@1,0 {
>                                 reg = <0x0000 0 0 0 0>;
>                                 device_type = "pci";
> -                               mediatek,mtd-eeprom = <&factory 0x8000>;
> +                               mediatek,mtd-eeprom = <&factory 0x0000>;
>                                 mediatek,5ghz = <0>;
>                         };
>                 };
> @@ -103,24 +109,29 @@
>         gpio-leds {
>                 compatible = "gpio-leds";
>
> -               buzzer {
> -                       label = "pbr-m1:buzzer";
> -                       gpios = <&gpio0 27 1>;
> -               };
> -
>                 power {
> -                       label = "pbr-m1:green:power";
> -                       gpios = <&gpio0 25 1>;
> +                       label = "pbr-m1:blue:power";
> +                       gpios = <&gpio0 31 1>;
>                 };
>
>                 sys {
> -                       label = "pbr-m1:green:sys";
> -                       gpios = <&gpio0 24 1>;
> +                       label = "pbr-m1:blue:sys";
> +                       gpios = <&gpio1 0 1>;
>                 };
>
>                 internet {
> -                       label = "pbr-m1:green:internet";
> -                       gpios = <&gpio0 23 1>;
> +                       label = "pbr-m1:blue:internet";
> +                       gpios = <&gpio0 29 1>;
> +               };
> +
> +               2g {
> +                       label = "pbr-m1:blue:2g";

Not sure about others, but I prefer wlanXg naming convention.
I can easily find other boards in ramips and ar71xx targets which
follow "wlanXg" convention.

On the other hand, if there is some mark on the board or enclosure,
and it's "2g", then IMHO you should use the same name.

> +                       gpios = <&gpio1 1 1>;
> +               };
> +
> +               5g {
> +                       label = "pbr-m1:blue:5g";

Same here.

> +                       gpios = <&gpio0 28 1>;
>                 };
>         };
>
> @@ -137,10 +148,38 @@
>                 };
>         };
>
> +       gpio_export {
> +               compatible = "gpio-export";
> +               #size-cells = <0>;
> +
> +               power_usb2 {
> +                       gpio-export,name = "power_usb2";
> +                       gpio-export,output = <1>;
> +                       gpios = <&gpio0 22 0>;
> +               };
> +
> +               power_usb3 {
> +                       gpio-export,name = "power_usb3";
> +                       gpio-export,output = <1>;
> +                       gpios = <&gpio0 25 0>;
> +               };
> +
> +               power_sata {
> +                       gpio-export,name = "power_sata";
> +                       gpio-export,output = <1>;
> +                       gpios = <&gpio0 27 0>;
> +               };
> +       };
> +
> +       beeper: beeper {
> +               compatible = "gpio-beeper";
> +               gpios = <&gpio0 26 1>;
> +       };
> +
>         pinctrl {
>                 state_default: pinctrl0 {
>                         gpio {
> -                               ralink,group = "wdt", "rgmii2", "wdt rst", "jtag", "mdio";
> +                               ralink,group = "wdt", "rgmii2", "jtag", "mdio";
>                                 ralink,function = "gpio";
>                         };
>                 };
> --
> 2.5.0
>
diff mbox

Patch

diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds
index 8cb0e48..40a5244 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -200,9 +200,9 @@  oy-0001)
 	set_wifi_led "$board:green:wifi"
 	;;
 pbr-m1)
-	ucidef_set_led_netdev "internet" "internet" "$board:green:internet" "eth0.2"
-	ucidef_set_led_default "power" "power" "$board:green:power" "1"
-	ucidef_set_led_default "sys" "sys" "$board:green:sys" "1"
+	ucidef_set_led_netdev "internet" "internet" "$board:blue:internet" "eth0.2"
+	ucidef_set_led_default "power" "power" "$board:blue:power" "1"
+	ucidef_set_led_default "sys" "sys" "$board:blue:sys" "1"
 	;;
 px-4885)
 	set_wifi_led "$board:orange:wifi"
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
index ff5fbf2..e2c25dc 100644
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -83,6 +83,7 @@  get_status_led() {
 		;;
 	dap-1350|\
 	na930|\
+	pbr-m1|\
 	rt-n13u|\
 	rt-n14u|\
 	rt-n15|\
@@ -135,7 +136,6 @@  get_status_led() {
 	sl-r7205)
 		status_led="$board:green:wifi"
 		;;
-	pbr-m1|\
 	w306r-v20|\
 	zbt-wr8305rt)
 		status_led="$board:green:sys"
diff --git a/target/linux/ramips/dts/PBR-M1.dts b/target/linux/ramips/dts/PBR-M1.dts
index 7702d9c..6f6ac31 100644
--- a/target/linux/ramips/dts/PBR-M1.dts
+++ b/target/linux/ramips/dts/PBR-M1.dts
@@ -17,6 +17,12 @@ 
 
 	sdhci@10130000 {
 		status = "okay";
+		pinctrl-names = "default";
+		pinctrl-0 = <&sdhci_pins>;
+	};
+
+	xhci@1E1C0000 {
+		status = "okay";
 	};
 
 	palmbus@1E000000 {
@@ -81,7 +87,7 @@ 
 			mt76@0,0 {
 				reg = <0x0000 0 0 0 0>;
 				device_type = "pci";
-				mediatek,mtd-eeprom = <&factory 0x0000>;
+				mediatek,mtd-eeprom = <&factory 0x8000>;
 				mediatek,2ghz = <0>;
 			};
 		};
@@ -90,7 +96,7 @@ 
 			mt76@1,0 {
 				reg = <0x0000 0 0 0 0>;
 				device_type = "pci";
-				mediatek,mtd-eeprom = <&factory 0x8000>;
+				mediatek,mtd-eeprom = <&factory 0x0000>;
 				mediatek,5ghz = <0>;
 			};
 		};
@@ -103,24 +109,29 @@ 
 	gpio-leds {
 		compatible = "gpio-leds";
 
-		buzzer {
-			label = "pbr-m1:buzzer";
-			gpios = <&gpio0 27 1>;
-		};
-
 		power {
-			label = "pbr-m1:green:power";
-			gpios = <&gpio0 25 1>;
+			label = "pbr-m1:blue:power";
+			gpios = <&gpio0 31 1>;
 		};
 
 		sys {
-			label = "pbr-m1:green:sys";
-			gpios = <&gpio0 24 1>;
+			label = "pbr-m1:blue:sys";
+			gpios = <&gpio1 0 1>;
 		};
 
 		internet {
-			label = "pbr-m1:green:internet";
-			gpios = <&gpio0 23 1>;
+			label = "pbr-m1:blue:internet";
+			gpios = <&gpio0 29 1>;
+		};
+
+		2g {
+			label = "pbr-m1:blue:2g";
+			gpios = <&gpio1 1 1>;
+		};
+
+		5g {
+			label = "pbr-m1:blue:5g";
+			gpios = <&gpio0 28 1>;
 		};
 	};
 
@@ -137,10 +148,38 @@ 
 		};
 	};
 
+	gpio_export {
+		compatible = "gpio-export";
+		#size-cells = <0>;
+
+		power_usb2 {
+			gpio-export,name = "power_usb2";
+			gpio-export,output = <1>;
+			gpios = <&gpio0 22 0>;
+		};
+
+		power_usb3 {
+			gpio-export,name = "power_usb3";
+			gpio-export,output = <1>;
+			gpios = <&gpio0 25 0>;
+		};
+
+		power_sata {
+			gpio-export,name = "power_sata";
+			gpio-export,output = <1>;
+			gpios = <&gpio0 27 0>;
+		};
+	};
+
+	beeper: beeper {
+		compatible = "gpio-beeper";
+		gpios = <&gpio0 26 1>;
+	};
+
 	pinctrl {
 		state_default: pinctrl0 {
 			gpio {
-				ralink,group = "wdt", "rgmii2", "wdt rst", "jtag", "mdio";
+				ralink,group = "wdt", "rgmii2", "jtag", "mdio";
 				ralink,function = "gpio";
 			};
 		};