The EN7528 SoC uses a little endian MIPS architecture, unlike the big
endian EN751221 family. The tclinux TRX firmware format stores multi-byte
fields in the CPU's native byte order, requiring different header layouts
for each architecture:
- Big endian (EN751221): magic "2RDH", fields in big endian order
- Little endian (EN7528): magic "HDR2", fields in little endian order
Update tclinux-trx.sh to support both endianness variants:
- Add --endian parameter to select byte order (default: be)
- Add --model parameter for optional platform identifier field
- Convert to named parameters for clarity and extensibility
- Use hex32() helper for endian-aware 32-bit field output
Move TRX_ENDIAN configuration to subtarget files, allowing each subtarget
to specify its native byte order:
- en751221.mk: TRX_ENDIAN := be
- en7528.mk: TRX_ENDIAN := le
Signed-off-by: Ahmed Naseef <naseefkm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21326
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>