[PATCH v2] ath79: add support for onion omega
Tomasz Maciej Nowak
tmn505 at gmail.com
Sat Aug 14 08:43:35 PDT 2021
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 at 0 {
>>> + label = "u-boot";
>>> + reg = <0x000000 0x020000>;
>>
>> 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 0x10000-0x20000? 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=0x10000
That should be reflected in partitions list and the space between
0x10000-0x20000 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=0x9F020000
>
> these are the last lines of mtd0:
>
> 000f8d0 ffff ffff ffff ffff ffff ffff ffff ffff
> *
> 001fc00 40a3 6bc1 10b2 ffff ffff ffff ffff ffff
> 001fc10 ffff ffff ffff ffff ffff ffff ffff ffff
> *
> 001fd00 4f4d 4547 41ff ffff ffff ffff ffff ffff
> 001fd10 ffff ffff ffff ffff ffff ffff ffff ffff
> *
> 0020000
>
> The six bytes at 001fc00 are the macaddress.
>
> The six bytes at 001fd00 spell OMEGA.
Is this the only data in 0x10000-0x20000? What's in 0x10000-0x11000?
>
>>> + read-only;
>>> + compatible = "nvmem-cells";
>>> + #address-cells = <1>;
>>> + #size-cells = <1>;
>>> +
>>> + macaddr_uboot_1fc00: macaddr at 1fc00 {
>>> + reg = <0x1fc00 0x6>;
>>> + };
>>> + };
>>> +
>>> + partition at 20000 {
>>> + compatible = "tplink,firmware";
>>> + label = "firmware";
>>> + reg = <0x020000 0xfd0000>;
>>> + };
>>> +
>>> + art: partition at ff0000 {
>>> + label = "art";
>>> + reg = <0xff0000 0x010000>;
>>> + read-only;
>>> + };
>>> + };
>>> + };
>>> +};
>>> +
>>> +&wmac {
>>> + status = "okay";
>>> +
>>> + mtd-cal-data = <&art 0x1000>;
>>> + nvmem-cells = <&macaddr_uboot_1fc00>;
>>> + nvmem-cell-names = "mac-address";
>>> +};
>>
>> [ snip ]
>>
Regards
--
TMN
More information about the openwrt-devel
mailing list