Re: [PATCH 2/3] tools: qcom: mkmbn: Add support for ipq5210
Casey Connolly <[email protected]> Mon, 20 Jul 2026 14:25:37 +0100
| Newsgroups | de.denx.lists.u-boot |
|---|---|
| Message-ID | <[email protected]> |
Hi Varadarajan, On 7/14/26 10:52, Varadarajan Narayanan wrote: > - Add ipq5210 entry to the 'boards' table > - Add an argument to specify the SPL load address > - ipq5210's boot rom expects the SPL image size to be 4-byte aligned. To > support this add an argument to specify the image size alignment to > enable the mkmbn script to pad the image accordingly. > > Signed-off-by: Varadarajan Narayanan <[email protected]> > --- > tools/qcom/mkmbn/mkmbn.py | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/tools/qcom/mkmbn/mkmbn.py b/tools/qcom/mkmbn/mkmbn.py > index 8d2078acc30..46edbcafb32 100755 > --- a/tools/qcom/mkmbn/mkmbn.py > +++ b/tools/qcom/mkmbn/mkmbn.py > @@ -85,6 +85,7 @@ boards: dict[bytes, MbnData] = { > b"qcom,sm8550\0": MbnData(0xA7000000, 7, SwId.uefi), # C8550 > b"qcom,sm8650\0": MbnData(0xA7000000, 7, SwId.uefi), # SM8650 > b"qcom,qcs615\0": MbnData(0x9FC00000, 6, SwId.uefi), # Dragonwing IQ6 > + b"qcom,ipq5210\0": MbnData(0x87980000, 7, SwId.aboot), > b"qcom,ipq5424\0": MbnData(0x8a380000, 7, SwId.aboot), > b"qcom,ipq9574\0": MbnData(0x4A240000, 6, SwId.aboot), > > @@ -100,9 +101,15 @@ parser = argparse.ArgumentParser( > """ > ) > parser.register("type", "hex", lambda s: int(s, 16)) > +parser.add_argument( > + "-l", "--load", type=lambda x: int(x, 0), default=0, help="Load address" > +) How about we extend MbnData to support an optional SPL load address option? Then just have a flag to indicate that we're building an SPL image (since presumably you need to add an SPL specific build target for u-boot-spl.mbn?). > parser.add_argument( > "-o", "--output", type=Path, default="u-boot.mbn", help="Output file" > ) > +parser.add_argument( > + "-s", "--szalign", type=int, default=0, help="Size alignment" > +) Pretty sure it's safe to align all the images...... we really don't need to be adding bogus flags for this kinda stuff. > parser.add_argument( > "-v", dest="verbose", action="store_true", default=False, help="Verbose" > ) > @@ -149,8 +156,15 @@ if not mbn: > args.output.unlink(missing_ok=True) > exit(1) > > +if args.load != 0: > + print("Using load address from command line: %s" % hex(args.load)) > + mbn.loadaddr = args.load > + > log(f"Detected board {match.decode('UTF-8')} with load address {mbn.loadaddr:#x}") > > +if args.szalign != 0: > + data += b'\x00' * (-len(data) % args.szalign) > + > elf.phdrs.append(Phdr.from_bin(data, mbn.loadaddr)) > elf.ehdr.e_entry = mbn.loadaddr > elf.update() >