[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";
> +};
> +
> +&eth0 {
> +       fixed-link {
> +               speed = <100>;
> +               full-duplex;
> +       };
> +};
> +
> +&eth1 {
> +       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;
> +       };
> +};
> +
> +&eth0 {
> +       status = "okay";
> +
> +       mtd-mac-address = <&art 0x0>;
> +};
> +
> +&eth1 {
> +       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