Hi,
Answer below.

W dniu 2021-08-22 o 21:29, Mike Bernardo pisze:
Hi All,

Thanks Jan-Niklas for working on this! I am trying to test this on my onion 
omega2+ (in the arduino dock) .. consoled in via a TTL serial adapter and I 
tried doing a forced sysupgrade to 
openwrt-ath79-generic-onion_omega-squashfs-sysupgrade.bin which I built by 
applying the patch to v21.02.0-rc4 (134ac824c5a154edbbe1c581bcbc42d265dc20c0). 
I tried forcing after sysupgrade said that it didn't support omega2p .. now it 
won't boot, any ideas? Boot attempt below.

Note that the below is after I tried flashing 
openwrt-ath79-generic-onion_omega-squashfs-factory.bin via usb (filename 
omega2.bin put on a FAT16 filesystem and you select usb flash in the menu after 
tapping the reset button on powerup. Failing with the same message though.

--

Board: Onion Omega2 APSoC DRAM:  128 MB
relocate_code Pointer at: 87f60000
******************************
Software System Reset Occurred
******************************
flash manufacture id: c2, device id 20 19
find flash: MX25L25635E
*** Warning - bad CRC, using default environment

============================================
Onion Omega2 UBoot Version: 4.3.0.3
--------------------------------------------
ASIC 7628_MP (Port5<->None)
DRAM component: 1024 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 128 MBytes
Flash component: SPI Flash
Date:Oct 18 2016  Time:17:29:05
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768
CPU freq = 575 MHZ
Estimated memory size = 128 Mbytes
Resetting MT7628 PHY.
Initializing MT7688 GPIO system.


**************************************
* Hold Reset button for more options *
**************************************



Boot Linux from Flash NO RESET PRESSED.
## Booting image at bc050000 ...
Bad Magic Number,01000000

Long story short, you tried loading an image for ath79 architecture (QCA9331 in this case) on an MT7628 board. You probably need to use U-boot console to flash correct image for your device over TFTP.


On 2021/08/22, at 07:18:32 CDT (-05:00), Adrian Schmutzler 
<m...@adrianschmutzler.de> wrote:

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 = <&reg_usb_vbus>;
+       dr_mode = "host";
+};
+
+&usb_phy {
+       status = "okay";
+};
+
+&eth0 {
+       status = "okay";
+
+       compatible = "syscon", "simple-mfd";
+};
+
+&eth1 {
+       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
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

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


--
Pozdrawiam,
Lech Perczak
lech.perc...@gmail.com
Mobile: +48 694 309 185


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

Reply via email to