[LEDE-DEV] [PATCH] ar71xx: add support for Ubiquiti Litebeam M5
Arne Zachlod
arne at nerdkeller.org
Wed Jan 17 01:29:32 PST 2018
Hi John,
I ordered the device between the already existing bullet and the
rocket-ti. To me this looks like the order already in place and the
right spot because it is alphabetical for the manufacturer. In case that
this is not the right thing to do maybe we should refactor the whole
file, because at the moment it looks like its ordered per manufacturer
and then alphabetical for that manufacturer.
Bye
Arne
On 01/17/2018 10:06 AM, John Crispin wrote:
>
>
> On 16/01/18 21:43, 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 <arne at nerdkeller.org>
>
> Hi Arne,
>
> comments inline ...
>
>> ---
>> target/linux/ar71xx/base-files/etc/board.d/01_leds | 5 ++
>> .../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, 79 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 e5baa90db8..79fc8ec5e2 100755
>> --- a/target/linux/ar71xx/base-files/etc/board.d/01_leds
>> +++ b/target/linux/ar71xx/base-files/etc/board.d/01_leds
>> @@ -147,6 +147,11 @@ rocket-m-xw)
>> ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH"
>> "ubnt:green:link3" "wlan0" "51" "100" "-50" "13"
>> ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "ubnt:green:link4"
>> "wlan0" "76" "100" "-75" "13"
>> ;;
>> +lbe-m5)
>> + ucidef_set_led_netdev "lan" "LAN" "ubnt:green:lan" "eth0"
>> + ucidef_set_led_wlan "wlan" "WLAN" "ubnt:green:wlan" "phy0tpt"
>> + ucidef_set_led_default "sys" "SYS" "ubnt:green:sys" "1"
>> + ;;
>
> alphabetical ordering please
>
>> rocket-m-ti)
>> ucidef_set_led_rssi "rssiverylow" "RSSIVERYLOW"
>> "ubnt:green:link1" "wlan0" "1" "100" "0" "13"
>> ucidef_set_led_rssi "rssilow" "RSSILOW" "ubnt:green:link2"
>> "wlan0" "26" "100" "-25" "13"
>> 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 6cbb3576d8..f37541c75f 100644
>> --- a/target/linux/ar71xx/base-files/etc/diag.sh
>> +++ b/target/linux/ar71xx/base-files/etc/diag.sh
>> @@ -103,6 +103,9 @@ get_status_led() {
>> rocket-m-xw)
>> status_led="ubnt:green:link4"
>> ;;
>> + lbe-m5)
>> + status_led="ubnt:green:sys"
>> + ;;
>
>
> alphabetical ordering please
>> rocket-m-ti)
>> status_led="ubnt:green:link6"
>> ;;
>> 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 <linux/init.h>
>> #include <linux/pci.h>
>> +#include <linux/gpio.h>
>> #include <linux/platform_device.h>
>> #include <linux/ath9k_platform.h>
>> #include <linux/etherdevice.h>
>> @@ -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(0x1fff0000);
>> +
>> + ath79_register_m25p80(NULL);
>> +
>> + ath79_register_wmac(eeprom + UAP_PRO_WMAC_CALDATA_OFFSET, NULL);
>> + ap91_pci_init(eeprom + UAP_PRO_PCI_CALDATA_OFFSET, NULL);
>> +
>> + ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_lbe_m5_leds_gpio),
>> + ubnt_lbe_m5_leds_gpio);
>> + ath79_register_gpio_keys_polled(-1, UBNT_XM_KEYS_POLL_INTERVAL,
>> + ARRAY_SIZE(ubnt_xm_gpio_keys),
>> + ubnt_xm_gpio_keys);
>> +
>> + ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_MII_GMAC0 |
>> + AR934X_ETH_CFG_MII_GMAC0_SLAVE);
>> + ath79_init_mac(ath79_eth0_data.mac_addr,
>> + eeprom + UAP_PRO_MAC0_OFFSET, 0);
>> +
>> + ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
>> + ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
>> +
>> + gpio_request_one(0, GPIOF_OUT_INIT_LOW | GPIOF_ACTIVE_LOW |
>> + GPIOF_EXPORT_DIR_FIXED, "SPI nWP");
>> +
>> + mdiobus_register_board_info(ubnt_loco_m_xw_mdio_info,
>> + ARRAY_SIZE(ubnt_loco_m_xw_mdio_info));
>> +
>> + ath79_register_mdio(0, ~BIT(1));
>> + ath79_eth0_data.phy_mask = BIT(1);
>> + ath79_register_eth(0);
>> +}
>> +
>> static void __init ubnt_rocket_m_xw_setup(void)
>> {
>> u8 *eeprom = (u8 *) KSEG1ADDR(0x1fff0000);
>> @@ -590,6 +645,9 @@ static void __init ubnt_rocket_m_ti_setup(void)
>> MIPS_MACHINE(ATH79_MACH_UBNT_NANO_M_XW, "UBNT-NM-XW", "Ubiquiti
>> Nanostation M XW",
>> ubnt_nano_m_xw_setup);
>> +MIPS_MACHINE(ATH79_MACH_UBNT_LBE_M5, "UBNT-LBE-M5", "Ubiquiti
>> Litebeam M5",
>> + ubnt_lbe_m5_setup);
>> +
>> MIPS_MACHINE(ATH79_MACH_UBNT_LOCO_M_XW, "UBNT-LOCO-XW", "Ubiquiti
>> Loco M XW",
>> ubnt_loco_m_xw_setup);
>> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
>> b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
>> index 0f536f0ec5..18604c7d00 100644
>> --- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
>> +++ b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
>> @@ -282,6 +282,7 @@ enum ath79_mach_type {
>> ATH79_MACH_UBNT_AIRGWP, /* Ubiquiti AirGateway Pro */
>> ATH79_MACH_UBNT_AIRROUTER, /* Ubiquiti AirRouter */
>> ATH79_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */
>> + ATH79_MACH_UBNT_LBE_M5, /* Ubiquiti Litebeam M5 */
>> ATH79_MACH_UBNT_LOCO_M_XW, /* Ubiquiti Loco M XW */
>> ATH79_MACH_UBNT_LSSR71, /* Ubiquiti LS-SR71 */
>> ATH79_MACH_UBNT_LSX, /* Ubiquiti LSX */
>> diff --git a/target/linux/ar71xx/image/ubnt.mk
>> b/target/linux/ar71xx/image/ubnt.mk
>> index 2735c7491d..d24afc21be 100644
>> --- a/target/linux/ar71xx/image/ubnt.mk
>> +++ b/target/linux/ar71xx/image/ubnt.mk
>> @@ -157,6 +157,13 @@ define Device/ubnt-nano-m-xw
>> endef
>> TARGET_DEVICES += ubnt-nano-m-xw
>> +define Device/ubnt-lbe-m5
>> + $(Device/ubnt-xw)
>> + DEVICE_TITLE := Ubiquiti Litebeam M5
>> + BOARDNAME := UBNT-LBE-M5
>> +endef
>> +TARGET_DEVICES += ubnt-lbe-m5
>> +
>> define Device/ubnt-loco-m-xw
>> $(Device/ubnt-xw)
>> DEVICE_TITLE := Ubiquiti Loco XW
>
>
> _______________________________________________
> Lede-dev mailing list
> Lede-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
More information about the Lede-dev
mailing list