lupyuen opened a new pull request, #7796: URL: https://github.com/apache/nuttx/pull/7796
## Summary This PR adds the drivers for Allwinner A64 PIO (Programmable I/O) and PinePhone LEDs (Red / Green / Blue). The PIO Driver is based on the NuttX PIO Driver for Allwinner A10: [`arch/arm/src/a1x/a1x_pio.c`](https://github.com/apache/nuttx/blob/master/arch/arm/src/a1x/a1x_pio.c) ### Modified Files - `arch/arm64/src/a64/Make.defs`: Add PIO Driver to Makefile - `boards/Kconfig`: Add `ARCH_HAVE_LEDS` to PinePhone - `boards/arm64/a64/pinephone/src/pinephone.h`: Define PinePhone LEDs - `boards/arm64/a64/pinephone/src/pinephone_boardinit.c`: Start Auto LEDs - `boards/arm64/a64/pinephone/src/pinephone_bringup.c`: Start User LEDs - `boards/arm64/a64/pinephone/src/Makefile`: Add LED Driver to Makefile - `boards/arm64/a64/pinephone/configs/nsh/defconfig`: Add `CONFIG_USERLED` to `nsh` config ### New Files - `arch/arm64/src/a64/a64_pio.c`, `a64_pio.h`: Allwinner A64 PIO Driver - `arch/arm64/src/a64/hardware/a64_memorymap.h`: PIO Memory Map - `arch/arm64/src/a64/hardware/a64_pio.h`: PIO Definitions - `boards/arm64/a64/pinephone/include/board.h`: Define PinePhone LEDs - `boards/arm64/a64/pinephone/src/pinephone_autoleds.c`: Driver for Auto LEDs - `boards/arm64/a64/pinephone/src/pinephone_userleds.c`: Driver for User LEDs ### Updated Documentation - `introduction/supported_platforms.rst`: Add Allwinner A64 as Supported Platform - `platforms/arm/a64/boards/pinephone/index.rst`: Add PIO and LEDs to PinePhone ## Impact With this PR, PinePhone now supports PIO and LEDs. The User LEDs supported are: | Index | LED | PIO |-------|-----------|----- | LED1 | Green LED | PD18 | LED2 | Red LED | PD19 | LED3 | Blue LED | PD20 Auto LEDs will have no effect until `arch/arm64` has been modified to call `board_autoled_on`. ## Testing We tested the PIO and LED Drivers with the `leds` Example App, here's the Test Log: - [`leds` Test Log for PinePhone](https://gist.github.com/lupyuen/b9de190aba4598752d827f1105571a6a) We observed the Red / Green / Blue LEDs as the colour combinations: green, red, yellow, blue, cyan, magenta, white. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
