Re: [PATCH 2/3] k3-am62-pocketbeagle2: add initial board support
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
> > +++ 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
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

