[OpenWrt-Devel] [PATCH] ramips: add support for Northbound Networks Zodiac GX
Yousong Zhou
yszhou4tech at gmail.com
Tue Aug 20 11:57:42 EDT 2019
On Tue, 20 Aug 2019 at 23:38, <mail at adrianschmutzler.de> wrote:
>
> Hi,
>
> > -----Original Message-----
> > From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
> > On Behalf Of Yousong Zhou
> > Sent: Dienstag, 20. August 2019 15:52
> > To: john at phrozen.org
> > Cc: Yousong Zhou <yszhou4tech at gmail.com>; openwrt-
> > devel at lists.openwrt.org; paul at northboundnetworks.com
> > Subject: [OpenWrt-Devel] [PATCH] ramips: add support for Northbound
> > Networks Zodiac GX
> >
> > Hardware spec
> >
> > - MT7621A dual-core 880MHz
> > - 16MB Flash
> > - 256MB RAM
> > - 5 GbE ports
> >
> > Vendor device page: https://northboundnetworks.com/products/zodiac-gx
> >
> > Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
> > ---
> > .../ramips/base-files/etc/board.d/02_network | 1 +
> > .../dts/mt7621_northbound_zodiac-gx.dts | 97 +++++++++++++++++++
> > target/linux/ramips/image/mt7621.mk | 9 ++
> > 3 files changed, 107 insertions(+)
> > create mode 100644 target/linux/ramips/dts/mt7621_northbound_zodiac-
> > gx.dts
> >
> > diff --git a/target/linux/ramips/base-files/etc/board.d/02_network
> > b/target/linux/ramips/base-files/etc/board.d/02_network
> > index c0de9d4e50..2e3e5fbba7 100755
> > --- a/target/linux/ramips/base-files/etc/board.d/02_network
> > +++ b/target/linux/ramips/base-files/etc/board.d/02_network
> > @@ -392,6 +392,7 @@ ramips_setup_interfaces()
> > "0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6 at eth0"
> > ;;
> > linksys,re6500)
>
> should be "|\" instead of ")" here?
Good catch.
>
> > + northbound,zodiac-gx)
> > ucidef_add_switch "switch0" \
> > "0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6 at eth0"
> > ;;
>
> Above you say "5 ports", these are only four ...?
Indeed. Will dig deeper to find better fit.
The device was designed to be used as a switch. So I was searching
for the line containing only "lan"
>
> > diff --git a/target/linux/ramips/dts/mt7621_northbound_zodiac-gx.dts
> > b/target/linux/ramips/dts/mt7621_northbound_zodiac-gx.dts
> > new file mode 100644
> > index 0000000000..51f2298d06
> > --- /dev/null
> > +++ b/target/linux/ramips/dts/mt7621_northbound_zodiac-gx.dts
> > @@ -0,0 +1,97 @@
> > +/dts-v1/;
> > +
> > +#include "mt7621.dtsi"
> > +
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/input/input.h>
> > +
> > +/ {
> > + compatible = "northbound,zodiac-gx", "mediatek,mt7621-soc";
> > + model = "Zodiac GX";
>
> Maybe include "Northbound" here, too.
Maybe I should just use the full name "Northbound Networks". It's a
bit long but should be fine.
>
> > +
> > + aliases {
> > + led-boot = &led_status;
> > + led-failsafe = &led_status;
> > + led-running = &led_status;
> > + led-upgrade = &led_status;
> > + };
> > +
> > + chosen {
> > + bootargs = "console=ttyS0,57600";
> > + };
> > +
> > + leds {
> > + compatible = "gpio-leds";
> > +
> > + led_status: status {
> > + label = "zodiac:green:status";
> > + gpios = <&gpio0 15 1>;
> > + };
> > + };
> > +
> > + gpio-keys-polled {
> > + compatible = "gpio-keys-polled";
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + poll-interval = <20>;
>
> Maybe try "gpio-keys" here, or is there a reason for the polled keys?
This line I just copied from other dts files. Will change and test.
>
> > +
> > + reset {
> > + label = "reset";
> > + gpios = <&gpio0 18 1>;
> > + linux,code = <KEY_RESTART>;
> > + };
> > + };
> > +};
> > +
> > +&spi0 {
> > + status = "okay";
> > +
> > + m25p80 at 0 {
> > + compatible = "jedec,spi-nor";
> > + reg = <0>;
> > + spi-max-frequency = <10000000>;
>
> Maybe try to increase frequency here.
Ditto. Can you share some instructions on how to decide a higher
value? Or which high values are available and safe to try?
>
> > +
> > + partitions {
> > + compatible = "fixed-partitions";
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > +
> > + partition at 0 {
> > + label = "u-boot";
> > + reg = <0x0 0x30000>;
> > + read-only;
> > + };
> > +
> > + partition at 30000 {
> > + label = "u-boot-env";
> > + reg = <0x30000 0x10000>;
> > + read-only;
> > + };
> > +
> > + factory: partition at 40000 {
> > + label = "factory";
> > + reg = <0x40000 0x10000>;
> > + read-only;
> > + };
> > +
> > + partition at 50000 {
> > + compatible = "denx,uimage";
> > + label = "firmware";
> > + reg = <0x50000 0xfb0000>;
> > + };
> > + };
> > + };
> > +};
> > +
> > +ðernet {
> > + mtd-mac-address = <&factory 0xe000>;
>
> If this really is a five port device, it would be nice to check for a WAN MAC address in 0xe006 and then read it from flash in 02_network (there should a node for that already).
All ports are supposed to be ordinary switch ports. No wan/lan
distinction by default.
>
> > +};
> > +
> > +&pinctrl {
> > + state_default: pinctrl0 {
> > + gpio {
> > + ralink,group = "wdt", "rgmii2", "jtag", "mdio";
> > + ralink,function = "gpio";
> > + };
> > + };
> > +};
> > diff --git a/target/linux/ramips/image/mt7621.mk
> > b/target/linux/ramips/image/mt7621.mk
> > index d32feb7eab..e52b1eba19 100644
> > --- a/target/linux/ramips/image/mt7621.mk
> > +++ b/target/linux/ramips/image/mt7621.mk
> > @@ -464,6 +464,15 @@ define Device/netis_wf-2881 endef
> > TARGET_DEVICES += netis_wf-2881
> >
> > +define Device/northbound_zodiac-gx
> > + MTK_SOC := mt7621
> > + IMAGE_SIZE := 16064k
> > + DEVICE_VENDOR := Northbound Networks
> > + DEVICE_MODEL := Zodiac GX
> > + SUPPORTED_DEVICES += zodiac-gx
>
> SUPPORTED_DEVICES can be dropped.
I remembered OEM firmware sysupgrade checks for "zodiac-gx" and erred
when this line was absent.
>
> Best
>
> Adrian
Thanks for the review, Adrian
Regards,
yousong
_______________________________________________
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