arm64/am62x: add initial BeaglePlay and PocketBeagle2 bring-up#18907
Conversation
|
@PiyushPatle26 Could you add "Signed-off-by" to your commits? And run nxstyle to fix the formatting errors below. Thanks :-) https://github.com/apache/nuttx/actions/runs/26137295099/job/76875152946?pr=18907#step:3:91 |
d4dbf71 to
5e9c960
Compare
fca7ac8 to
cc74e93
Compare
|
@nuttxpr test avaota-a1:nsh |
|
[Experimental Bot, please feedback here] Build and Test Successful (avaota-a1:nsh) |
lupyuen
left a comment
There was a problem hiding this comment.
Arm64 Changes tested OK with OSTest on Avaota-A1 Arm64 SBC (Allwinner A537) thanks :-)
|
Do you also have tests from the pocketbeagle you could attach? |
Yeah will do it today and attach |
AM62x enters NuttX through EL2 before dropping to EL1. Enable the GICv3 system register interface for lower exception levels during the EL2 handoff so EL1 can use the CPU interface without depending on firmware state. Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
1d96080
cc74e93 to
1d96080
Compare
|
I have also tested with running ostest on pocketbeagle2 |
|
@PiyushPatle26 still need address style issue: |
Adjust the generic 16550 driver for the AM62x console path. Preserve the FIFO programming sequence needed by the TI UART, keep the bootloader owned early console state when requested, and drain the transmit buffer correctly when polling mode is enabled. Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
Add the AM62x architecture support needed to boot NuttX on TI K3 AM62x platforms. This includes the chip integration, memory map, IRQ definitions, low-level console support, boot code, and the AM62x 16550 serial lower half. Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
Add initial board support for BeaglePlay and PocketBeagle2, including defconfigs, linker scripts, board initialization, procfs bring-up, and LED stubs. BeaglePlay provides the validated runtime target for this bring-up series. Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
Document the AM62x platform and add board guides for BeaglePlay and PocketBeagle2. The BeaglePlay guide includes the validated manual U-Boot boot flow used for hardware testing. Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
1d96080 to
f3ce813
Compare
|
@linguini1 PTAL |
linguini1
left a comment
There was a problem hiding this comment.
Looks good to me! Nice work @PiyushPatle26
I am a little worried about regressions in the UART16650 driver with these changes to it, but I'm not familiar enough to know better 🤷♂️
Note: Please adhere to Contributing Guidelines.
Summary
This PR adds initial NuttX bring-up support for TI AM62x boards and introduces board support for:
The main goal is to make AM62x boot reliably into NuttX with a working serial console and interactive NSH on BeaglePlay.
What this PR adds:
arch/arm64beagleplay:nshbeagleplay:ostestThe 16550 changes are required because AM62x UART bring-up was not stable with the generic initialization sequence alone. This PR keeps the generic 16550 path, but adjusts it so the AM62x/TI K3 UART setup works correctly during both early console and runtime console use.
For BeaglePlay, the documented and validated boot flow is manual U-Boot boot from microSD:
ostest was also validated on hardware using:
Impact
Is a part towards completing this task #18666
Architecture / core:
Drivers:
Boards:
Build / config:
Testing
Ran Basic commands and OStest on beagleplay:
