lupyuen opened a new pull request, #7846:
URL: https://github.com/apache/nuttx/pull/7846

   ## Summary
   
   This PR adds the driver for Allwinner A64's MIPI Display Serial Interface 
(DSI) and MIPI Display Physical Layer (D-PHY).
   
   This driver will be used by the upcoming Display Driver for PINE64 PinePhone.
   
   ### Modified Files
   
   - `arch/arm64/src/a64/Kconfig`: Added the Kconfig option for "A64 Peripheral 
Selection > MIPI DSI" (`CONFIG_A64_MIPI_DSI`), which enables the MIPI DSI Driver
   
   - `arch/arm64/src/a64/hardware/a64_memorymap.h`: Added the Base Address for 
MIPI DSI
   
   - `arch/arm64/src/a64/Make.defs`: Added the MIPI DSI Driver to the Makefile
   
   ### New Files
   
   - `arch/arm64/src/a64/mipi_dsi.c`, `mipi_dsi.h`: Compose MIPI DSI Packets 
(Long, Short, Short with Parameter)
   
   - `arch/arm64/src/a64/a64_mipi_dsi.c`, `a64_mipi_dsi.h`: MIPI DSI Driver for 
Allwinner A64
   
   - `arch/arm64/src/a64/a64_mipi_dphy.c`, `a64_mipi_dphy.h`: MIPI D-PHY Driver 
for Allwinner A64
   
   ### Updated Documentation
   
   - `platforms/arm/a64/boards/pinephone/index.rst`: Added MIPI DSI as 
supported peripheral for PinePhone
   
   ## Impact
   
   Our MIPI DSI Driver will be built only when we select the Kconfig option for 
"A64 Peripheral Selection > MIPI DSI" (`CONFIG_A64_MIPI_DSI`).
   
   The MIPI DSI Driver will be called by the upcoming drivers for A64 Timing 
Controller (TCON) and A64 Display Engine.
   
   Our MIPI DSI Driver has no impact on existing code because it's not called 
yet by the existing code.
   
   The Driver Code is derived from my Reverse-Engineering of the PinePhone 
Display Driver, based on the logs captured from the PinePhone p-boot Bootloader:
   
   -   ["Understanding PinePhone's Display (MIPI 
DSI)"](https://lupyuen.github.io/articles/dsi)
   
   -   ["NuttX RTOS for PinePhone: Display Driver in 
Zig"](https://lupyuen.github.io/articles/dsi2)
   
   ## Testing
   
   Some parts of the PinePhone Display Driver are still under construction. To 
test the MIPI DSI Driver, we ran a Zig Program that integrates the NuttX MIPI 
DSI Driver with the upcoming parts of the Display Driver:
   
   -  ["Test MIPI DSI for NuttX 
Kernel"](https://github.com/lupyuen/pinephone-nuttx#test-mipi-dsi-for-nuttx-kernel)
   
   The Integration Test [successfully rendered 
graphics](https://lupyuen.github.io/images/dsi3-title.jpg) on the LCD Display. 
Here's the Test Log:
   
   -  [Test Log for NuttX MIPI DSI on 
PinePhone](https://gist.github.com/lupyuen/f1a02068aeb0785278c482116a4eedc7)
   
   We also ran Unit Tests for the MIPI DSI Driver, [as explained 
here.](https://github.com/lupyuen/pinephone-nuttx#test-mipi-dsi-for-nuttx-kernel)
   


-- 
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

Reply via email to