On Wed, Aug 26, 2026 at 04:12:06AM +0530, AK Sharma wrote:

> Add the EcoNet EN7528 board: board glue, the reference/RAM/tclinux and
> JCOW414 R3-hook defconfigs, board header and default environment.
> 
> Signed-off-by: AK Sharma <[email protected]>
[snip]
> diff --git a/board/econet/en7528/MAINTAINERS b/board/econet/en7528/MAINTAINERS
> new file mode 100644
> index 00000000..69cefe4a
> --- /dev/null
> +++ b/board/econet/en7528/MAINTAINERS
> @@ -0,0 +1,13 @@
> +ECONET/AIROHA EN75XX
> +M:   AK Sharma <[email protected]>
> +S:   Maintained
> +F:   arch/mips/mach-en75xx/
> +F:   arch/mips/dts/econet,en7528*
> +F:   board/econet/en7528/
> +F:   configs/en7528_*_defconfig
> +F:   defenvs/en7528_jcow414_r3hook_env
> +F:   doc/board/econet/en7528.rst
> +F:   doc/board/econet/index.rst
> +F:   drivers/mtd/nand/spi/en75_bmt.*
> +F:   drivers/serial/serial_en75xx.c
> +F:   include/configs/en7528.h

You should make use of the "N:" format to match on things like en75xx or
en7528 and so forth.

[snip]
> diff --git a/board/econet/en7528/mk_tclinux_uboot.py 
> b/board/econet/en7528/mk_tclinux_uboot.py
> new file mode 100644
> index 00000000..d63f46a3
> --- /dev/null
> +++ b/board/econet/en7528/mk_tclinux_uboot.py
> @@ -0,0 +1,112 @@
> +#!/usr/bin/env python3
> +"""
> +Package U-Boot as an EcoNet/TrendChip "tclinux" HDR2 image, so the stock
> +bootbase will load and run it exactly the way it loads the stock kernel.
> +
> +The bootbase decompresses a slot's LZMA payload to a fixed 0x80002000 and 
> jumps
> +there. U-Boot cannot be linked at that address (MIPS relocation needs the
> +relocation delta 64 KiB aligned, and reserve_uboot() force-aligns relocaddr 
> to
> +64 KiB, so a TEXT_BASE of 0x80002000 always panics "Mis-aligned relocation").
> +So the payload is a small relocator stub followed by a U-Boot linked at
> +0x81000000; the stub copies it up and jumps.
> +
> +  payload = [stub @0x80002000][pad to 0x100][u-boot.bin linked @0x81000000]
> +  image   = [HDR2 header 0x100][LZMA(payload)]
> +
> +Header layout, confirmed against the stock image on a live board
> +(0x100 + kernel_len + rootfs_len == total, exactly):
> +
> +  0x00  "HDR2"
> +  0x08  u32 LE  total size, including the 0x100 header
> +  0x0c  u32 LE  JAMCRC of everything after the header
> +  0x10  version string
> +  0x50  u32 LE  kernel length
> +  0x54  u32 LE  rootfs length
> +  0x100         LZMA kernel, then the rootfs
> +
> +Usage: mk_tclinux_uboot.py <stub.bin> <u-boot.bin> <out.trx> [version]
> +"""

This should be part of the binman support I believe.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to