Re: [LEDE-DEV] [PATCH v2] ar71xx: add support for Ubiquiti Litebeam M5

2018-02-13 Thread John Crispin



On 17/01/18 14:23, Arne Zachlod wrote:

Specification:
- SoC: Atheros AR9342
- Flash: 8 MiB
- RAM: 64 MiB
- UART: 1x UART on PCB - 115200 8N1
- Ethernet: 1 x 100 Mbit with passive PoE (24V/0.2A)

Doesn't work:
* Flash via TFTP with Uiquiti Uboot

Installation via vendor firmware:
- upload factory image via webinterface

Signed-off-by: Arne Zachlod 
---
  target/linux/ar71xx/base-files/etc/board.d/01_leds |  4 ++
  .../linux/ar71xx/base-files/etc/board.d/02_network |  1 +
  target/linux/ar71xx/base-files/etc/diag.sh |  3 ++
  target/linux/ar71xx/base-files/lib/ar71xx.sh   |  3 ++
  .../ar71xx/base-files/lib/upgrade/platform.sh  |  1 +
  .../ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c| 58 ++
  .../linux/ar71xx/files/arch/mips/ath79/machtypes.h |  1 +
  target/linux/ar71xx/image/ubnt.mk  |  7 +++


this file does not exist. please fix/resend

    John



  8 files changed, 78 insertions(+)

diff --git a/target/linux/ar71xx/base-files/etc/board.d/01_leds 
b/target/linux/ar71xx/base-files/etc/board.d/01_leds
index 150ef91b48..ebdfb142d4 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/01_leds
+++ b/target/linux/ar71xx/base-files/etc/board.d/01_leds
@@ -363,6 +363,10 @@ hornet-ub-x2)
ucidef_set_led_wlan "wlan" "WLAN" "alfa:blue:wlan" "phy0tpt"
ucidef_set_led_usbdev "usb" "USB" "alfa:blue:usb" "1-1"
;;
+lbe-m5)
+   ucidef_set_led_netdev "lan" "LAN" "ubnt:green:lan" "eth0"
+   ucidef_set_led_wlan "wlan" "WLAN" "ubnt:green:wlan" "phy0tpt"
+   ;;
  mc-mac1200r)
ucidef_set_led_wlan "wlan2g" "WLAN2G" "mercury:green:wlan2g" "phy1tpt"
ucidef_set_led_wlan "wlan5g" "WLAN5G" "mercury:green:wlan5g" "phy0tpt"
diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network 
b/target/linux/ar71xx/base-files/etc/board.d/02_network
index fb61792bf4..86d6ffd91d 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/02_network
+++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
@@ -78,6 +78,7 @@ ar71xx_setup_interfaces()
fritz300e|\
gl-usb150|\
hiveap-121|\
+   lbe-m5|\
loco-m-xw|\
mr12|\
mr16|\
diff --git a/target/linux/ar71xx/base-files/etc/diag.sh 
b/target/linux/ar71xx/base-files/etc/diag.sh
index 5c60ebd6a8..5042e7a008 100644
--- a/target/linux/ar71xx/base-files/etc/diag.sh
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
@@ -236,6 +236,9 @@ get_status_led() {
jwap230)
status_led="$board:green:led1"
;;
+   lbe-m5)
+   status_led="ubnt:green:sys"
+   ;;
ls-sr71)
status_led="ubnt:green:d22"
;;
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh 
b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index b5440230a5..00a4acc6e0 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -711,6 +711,9 @@ ar71xx_board_detect() {
*"Lima"*)
name="lima"
;;
+   *"Litebeam M5"*)
+   name="lbe-m5"
+   ;;
*"Loco M XW")
name="loco-m-xw"
;;
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 
b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index ecf6820a2b..4e839f12c1 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -248,6 +248,7 @@ platform_check_image() {
hiwifi-hc6361|\
hornet-ub-x2|\
jwap230|\
+   lbe-m5|\
lima|\
loco-m-xw|\
mzk-w04nu|\
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c 
b/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c
index 55cf52d19e..8afb3ad054 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c
@@ -12,6 +12,7 @@
  
  #include 

  #include 
+#include 
  #include 
  #include 
  #include 
@@ -503,6 +504,60 @@ static void __init ubnt_loco_m_xw_setup(void)
ath79_register_eth(0);
  }
  
+#define UBNT_LBE_M5_GPIO_LED_LAN		13

+#define UBNT_LBE_M5_GPIO_LED_WLAN  14
+#define UBNT_LBE_M5_GPIO_LED_SYS   16
+
+static struct gpio_led ubnt_lbe_m5_leds_gpio[] __initdata = {
+   {
+   .name   = "ubnt:green:lan",
+   .gpio   = UBNT_LBE_M5_GPIO_LED_LAN,
+   .active_low = 1,
+   }, {
+   .name   = "ubnt:green:wlan",
+   .gpio   = UBNT_LBE_M5_GPIO_LED_WLAN,
+   .active_low = 1,
+   }, {
+   .name   = "ubnt:green:sys",
+   .gpio   = UBNT_LBE_M5_GPIO_LED_SYS,
+   .active_low = 1,
+   },
+};
+
+static void __init ubnt_lbe_m5_setup(void)
+{
+   u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff);
+
+   

[LEDE-DEV] [PATCH v2] ar71xx: add support for Ubiquiti Litebeam M5

2018-01-17 Thread Arne Zachlod
Specification:
- SoC: Atheros AR9342
- Flash: 8 MiB
- RAM: 64 MiB
- UART: 1x UART on PCB - 115200 8N1
- Ethernet: 1 x 100 Mbit with passive PoE (24V/0.2A)

Doesn't work:
* Flash via TFTP with Uiquiti Uboot

Installation via vendor firmware:
- upload factory image via webinterface

Signed-off-by: Arne Zachlod 
---
 target/linux/ar71xx/base-files/etc/board.d/01_leds |  4 ++
 .../linux/ar71xx/base-files/etc/board.d/02_network |  1 +
 target/linux/ar71xx/base-files/etc/diag.sh |  3 ++
 target/linux/ar71xx/base-files/lib/ar71xx.sh   |  3 ++
 .../ar71xx/base-files/lib/upgrade/platform.sh  |  1 +
 .../ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c| 58 ++
 .../linux/ar71xx/files/arch/mips/ath79/machtypes.h |  1 +
 target/linux/ar71xx/image/ubnt.mk  |  7 +++
 8 files changed, 78 insertions(+)

diff --git a/target/linux/ar71xx/base-files/etc/board.d/01_leds 
b/target/linux/ar71xx/base-files/etc/board.d/01_leds
index 150ef91b48..ebdfb142d4 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/01_leds
+++ b/target/linux/ar71xx/base-files/etc/board.d/01_leds
@@ -363,6 +363,10 @@ hornet-ub-x2)
ucidef_set_led_wlan "wlan" "WLAN" "alfa:blue:wlan" "phy0tpt"
ucidef_set_led_usbdev "usb" "USB" "alfa:blue:usb" "1-1"
;;
+lbe-m5)
+   ucidef_set_led_netdev "lan" "LAN" "ubnt:green:lan" "eth0"
+   ucidef_set_led_wlan "wlan" "WLAN" "ubnt:green:wlan" "phy0tpt"
+   ;;
 mc-mac1200r)
ucidef_set_led_wlan "wlan2g" "WLAN2G" "mercury:green:wlan2g" "phy1tpt"
ucidef_set_led_wlan "wlan5g" "WLAN5G" "mercury:green:wlan5g" "phy0tpt"
diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network 
b/target/linux/ar71xx/base-files/etc/board.d/02_network
index fb61792bf4..86d6ffd91d 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/02_network
+++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
@@ -78,6 +78,7 @@ ar71xx_setup_interfaces()
fritz300e|\
gl-usb150|\
hiveap-121|\
+   lbe-m5|\
loco-m-xw|\
mr12|\
mr16|\
diff --git a/target/linux/ar71xx/base-files/etc/diag.sh 
b/target/linux/ar71xx/base-files/etc/diag.sh
index 5c60ebd6a8..5042e7a008 100644
--- a/target/linux/ar71xx/base-files/etc/diag.sh
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
@@ -236,6 +236,9 @@ get_status_led() {
jwap230)
status_led="$board:green:led1"
;;
+   lbe-m5)
+   status_led="ubnt:green:sys"
+   ;;
ls-sr71)
status_led="ubnt:green:d22"
;;
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh 
b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index b5440230a5..00a4acc6e0 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -711,6 +711,9 @@ ar71xx_board_detect() {
*"Lima"*)
name="lima"
;;
+   *"Litebeam M5"*)
+   name="lbe-m5"
+   ;;
*"Loco M XW")
name="loco-m-xw"
;;
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh 
b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index ecf6820a2b..4e839f12c1 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -248,6 +248,7 @@ platform_check_image() {
hiwifi-hc6361|\
hornet-ub-x2|\
jwap230|\
+   lbe-m5|\
lima|\
loco-m-xw|\
mzk-w04nu|\
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c 
b/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c
index 55cf52d19e..8afb3ad054 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-ubnt-xm.c
@@ -12,6 +12,7 @@
 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -503,6 +504,60 @@ static void __init ubnt_loco_m_xw_setup(void)
ath79_register_eth(0);
 }
 
+#define UBNT_LBE_M5_GPIO_LED_LAN   13
+#define UBNT_LBE_M5_GPIO_LED_WLAN  14
+#define UBNT_LBE_M5_GPIO_LED_SYS   16
+
+static struct gpio_led ubnt_lbe_m5_leds_gpio[] __initdata = {
+   {
+   .name   = "ubnt:green:lan",
+   .gpio   = UBNT_LBE_M5_GPIO_LED_LAN,
+   .active_low = 1,
+   }, {
+   .name   = "ubnt:green:wlan",
+   .gpio   = UBNT_LBE_M5_GPIO_LED_WLAN,
+   .active_low = 1,
+   }, {
+   .name   = "ubnt:green:sys",
+   .gpio   = UBNT_LBE_M5_GPIO_LED_SYS,
+   .active_low = 1,
+   },
+};
+
+static void __init ubnt_lbe_m5_setup(void)
+{
+   u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff);
+
+   ath79_register_m25p80(NULL);
+
+   ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
+