Re: [PATCH v2] ath79: add support for onion omega

2021-08-15 Thread Tomasz Maciej Nowak
W dniu 15.08.2021 o 13:18, Lech Perczak pisze:
> W dniu 2021-08-15 o 13:03, open...@aiyionpri.me pisze:
>>
>> On 8/15/21 11:39 AM, Lech Perczak wrote:
>>> [...]
>>> I rather meant checking if it is possible to 'saveenv' from within stock
>>> U-boot, rebooting and seeing if changes to the environment change stay
>>> there.
>>> Given, that the typical SPI-NOR sector size on this target is 64k, it's
>>> very unlikely that there is writable environment there, as the MAC part
>>> doesn't follow its format, and U-boot would need to use 4k page erase
>>> for that,
>>> as does pepe2k's u-boot_mod, but OpenWrt currently cannot reliably
>>> support writing such environment.
>> The command "saveenv" is not available in the stock uboot.
> So, we've got the answer - the flash layout in device tree is then correct.

Yep, and thanks for chiming in. With that the MAC can be safely
extracted by nvmem.

Reviewed-by: Tomasz Maciej Nowak 

Regards

-- 
TMN

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


Re: [PATCH v2] ath79: add support for onion omega

2021-08-15 Thread Lech Perczak

W dniu 2021-08-15 o 13:03, open...@aiyionpri.me pisze:


On 8/15/21 11:39 AM, Lech Perczak wrote:

[...]
I rather meant checking if it is possible to 'saveenv' from within stock
U-boot, rebooting and seeing if changes to the environment change stay
there.
Given, that the typical SPI-NOR sector size on this target is 64k, it's
very unlikely that there is writable environment there, as the MAC part
doesn't follow its format, and U-boot would need to use 4k page erase
for that,
as does pepe2k's u-boot_mod, but OpenWrt currently cannot reliably
support writing such environment.

The command "saveenv" is not available in the stock uboot.

So, we've got the answer - the flash layout in device tree is then correct.


___
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


Re: [PATCH v2] ath79: add support for onion omega

2021-08-15 Thread openwrt



On 8/15/21 11:39 AM, Lech Perczak wrote:
> [...]
> I rather meant checking if it is possible to 'saveenv' from within stock
> U-boot, rebooting and seeing if changes to the environment change stay
> there.
> Given, that the typical SPI-NOR sector size on this target is 64k, it's
> very unlikely that there is writable environment there, as the MAC part
> doesn't follow its format, and U-boot would need to use 4k page erase
> for that,
> as does pepe2k's u-boot_mod, but OpenWrt currently cannot reliably
> support writing such environment.

The command "saveenv" is not available in the stock uboot.

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


Re: [PATCH v2] ath79: add support for onion omega

2021-08-15 Thread Lech Perczak

W dniu 2021-08-15 o 10:30, Jan-Niklas Burfeind pisze:


On 8/14/21 7:08 PM, Lech Perczak wrote:

[...]

The six bytes at 001fd00 spell OMEGA.

Is this the only data in 0x1-0x2? What's in 0x1-0x11000?


+    read-only;
+    compatible = "nvmem-cells";
+    #address-cells = <1>;
+    #size-cells = <1>;
+
+    macaddr_uboot_1fc00: macaddr@1fc00 {
+    reg = <0x1fc00 0x6>;
+    };
+    };
+
+    partition@2 {
+    compatible = "tplink,firmware";
+    label = "firmware";
+    reg = <0x02 0xfd>;
+    };
+
+    art: partition@ff {
+    label = "art";
+    reg = <0xff 0x01>;
+    read-only;
+    };

The whole ordeal looks very much like typical pre-safeloader TP-link
flash layout, so I expect no writable U-boot environment there, at least
for stock U-boot.
Of course, it would be best to check if it's possible to write it using
serial console, on actual device.


I just tried to copy part of the string "OMEGA" from its current position.


md 0x9F01FD00

9F01FD00: 4F4D4547[...]

cp 0x9F01FD00 0x9F01FE00 3

md 0x9F01FE00

9F01FE00: [...]

Reading the partition works fine; writing not so much; at least not
within uboot.
I rather meant checking if it is possible to 'saveenv' from within stock 
U-boot, rebooting and seeing if changes to the environment change stay 
there.
Given, that the typical SPI-NOR sector size on this target is 64k, it's 
very unlikely that there is writable environment there, as the MAC part 
doesn't follow its format, and U-boot would need to use 4k page erase 
for that,
as does pepe2k's u-boot_mod, but OpenWrt currently cannot reliably 
support writing such environment.


[...]

___
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


Re: [PATCH v2] ath79: add support for onion omega

2021-08-15 Thread Jan-Niklas Burfeind


On 8/14/21 7:08 PM, Lech Perczak wrote:
> [...]
>>>
>>> The six bytes at 001fd00 spell OMEGA.
>> Is this the only data in 0x1-0x2? What's in 0x1-0x11000?
>>
> +    read-only;
> +    compatible = "nvmem-cells";
> +    #address-cells = <1>;
> +    #size-cells = <1>;
> +
> +    macaddr_uboot_1fc00: macaddr@1fc00 {
> +    reg = <0x1fc00 0x6>;
> +    };
> +    };
> +
> +    partition@2 {
> +    compatible = "tplink,firmware";
> +    label = "firmware";
> +    reg = <0x02 0xfd>;
> +    };
> +
> +    art: partition@ff {
> +    label = "art";
> +    reg = <0xff 0x01>;
> +    read-only;
> +    };
> 
> The whole ordeal looks very much like typical pre-safeloader TP-link
> flash layout, so I expect no writable U-boot environment there, at least
> for stock U-boot.
> Of course, it would be best to check if it's possible to write it using
> serial console, on actual device.
> 

I just tried to copy part of the string "OMEGA" from its current position.

> md 0x9F01FD00
9F01FD00: 4F4D4547[...]

cp 0x9F01FD00 0x9F01FE00 3
> md 0x9F01FE00
9F01FE00: [...]

Reading the partition works fine; writing not so much; at least not
within uboot.


[...]

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


Re: [PATCH v2] ath79: add support for onion omega

2021-08-15 Thread Jan-Niklas Burfeind



On 8/14/21 5:43 PM, Tomasz Maciej Nowak wrote:
> [..]
>> uboot knows it is 64KiB, printenv yields uboot_size=0x1
> 
> That should be reflected in partitions list and the space between
> 0x1-0x2 partition name should reflect what's inside. If the
> vendor firmware had a name for this space, use that.

That's the thing. The stock firmware calls it u-boot, start to finish.

root@Omega-10B1:/# cat /proc/mtd
dev:size   erasesize  name
mtd0: 0002 0001 "u-boot"
...



> [...]

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


Re: [PATCH v2] ath79: add support for onion omega

2021-08-14 Thread Lech Perczak

W dniu 2021-08-14 o 17:43, Tomasz Maciej Nowak pisze:

W dniu 14.08.2021 o 16:37, Jan-Niklas Burfeind pisze:

Hey there; answer is inline too.
Thanks for picking this up!

On 8/14/21 3:54 PM, Tomasz Maciej Nowak wrote:

Hi,
one comment inline.

W dniu 14.08.2021 o 14:33, Jan-Niklas Burfeind pisze:

[...]
+   partitions {
+   compatible = "fixed-partitions";
+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   uboot: partition@0 {
+   label = "u-boot";
+   reg = <0x00 0x02>;

Is this really the size of the U-Boot? According to the sources of
U-Boot [1] the max size of bootloader is 64KiB. If the sources don't
lie, what's between 0x1-0x2? Is that some hardcoded data or
U-Boot environment? If it's the environment, You can't use static
address of the MAC in nvmem-cells, because it can move around if
someone modified the environment. For that You'll need to extract it in
userspace.

1. 
https://github.com/OnionIoT/uboot/blob/684829a3a89eabca4b573530e89d60faed277dee/Makefile#L31


uboot knows it is 64KiB, printenv yields uboot_size=0x1

That should be reflected in partitions list and the space between
0x1-0x2 partition name should reflect what's inside. If the
vendor firmware had a name for this space, use that.


It further knows, firmware starts not before 128Kib:
firmware_addr=0x9F02

these are the last lines of mtd0:

000f8d0        
*
001fc00 40a3 6bc1 10b2     
001fc10        
*
001fd00 4f4d 4547 41ff     
001fd10        
*
002

The six bytes at 001fc00 are the macaddress.

The six bytes at 001fd00 spell OMEGA.

Is this the only data in 0x1-0x2? What's in 0x1-0x11000?


+   read-only;
+   compatible = "nvmem-cells";
+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   macaddr_uboot_1fc00: macaddr@1fc00 {
+   reg = <0x1fc00 0x6>;
+   };
+   };
+
+   partition@2 {
+   compatible = "tplink,firmware";
+   label = "firmware";
+   reg = <0x02 0xfd>;
+   };
+
+   art: partition@ff {
+   label = "art";
+   reg = <0xff 0x01>;
+   read-only;
+   };


The whole ordeal looks very much like typical pre-safeloader TP-link 
flash layout, so I expect no writable U-boot environment there, at least 
for stock U-boot.
Of course, it would be best to check if it's possible to write it using 
serial console, on actual device.



+   };
+   };
+};
+
+ {
+   status = "okay";
+
+   mtd-cal-data = < 0x1000>;
+   nvmem-cells = <_uboot_1fc00>;
+   nvmem-cell-names = "mac-address";
+};

[ snip ]


Regards


Kind regards,
Lech

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


Re: [PATCH v2] ath79: add support for onion omega

2021-08-14 Thread Tomasz Maciej Nowak
W dniu 14.08.2021 o 16:37, Jan-Niklas Burfeind pisze:
> Hey there; answer is inline too.
> Thanks for picking this up!
> 
> On 8/14/21 3:54 PM, Tomasz Maciej Nowak wrote:
>> Hi,
>> one comment inline.
>>
>> W dniu 14.08.2021 o 14:33, Jan-Niklas Burfeind pisze:
>>> [...]
>>> +   partitions {
>>> +   compatible = "fixed-partitions";
>>> +   #address-cells = <1>;
>>> +   #size-cells = <1>;
>>> +
>>> +   uboot: partition@0 {
>>> +   label = "u-boot";
>>> +   reg = <0x00 0x02>;
>>
>> Is this really the size of the U-Boot? According to the sources of
>> U-Boot [1] the max size of bootloader is 64KiB. If the sources don't
>> lie, what's between 0x1-0x2? Is that some hardcoded data or
>> U-Boot environment? If it's the environment, You can't use static
>> address of the MAC in nvmem-cells, because it can move around if
>> someone modified the environment. For that You'll need to extract it in
>> userspace.
>>
>> 1. 
>> https://github.com/OnionIoT/uboot/blob/684829a3a89eabca4b573530e89d60faed277dee/Makefile#L31
>>
> uboot knows it is 64KiB, printenv yields uboot_size=0x1

That should be reflected in partitions list and the space between
0x1-0x2 partition name should reflect what's inside. If the
vendor firmware had a name for this space, use that.

> It further knows, firmware starts not before 128Kib:
> firmware_addr=0x9F02
> 
> these are the last lines of mtd0:
> 
> 000f8d0        
> *
> 001fc00 40a3 6bc1 10b2     
> 001fc10        
> *
> 001fd00 4f4d 4547 41ff     
> 001fd10        
> *
> 002
> 
> The six bytes at 001fc00 are the macaddress.
> 
> The six bytes at 001fd00 spell OMEGA.

Is this the only data in 0x1-0x2? What's in 0x1-0x11000?

> 
>>> +   read-only;
>>> +   compatible = "nvmem-cells";
>>> +   #address-cells = <1>;
>>> +   #size-cells = <1>;
>>> +
>>> +   macaddr_uboot_1fc00: macaddr@1fc00 {
>>> +   reg = <0x1fc00 0x6>;
>>> +   };
>>> +   };
>>> +
>>> +   partition@2 {
>>> +   compatible = "tplink,firmware";
>>> +   label = "firmware";
>>> +   reg = <0x02 0xfd>;
>>> +   };
>>> +
>>> +   art: partition@ff {
>>> +   label = "art";
>>> +   reg = <0xff 0x01>;
>>> +   read-only;
>>> +   };
>>> +   };
>>> +   };
>>> +};
>>> +
>>> + {
>>> +   status = "okay";
>>> +
>>> +   mtd-cal-data = < 0x1000>;
>>> +   nvmem-cells = <_uboot_1fc00>;
>>> +   nvmem-cell-names = "mac-address";
>>> +};
>>
>> [ snip ]
>>

Regards

-- 
TMN

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


Re: [PATCH v2] ath79: add support for onion omega

2021-08-14 Thread Jan-Niklas Burfeind
Hey there; answer is inline too.
Thanks for picking this up!

On 8/14/21 3:54 PM, Tomasz Maciej Nowak wrote:
> Hi,
> one comment inline.
>
> W dniu 14.08.2021 o 14:33, Jan-Niklas Burfeind pisze:
>> [...]
>> +partitions {
>> +compatible = "fixed-partitions";
>> +#address-cells = <1>;
>> +#size-cells = <1>;
>> +
>> +uboot: partition@0 {
>> +label = "u-boot";
>> +reg = <0x00 0x02>;
>
> Is this really the size of the U-Boot? According to the sources of
> U-Boot [1] the max size of bootloader is 64KiB. If the sources don't
> lie, what's between 0x1-0x2? Is that some hardcoded data or
> U-Boot environment? If it's the environment, You can't use static
> address of the MAC in nvmem-cells, because it can move around if
someone modified the environment. For that You'll need to extract it in
> userspace.
>
> 1.
https://github.com/OnionIoT/uboot/blob/684829a3a89eabca4b573530e89d60faed277dee/Makefile#L31
>
uboot knows it is 64KiB, printenv yields uboot_size=0x1
It further knows, firmware starts not before 128Kib:
firmware_addr=0x9F02

these are the last lines of mtd0:

000f8d0        
*
001fc00 40a3 6bc1 10b2     
001fc10        
*
001fd00 4f4d 4547 41ff     
001fd10        
*
002

The six bytes at 001fc00 are the macaddress.

The six bytes at 001fd00 spell OMEGA.

>> +read-only;
>> +compatible = "nvmem-cells";
>> +#address-cells = <1>;
>> +#size-cells = <1>;
>> +
>> +macaddr_uboot_1fc00: macaddr@1fc00 {
>> +reg = <0x1fc00 0x6>;
>> +};
>> +};
>> +
>> +partition@2 {
>> +compatible = "tplink,firmware";
>> +label = "firmware";
>> +reg = <0x02 0xfd>;
>> +};
>> +
>> +art: partition@ff {
>> +label = "art";
>> +reg = <0xff 0x01>;
>> +read-only;
>> +};
>> +};
>> +};
>> +};
>> +
>> + {
>> +status = "okay";
>> +
>> +mtd-cal-data = < 0x1000>;
>> +nvmem-cells = <_uboot_1fc00>;
>> +nvmem-cell-names = "mac-address";
>> +};
>
> [ snip ]
>
> Regards
>

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


Re: [PATCH v2] ath79: add support for onion omega

2021-08-14 Thread Tomasz Maciej Nowak
Hi,
one comment inline.

W dniu 14.08.2021 o 14:33, Jan-Niklas Burfeind pisze:
> 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 
> ---
> Hello David,
> thanks for the review.
> I think I got both you as well as Sebastians suggestion patched.
> This revision contains them both, compiled without errors this morning
> and is currently running on an omega next to me;
> dmesg is inconspicuous.
> 
> Thanks
> Jan-Niklas/Aiyion
> 
>  target/linux/ath79/dts/ar9331_onion_omega.dts | 127 ++
>  .../generic/base-files/etc/board.d/02_network |   1 +
>  target/linux/ath79/image/generic.mk   |  13 ++
>  3 files changed, 141 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 00..b08c62221f
> --- /dev/null
> +++ b/target/linux/ath79/dts/ar9331_onion_omega.dts
> @@ -0,0 +1,127 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +
> +#include 
> +#include 
> +
> +#include "ar9331.dtsi"
> +
> +/ {
> + model = "Onion Omega";
> + compatible = "onion,omega", "qca,ar9331";
> +
> + aliases {
> + serial0 = 
> + led-boot = _system;
> + led-failsafe = _system;
> + led-running = _system;
> + led-upgrade = _system;
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + led_system: system {
> + label = "amber:system";
> + gpios = < 27 GPIO_ACTIVE_LOW>;
> + };
> + };
> +
> + keys {
> + compatible = "gpio-keys";
> + poll-interval = <100>;
> +
> + reset {
> + label = "reset";
> + linux,code = ;
> + gpios = < 11 GPIO_ACTIVE_HIGH>;
> + debounce-interval = <60>;
> + };
> + };
> +};
> +
> + {
> + clock-frequency = <2500>;
> +};
> +
> + {
> + status = "okay";
> +};
> +
> + {
> + status = "okay";
> +
> + dr_mode = "host";
> +};
> +
> +_phy {
> + status = "okay";
> +};
> +
> + {
> + status = "okay";
> +
> + compatible = "syscon", "simple-mfd";
> +};
> +
> + {
> + status = "okay";
> +
> + nvmem-cells = <_uboot_1fc00>;
> + nvmem-cell-names = "mac-address";
> + mac-address-increment = <(-1)>;
> +
> + gmac-config {
> + device = <>;
> + switch-phy-addr-swap = <4>;
> + switch-phy-swap = <4>;
> + };
> +};
> +
> + {
> + status = "okay";
> +
> + flash@0 {
> + compatible = "jedec,spi-nor";
> + spi-max-frequency = <2500>;
> + reg = <0>;
> +
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + uboot: partition@0 {
> + label = "u-boot";
> + reg = <0x00 0x02>;

Is this really the size of the U-Boot? According to the sources of
U-Boot [1] the max size of bootloader is 64KiB. If the sources don't
lie, what's between 0x1-0x2? Is that some hardcoded data or
U-Boot environment? If it's the environment, You can't use static
address of the MAC in nvmem-cells, because it can move around if someone 
modified the environment. For that You'll need to extract it in
userspace.

1. 
https://github.com/OnionIoT/uboot/blob/684829a3a89eabca4b573530e89d60faed277dee/Makefile#L31

> +   

Re: [PATCH v2] ath79: add support for onion omega

2021-08-14 Thread David Bauer
Hi Jan,

looks pretty solid to me.

On 8/14/21 2:33 PM, Jan-Niklas Burfeind wrote:

 ...

> +define Device/onion_omega
> +  $(Device/tplink-16mlzma)
> +  SOC := ar9331
> +  DEVICE_VENDOR := Onion
> +  DEVICE_MODEL := Omega
> +  DEVICE_PACKAGES := kmod-usb-core kmod-usb2

AR9331 uses a different USB2 host controller. It requires the
kmod-usb-chipidea2 package instead of kmod-usb2.

Also kmod-usb-core can be removed from the package set, as it is a
dependency for both.

Can you change the package set and verify USB works by plugging in
a device?

Best
David

> +  SUPPORTED_DEVICES += onion-omega
> +  KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
> +  IMAGE_SIZE := 16192k
> +  TPLINK_HWID := 0x0471
> +endef
> +TARGET_DEVICES += onion_omega
> +
>  define Device/openmesh_common_64k
>DEVICE_VENDOR := OpenMesh
>DEVICE_PACKAGES := uboot-envtools
> 

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


[PATCH v2] ath79: add support for onion omega

2021-08-14 Thread Jan-Niklas Burfeind
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 
---
Hello David,
thanks for the review.
I think I got both you as well as Sebastians suggestion patched.
This revision contains them both, compiled without errors this morning
and is currently running on an omega next to me;
dmesg is inconspicuous.

Thanks
Jan-Niklas/Aiyion

 target/linux/ath79/dts/ar9331_onion_omega.dts | 127 ++
 .../generic/base-files/etc/board.d/02_network |   1 +
 target/linux/ath79/image/generic.mk   |  13 ++
 3 files changed, 141 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 00..b08c62221f
--- /dev/null
+++ b/target/linux/ath79/dts/ar9331_onion_omega.dts
@@ -0,0 +1,127 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include 
+#include 
+
+#include "ar9331.dtsi"
+
+/ {
+   model = "Onion Omega";
+   compatible = "onion,omega", "qca,ar9331";
+
+   aliases {
+   serial0 = 
+   led-boot = _system;
+   led-failsafe = _system;
+   led-running = _system;
+   led-upgrade = _system;
+   };
+
+   leds {
+   compatible = "gpio-leds";
+
+   led_system: system {
+   label = "amber:system";
+   gpios = < 27 GPIO_ACTIVE_LOW>;
+   };
+   };
+
+   keys {
+   compatible = "gpio-keys";
+   poll-interval = <100>;
+
+   reset {
+   label = "reset";
+   linux,code = ;
+   gpios = < 11 GPIO_ACTIVE_HIGH>;
+   debounce-interval = <60>;
+   };
+   };
+};
+
+ {
+   clock-frequency = <2500>;
+};
+
+ {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+
+   dr_mode = "host";
+};
+
+_phy {
+   status = "okay";
+};
+
+ {
+   status = "okay";
+
+   compatible = "syscon", "simple-mfd";
+};
+
+ {
+   status = "okay";
+
+   nvmem-cells = <_uboot_1fc00>;
+   nvmem-cell-names = "mac-address";
+   mac-address-increment = <(-1)>;
+
+   gmac-config {
+   device = <>;
+   switch-phy-addr-swap = <4>;
+   switch-phy-swap = <4>;
+   };
+};
+
+ {
+   status = "okay";
+
+   flash@0 {
+   compatible = "jedec,spi-nor";
+   spi-max-frequency = <2500>;
+   reg = <0>;
+
+   partitions {
+   compatible = "fixed-partitions";
+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   uboot: partition@0 {
+   label = "u-boot";
+   reg = <0x00 0x02>;
+   read-only;
+   compatible = "nvmem-cells";
+   #address-cells = <1>;
+   #size-cells = <1>;
+
+   macaddr_uboot_1fc00: macaddr@1fc00 {
+   reg = <0x1fc00 0x6>;
+   };
+   };
+
+   partition@2 {
+   compatible = "tplink,firmware";
+   label = "firmware";
+   reg = <0x02 0xfd>;
+   };
+
+   art: partition@ff {
+   label = "art";
+   reg = <0xff 0x01>;
+