lupyuen opened a new pull request, #7692: URL: https://github.com/apache/incubator-nuttx/pull/7692
# Summary This PR adds support for PINE64 PinePhone and the Allwinner A64 SoC (based on Arm Cortex-A53). With this PR, PinePhone boots successfully to nsh (via microSD Card) and runs console apps. ## Changes to Kconfig - `arch/arm64/Kconfig`: Added Allwinner A64 SoC - `boards/Kconfig`: Added PINE64 PinePhone - `arch/arm64/src/a64/Kconfig`: New Kconfig for Allwinner A64 SoC - `boards/arm64/a64/pinephone/Kconfig`: New Kconfig for PINE64 PinePhone ## Additions to arch/arm64 - `src/a64/a64_boot.c`, `a64_boot.h`: Boot functions for Allwinner A64 - `src/a64/a64_lowputc.S`: Low-level console output - `src/a64/a64_serial.c`, `a64_serial.h`: A64 Serial Driver - `src/a64/chip.h`: A64 SoC Definitions - `include/a64/chip.h`: A64 Memory Map, Generic Interrupt Controller - `include/a64/irq.h`: A64 Interrupts - `src/a64/Make.defs`: Source files for A64 ## Additions to boards/arm64/a64/pinephone - `configs/nsh/defconfig`: Board Configuration for `pinephone:nsh` - `src/pinephone_appinit.c`: Init PinePhone - `src/pinephone_boardinit.c`: Init PinePhone - `src/pinephone_bringup.c`: Start PinePhone Drivers - `src/pinephone.h`: PinePhone Declarations - `include/board_memorymap.h`: PinePhone Memory Map - `scripts/dramboot.ld`: PinePhone Linker Script - `scripts/Make.defs`: Source files for PinePhone - `src/Makefile`: PinePhone Makefile ## Changes to Documentation - `platforms/arm/a64/boards/pinephone/index.rst`: Building and booting NuttX on PinePhone - `platforms/arm/a64/index.rst`: Overview of Allwinner A64 - `introduction/supported_platforms.rst`: Added Allwinner A64 - `introduction/detailed_support.rst`: Added Allwinner A64 # Impact With this PR, PinePhone boots successfully to nsh (via microSD Card) and runs console apps. We select PinePhone through the new Board Configuration `pinephone:nsh`: ```bash ./tools/configure.sh -l pinephone:nsh ``` There is no impact on the existing implementation of QEMU for Armv8-A (`qemu-armv8a`). # Testing We tested by booting PinePhone with a microSD Card that contains NuttX: ```bash ## Configure and build NuttX ./tools/configure.sh -l pinephone:nsh make ## Compress the NuttX Image cp nuttx.bin Image rm -f Image.gz gzip Image ## Copy to PinePhone Jumpdrive microSD Card ## https://lupyuen.github.io/articles/uboot#pinephone-jumpdrive cp Image.gz "/Volumes/NO NAME" ``` When we insert the microSD Card into PinePhone and power it up, PinePhone boots successfully to nsh and runs console apps: - [NuttX PinePhone Log](https://gist.github.com/lupyuen/e49a22a9e39b7c024b984bea40377712) Two lines of messages appear garbled because two tasks were printing messages simultaneously: _"nsh: sysinit: fopen failed: 2"_ and _"nsh: mkfatfs: command not found"_ This will be fixed in a later PR. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org