Hi, > -----Original Message----- > From: openwrt-devel [mailto:openwrt-devel-boun...@lists.openwrt.org] > On Behalf Of Jan-Niklas Burfeind > Sent: Samstag, 14. August 2021 15:55 > To: openwrt-devel@lists.openwrt.org > Cc: open...@sebastianschaper.net; m...@david-bauer.net; Jan-Niklas > Burfeind > Subject: [PATCH v3] ath79: add support for onion omega
some inline comments below. > > The Onion Omega is a hardware development platform with built-in WiFi. > > https://onioniot.github.io/wiki/ > > Specifications: > - QCA9331 @ 400 MHz (MIPS 24Kc Big-Endian Processor) > - 64MB of DDR2 RAM running at 400 MHz > - 16MB of on-board flash storage > - Support for USB 2.0 > - Support for Ethernet at 100 Mbps > - 802.11b/g/n WiFi at 150 Mbps > - 18 digital GPIOs > - A single Serial UART > - Support for SPI > - Support for I2S > > Flash instructions: > The device is running OpenWrt upon release using the ar71xx target. > Both a sysupgrade > and uploading the factory image using u-boots web-UI do work fine. > > Depending on the ssh client, it might be necessary to enable outdated > KeyExchange methods e.g. in the clients ssh-config: > > Host 192.168.1.1 > KexAlgorithms +diffie-hellman-group1-sha1 > > The stock credentials are: root onioneer > > For u-boots web-UI manually configure `192.168.1.2/24` on your computer, > connect to `192.168.1.1`. > > MAC addresses as verified by OEM firmware: > 2G phy0 label > LAN eth0 label - 1 > > LAN is only available in combination with an optional expansion dock. > > Based on vendor acked commit: > commit 5cd49bb067ca ("ar71xx: add support for Onion Omega") > > Partly reverts: > commit fc553c7e4c8e ("ath79: drop unused/incomplete dts") > > Signed-off-by: Jan-Niklas Burfeind <g...@aiyionpri.me> > --- > kmod-usb-chipidea2 is now included as well as tested; usb devices are now > recognized. > > I added the usb vbus section, like the pisen wmm003n has it and verified the > gpio looking at the ar71xx commit. > > target/linux/ath79/dts/ar9331_onion_omega.dts | 137 > ++++++++++++++++++ > .../generic/base-files/etc/board.d/02_network | 1 + > target/linux/ath79/image/generic.mk | 13 ++ > 3 files changed, 151 insertions(+) > create mode 100644 target/linux/ath79/dts/ar9331_onion_omega.dts > > diff --git a/target/linux/ath79/dts/ar9331_onion_omega.dts > b/target/linux/ath79/dts/ar9331_onion_omega.dts > new file mode 100644 > index 0000000000..43a0b2f392 > --- /dev/null > +++ b/target/linux/ath79/dts/ar9331_onion_omega.dts > @@ -0,0 +1,137 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/input/input.h> > + > +#include "ar9331.dtsi" This include needs to be before the others. > + > +/ { > + model = "Onion Omega"; > + compatible = "onion,omega", "qca,ar9331"; > + > + aliases { > + serial0 = &uart; You could add "label-mac-device = &wmac" here if your commit message is correct. > + led-boot = &led_system; > + led-failsafe = &led_system; > + led-running = &led_system; > + led-upgrade = &led_system; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + led_system: system { > + label = "amber:system"; > + gpios = <&gpio 27 GPIO_ACTIVE_LOW>; > + }; > + }; > + > + keys { > + compatible = "gpio-keys"; > + poll-interval = <100>; Poll-interval can be dropped with "gpio-keys". > + > + reset { > + label = "reset"; > + linux,code = <KEY_RESTART>; > + gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; > + debounce-interval = <60>; > + }; > + }; > + > + reg_usb_vbus: reg_usb_vbus { > + compatible = "regulator-fixed"; > + regulator-name = "usb_vbus"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + gpio = <&gpio 8 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + }; > +}; > + > +&ref { > + clock-frequency = <25000000>; > +}; > + > +&gpio { > + status = "okay"; > +}; gpio is enabled by default, this block can be dropped. > + > +&usb { > + status = "okay"; > + > + vbus-supply = <®_usb_vbus>; > + dr_mode = "host"; > +}; > + > +&usb_phy { > + status = "okay"; > +}; > + > +ð0 { > + status = "okay"; > + > + compatible = "syscon", "simple-mfd"; > +}; > + > +ð1 { > + status = "okay"; > + > + nvmem-cells = <&macaddr_uboot_1fc00>; > + nvmem-cell-names = "mac-address"; > + mac-address-increment = <(-1)>; > + > + gmac-config { > + device = <&gmac>; > + switch-phy-addr-swap = <4>; > + switch-phy-swap = <4>; > + }; > +}; > + > +&spi { > + status = "okay"; > + > + flash@0 { > + compatible = "jedec,spi-nor"; > + spi-max-frequency = <25000000>; > + reg = <0>; > + > + partitions { > + compatible = "fixed-partitions"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + uboot: partition@0 { > + label = "u-boot"; > + reg = <0x000000 0x020000>; > + read-only; > + compatible = "nvmem-cells"; > + #address-cells = <1>; > + #size-cells = <1>; > + > + macaddr_uboot_1fc00: macaddr@1fc00 { > + reg = <0x1fc00 0x6>; > + }; > + }; It's common practice at the moment to put a separate block for defining the MAC addresses at the end of the file. Please do so, just look at any other DTS file in recent master. > + > + partition@20000 { > + compatible = "tplink,firmware"; > + label = "firmware"; > + reg = <0x020000 0xfd0000>; > + }; > + > + art: partition@ff0000 { > + label = "art"; > + reg = <0xff0000 0x010000>; > + read-only; > + }; > + }; > + }; > +}; > + > +&wmac { > + status = "okay"; > + > + mtd-cal-data = <&art 0x1000>; I personally prefer an empty line after mtd-cal-data. Best Adrian > + nvmem-cells = <&macaddr_uboot_1fc00>; > + nvmem-cell-names = "mac-address"; > +}; > 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 4fe7fbc027..b859c64633 100644 > --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network > +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network > @@ -45,6 +45,7 @@ ath79_setup_interfaces() > netgear,ex7300|\ > ocedo,koala|\ > ocedo,raccoon|\ > + onion,omega|\ > openmesh,mr600-v1|\ > openmesh,mr600-v2|\ > openmesh,mr900-v1|\ > diff --git a/target/linux/ath79/image/generic.mk > b/target/linux/ath79/image/generic.mk > index 2abe1b7307..6e9ff01cc0 100644 > --- a/target/linux/ath79/image/generic.mk > +++ b/target/linux/ath79/image/generic.mk > @@ -1653,6 +1653,19 @@ define Device/ocedo_ursus endef > TARGET_DEVICES += ocedo_ursus > > +define Device/onion_omega > + $(Device/tplink-16mlzma) > + SOC := ar9331 > + DEVICE_VENDOR := Onion > + DEVICE_MODEL := Omega > + DEVICE_PACKAGES := kmod-usb-chipidea2 > + SUPPORTED_DEVICES += onion-omega > + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma > + IMAGE_SIZE := 16192k > + TPLINK_HWID := 0x04700001 > +endef > +TARGET_DEVICES += onion_omega > + > define Device/openmesh_common_64k > DEVICE_VENDOR := OpenMesh > DEVICE_PACKAGES := uboot-envtools > -- > 2.32.0 > > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
openpgp-digital-signature.asc
Description: PGP signature
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel