Re: [OpenWrt-Devel] [PATCH] ath79: Add support for ZBT-WD323

2019-05-31 Thread Petr Štetiar
Kristian Evensen  [2019-05-20 20:07:32]:

Hi,

> +zbtlink,zbt-wd323)
> + ucidef_set_led_wlan "wlan" "WLAN" "$boardname:green:wifi" "phy0tpt"
> + ;;
>  esac

Please add this trigger to the DTS.

> +#include "ar9344.dtsi"
> + compatible = "zbtlink,zbt-wd323", "qca,ar9334";

Is it really ar9334 ?

> + aliases {
> + serial0 = 
> + };

Why do you need this alias? Does it work without it? ar9344 has ns16550a UART
which doesn't need this alias.

> + keys {
> + compatible = "gpio-keys-polled";

Does it work for you with "gpio-keys" compatible? It's interrupt driven, so
should be preferred.

-- ynezz

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] ath79: Add support for ZBT-WD323

2019-05-20 Thread Kristian Evensen
ZBT-WD323 is a dual-LTE router based on AR9344. The detailed
specifications are:

* AR9344 560MHz/450MHz/225MHz (CPU/DDR/AHN).
* 128 MB RAM
* 16MB of flash(SPI-NOR, 22MHz)
* 1x 2.4GHz wifi (Atheros AR9340)
* 3x 10/100Mbos Ethernet (AR8229)
* 1x USB2.0 port
* 2x miniPCIe-slots (USB2.0 only)
* 2x SIM slots (standard size)
* 4x LEDs (1 gpio controlled)
* 1x reset button
* 1x 10 pin terminal block (RS232, RS485, 4x GPIO)
* 2x CP210x UART bridge controllers (used for RS232 and RS485)
* 1x 2 pin 5mm industrial interface (input voltage 12V~36V)
* 1x DC jack
* 1x RTC (PCF8563)

Tested:
- Ethernet switch
- Wifi
- USB port
- MiniPCIe-slots (+ SIM slots)
- Sysupgrade
- Reset button
- RS232

Intallation and recovery:

The board ships with OpenWRT, but sysupgrade does not work as a
different firmware format than what is expected is generated.  The
easiest way to install (and recover) the router, is to use the
web-interface provided by the bootloader (Breed).

While the interface is in Chinese, it is easy to use. First, in order to
access the interface, you need to hold down the reset button for around
five seconds. Then, go to 192.168.1.1 in your browser. Click on the
second item in the list on the left to access the recovery page. The
second item on the next page is where you select the firmware.  Select
the menu item containing "Atheros SDK" and "16MB" in the dropdown close
to the buttom, and click on the button at the bottom to start
installation/recovery.

Notes:
* RS232 is available on /dev/ttyUSB0 and RS485 on /dev/ttyUSB1

Signed-off-by: Kristian Evensen 
---
 .../ath79/base-files/etc/board.d/01_leds  |   3 +
 .../ath79/base-files/etc/board.d/02_network   |   1 +
 .../base-files/etc/board.d/03_gpio_switches   |   6 +
 .../ath79/dts/ar9344_zbtlink_zbt-wd323.dts| 148 ++
 target/linux/ath79/image/generic.mk   |   9 ++
 5 files changed, 167 insertions(+)
 create mode 100644 target/linux/ath79/dts/ar9344_zbtlink_zbt-wd323.dts

diff --git a/target/linux/ath79/base-files/etc/board.d/01_leds 
b/target/linux/ath79/base-files/etc/board.d/01_leds
index 69e26a4773..48a5f2394b 100755
--- a/target/linux/ath79/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/base-files/etc/board.d/01_leds
@@ -210,6 +210,9 @@ yuncore,a770)
ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0"
ucidef_set_led_switch "lan" "LAN" "$boardname:green:lan" "switch0" 
"0x10"
;;
+zbtlink,zbt-wd323)
+   ucidef_set_led_wlan "wlan" "WLAN" "$boardname:green:wifi" "phy0tpt"
+   ;;
 esac
 
 board_config_flush
diff --git a/target/linux/ath79/base-files/etc/board.d/02_network 
b/target/linux/ath79/base-files/etc/board.d/02_network
index 7b89274ccf..df32e58baf 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -257,6 +257,7 @@ ath79_setup_interfaces()
ucidef_add_switch "switch0" \
"0@eth0" "5:lan" "1:wan"
;;
+   zbtlink,zbt-wd323|\
xiaomi,mi-router-4q)
ucidef_set_interface_wan "eth0"
ucidef_add_switch "switch0" \
diff --git a/target/linux/ath79/base-files/etc/board.d/03_gpio_switches 
b/target/linux/ath79/base-files/etc/board.d/03_gpio_switches
index 6a51a79790..1c8a46df19 100755
--- a/target/linux/ath79/base-files/etc/board.d/03_gpio_switches
+++ b/target/linux/ath79/base-files/etc/board.d/03_gpio_switches
@@ -29,6 +29,12 @@ ubnt,nanostation-ac)
 ubnt,acb-isp)
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "11"
;;
+zbtlink,zbt-wd323)
+   ucidef_add_gpio_switch "io0" "IO#0" "0"
+   ucidef_add_gpio_switch "io1" "IO#1" "1"
+   ucidef_add_gpio_switch "io2" "IO#2" "2"
+   ucidef_add_gpio_switch "io14" "IO#14" "14"
+   ;;
 esac
 
 board_config_flush
diff --git a/target/linux/ath79/dts/ar9344_zbtlink_zbt-wd323.dts 
b/target/linux/ath79/dts/ar9344_zbtlink_zbt-wd323.dts
new file mode 100644
index 00..df67783952
--- /dev/null
+++ b/target/linux/ath79/dts/ar9344_zbtlink_zbt-wd323.dts
@@ -0,0 +1,148 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include 
+#include 
+
+#include "ar9344.dtsi"
+
+/ {
+   model = "ZBT WD323";
+   compatible = "zbtlink,zbt-wd323", "qca,ar9334";
+
+   aliases {
+   serial0 = 
+   };
+
+   keys {
+   compatible = "gpio-keys-polled";
+   poll-interval = <20>;
+
+   reset {
+   label = "reset";
+   gpios = < 16 GPIO_ACTIVE_HIGH>;
+   linux,code = ;
+   };
+   };
+
+   i2c {
+   compatible = "i2c-gpio";
+   gpios = < 19 GPIO_ACTIVE_LOW
+ 15 GPIO_ACTIVE_LOW
+   >;
+   #address-cells = <1>;
+   #size-cells = <0>;
+
+   pinctrl-names = "default";
+   pinctrl-0 =