Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-05-11 Thread Marko Mäkelä

Mon, May 11, 2026 at 09:12:53PM +0300, Marko Mäkelä wrote:

U-Boot 2026.07-rc1 (May 11 2026 - 17:58:12 +)

SoC:   AM62X SR1.0 HS-FS
Reset reason: POR
Model: BeagleBoard.org PocketBeagle2
DRAM:  448 MiB (total 512 MiB)


I tried applying this patch series to the U-boot release tags v2026.01 
as well as v2026.04. On the former, the compilation would fail due to a 
missing file:


arch/arm/dts/.k3-am62-r5-pocketbeagle2.dtb.pre.tmp:15:10: fatal error: 
k3-am625-r5.dtsi: No such file or directory
   15 | #include "k3-am625-r5.dtsi"
  |  ^~
compilation terminated.
make[2]: *** [scripts/Makefile.lib:421: 
arch/arm/dts/k3-am62-r5-pocketbeagle2.dtb] Error 1

On the latter, the boot hangs just like it did on top of v2026-07-rc2~5 
that I had used last night:


U-Boot 2026.04 (May 12 2026 - 05:40:25 +)

SoC:   AM62X SR1.0 HS-FS
Reset reason: POR
Model: BeagleBoard.org PocketBeagle2
DRAM:  448 MiB (total 512 MiB)

When I built v2026-07 and this patchset (exactly the same source code) 
using the build_u-boot.sh script in 
https://github.com/beagleboard/u-boot-pocketbeagle2/ instead of my own 
code I got some panic output at the crash point. I tried it 3 times and 
got similar output each time. I did not check how the build options 
would differ from my own script, for which the boot just silently hung:


U-Boot 2026.04 (May 12 2026 - 05:54:06 +)

SoC:   AM62X SR1.0 HS-FS
Reset reason: POR
Model: BeagleBoard.org PocketBeagle2
DRAM:  448 MiB (total 512 MiB)
PANIC in EL3.
x30= 0x800047f4
x0 = 0x0286
...
sp_el0 = 0x8000c520
...

Could it be a stack overrun or a clash between heap and stack? There are 
several register values pointing to higher addresses than sp_el0. Should 
the stack pointer be initialized at a different address?


Best regards,

Marko


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-05-11 Thread Marko Mäkelä

Hi Robert, all,

I finally came across to testing this again. A more careful comparison 
between Robert's build script and mine showed that my build of 
trusted-firmware-a was missing the parameter 
PRELOADED_BL33_BASE=0x8200. Once I specified that parameter, u-boot 
would fully start up.


Next, I applied this patch series to the current u-boot and reran my 
build script. The output proceeded a little further, but it would hang 
in the middle of U-boot initialization:


--- snip ---
U-Boot SPL 2026.07-rc1 (May 11 2026 - 17:57:58 +)
SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
Set clock rates for '/a53@0', CPU: 1250MHz at Speed Grade 'T'
SPL initial stack usage: 13464 bytes
Trying to boot from MMC2
Authentication passed
Authentication passed
Authentication passed
Authentication passed
Authentication passed
Starting ATF on ARM64 core...


U-Boot SPL 2026.07-rc1 (May 11 2026 - 17:58:12 +)
SYSFW ABI: 4.0 (firmware rev 0x000b '11.2.5--v11.02.05 (Fancy Rat)')
SPL initial stack usage: 2048 bytes
Trying to boot from MMC2
Authentication passed
Authentication passed


U-Boot 2026.07-rc1 (May 11 2026 - 17:58:12 +)

SoC:   AM62X SR1.0 HS-FS
Reset reason: POR
Model: BeagleBoard.org PocketBeagle2
DRAM:  448 MiB (total 512 MiB)
--- snip ---

When I compiled Robert's version of u-boot 
(ef03e35488377a32cdd4f76d1a03ef7f60c798ef from January 30), I would land 
in a menu like this:


--- snip ---
U-Boot 2026.01 (May 11 2026 - 17:38:46 +)

SoC:   AM62X SR1.0 HS-FS
Reset reason: POR
Model: BeagleBoard.org PocketBeagle2
DRAM:  512 MiB
Core:  89 devices, 32 uclasses, devicetree: separate
MMC:   mmc@fa1: 0, mmc@fa0: 1
Loading Environment from nowhere... OK
In:serial@286
Out:   serial@286
Err:   serial@286
Net:   No ethernet found.
Press SPACE to abort autoboot in 0 seconds
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
Failed to load 'uEnv.txt'
Scanning for bootflows in all bootdevs
Seq  Method   State   UclassPart  Name  Filename
---  ---  --        

Scanning bootdev '[email protected]':
  0  extlinux ready   mmc  1  [email protected]_ 
/extlinux/extlinux.conf
** Booting bootflow '[email protected]_1' with extlinux
PocketBeagle 2 microSD (extlinux.conf) (swap enabled)
1:  microSD (failsafe)
2:  copy microSD to eMMC
3:  microSD (debug)
4:  microSD (default)
5:  techlab
6:  techlab workshop
Enter choice:
--- snip ---

Should I apply the patch set to an older revision of U-boot? As far as I 
can tell, it may now be hanging related to some DRAM layout or device 
tree mismatch.


Marko


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-04-20 Thread Marko Mäkelä

Sun, Apr 19, 2026 at 10:08:56AM -0500, Robert Nelson wrote:

On Sun, Apr 19, 2026 at 8:54 AM Marko Mäkelä  wrote:


Hi Robert,

Sat, Apr 18, 2026 at 12:53:59PM -0500, Robert Nelson wrote:
>Please don't upgrade to the 12.x.y.z0 branch of ti-linux-firmware
>
>After this commit you can't even upgrade to `v11.02.09` without other changes!
>
>https://github.com/u-boot/u-boot/commit/7403d26bea36315f2008ed3ef80125b094c0bafb

I downgraded to firmware 11.2.5 "Fancy Rat", but that didn't allow me to
see any further messages.

>I'm pretty sure OpTee 4.10.0 is safe, but otherwise this is my current
>stable branch:
>
>https://github.com/beagleboard/u-boot-pocketbeagle2/blob/main/version.sh

I tried to choose the same versions: OPTEE 4.9.0, TI-firmware 11.02.11
(strangely, also this one identifies as 11.2.5; I should always build
everything from the scratch), and TrustedFirmware-A v2.14.0 a.k.a.
lts-v2.14.0, because I did not find any tag for v2.14.1. The U-boot fork
that I'm trying to build is already the same one. The boot process would
seem to always hang at the same spot: before switching to the 64-bit
u-boot.


it's showing up in this repo

https://github.com/TrustedFirmware-A/trusted-firmware-a/tags


Thank you. Somehow I was missing the tag:

Fetching origin
From https://git.trustedfirmware.org/TF-A/trusted-firmware-a
 * [new tag] lts-v2.14.1 -> lts-v2.14.1

Replacing the TF-A didn't make a difference either. I guess I will 
switch to another (non-trusted-firmware) development platform until a 
revised update is available.


Marko


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-04-19 Thread Robert Nelson
On Sun, Apr 19, 2026 at 8:54 AM Marko Mäkelä  wrote:
>
> Hi Robert,
>
> Sat, Apr 18, 2026 at 12:53:59PM -0500, Robert Nelson wrote:
> >Please don't upgrade to the 12.x.y.z0 branch of ti-linux-firmware
> >
> >After this commit you can't even upgrade to `v11.02.09` without other 
> >changes!
> >
> >https://github.com/u-boot/u-boot/commit/7403d26bea36315f2008ed3ef80125b094c0bafb
>
> I downgraded to firmware 11.2.5 "Fancy Rat", but that didn't allow me to
> see any further messages.
>
> >I'm pretty sure OpTee 4.10.0 is safe, but otherwise this is my current
> >stable branch:
> >
> >https://github.com/beagleboard/u-boot-pocketbeagle2/blob/main/version.sh
>
> I tried to choose the same versions: OPTEE 4.9.0, TI-firmware 11.02.11
> (strangely, also this one identifies as 11.2.5; I should always build
> everything from the scratch), and TrustedFirmware-A v2.14.0 a.k.a.
> lts-v2.14.0, because I did not find any tag for v2.14.1. The U-boot fork
> that I'm trying to build is already the same one. The boot process would
> seem to always hang at the same spot: before switching to the 64-bit
> u-boot.

it's showing up in this repo

https://github.com/TrustedFirmware-A/trusted-firmware-a/tags

Regards,

-- 
Robert Nelson
https://rcn-ee.com/


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-04-19 Thread Marko Mäkelä

Hi Robert,

Sat, Apr 18, 2026 at 12:53:59PM -0500, Robert Nelson wrote:

Please don't upgrade to the 12.x.y.z0 branch of ti-linux-firmware

After this commit you can't even upgrade to `v11.02.09` without other changes!

https://github.com/u-boot/u-boot/commit/7403d26bea36315f2008ed3ef80125b094c0bafb


I downgraded to firmware 11.2.5 "Fancy Rat", but that didn't allow me to 
see any further messages.



I'm pretty sure OpTee 4.10.0 is safe, but otherwise this is my current
stable branch:

https://github.com/beagleboard/u-boot-pocketbeagle2/blob/main/version.sh


I tried to choose the same versions: OPTEE 4.9.0, TI-firmware 11.02.11 
(strangely, also this one identifies as 11.2.5; I should always build 
everything from the scratch), and TrustedFirmware-A v2.14.0 a.k.a.  
lts-v2.14.0, because I did not find any tag for v2.14.1. The U-boot fork 
that I'm trying to build is already the same one. The boot process would 
seem to always hang at the same spot: before switching to the 64-bit 
u-boot.


i've been away hacking on other projects so i haven't been back yet to 
do my 'stable v2026.04' rebase yet, on Play, AI64, BeagleY-AI, and 
PocketBeagle 2 yet..


I'm looking forward to your update.

Marko


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-04-18 Thread Robert Nelson
On Sat, Apr 18, 2026 at 10:02 AM Marko Mäkelä  wrote:
>
> Hi Robert,
>
> I found some time to spend on this again.
>
> Sat, Mar 28, 2026 at 11:39:00AM -0500, Robert Nelson wrote:
> >Side note, here's my ci builder for u-boot.. :
> >https://github.com/beagleboard/u-boot-pocketbeagle2
>
> I got a little further by adopting a few changes from your
> build_u-boot.sh script, namely the UART 0x6
> and the DRAM start address 0x8008 for both OPTEE and TF-A.
>
> Previously, the UART output stopped right after switching to a 64-bit
> core. Now I am getting some further messages, but nothing for the 64-bit
> U-boot itself:
>
> U-Boot SPL 2026.01 (Apr 18 2026 - 14:03:05 +)
> SYSFW ABI: 4.0 (firmware rev 0x000c '12.0.2--v12.00.02 (Clever Cat)')
> Changed A53 CPU frequency to 14Hz (T grade) in DT
> SPL initial stack usage: 13416 bytes
> Trying to boot from MMC2
> Authentication passed
> Authentication passed
> Authentication passed
> Authentication passed
> Authentication passed
> Starting ATF on ARM64 core...
>
> I/TC:
> I/TC: OP-TEE version: Unknown_4.10 (gcc version 14.2.0 (Debian 14.2.0-19)) #1 
> Sat Apr 18 14:03:00 UTC 2026 aarch64
> I/TC: WARNING: This OP-TEE configuration might be insecure!
> I/TC: WARNING: Please check 
> https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
> I/TC: Primary CPU initializing
> I/TC: GIC redistributor base address not provided
> I/TC: Assuming default GIC group status and modifier
> I/TC: SYSFW ABI: 4.0 (firmware rev 0x000c '12.0.2--v12.00.02 (Clever Cat)')
> I/TC: HUK Initialized
> I/TC: Disabling output console
>
> I am using the ti-linux-firmware branch (tag 12.00.00.07) of
> https://git.ti.com/git/processor-firmware/ti-linux-firmware.git; I
> couldn't access the repository in your script. I pointed both the 32-bit
> and the 64-bit U-boot build to it via the BINMAN_INDIRS variable.

Hi Marko,

My repo is just a mirror of:

https://github.com/TexasInstruments/ti-linux-firmware

Since my ci builders are inside the network they automatically use the
local mirror:  
https://github.com/beagleboard/u-boot-pocketbeagle2/blob/main/build_u-boot.sh#L39

Please don't upgrade to the 12.x.y.z0 branch of ti-linux-firmware

After this commit you can't even upgrade to `v11.02.09` without other changes!

https://github.com/u-boot/u-boot/commit/7403d26bea36315f2008ed3ef80125b094c0bafb

I'm pretty sure OpTee 4.10.0 is safe, but otherwise this is my current
stable branch:

https://github.com/beagleboard/u-boot-pocketbeagle2/blob/main/version.sh

i've been away hacking on other projects so i haven't been back yet to
do my 'stable v2026.04' rebase yet, on Play, AI64, BeagleY-AI, and
PocketBeagle 2 yet..

Regards,

-- 
Robert Nelson
https://rcn-ee.com/


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-04-18 Thread Marko Mäkelä

Hi Robert,

I found some time to spend on this again.

Sat, Mar 28, 2026 at 11:39:00AM -0500, Robert Nelson wrote:

Side note, here's my ci builder for u-boot.. :
https://github.com/beagleboard/u-boot-pocketbeagle2


I got a little further by adopting a few changes from your 
build_u-boot.sh script, namely the UART 0x6

and the DRAM start address 0x8008 for both OPTEE and TF-A.

Previously, the UART output stopped right after switching to a 64-bit 
core. Now I am getting some further messages, but nothing for the 64-bit 
U-boot itself:


U-Boot SPL 2026.01 (Apr 18 2026 - 14:03:05 +)
SYSFW ABI: 4.0 (firmware rev 0x000c '12.0.2--v12.00.02 (Clever Cat)')
Changed A53 CPU frequency to 14Hz (T grade) in DT
SPL initial stack usage: 13416 bytes
Trying to boot from MMC2
Authentication passed
Authentication passed
Authentication passed
Authentication passed
Authentication passed
Starting ATF on ARM64 core...

I/TC: 
I/TC: OP-TEE version: Unknown_4.10 (gcc version 14.2.0 (Debian 14.2.0-19)) #1 Sat Apr 18 14:03:00 UTC 2026 aarch64

I/TC: WARNING: This OP-TEE configuration might be insecure!
I/TC: WARNING: Please check 
https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
I/TC: Primary CPU initializing
I/TC: GIC redistributor base address not provided
I/TC: Assuming default GIC group status and modifier
I/TC: SYSFW ABI: 4.0 (firmware rev 0x000c '12.0.2--v12.00.02 (Clever Cat)')
I/TC: HUK Initialized
I/TC: Disabling output console

I am using the ti-linux-firmware branch (tag 12.00.00.07) of 
https://git.ti.com/git/processor-firmware/ti-linux-firmware.git; I 
couldn't access the repository in your script. I pointed both the 32-bit 
and the 64-bit U-boot build to it via the BINMAN_INDIRS variable.


I am using the most recent OPTEE (tag: 4.10.0) and TF-A (dated April 9).

Initially I was copying the file tiboot3.bin from my build container. I 
tried to mimic your script and switched to copying 
tiboot3-am62x-hs-fs-evm.bin instead (named tiboot3.bin on the MicroSD 
card), but it did not make any difference to the above output.


The U-boot source I am trying to build is your clone 
ef03e35488377a32cdd4f76d1a03ef7f60c798ef (January 30).


Can you give any hint where it could be stuck or how to enable the UART 
output in U-boot? As far as I can tell, my build is passing similar 
options to the U-boot build as yours, with the main one being 
am62_pocketbeagle2_*_defconfig. I'm editing a build script that was 
working for the PHYTEC phyBOARD Lyra. I see that your script is setting 
CONFIG_BOOTCOMMAND in the USB DFU version. I am attempting to build the 
normal version.


With best regards,

Marko


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-31 Thread Randolph Sapp
On Tue Mar 31, 2026 at 11:13 AM CDT, Robert Nelson wrote:
> adding @Ayush Singh   too...
>
> On Mon, Mar 30, 2026 at 6:57 PM Randolph Sapp  wrote:
>>
>> On Thu Mar 26, 2026 at 6:23 PM CDT, Randolph Sapp wrote:
>> > On Wed Mar 25, 2026 at 7:34 PM CDT, Randolph Sapp wrote:
>> >> On Mon Mar 23, 2026 at 2:46 PM CDT, Robert Nelson wrote:
>> >>> On Mon, Mar 23, 2026 at 2:37 PM Randolph Sapp  wrote:
>>  On Fri Mar 20, 2026 at 10:32 AM CDT, Robert Nelson wrote:
>>  >> > +++ b/configs/am62_pocketbeagle2_a53_defconfig
>>  >> > @@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
>>  >> >  CONFIG_SPL_LIBGENERIC_SUPPORT=y
>>  >> >  CONFIG_NR_DRAM_BANKS=1
>>  >> >  CONFIG_SOC_K3_AM625=y
>> >> [snip]
>>  >> > @@ -120,7 +115,8 @@ CONFIG_SYSRESET_TI_SCI=y
>>  >> >  CONFIG_EXT4_WRITE=y
>>  >> >  CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
>>  >> >  CONFIG_LZO=y
>>  >> > -CONFIG_EFI_SET_TIME=y
>>  >> > +CONFIG_SYS_MEM_TOP_HIDE=0x400
>>  >>
>>  >> Any reason why we are using TOP_HIDE here instead of just moving 
>>  >> OPTEE
>>  >> lower in DDR like we do on the 512MiB AM6254atl EVM?
>>  >
>>  > Sorry, that is now a legacy setting before OPTEE finally got moved in
>>  > v2026.01, as this had been developed thru v2025 u-boot releases..
>>  >
>> 
>>  Well, it's worth noting that this change was not done in the usual way, 
>>  and
>>  involves user interaction during the build beyond selecting a defconfig.
>> 
>>  https://texasinstruments.github.io/processor-sdk-doc/processor-sdk-linux-AM62X/esd/docs/master/linux/Foundational_Components_ATF.html
>>  https://git.ti.com/cgit/arago-project/meta-ti/tree/meta-ti-bsp/conf/machine/am62xxsip-evm.conf
>> 
>>  Robert, are you alright with me making the requested changes?
>> >>>
>> >>> I guess as long as we document it. I know the Octavo OSD62-sip @Erik
>> >>> Welsh  will also be building on both am62xxsip and pocketbeagle2 based
>> >>> on the 512MB and then larger memory sizes (1G, 2G, etc.).
>> >>>
>> >>> Regards,
>> >>
>> >> Oh boy, adjusting the memory maps kept getting me out of memory errors in 
>> >> the
>> >> EFI flow that I knew should not be true. Found something fun: LMB reserved
>> >> memory regions do not match EFI reserved memory regions. EFI's
>> >> efi_carve_out_dt_rsv is setting regions to be more strict that LMB's base
>> >> requirements. When this occurs and an allocation runs into this 
>> >> discrepancy,
>> >> that allocation and all future allocation requests in the EFI flow will 
>> >> begin to
>> >> fail as they are repeatedly given the same LMB start address in the 
>> >> unapproved
>> >> region.
>> >>
>> >> Randolph
>> >
>> > Alright, looking into the allocation helpers it seems that
>> > EFI_CONVENTIONAL_MEMORY can be remapped in efi_allocate_pages so long as 
>> > LMB
>> > agrees that it's free. This aligns with my understanding of the UEFI spec 
>> > as
>> > well. I dumped the EFI memory map and noticed there were 2 fragmented 
>> > sections
>> > of EFI_CONVENTIONAL_MEMORY that it could still use.
>> >
>> > Wired up efi_allocate_pages to go to those regions and attempt to allocate 
>> > from
>> > there in the even an LMB_MEM_ALLOC_MAX or LMB_MEM_ALLOC_ANY start failing. 
>> > Seems
>> > to have worked, but now I'm seeing the following reported in the kernel:
>> >
>> > [0.048167] [Firmware Bug]: Unable to handle paging request in EFI 
>> > runtime service
>> > [0.048246] [ cut here ]
>> > [0.048249] WARNING: CPU: 0 PID: 1 at 
>> > /usr/src/kernel/drivers/firmware/efi/runtime-wrappers.c:341 
>> > __efi_queue_work+0xd4/0x108
>> > [0.048270] Modules linked in:
>> > [0.048285] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Tainted: G  I  
>> >6.18.13-ti-00636-g30182cf3ac7d-dirty #1 PREEMPT
>> > [0.048296] Tainted: [I]=FIRMWARE_WORKAROUND
>> > [0.048299] Hardware name: beagle BeagleBoard.org 
>> > PocketBeagle2/BeagleBoard.org PocketBeagle2, BIOS 
>> > 2026.04-rc5-3-gf1dace477fb8-dirty 04/01/2026
>> > [0.048305] pstate: 6005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS 
>> > BTYPE=--)
>> > [0.048312] pc : __efi_queue_work+0xd4/0x108
>> > [0.048318] lr : __efi_queue_work+0xc0/0x108
>> > [0.048323] sp : 80008003bc80
>> > [0.048326] x29: 80008003bc80 x28: ad05b176bad4 x27: 
>> > ad05b16b00ac
>> > [0.048336] x26: ad05b1622e60 x25: ad05b1953000 x24: 
>> > ad05b1749050
>> > [0.048345] x23: 0004 x22: 80008003bd1e x21: 
>> > 80008003bd20
>> > [0.048353] x20: 80008003bd28 x19: ad05b19cd5d8 x18: 
>> > fffe2f20
>> > [0.048362] x17: 7000 x16: 01c065a0 x15: 
>> > 
>> > [0.048370] x14: 008a x13: 01cf8090 x12: 
>> > 0001
>> > [0.048379] x11: 00c0 x10: 09f0 x9 : 
>> > 80008003bad0
>> > [0.048387] x8 : 01cf8a5

Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-31 Thread Robert Nelson
adding @Ayush Singh   too...

On Mon, Mar 30, 2026 at 6:57 PM Randolph Sapp  wrote:
>
> On Thu Mar 26, 2026 at 6:23 PM CDT, Randolph Sapp wrote:
> > On Wed Mar 25, 2026 at 7:34 PM CDT, Randolph Sapp wrote:
> >> On Mon Mar 23, 2026 at 2:46 PM CDT, Robert Nelson wrote:
> >>> On Mon, Mar 23, 2026 at 2:37 PM Randolph Sapp  wrote:
>  On Fri Mar 20, 2026 at 10:32 AM CDT, Robert Nelson wrote:
>  >> > +++ b/configs/am62_pocketbeagle2_a53_defconfig
>  >> > @@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
>  >> >  CONFIG_SPL_LIBGENERIC_SUPPORT=y
>  >> >  CONFIG_NR_DRAM_BANKS=1
>  >> >  CONFIG_SOC_K3_AM625=y
> >> [snip]
>  >> > @@ -120,7 +115,8 @@ CONFIG_SYSRESET_TI_SCI=y
>  >> >  CONFIG_EXT4_WRITE=y
>  >> >  CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
>  >> >  CONFIG_LZO=y
>  >> > -CONFIG_EFI_SET_TIME=y
>  >> > +CONFIG_SYS_MEM_TOP_HIDE=0x400
>  >>
>  >> Any reason why we are using TOP_HIDE here instead of just moving OPTEE
>  >> lower in DDR like we do on the 512MiB AM6254atl EVM?
>  >
>  > Sorry, that is now a legacy setting before OPTEE finally got moved in
>  > v2026.01, as this had been developed thru v2025 u-boot releases..
>  >
> 
>  Well, it's worth noting that this change was not done in the usual way, 
>  and
>  involves user interaction during the build beyond selecting a defconfig.
> 
>  https://texasinstruments.github.io/processor-sdk-doc/processor-sdk-linux-AM62X/esd/docs/master/linux/Foundational_Components_ATF.html
>  https://git.ti.com/cgit/arago-project/meta-ti/tree/meta-ti-bsp/conf/machine/am62xxsip-evm.conf
> 
>  Robert, are you alright with me making the requested changes?
> >>>
> >>> I guess as long as we document it. I know the Octavo OSD62-sip @Erik
> >>> Welsh  will also be building on both am62xxsip and pocketbeagle2 based
> >>> on the 512MB and then larger memory sizes (1G, 2G, etc.).
> >>>
> >>> Regards,
> >>
> >> Oh boy, adjusting the memory maps kept getting me out of memory errors in 
> >> the
> >> EFI flow that I knew should not be true. Found something fun: LMB reserved
> >> memory regions do not match EFI reserved memory regions. EFI's
> >> efi_carve_out_dt_rsv is setting regions to be more strict that LMB's base
> >> requirements. When this occurs and an allocation runs into this 
> >> discrepancy,
> >> that allocation and all future allocation requests in the EFI flow will 
> >> begin to
> >> fail as they are repeatedly given the same LMB start address in the 
> >> unapproved
> >> region.
> >>
> >> Randolph
> >
> > Alright, looking into the allocation helpers it seems that
> > EFI_CONVENTIONAL_MEMORY can be remapped in efi_allocate_pages so long as LMB
> > agrees that it's free. This aligns with my understanding of the UEFI spec as
> > well. I dumped the EFI memory map and noticed there were 2 fragmented 
> > sections
> > of EFI_CONVENTIONAL_MEMORY that it could still use.
> >
> > Wired up efi_allocate_pages to go to those regions and attempt to allocate 
> > from
> > there in the even an LMB_MEM_ALLOC_MAX or LMB_MEM_ALLOC_ANY start failing. 
> > Seems
> > to have worked, but now I'm seeing the following reported in the kernel:
> >
> > [0.048167] [Firmware Bug]: Unable to handle paging request in EFI 
> > runtime service
> > [0.048246] [ cut here ]
> > [0.048249] WARNING: CPU: 0 PID: 1 at 
> > /usr/src/kernel/drivers/firmware/efi/runtime-wrappers.c:341 
> > __efi_queue_work+0xd4/0x108
> > [0.048270] Modules linked in:
> > [0.048285] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Tainted: G  I   
> >   6.18.13-ti-00636-g30182cf3ac7d-dirty #1 PREEMPT
> > [0.048296] Tainted: [I]=FIRMWARE_WORKAROUND
> > [0.048299] Hardware name: beagle BeagleBoard.org 
> > PocketBeagle2/BeagleBoard.org PocketBeagle2, BIOS 
> > 2026.04-rc5-3-gf1dace477fb8-dirty 04/01/2026
> > [0.048305] pstate: 6005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS 
> > BTYPE=--)
> > [0.048312] pc : __efi_queue_work+0xd4/0x108
> > [0.048318] lr : __efi_queue_work+0xc0/0x108
> > [0.048323] sp : 80008003bc80
> > [0.048326] x29: 80008003bc80 x28: ad05b176bad4 x27: 
> > ad05b16b00ac
> > [0.048336] x26: ad05b1622e60 x25: ad05b1953000 x24: 
> > ad05b1749050
> > [0.048345] x23: 0004 x22: 80008003bd1e x21: 
> > 80008003bd20
> > [0.048353] x20: 80008003bd28 x19: ad05b19cd5d8 x18: 
> > fffe2f20
> > [0.048362] x17: 7000 x16: 01c065a0 x15: 
> > 
> > [0.048370] x14: 008a x13: 01cf8090 x12: 
> > 0001
> > [0.048379] x11: 00c0 x10: 09f0 x9 : 
> > 80008003bad0
> > [0.048387] x8 : 01cf8a50 x7 : 0001 x6 : 
> > 0001
> > [0.048395] x5 :  x4 :  x3 : 
> > 0001
> > [0.048403] x2 :  x1 : 80

Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-30 Thread Randolph Sapp
On Thu Mar 26, 2026 at 6:23 PM CDT, Randolph Sapp wrote:
> On Wed Mar 25, 2026 at 7:34 PM CDT, Randolph Sapp wrote:
>> On Mon Mar 23, 2026 at 2:46 PM CDT, Robert Nelson wrote:
>>> On Mon, Mar 23, 2026 at 2:37 PM Randolph Sapp  wrote:
 On Fri Mar 20, 2026 at 10:32 AM CDT, Robert Nelson wrote:
 >> > +++ b/configs/am62_pocketbeagle2_a53_defconfig
 >> > @@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
 >> >  CONFIG_SPL_LIBGENERIC_SUPPORT=y
 >> >  CONFIG_NR_DRAM_BANKS=1
 >> >  CONFIG_SOC_K3_AM625=y
>> [snip]
 >> > @@ -120,7 +115,8 @@ CONFIG_SYSRESET_TI_SCI=y
 >> >  CONFIG_EXT4_WRITE=y
 >> >  CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
 >> >  CONFIG_LZO=y
 >> > -CONFIG_EFI_SET_TIME=y
 >> > +CONFIG_SYS_MEM_TOP_HIDE=0x400
 >>
 >> Any reason why we are using TOP_HIDE here instead of just moving OPTEE
 >> lower in DDR like we do on the 512MiB AM6254atl EVM?
 >
 > Sorry, that is now a legacy setting before OPTEE finally got moved in
 > v2026.01, as this had been developed thru v2025 u-boot releases..
 >

 Well, it's worth noting that this change was not done in the usual way, and
 involves user interaction during the build beyond selecting a defconfig.

 https://texasinstruments.github.io/processor-sdk-doc/processor-sdk-linux-AM62X/esd/docs/master/linux/Foundational_Components_ATF.html
 https://git.ti.com/cgit/arago-project/meta-ti/tree/meta-ti-bsp/conf/machine/am62xxsip-evm.conf

 Robert, are you alright with me making the requested changes?
>>>
>>> I guess as long as we document it. I know the Octavo OSD62-sip @Erik
>>> Welsh  will also be building on both am62xxsip and pocketbeagle2 based
>>> on the 512MB and then larger memory sizes (1G, 2G, etc.).
>>>
>>> Regards,
>>
>> Oh boy, adjusting the memory maps kept getting me out of memory errors in the
>> EFI flow that I knew should not be true. Found something fun: LMB reserved
>> memory regions do not match EFI reserved memory regions. EFI's
>> efi_carve_out_dt_rsv is setting regions to be more strict that LMB's base
>> requirements. When this occurs and an allocation runs into this discrepancy,
>> that allocation and all future allocation requests in the EFI flow will 
>> begin to
>> fail as they are repeatedly given the same LMB start address in the 
>> unapproved
>> region.
>>
>> Randolph
>
> Alright, looking into the allocation helpers it seems that
> EFI_CONVENTIONAL_MEMORY can be remapped in efi_allocate_pages so long as LMB
> agrees that it's free. This aligns with my understanding of the UEFI spec as
> well. I dumped the EFI memory map and noticed there were 2 fragmented sections
> of EFI_CONVENTIONAL_MEMORY that it could still use.
>
> Wired up efi_allocate_pages to go to those regions and attempt to allocate 
> from
> there in the even an LMB_MEM_ALLOC_MAX or LMB_MEM_ALLOC_ANY start failing. 
> Seems
> to have worked, but now I'm seeing the following reported in the kernel:
>
> [0.048167] [Firmware Bug]: Unable to handle paging request in EFI runtime 
> service
> [0.048246] [ cut here ]
> [0.048249] WARNING: CPU: 0 PID: 1 at 
> /usr/src/kernel/drivers/firmware/efi/runtime-wrappers.c:341 
> __efi_queue_work+0xd4/0x108
> [0.048270] Modules linked in:
> [0.048285] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Tainted: G  I 
> 6.18.13-ti-00636-g30182cf3ac7d-dirty #1 PREEMPT 
> [0.048296] Tainted: [I]=FIRMWARE_WORKAROUND
> [0.048299] Hardware name: beagle BeagleBoard.org 
> PocketBeagle2/BeagleBoard.org PocketBeagle2, BIOS 
> 2026.04-rc5-3-gf1dace477fb8-dirty 04/01/2026
> [0.048305] pstate: 6005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [0.048312] pc : __efi_queue_work+0xd4/0x108
> [0.048318] lr : __efi_queue_work+0xc0/0x108
> [0.048323] sp : 80008003bc80
> [0.048326] x29: 80008003bc80 x28: ad05b176bad4 x27: 
> ad05b16b00ac
> [0.048336] x26: ad05b1622e60 x25: ad05b1953000 x24: 
> ad05b1749050
> [0.048345] x23: 0004 x22: 80008003bd1e x21: 
> 80008003bd20
> [0.048353] x20: 80008003bd28 x19: ad05b19cd5d8 x18: 
> fffe2f20
> [0.048362] x17: 7000 x16: 01c065a0 x15: 
> 
> [0.048370] x14: 008a x13: 01cf8090 x12: 
> 0001
> [0.048379] x11: 00c0 x10: 09f0 x9 : 
> 80008003bad0
> [0.048387] x8 : 01cf8a50 x7 : 0001 x6 : 
> 0001
> [0.048395] x5 :  x4 :  x3 : 
> 0001
> [0.048403] x2 :  x1 : 8015 x0 : 
> 8015
> [0.048413] Call trace:
> [0.048417]  __efi_queue_work+0xd4/0x108 (P)
> [0.048426]  virt_efi_get_next_variable+0x5c/0xac
> [0.048434]  efisubsys_init+0x148/0x390
> [0.048444]  do_one_initcall+0x60/0x1d4
> [0.048457]  kernel_init_freeable+0x248/0x2c4

Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-30 Thread Robert Nelson
Add the magic numbers i got from Bryan at ti..

> Here are the git revisions that I used of the above directories:
>
> u-boot: your ef03e35488377a32cdd4f76d1a03ef7f60c798ef
> trusted-firmware-a: 8dae0862c502e08568a61a1050091fa9357f1240 (Mar 23)
> optee_os: 1c0c7c06563e9be0ebc55b47cdb71422b02906a6 (Mar 23)
> ti-linux-firmware: 12.00.00.07 (Mar 20)

I'm just on tagged releases, will bump later..

>
> For podman run, I am bind-mounting the source directory tree using the
> :O (overlay) option. So, even though I appear to run "in-source" build,
> the original source directories outside the container will remain
> unchanged. The files tiboot3.bin, tispl.bin, and u-boot.img are
> generated by running the following commands inside the container:
>
> make -j$(nproc) -C trusted-firmware-a CROSS_COMPILE=aarch64-linux-gnu- \
> ARCH=aarch64 PLAT=k3 SPD=opteed TARGET_BOARD=lite

TFA: add: `K3_USART=0x6 BL32_BASE=0x8008 PRELOADED_BL33_BASE=0x8200`

>
> make -j$(nproc) -C optee_os CROSS_COMPILE=arm-linux-gnueabihf- \
> CROSS_COMPILE64=aarch64-linux-gnu- CFG_ARM64_core=y CFG_WITH_SOFTWARE_PRNG=y \
> PLATFORM=k3-am62x

optee add: `CFG_CONSOLE_UART=0x6 CFG_TZDRAM_START=0x8008 `
CFG_WITH_SOFTWARE_PRNG can be removed

>
> cd u-boot
> make am62_pocketbeagle2_r5_defconfig &&
> make -j$(nproc) CROSS_COMPILE=arm-linux-gnueabihf- \
> BINMAN_INDIRS=$(pwd)/../ti-linux-firmware &&
>
> make am62_pocketbeagle2_a53_defconfig &&
> make -j$(nproc) CROSS_COMPILE=aarch64-linux-gnu- \
> BINMAN_INDIRS=$(pwd)/../ti-linux-firmware \
> BL31=$(pwd)/../trusted-firmware-a/build/k3/lite/release/bl31.bin \
> TEE=$(pwd)/../optee_os/out/arm-plat-k3/core/tee-raw.bin
>
> Based on reviewing your build script, I revised the above by adding
> TFA_EXTRA_ARGS=K3_USART_0x6 to trusted-firmware-a and
> CFG_CONSOLE_UART=0x6 to optee_os, but they made no difference.
> Furthermore, I replaced tee-raw.bin with tee-pager_v2.bin: no change.
>
> What am I doing wrong here?
>
> With best regards,
>
> Marko



-- 
Robert Nelson
https://rcn-ee.com/


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-29 Thread Marko Mäkelä

Hi Robert,

Sat, Mar 28, 2026 at 11:39:00AM -0500, Robert Nelson wrote:

Side note, here's my ci builder for u-boot.. :
https://github.com/beagleboard/u-boot-pocketbeagle2


Thank you. I see that the build_u-boot.sh is fetching trusted-firmware-a 
from a different source than I am (see below).


For debug, if you have access to them, grab the Raspberry PI debug 
cable: 
https://www.digikey.com/en/products/detail/raspberry-pi/SC0889/17877576 
and they are available globally..


Yesterday, a friend gave me an adapter cable that allows me to use an 
existing 3.3V compatible USB UART adapter.


When using the pristine PocketBeagle 2 MicroSD card image, I will get 
some messages from U-boot, followed by the console output from the Linux 
kernel and finally from the Debian user space.


With any of my self-built images, the SPL is unable to start the 64-bit 
U-boot:


U-Boot SPL 2026.01 (Mar 29 2026 - 15:56:33 +)
SYSFW ABI: 4.0 (firmware rev 0x000c '12.0.2--v12.00.02 (Clever Cat)')
Changed A53 CPU frequency to 14Hz (T grade) in DT
SPL initial stack usage: 13416 bytes
Trying to boot from MMC2
Authentication passed
Authentication passed
Authentication passed
Authentication passed
Authentication passed
Starting ATF on ARM64 core...

I had a working build script for the phyBOARD Lyra, which I have 
slightly modified for this experiment. I have a build container that was 
set up some months ago, as follows:


FROM debian:latest

RUN apt update&&apt install -y build-essential bc flex bison libssl-dev kmod \
binutils-multiarch gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf \
python3 python3-setuptools python3-dev python3-cryptography \
python3-pyelftools python3-yaml yamllint python3-jsonschema swig gnutls-dev

I set up source directories like this:

[ -d u-boot ] ||
git clone --depth=1 -b master https://source.denx.de/u-boot/u-boot.git \
u-boot
[ -d trusted-firmware-a ] ||
git clone --depth=1 -b master \
https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/ \
trusted-firmware-a
[ -d optee_os ] ||
git clone --depth=1 -b master https://github.com/OP-TEE/optee_os.git \
optee_os
[ -d ti-linux-firmware ] ||
git clone --depth=1 -b ti-linux-firmware \
https://git.ti.com/git/processor-firmware/ti-linux-firmware.git \
ti-linux-firmware

Initially, I used some older checkouts of the other components.  
Updating them to the latest did not make any difference: the SPL was 
able to start up also with the older snapshots.


Here are the git revisions that I used of the above directories:

u-boot: your ef03e35488377a32cdd4f76d1a03ef7f60c798ef
trusted-firmware-a: 8dae0862c502e08568a61a1050091fa9357f1240 (Mar 23)
optee_os: 1c0c7c06563e9be0ebc55b47cdb71422b02906a6 (Mar 23)
ti-linux-firmware: 12.00.00.07 (Mar 20)

For podman run, I am bind-mounting the source directory tree using the 
:O (overlay) option. So, even though I appear to run "in-source" build, 
the original source directories outside the container will remain 
unchanged. The files tiboot3.bin, tispl.bin, and u-boot.img are 
generated by running the following commands inside the container:


make -j$(nproc) -C trusted-firmware-a CROSS_COMPILE=aarch64-linux-gnu- \
ARCH=aarch64 PLAT=k3 SPD=opteed TARGET_BOARD=lite

make -j$(nproc) -C optee_os CROSS_COMPILE=arm-linux-gnueabihf- \
CROSS_COMPILE64=aarch64-linux-gnu- CFG_ARM64_core=y CFG_WITH_SOFTWARE_PRNG=y \
PLATFORM=k3-am62x

cd u-boot
make am62_pocketbeagle2_r5_defconfig &&
make -j$(nproc) CROSS_COMPILE=arm-linux-gnueabihf- \
BINMAN_INDIRS=$(pwd)/../ti-linux-firmware &&

make am62_pocketbeagle2_a53_defconfig &&
make -j$(nproc) CROSS_COMPILE=aarch64-linux-gnu- \
BINMAN_INDIRS=$(pwd)/../ti-linux-firmware \
BL31=$(pwd)/../trusted-firmware-a/build/k3/lite/release/bl31.bin \
TEE=$(pwd)/../optee_os/out/arm-plat-k3/core/tee-raw.bin

Based on reviewing your build script, I revised the above by adding 
TFA_EXTRA_ARGS=K3_USART_0x6 to trusted-firmware-a and 
CFG_CONSOLE_UART=0x6 to optee_os, but they made no difference.  
Furthermore, I replaced tee-raw.bin with tee-pager_v2.bin: no change.


What am I doing wrong here?

With best regards,

Marko


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-28 Thread Robert Nelson
On Sat, Mar 28, 2026 at 3:18 AM Marko Mäkelä  wrote:
>
> Hi Robert,
>
> Fri, Mar 27, 2026 at 09:15:35PM +0200, Marko Mäkelä wrote:
> [snip]
> >Can you help me enable the USB serial console, first for u-boot and
> >subsequently for the Linux console?
>
> I just found your reply on this topic:
> https://forum.beagleboard.org/t/pocketbeagle2-with-techlab-cape-usb-to-serial/42940
>
> So, I must wire a 3.3V UART to a JST SH 1.0 mm 3 Pin connector and plug
> it in on the opposite side of the USB-C connector.

Side note, here's my ci builder for u-boot.. :
https://github.com/beagleboard/u-boot-pocketbeagle2

For debug, if you have access to them, grab the Raspberry PI debug
cable: https://www.digikey.com/en/products/detail/raspberry-pi/SC0889/17877576
 and they are available globally..

The JST will plug right in..

Regards,

-- 
Robert Nelson
https://rcn-ee.com/


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-28 Thread Marko Mäkelä

Hi Robert,

Fri, Mar 27, 2026 at 09:15:35PM +0200, Marko Mäkelä wrote:
[snip]
Can you help me enable the USB serial console, first for u-boot and 
subsequently for the Linux console?


I just found your reply on this topic:
https://forum.beagleboard.org/t/pocketbeagle2-with-techlab-cape-usb-to-serial/42940

So, I must wire a 3.3V UART to a JST SH 1.0 mm 3 Pin connector and plug 
it in on the opposite side of the USB-C connector.


Marko


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-27 Thread Marko Mäkelä

Fri, Mar 27, 2026 at 09:53:03AM -0500, Robert Nelson wrote:

On Fri, Mar 27, 2026 at 9:25 AM Marko Mäkelä  wrote:
Marko, here's my last wip, before Randolph submitted:
https://github.com/beagleboard/u-boot/tree/v2026.01-am62-pocketbeagle2


Thank you. I was able to merge it to the current master and build it, 
but that of course does not guarantee that it would actually work. I 
guess that it wouldn't, and I should for now try out your branch as is.  
But I did not get that far yet.


To get a somewhat predictable starting point, I downloaded 
pocketbeagle2-debian-13.3-base-v6.12-arm64-2026-02-12-8gb.img.xz on a 
MicroSD card. It booted straight to Debian; I could access it via the 
USB Ethernet and /dev/ttyACM0 endpoints as noted in 
https://docs.beagle.cc/boards/pocketbeagle-2/02-quick-start.html.


Can you help me enable the USB serial console, first for u-boot and 
subsequently for the Linux console? Would I have to hold a button while 
starting it up, or would I need some special u-boot configuration 
option, or remove one of the files so that the autoboot would fail? Some 
months ago I used a phyBOARD Lyra (phycore_am62x_*_defconfig), and it 
was a rather well documented procedure with that one.


Best regards,

Marko


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-27 Thread Robert Nelson
On Fri, Mar 27, 2026 at 9:25 AM Marko Mäkelä  wrote:
>
> Thu, Mar 26, 2026 at 06:23:20PM -0500, Randolph Sapp wrote:
> [snip]
> >Alright, looking into the allocation helpers it seems that
> >EFI_CONVENTIONAL_MEMORY can be remapped in efi_allocate_pages so long as LMB
> >agrees that it's free. This aligns with my understanding of the UEFI spec as
> >well. I dumped the EFI memory map and noticed there were 2 fragmented 
> >sections
> >of EFI_CONVENTIONAL_MEMORY that it could still use.
> >
> >Wired up efi_allocate_pages to go to those regions and attempt to allocate 
> >from
> >there in the even an LMB_MEM_ALLOC_MAX or LMB_MEM_ALLOC_ANY start failing. 
> >Seems
> >to have worked, but now I'm seeing the following reported in the kernel:
> [snip]
>
> I can't help with that, but I hope that someone can. Because I intend to
> work on improvements related to secure boot and FIT verification, having
> this board working in the current u-boot would be really great. I'm
> looking forward to test a revised patch set.
>
> Coincidentally, I just got a PocketBeagle 2 yesterday. It took a while
> for me to find some useful u-boot source code. I came across
> https://github.com/beagleboard/u-boot/commit/64be5e474943dc5c6e6e01edc124ff6f53f616a4
> which is a few changes ahead of u-boot:
>
> 64be5e47494 arm: dts: k3-am62-r5-pocketbeagle2: remove chosen uart override
> e1207aad9b0 arm: dts: k3-am62-pocketbeagle2: add boot phase flag to uart6
> 23f9fc5d6da arm: mach-k3: am62: add &main_uart6 to clock and pwr tree
> 156a9bb1410 add: k3-am62-pocketbeagle2
>
> On a merge to the current u-boot master, I discarded a change to
> k3_get_a53_max_frequency(void) by 156a9bb1410 because that function has
> been replaced with am62p_map[]. In that array, the clock rates for the
> speed grades S,T,U,V would conflict with patch. I don't expect this to
> be essential, but I thought that I would mention it because there were
> no adjustments to the speed grade in this patch set.

Marko, here's my last wip, before Randolph submitted:
https://github.com/beagleboard/u-boot/tree/v2026.01-am62-pocketbeagle2

v2026.04-rc* has had more TI changes for low-memory (512MB) devices
hitting mainline so things have changed again to work around k3
stuff..

Regards,

-- 
Robert Nelson
https://rcn-ee.com/


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-27 Thread Marko Mäkelä

Thu, Mar 26, 2026 at 06:23:20PM -0500, Randolph Sapp wrote:
[snip]

Alright, looking into the allocation helpers it seems that
EFI_CONVENTIONAL_MEMORY can be remapped in efi_allocate_pages so long as LMB
agrees that it's free. This aligns with my understanding of the UEFI spec as
well. I dumped the EFI memory map and noticed there were 2 fragmented sections
of EFI_CONVENTIONAL_MEMORY that it could still use.

Wired up efi_allocate_pages to go to those regions and attempt to allocate from
there in the even an LMB_MEM_ALLOC_MAX or LMB_MEM_ALLOC_ANY start failing. Seems
to have worked, but now I'm seeing the following reported in the kernel:

[snip]

I can't help with that, but I hope that someone can. Because I intend to 
work on improvements related to secure boot and FIT verification, having 
this board working in the current u-boot would be really great. I'm 
looking forward to test a revised patch set.


Coincidentally, I just got a PocketBeagle 2 yesterday. It took a while 
for me to find some useful u-boot source code. I came across 
https://github.com/beagleboard/u-boot/commit/64be5e474943dc5c6e6e01edc124ff6f53f616a4 
which is a few changes ahead of u-boot:


64be5e47494 arm: dts: k3-am62-r5-pocketbeagle2: remove chosen uart override
e1207aad9b0 arm: dts: k3-am62-pocketbeagle2: add boot phase flag to uart6
23f9fc5d6da arm: mach-k3: am62: add &main_uart6 to clock and pwr tree
156a9bb1410 add: k3-am62-pocketbeagle2

On a merge to the current u-boot master, I discarded a change to 
k3_get_a53_max_frequency(void) by 156a9bb1410 because that function has 
been replaced with am62p_map[]. In that array, the clock rates for the 
speed grades S,T,U,V would conflict with patch. I don't expect this to 
be essential, but I thought that I would mention it because there were 
no adjustments to the speed grade in this patch set.


With best regards,

Marko


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-26 Thread Randolph Sapp
On Wed Mar 25, 2026 at 7:34 PM CDT, Randolph Sapp wrote:
> On Mon Mar 23, 2026 at 2:46 PM CDT, Robert Nelson wrote:
>> On Mon, Mar 23, 2026 at 2:37 PM Randolph Sapp  wrote:
>>> On Fri Mar 20, 2026 at 10:32 AM CDT, Robert Nelson wrote:
>>> >> > +++ b/configs/am62_pocketbeagle2_a53_defconfig
>>> >> > @@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
>>> >> >  CONFIG_SPL_LIBGENERIC_SUPPORT=y
>>> >> >  CONFIG_NR_DRAM_BANKS=1
>>> >> >  CONFIG_SOC_K3_AM625=y
> [snip]
>>> >> > @@ -120,7 +115,8 @@ CONFIG_SYSRESET_TI_SCI=y
>>> >> >  CONFIG_EXT4_WRITE=y
>>> >> >  CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
>>> >> >  CONFIG_LZO=y
>>> >> > -CONFIG_EFI_SET_TIME=y
>>> >> > +CONFIG_SYS_MEM_TOP_HIDE=0x400
>>> >>
>>> >> Any reason why we are using TOP_HIDE here instead of just moving OPTEE
>>> >> lower in DDR like we do on the 512MiB AM6254atl EVM?
>>> >
>>> > Sorry, that is now a legacy setting before OPTEE finally got moved in
>>> > v2026.01, as this had been developed thru v2025 u-boot releases..
>>> >
>>>
>>> Well, it's worth noting that this change was not done in the usual way, and
>>> involves user interaction during the build beyond selecting a defconfig.
>>>
>>> https://texasinstruments.github.io/processor-sdk-doc/processor-sdk-linux-AM62X/esd/docs/master/linux/Foundational_Components_ATF.html
>>> https://git.ti.com/cgit/arago-project/meta-ti/tree/meta-ti-bsp/conf/machine/am62xxsip-evm.conf
>>>
>>> Robert, are you alright with me making the requested changes?
>>
>> I guess as long as we document it. I know the Octavo OSD62-sip @Erik
>> Welsh  will also be building on both am62xxsip and pocketbeagle2 based
>> on the 512MB and then larger memory sizes (1G, 2G, etc.).
>>
>> Regards,
>
> Oh boy, adjusting the memory maps kept getting me out of memory errors in the
> EFI flow that I knew should not be true. Found something fun: LMB reserved
> memory regions do not match EFI reserved memory regions. EFI's
> efi_carve_out_dt_rsv is setting regions to be more strict that LMB's base
> requirements. When this occurs and an allocation runs into this discrepancy,
> that allocation and all future allocation requests in the EFI flow will begin 
> to
> fail as they are repeatedly given the same LMB start address in the unapproved
> region.
>
> Randolph

Alright, looking into the allocation helpers it seems that
EFI_CONVENTIONAL_MEMORY can be remapped in efi_allocate_pages so long as LMB
agrees that it's free. This aligns with my understanding of the UEFI spec as
well. I dumped the EFI memory map and noticed there were 2 fragmented sections
of EFI_CONVENTIONAL_MEMORY that it could still use.

Wired up efi_allocate_pages to go to those regions and attempt to allocate from
there in the even an LMB_MEM_ALLOC_MAX or LMB_MEM_ALLOC_ANY start failing. Seems
to have worked, but now I'm seeing the following reported in the kernel:

[0.048167] [Firmware Bug]: Unable to handle paging request in EFI runtime 
service
[0.048246] [ cut here ]
[0.048249] WARNING: CPU: 0 PID: 1 at 
/usr/src/kernel/drivers/firmware/efi/runtime-wrappers.c:341 
__efi_queue_work+0xd4/0x108
[0.048270] Modules linked in:
[0.048285] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Tainted: G  I   
  6.18.13-ti-00636-g30182cf3ac7d-dirty #1 PREEMPT 
[0.048296] Tainted: [I]=FIRMWARE_WORKAROUND
[0.048299] Hardware name: beagle BeagleBoard.org 
PocketBeagle2/BeagleBoard.org PocketBeagle2, BIOS 
2026.04-rc5-3-gf1dace477fb8-dirty 04/01/2026
[0.048305] pstate: 6005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[0.048312] pc : __efi_queue_work+0xd4/0x108
[0.048318] lr : __efi_queue_work+0xc0/0x108
[0.048323] sp : 80008003bc80
[0.048326] x29: 80008003bc80 x28: ad05b176bad4 x27: ad05b16b00ac
[0.048336] x26: ad05b1622e60 x25: ad05b1953000 x24: ad05b1749050
[0.048345] x23: 0004 x22: 80008003bd1e x21: 80008003bd20
[0.048353] x20: 80008003bd28 x19: ad05b19cd5d8 x18: fffe2f20
[0.048362] x17: 7000 x16: 01c065a0 x15: 
[0.048370] x14: 008a x13: 01cf8090 x12: 0001
[0.048379] x11: 00c0 x10: 09f0 x9 : 80008003bad0
[0.048387] x8 : 01cf8a50 x7 : 0001 x6 : 0001
[0.048395] x5 :  x4 :  x3 : 0001
[0.048403] x2 :  x1 : 8015 x0 : 8015
[0.048413] Call trace:
[0.048417]  __efi_queue_work+0xd4/0x108 (P)
[0.048426]  virt_efi_get_next_variable+0x5c/0xac
[0.048434]  efisubsys_init+0x148/0x390
[0.048444]  do_one_initcall+0x60/0x1d4
[0.048457]  kernel_init_freeable+0x248/0x2c4
[0.048468]  kernel_init+0x20/0x140
[0.048478]  ret_from_fork+0x10/0x20
[0.048489] ---[ end trace  ]---

U-boot itself doesn't report any errors, so I want to assume this is probably a
configuration issue 

Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-25 Thread Randolph Sapp
On Mon Mar 23, 2026 at 2:46 PM CDT, Robert Nelson wrote:
> On Mon, Mar 23, 2026 at 2:37 PM Randolph Sapp  wrote:
>> On Fri Mar 20, 2026 at 10:32 AM CDT, Robert Nelson wrote:
>> >> > +++ b/configs/am62_pocketbeagle2_a53_defconfig
>> >> > @@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
>> >> >  CONFIG_SPL_LIBGENERIC_SUPPORT=y
>> >> >  CONFIG_NR_DRAM_BANKS=1
>> >> >  CONFIG_SOC_K3_AM625=y
[snip]
>> >> > @@ -120,7 +115,8 @@ CONFIG_SYSRESET_TI_SCI=y
>> >> >  CONFIG_EXT4_WRITE=y
>> >> >  CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
>> >> >  CONFIG_LZO=y
>> >> > -CONFIG_EFI_SET_TIME=y
>> >> > +CONFIG_SYS_MEM_TOP_HIDE=0x400
>> >>
>> >> Any reason why we are using TOP_HIDE here instead of just moving OPTEE
>> >> lower in DDR like we do on the 512MiB AM6254atl EVM?
>> >
>> > Sorry, that is now a legacy setting before OPTEE finally got moved in
>> > v2026.01, as this had been developed thru v2025 u-boot releases..
>> >
>>
>> Well, it's worth noting that this change was not done in the usual way, and
>> involves user interaction during the build beyond selecting a defconfig.
>>
>> https://texasinstruments.github.io/processor-sdk-doc/processor-sdk-linux-AM62X/esd/docs/master/linux/Foundational_Components_ATF.html
>> https://git.ti.com/cgit/arago-project/meta-ti/tree/meta-ti-bsp/conf/machine/am62xxsip-evm.conf
>>
>> Robert, are you alright with me making the requested changes?
>
> I guess as long as we document it. I know the Octavo OSD62-sip @Erik
> Welsh  will also be building on both am62xxsip and pocketbeagle2 based
> on the 512MB and then larger memory sizes (1G, 2G, etc.).
>
> Regards,

Oh boy, adjusting the memory maps kept getting me out of memory errors in the
EFI flow that I knew should not be true. Found something fun: LMB reserved
memory regions do not match EFI reserved memory regions. EFI's
efi_carve_out_dt_rsv is setting regions to be more strict that LMB's base
requirements. When this occurs and an allocation runs into this discrepancy,
that allocation and all future allocation requests in the EFI flow will begin to
fail as they are repeatedly given the same LMB start address in the unapproved
region.

Randolph


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-23 Thread Robert Nelson
On Mon, Mar 23, 2026 at 2:37 PM Randolph Sapp  wrote:
>
> On Fri Mar 20, 2026 at 10:32 AM CDT, Robert Nelson wrote:
> >> > +++ b/configs/am62_pocketbeagle2_a53_defconfig
> >> > @@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
> >> >  CONFIG_SPL_LIBGENERIC_SUPPORT=y
> >> >  CONFIG_NR_DRAM_BANKS=1
> >> >  CONFIG_SOC_K3_AM625=y
> >> > -CONFIG_TARGET_AM625_A53_BEAGLEPLAY=y
> >> > +CONFIG_TARGET_AM62X_A53_POCKETBEAGLE2=y
> >> >  CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> >> >  CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80b8
> >> >  CONFIG_DM_GPIO=y
> >> > -CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am625-beagleplay"
> >> > +CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am62-pocketbeagle2"
> >> >  CONFIG_OF_LIBFDT_OVERLAY=y
> >> >  CONFIG_DM_RESET=y
> >> >  CONFIG_SPL_MMC=y
> >> > @@ -44,8 +44,6 @@ CONFIG_SPL_I2C=y
> >> >  CONFIG_SPL_DM_MAILBOX=y
> >> >  CONFIG_SPL_POWER_DOMAIN=y
> >> >  CONFIG_SPL_YMODEM_SUPPORT=y
> >> > -CONFIG_CMD_BOOTEFI_SELFTEST=y
> >> > -CONFIG_CMD_NVEDIT_EFI=y
> >> >  CONFIG_CMD_GPIO=y
> >> >  CONFIG_CMD_GPIO_READ=y
> >> >  CONFIG_CMD_I2C=y
> >> > @@ -53,6 +51,7 @@ CONFIG_CMD_MMC=y
> >> >  CONFIG_CMD_EFIDEBUG=y
> >> >  CONFIG_CMD_PMIC=y
> >> >  CONFIG_CMD_REGULATOR=y
> >> > +CONFIG_CMD_CACHE=y
> >> >  CONFIG_OF_CONTROL=y
> >> >  CONFIG_SPL_OF_CONTROL=y
> >> >  CONFIG_OF_UPSTREAM=y
> >> > @@ -90,10 +89,6 @@ CONFIG_MMC_SDHCI=y
> >> >  CONFIG_MMC_SDHCI_ADMA=y
> >> >  CONFIG_SPL_MMC_SDHCI_ADMA=y
> >> >  CONFIG_MMC_SDHCI_AM654=y
> >> > -CONFIG_PHY_REALTEK=y
> >> > -CONFIG_PHY_TI=y
> >> > -CONFIG_DM_ETH_PHY=y
> >> > -CONFIG_TI_AM65_CPSW_NUSS=y
> >> >  CONFIG_PHY=y
> >> >  CONFIG_PINCTRL=y
> >> >  CONFIG_SPL_PINCTRL=y
> >> > @@ -120,7 +115,8 @@ CONFIG_SYSRESET_TI_SCI=y
> >> >  CONFIG_EXT4_WRITE=y
> >> >  CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
> >> >  CONFIG_LZO=y
> >> > -CONFIG_EFI_SET_TIME=y
> >> > +CONFIG_SYS_MEM_TOP_HIDE=0x400
> >>
> >> Any reason why we are using TOP_HIDE here instead of just moving OPTEE
> >> lower in DDR like we do on the 512MiB AM6254atl EVM?
> >
> > Sorry, that is now a legacy setting before OPTEE finally got moved in
> > v2026.01, as this had been developed thru v2025 u-boot releases..
> >
>
> Well, it's worth noting that this change was not done in the usual way, and
> involves user interaction during the build beyond selecting a defconfig.
>
> https://texasinstruments.github.io/processor-sdk-doc/processor-sdk-linux-AM62X/esd/docs/master/linux/Foundational_Components_ATF.html
> https://git.ti.com/cgit/arago-project/meta-ti/tree/meta-ti-bsp/conf/machine/am62xxsip-evm.conf
>
> Robert, are you alright with me making the requested changes?

I guess as long as we document it. I know the Octavo OSD62-sip @Erik
Welsh  will also be building on both am62xxsip and pocketbeagle2 based
on the 512MB and then larger memory sizes (1G, 2G, etc.).

Regards,

-- 
Robert Nelson
https://rcn-ee.com/


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-23 Thread Randolph Sapp
On Fri Mar 20, 2026 at 10:32 AM CDT, Robert Nelson wrote:
>> > +++ b/configs/am62_pocketbeagle2_a53_defconfig
>> > @@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
>> >  CONFIG_SPL_LIBGENERIC_SUPPORT=y
>> >  CONFIG_NR_DRAM_BANKS=1
>> >  CONFIG_SOC_K3_AM625=y
>> > -CONFIG_TARGET_AM625_A53_BEAGLEPLAY=y
>> > +CONFIG_TARGET_AM62X_A53_POCKETBEAGLE2=y
>> >  CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
>> >  CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80b8
>> >  CONFIG_DM_GPIO=y
>> > -CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am625-beagleplay"
>> > +CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am62-pocketbeagle2"
>> >  CONFIG_OF_LIBFDT_OVERLAY=y
>> >  CONFIG_DM_RESET=y
>> >  CONFIG_SPL_MMC=y
>> > @@ -44,8 +44,6 @@ CONFIG_SPL_I2C=y
>> >  CONFIG_SPL_DM_MAILBOX=y
>> >  CONFIG_SPL_POWER_DOMAIN=y
>> >  CONFIG_SPL_YMODEM_SUPPORT=y
>> > -CONFIG_CMD_BOOTEFI_SELFTEST=y
>> > -CONFIG_CMD_NVEDIT_EFI=y
>> >  CONFIG_CMD_GPIO=y
>> >  CONFIG_CMD_GPIO_READ=y
>> >  CONFIG_CMD_I2C=y
>> > @@ -53,6 +51,7 @@ CONFIG_CMD_MMC=y
>> >  CONFIG_CMD_EFIDEBUG=y
>> >  CONFIG_CMD_PMIC=y
>> >  CONFIG_CMD_REGULATOR=y
>> > +CONFIG_CMD_CACHE=y
>> >  CONFIG_OF_CONTROL=y
>> >  CONFIG_SPL_OF_CONTROL=y
>> >  CONFIG_OF_UPSTREAM=y
>> > @@ -90,10 +89,6 @@ CONFIG_MMC_SDHCI=y
>> >  CONFIG_MMC_SDHCI_ADMA=y
>> >  CONFIG_SPL_MMC_SDHCI_ADMA=y
>> >  CONFIG_MMC_SDHCI_AM654=y
>> > -CONFIG_PHY_REALTEK=y
>> > -CONFIG_PHY_TI=y
>> > -CONFIG_DM_ETH_PHY=y
>> > -CONFIG_TI_AM65_CPSW_NUSS=y
>> >  CONFIG_PHY=y
>> >  CONFIG_PINCTRL=y
>> >  CONFIG_SPL_PINCTRL=y
>> > @@ -120,7 +115,8 @@ CONFIG_SYSRESET_TI_SCI=y
>> >  CONFIG_EXT4_WRITE=y
>> >  CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
>> >  CONFIG_LZO=y
>> > -CONFIG_EFI_SET_TIME=y
>> > +CONFIG_SYS_MEM_TOP_HIDE=0x400
>>
>> Any reason why we are using TOP_HIDE here instead of just moving OPTEE
>> lower in DDR like we do on the 512MiB AM6254atl EVM?
>
> Sorry, that is now a legacy setting before OPTEE finally got moved in
> v2026.01, as this had been developed thru v2025 u-boot releases..
>

Well, it's worth noting that this change was not done in the usual way, and
involves user interaction during the build beyond selecting a defconfig.

https://texasinstruments.github.io/processor-sdk-doc/processor-sdk-linux-AM62X/esd/docs/master/linux/Foundational_Components_ATF.html
https://git.ti.com/cgit/arago-project/meta-ti/tree/meta-ti-bsp/conf/machine/am62xxsip-evm.conf

Robert, are you alright with me making the requested changes?

Randolph


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-20 Thread Robert Nelson
> > +++ b/configs/am62_pocketbeagle2_a53_defconfig
> > @@ -6,11 +6,11 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
> >  CONFIG_SPL_LIBGENERIC_SUPPORT=y
> >  CONFIG_NR_DRAM_BANKS=1
> >  CONFIG_SOC_K3_AM625=y
> > -CONFIG_TARGET_AM625_A53_BEAGLEPLAY=y
> > +CONFIG_TARGET_AM62X_A53_POCKETBEAGLE2=y
> >  CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> >  CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80b8
> >  CONFIG_DM_GPIO=y
> > -CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am625-beagleplay"
> > +CONFIG_DEFAULT_DEVICE_TREE="ti/k3-am62-pocketbeagle2"
> >  CONFIG_OF_LIBFDT_OVERLAY=y
> >  CONFIG_DM_RESET=y
> >  CONFIG_SPL_MMC=y
> > @@ -44,8 +44,6 @@ CONFIG_SPL_I2C=y
> >  CONFIG_SPL_DM_MAILBOX=y
> >  CONFIG_SPL_POWER_DOMAIN=y
> >  CONFIG_SPL_YMODEM_SUPPORT=y
> > -CONFIG_CMD_BOOTEFI_SELFTEST=y
> > -CONFIG_CMD_NVEDIT_EFI=y
> >  CONFIG_CMD_GPIO=y
> >  CONFIG_CMD_GPIO_READ=y
> >  CONFIG_CMD_I2C=y
> > @@ -53,6 +51,7 @@ CONFIG_CMD_MMC=y
> >  CONFIG_CMD_EFIDEBUG=y
> >  CONFIG_CMD_PMIC=y
> >  CONFIG_CMD_REGULATOR=y
> > +CONFIG_CMD_CACHE=y
> >  CONFIG_OF_CONTROL=y
> >  CONFIG_SPL_OF_CONTROL=y
> >  CONFIG_OF_UPSTREAM=y
> > @@ -90,10 +89,6 @@ CONFIG_MMC_SDHCI=y
> >  CONFIG_MMC_SDHCI_ADMA=y
> >  CONFIG_SPL_MMC_SDHCI_ADMA=y
> >  CONFIG_MMC_SDHCI_AM654=y
> > -CONFIG_PHY_REALTEK=y
> > -CONFIG_PHY_TI=y
> > -CONFIG_DM_ETH_PHY=y
> > -CONFIG_TI_AM65_CPSW_NUSS=y
> >  CONFIG_PHY=y
> >  CONFIG_PINCTRL=y
> >  CONFIG_SPL_PINCTRL=y
> > @@ -120,7 +115,8 @@ CONFIG_SYSRESET_TI_SCI=y
> >  CONFIG_EXT4_WRITE=y
> >  CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
> >  CONFIG_LZO=y
> > -CONFIG_EFI_SET_TIME=y
> > +CONFIG_SYS_MEM_TOP_HIDE=0x400
>
> Any reason why we are using TOP_HIDE here instead of just moving OPTEE
> lower in DDR like we do on the 512MiB AM6254atl EVM?

Sorry, that is now a legacy setting before OPTEE finally got moved in
v2026.01, as this had been developed thru v2025 u-boot releases..

Regards,

-- 
Robert Nelson
https://rcn-ee.com/


Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support

2026-03-20 Thread Anshul Dalal
On Wed Mar 18, 2026 at 4:07 AM IST, rs wrote:
> From: Randolph Sapp 
>
> Add initial board support for the PocketBeagle 2, based on Robert Nelson
> and Bryan Brattlof's work. Unify all debug consoles to main_uart6. Use
> DDR config v10.32 from our sysconfig tool [1] for Kingston's memory [2],
> (4Gb Desnity with a CL of 11 and CWL of 9). Add support for the
> SPL_TEXT_BASE config parameter. Ensure all files have a summary and SPDX
> identifier.
>
> [1] https://dev.ti.com/sysconfig
> [2] 
> https://mm.digikey.com/Volume0/opasdata/d220001/medias/docus/6465/D2516AN9EXGXN-TU.pdf
>
> Signed-off-by: Randolph Sapp 
> ---
>  ...> k3-am62-pocketbeagle2-ddr4-1600MTs.dtsi} |  92 +++---
>  ...dtsi => k3-am62-pocketbeagle2-u-boot.dtsi} | 154 ++
>  arch/arm/dts/k3-am62-r5-pocketbeagle2.dts |  35 +++
>  arch/arm/mach-k3/am62x/Kconfig|   1 +
>  board/beagle/pocketbeagle2/Kconfig|  60 
>  board/beagle/pocketbeagle2/MAINTAINERS|  10 +
>  board/beagle/pocketbeagle2/Makefile   |   9 +
>  .../board-cfg.yaml|   0
>  .../{beagleplay => pocketbeagle2}/pm-cfg.yaml |   0
>  board/beagle/pocketbeagle2/pocketbeagle2.c|  39 +++
>  .../pocketbeagle2/pocketbeagle2.env}  |  21 +-
>  .../pocketbeagle2}/rm-cfg.yaml|   0
>  .../sec-cfg.yaml  |   0
>  ...onfig => am62_pocketbeagle2_a53_defconfig} |  16 +-
>  ...config => am62_pocketbeagle2_r5_defconfig} |   7 +-
>  doc/board/beagle/am62_pocketbeagle2.rst   | 277 ++
>  doc/board/beagle/index.rst|   1 +
>  .../src/arm64/ti/k3-am62-pocketbeagle2.dts|  43 +++
>  .../configs/{beagley_ai.h => pocketbeagle2.h} |   8 +-
>  19 files changed, 646 insertions(+), 127 deletions(-)
>  copy arch/arm/dts/{k3-am62x-sk-ddr4-1600MTs.dtsi => 
> k3-am62-pocketbeagle2-ddr4-1600MTs.dtsi} (97%)
>  copy arch/arm/dts/{k3-am67a-beagley-ai-u-boot.dtsi => 
> k3-am62-pocketbeagle2-u-boot.dtsi} (53%)
>  create mode 100644 arch/arm/dts/k3-am62-r5-pocketbeagle2.dts
>  create mode 100644 board/beagle/pocketbeagle2/Kconfig
>  create mode 100644 board/beagle/pocketbeagle2/MAINTAINERS
>  create mode 100644 board/beagle/pocketbeagle2/Makefile
>  copy board/beagle/{beagleplay => pocketbeagle2}/board-cfg.yaml (100%)
>  copy board/beagle/{beagleplay => pocketbeagle2}/pm-cfg.yaml (100%)
>  create mode 100644 board/beagle/pocketbeagle2/pocketbeagle2.c
>  copy board/{ti/am62x/am62x.env => beagle/pocketbeagle2/pocketbeagle2.env} 
> (59%)
>  copy board/{phytec/phycore_am62x => beagle/pocketbeagle2}/rm-cfg.yaml (100%)
>  copy board/beagle/{beagleplay => pocketbeagle2}/sec-cfg.yaml (100%)
>  copy configs/{am62x_beagleplay_a53_defconfig => 
> am62_pocketbeagle2_a53_defconfig} (91%)
>  copy configs/{am62x_beagleplay_r5_defconfig => 
> am62_pocketbeagle2_r5_defconfig} (93%)
>  create mode 100644 doc/board/beagle/am62_pocketbeagle2.rst
>  copy include/configs/{beagley_ai.h => pocketbeagle2.h} (57%)
>
> diff --git a/arch/arm/dts/k3-am62x-sk-ddr4-1600MTs.dtsi 
> b/arch/arm/dts/k3-am62-pocketbeagle2-ddr4-1600MTs.dtsi
> similarity index 97%
> copy from arch/arm/dts/k3-am62x-sk-ddr4-1600MTs.dtsi
> copy to arch/arm/dts/k3-am62-pocketbeagle2-ddr4-1600MTs.dtsi
> index 4afa68a6739..455a55f2c0d 100644
> --- a/arch/arm/dts/k3-am62x-sk-ddr4-1600MTs.dtsi
> +++ b/arch/arm/dts/k3-am62-pocketbeagle2-ddr4-1600MTs.dtsi
> @@ -2,20 +2,22 @@
>  /*
>   * This file was generated with the
>   * AM623/AM625 SysConfig DDR Configuration Tool for AM64x, AM625, AM623, 
> AM62Ax, AM62Px, AM62Dx, AM62Lx v0.10.32
> - * Fri Jan 30 2026 13:45:31 GMT+0530 (India Standard Time)
> + * Mon Jan 26 2026 10:31:36 GMT-0600 (Central Standard Time)
>   * DDR Type: DDR4
>   * Frequency = 800MHz (1600MTs)
> - * Density: 16Gb
> + * Density: 4Gb
>   * Number of Ranks: 1
>  */
>  
> +
>  #define DDRSS_PLL_FHS_CNT 6
>  #define DDRSS_PLL_FREQUENCY_1 4
>  #define DDRSS_PLL_FREQUENCY_2 4
> -#define DDRSS_SDRAM_IDX 15
> +#define DDRSS_SDRAM_IDX 13
>  #define DDRSS_REGION_IDX 16
>  #define DDRSS_TOOL_VERSION "0.10.32"
>  
> +
>  #define DDRSS_CTL_0_DATA 0x0A00
>  #define DDRSS_CTL_1_DATA 0x
>  #define DDRSS_CTL_2_DATA 0x
> @@ -54,11 +56,11 @@
>  #define DDRSS_CTL_35_DATA 0x
>  #define DDRSS_CTL_36_DATA 0x
>  #define DDRSS_CTL_37_DATA 0x
> -#define DDRSS_CTL_38_DATA 0x091C
> +#define DDRSS_CTL_38_DATA 0x0916
>  #define DDRSS_CTL_39_DATA 0x18181818
> -#define DDRSS_CTL_40_DATA 0x091C
> +#define DDRSS_CTL_40_DATA 0x0916
>  #define DDRSS_CTL_41_DATA 0x18181818
> -#define DDRSS_CTL_42_DATA 0x091C
> +#define DDRSS_CTL_42_DATA 0x0916
>  #define DDRSS_CTL_43_DATA 0x18181818
>  #define DDRSS_CTL_44_DATA 0x05050404
>  #define DDRSS_CTL_45_DATA 0x2706
> @@ -220,22 +222,22 @@
>  #define DDRSS_CTL_201_DATA 0x
>  #define DDRSS_CTL_202_DATA 0x
>  #define DDRSS_CTL_203_DATA 0x
> -#define DDRSS_CTL_204_DATA 0x00042400