[OpenWrt-Devel] [PATCH RFC v2] ath79: add support for the ar7240 version of the ubiquiti bullet
Russell Senior
russell at personaltelco.net
Sat Feb 29 07:10:52 EST 2020
This is actually broken in a few minor ways. I'll be following up with a
fixed up v3 shortly.
On Sat, Feb 29, 2020 at 3:36 AM Russell Senior <russell at personaltelco.net>
wrote:
>
> The Ubiquiti Bullet M2HP come in two flavors, based on ar7240 and
> ar7241. Both are supported by ar71xx, despite the different SoCs. The
> ath79 target, however, currently supports only the ar7241. The ar7240
> version apparently has a differently wired ethernet interface and the
> ar7241-based image comes up on the ar7240-based versions without a
> working ethernet interface.
>
> This is an attempt to support both flavors of ubnt-bullet-m,
> separately.
>
> Changes since v1:
>
> * renamed -v0 and -v1 to -ar7240 and -ar7241, respectively, as
> suggested.
>
> * abstracted ar7241_ubnt_outdoor-xm.dtsi to ar724x_ubnt_outdoor-xm.dtsi,
> so that it could be shared between ar7240 and ar7241. Included the new
> ar724x file in the terminal dts files rather than chain them.
>
>
> There is a further opportunity to share a
> target/linux/ath79/dts/ar724x_ubnt_xm.dtsi file, as
> target/linux/ath79/dts/ar7240_ubnt_xm.dtsi and
> target/linux/ath79/dts/ar7241_ubnt_xm.dtsi differ in one line only.
>
> Interested in feedback.
>
> Tested on the AR7240 flavor.
>
> Signed-off-by: Russell Senior <russell at personaltelco.net>
>
>
> ---
> .../ath79/dts/ar7240_ubnt_bullet-m-ar7240.dts | 21 ++++
> target/linux/ath79/dts/ar7240_ubnt_xm.dtsi | 99 +++++++++++++++++++
> ...-m.dts => ar7241_ubnt_bullet-m-ar7241.dts} | 1 +
> ...tdoor.dtsi => ar724x_ubnt_xm_outdoor.dtsi} | 2 -
> .../generic/base-files/etc/board.d/01_leds | 3 +-
> .../generic/base-files/etc/board.d/02_network | 3 +-
> .../etc/hotplug.d/firmware/10-ath9k-eeprom | 3 +-
> target/linux/ath79/image/generic-ubnt.mk | 17 +++-
> 8 files changed, 140 insertions(+), 9 deletions(-)
> create mode 100644 target/linux/ath79/dts/ar7240_ubnt_bullet-m-ar7240.dts
> create mode 100644 target/linux/ath79/dts/ar7240_ubnt_xm.dtsi
> rename target/linux/ath79/dts/{ar7241_ubnt_bullet-m.dts =>
> ar7241_ubnt_bullet-m-ar7241.dts} (88%)
> rename target/linux/ath79/dts/{ar7241_ubnt_xm_outdoor.dtsi =>
> ar724x_ubnt_xm_outdoor.dtsi} (94%)
>
> diff --git a/target/linux/ath79/dts/ar7240_ubnt_bullet-m-ar7240.dts
> b/target/linux/ath79/dts/ar7240_ubnt_bullet-m-ar7240.dts
> new file mode 100644
> index 0000000000..5fb24b36c8
> --- /dev/null
> +++ b/target/linux/ath79/dts/ar7240_ubnt_bullet-m-ar7240.dts
> @@ -0,0 +1,21 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/dts-v1/;
> +
> +#include "ar7240_ubnt_xm.dtsi"
> +#include "ar724x_ubnt_xm_outdoor.dtsi"
> +
> +/ {
> + compatible = "ubnt,bullet-m-ar7240", "ubnt,xm", "qca,ar7240";
> + model = "Ubiquiti Bullet M AR7240";
> +};
> +
> +ð0 {
> + fixed-link {
> + speed = <100>;
> + full-duplex;
> + };
> +};
> +
> +ð1 {
> + compatible = "syscon", "simple-mfd";
> +};
> diff --git a/target/linux/ath79/dts/ar7240_ubnt_xm.dtsi
> b/target/linux/ath79/dts/ar7240_ubnt_xm.dtsi
> new file mode 100644
> index 0000000000..7165ce5668
> --- /dev/null
> +++ b/target/linux/ath79/dts/ar7240_ubnt_xm.dtsi
> @@ -0,0 +1,99 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +#include "ar7240.dtsi"
> +
> +/ {
> + compatible = "ubnt,xm", "qca,ar7240";
> + model = "Ubiquiti Networks XM (rev 1.0) board";
> +
> + keys {
> + compatible = "gpio-keys";
> +
> + reset {
> + linux,code = <KEY_RESTART>;
> + gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
> + debounce-interval = <60>;
> + };
> + };
> +};
> +
> +&uart {
> + status = "okay";
> +};
> +
> +&spi {
> + status = "okay";
> +
> + num-cs = <1>;
> +
> + flash at 0 {
> + compatible = "jedec,spi-nor";
> + reg = <0>;
> + spi-max-frequency = <25000000>;
> +
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition at 0 {
> + label = "u-boot";
> + reg = <0x000000 0x040000>;
> + read-only;
> + };
> +
> + partition at 40000 {
> + label = "u-boot-env";
> + reg = <0x040000 0x010000>;
> + };
> +
> + partition at 50000 {
> + compatible = "denx,uimage";
> + label = "firmware";
> + reg = <0x050000 0x750000>;
> + };
> +
> + partition at 7a0000 {
> + label = "board_config";
> + reg = <0x7a0000 0x010000>;
> + read-only;
> + };
> +
> + partition at 7b0000 {
> + label = "cfg";
> + reg = <0x7b0000 0x040000>;
> + read-only;
> + };
> +
> + art: partition at 7f0000 {
> + label = "art";
> + reg = <0x7f0000 0x010000>;
> + read-only;
> + };
> + };
> + };
> +};
> +
> +&pcie {
> + status = "okay";
> +
> + wifi: wifi at 0,0 {
> + reg = <0x0000 0 0 0 0>;
> + qca,no-eeprom;
> + };
> +};
> +
> +ð0 {
> + status = "okay";
> +
> + mtd-mac-address = <&art 0x0>;
> +};
> +
> +ð1 {
> + status = "okay";
> +
> + mtd-mac-address = <&art 0x6>;
> +};
> diff --git a/target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts
> b/target/linux/ath79/dts/ar7241_ubnt_bullet-m-ar7241.dts
> similarity index 88%
> rename from target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts
> rename to target/linux/ath79/dts/ar7241_ubnt_bullet-m-ar7241.dts
> index e16b5fa0be..dec97ab6d8 100644
> --- a/target/linux/ath79/dts/ar7241_ubnt_bullet-m.dts
> +++ b/target/linux/ath79/dts/ar7241_ubnt_bullet-m-ar7241.dts
> @@ -1,6 +1,7 @@
> // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> /dts-v1/;
>
> +#include "ar7241_ubnt_xm.dtsi"
> #include "ar7241_ubnt_xm_outdoor.dtsi"
>
> / {
> diff --git a/target/linux/ath79/dts/ar7241_ubnt_xm_outdoor.dtsi
> b/target/linux/ath79/dts/ar724x_ubnt_xm_outdoor.dtsi
> similarity index 94%
> rename from target/linux/ath79/dts/ar7241_ubnt_xm_outdoor.dtsi
> rename to target/linux/ath79/dts/ar724x_ubnt_xm_outdoor.dtsi
> index 75116edc51..a28f8fbcd4 100644
> --- a/target/linux/ath79/dts/ar7241_ubnt_xm_outdoor.dtsi
> +++ b/target/linux/ath79/dts/ar724x_ubnt_xm_outdoor.dtsi
> @@ -1,7 +1,5 @@
> // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
>
> -#include "ar7241_ubnt_xm.dtsi"
> -
> / {
> aliases {
> led-boot = &led_link4;
> diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds
> b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
> index 6668e15a74..857d607668 100755
> --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds
> +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
> @@ -242,7 +242,8 @@ tplink,tl-wr842n-v2)
> trendnet,tew-823dru)
> ucidef_set_led_netdev "wan" "WAN" "trendnet:green:planet" "eth0"
> ;;
> -ubnt,bullet-m|\
> +ubnt,bullet-m-ar7240|\
> +ubnt,bullet-m-ar7241|\
> ubnt,bullet-m-xw|\
> ubnt,nanostation-loco-m|\
> ubnt,nanostation-loco-m-xw|\
> diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network
> b/target/linux/ath79/generic/base-files/etc/board.d/02_network
> index ef58d9e124..3a1f3d733b 100755
> --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
> +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
> @@ -41,7 +41,8 @@ ath79_setup_interfaces()
> tplink,re450-v1|\
> tplink,re450-v2|\
> tplink,tl-wr902ac-v1|\
> - ubnt,bullet-m|\
> + ubnt,bullet-m-ar7240|\
> + ubnt,bullet-m-ar7241|\
> ubnt,bullet-m-xw|\
> ubnt,lap-120|\
> ubnt,litebeam-ac-gen2|\
> diff --git
> a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
> b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
> index 96f9d5c0d2..d90abe2981 100644
> ---
> a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
> +++
> b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
> @@ -89,7 +89,8 @@ case "$FIRMWARE" in
> tplink,tl-wr2543-v1|\
> tplink,tl-wr842n-v1|\
> ubnt,airrouter|\
> - ubnt,bullet-m|\
> + ubnt,bullet-m-ar7240|\
> + ubnt,bullet-m-ar7241|\
> ubnt,nanostation-loco-m|\
> ubnt,nanostation-m|\
> ubnt,picostation-m|\
> diff --git a/target/linux/ath79/image/generic-ubnt.mk
> b/target/linux/ath79/image/generic-ubnt.mk
> index a4aff09fec..44ce4d9b06 100644
> --- a/target/linux/ath79/image/generic-ubnt.mk
> +++ b/target/linux/ath79/image/generic-ubnt.mk
> @@ -113,13 +113,22 @@ define Device/ubnt_airrouter
> endef
> TARGET_DEVICES += ubnt_airrouter
>
> -define Device/ubnt_bullet-m
> +define Device/ubnt_bullet-m-ar7240
> $(Device/ubnt-xm)
> - DEVICE_MODEL := Bullet-M
> + SOC := ar7240
> + DEVICE_MODEL := Bullet-M AR7240
> DEVICE_PACKAGES += rssileds
> - SUPPORTED_DEVICES += bullet-m
> + SUPPORTED_DEVICES += bullet-m-ar7240
> +endef
> +TARGET_DEVICES += ubnt_bullet-m-ar7240
> +
> +define Device/ubnt_bullet-m-ar7241
> + $(Device/ubnt-xm)
> + DEVICE_MODEL := Bullet-M AR7241
> + DEVICE_PACKAGES += rssileds
> + SUPPORTED_DEVICES += bullet-m-ar7241
> endef
> -TARGET_DEVICES += ubnt_bullet-m
> +TARGET_DEVICES += ubnt_bullet-m-ar7241
>
> define Device/ubnt_bullet-m-xw
> $(Device/ubnt-xw)
> --
> 2.25.1
>
>
> --
> Russell Senior, President
> russell at personaltelco.net
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20200229/bf054627/attachment.htm>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list