Migrate devices, create drivers, other improvements & fixes#574
Conversation
📝 WalkthroughWalkthroughThe change migrates several devices from legacy board-specific implementations to device-tree-backed drivers. It adds AXP192 and AXP2101 PMIC modules, Papers3 power/display drivers, concrete display and touch nodes, and driver-managed reset GPIO handling. Core2, CoreS3, and Papers3 build and dependency configuration is updated. LVGL locking, slow-refresh display behavior, GUI rendering, and power-off sequencing are also revised. 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 10
🧹 Nitpick comments (1)
Devices/m5stack-cores3/m5stack,cores3.dts (1)
22-24: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueCorrect the pin number in the comment.
The comment inaccurately states that pin 37 has the MISO/DC conflict. According to the DTS configuration, the conflict is on pin 35 (
pin-misoandpin-dcare both assigned to GPIO 35), while pin 37 is used for MOSI.💡 Proposed fix
-// SD card is not supported because of a hardware problem: -// The display uses pin37 as input (MISO), but SD card uses -// the same pin as DC (output). +// SD card is not supported because of a hardware problem: +// The SPI bus uses pin 35 as input (MISO) for the SD card, but the display +// uses the same pin as DC (output).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 9b9b3c89-75c7-4fc5-9491-07e842db4a48
📒 Files selected for processing (91)
Devices/guition-jc3248w535c/CMakeLists.txtDevices/guition-jc3248w535c/device.propertiesDevices/guition-jc3248w535c/devicetree.yamlDevices/guition-jc3248w535c/guition,jc3248w535c.dtsDevices/guition-jc3248w535c/source/module.cppDevices/m5stack-core2/CMakeLists.txtDevices/m5stack-core2/Source/Configuration.cppDevices/m5stack-core2/Source/devices/Display.cppDevices/m5stack-core2/Source/devices/Display.hDevices/m5stack-core2/Source/devices/Power.cppDevices/m5stack-core2/Source/devices/Power.hDevices/m5stack-core2/Source/module.cppDevices/m5stack-core2/device.propertiesDevices/m5stack-core2/devicetree.yamlDevices/m5stack-core2/m5stack,core2.dtsDevices/m5stack-core2/source/module.cppDevices/m5stack-cores3/CMakeLists.txtDevices/m5stack-cores3/Source/Configuration.cppDevices/m5stack-cores3/Source/InitBoot.cppDevices/m5stack-cores3/Source/InitBoot.hDevices/m5stack-cores3/Source/devices/Display.cppDevices/m5stack-cores3/Source/devices/Display.hDevices/m5stack-cores3/Source/module.cppDevices/m5stack-cores3/device.propertiesDevices/m5stack-cores3/devicetree.yamlDevices/m5stack-cores3/m5stack,cores3.dtsDevices/m5stack-cores3/source/module.cppDevices/m5stack-papers3/CMakeLists.txtDevices/m5stack-papers3/Source/Configuration.cppDevices/m5stack-papers3/Source/Init.cppDevices/m5stack-papers3/Source/devices/Display.cppDevices/m5stack-papers3/Source/devices/Display.hDevices/m5stack-papers3/Source/devices/Power.cppDevices/m5stack-papers3/Source/devices/Power.hDevices/m5stack-papers3/Source/module.cppDevices/m5stack-papers3/bindings/m5stack,papers3-display.yamlDevices/m5stack-papers3/bindings/m5stack,papers3-power.yamlDevices/m5stack-papers3/device.propertiesDevices/m5stack-papers3/devicetree.yamlDevices/m5stack-papers3/m5stack,papers3.dtsDevices/m5stack-papers3/source/bindings/papers3_display.hDevices/m5stack-papers3/source/bindings/papers3_power.hDevices/m5stack-papers3/source/drivers/papers3_display.cppDevices/m5stack-papers3/source/drivers/papers3_display.hDevices/m5stack-papers3/source/drivers/papers3_power.cppDevices/m5stack-papers3/source/drivers/papers3_power.hDevices/m5stack-papers3/source/module.cppDrivers/axp192-module/CMakeLists.txtDrivers/axp192-module/LICENSE-Apache-2.0.mdDrivers/axp192-module/README.mdDrivers/axp192-module/bindings/axp192-backlight.yamlDrivers/axp192-module/bindings/x-powers,axp192.yamlDrivers/axp192-module/devicetree.yamlDrivers/axp192-module/include/axp192_module.hDrivers/axp192-module/include/bindings/axp192.hDrivers/axp192-module/include/bindings/axp192_backlight.hDrivers/axp192-module/include/drivers/axp192.hDrivers/axp192-module/include/drivers/axp192_backlight.hDrivers/axp192-module/source/axp192.cppDrivers/axp192-module/source/axp192_backlight.cppDrivers/axp192-module/source/module.cppDrivers/axp2101-module/CMakeLists.txtDrivers/axp2101-module/LICENSE-Apache-2.0.mdDrivers/axp2101-module/README.mdDrivers/axp2101-module/bindings/axp2101-backlight.yamlDrivers/axp2101-module/bindings/x-powers,axp2101.yamlDrivers/axp2101-module/devicetree.yamlDrivers/axp2101-module/include/axp2101_module.hDrivers/axp2101-module/include/bindings/axp2101.hDrivers/axp2101-module/include/bindings/axp2101_backlight.hDrivers/axp2101-module/include/drivers/axp2101.hDrivers/axp2101-module/include/drivers/axp2101_backlight.hDrivers/axp2101-module/source/axp2101.cppDrivers/axp2101-module/source/axp2101_backlight.cppDrivers/axp2101-module/source/module.cppDrivers/axs15231b-module/bindings/axs,axs15231b-touch.yamlDrivers/axs15231b-module/bindings/axs,axs15231b.yamlDrivers/axs15231b-module/include/bindings/axs15231b_display.hDrivers/axs15231b-module/include/bindings/axs15231b_touch.hDrivers/axs15231b-module/include/drivers/axs15231b_display.hDrivers/axs15231b-module/include/drivers/axs15231b_touch.hDrivers/axs15231b-module/source/axs15231b_display.cppDrivers/axs15231b-module/source/axs15231b_touch.cppDrivers/ft5x06-module/source/ft5x06.cppDrivers/ft6x36-module/source/ft6x36.cppDrivers/ili9341-module/source/ili9341.cppModules/lvgl-module/source/arch/lvgl_esp32.cModules/lvgl-module/source/lvgl_devices.cTactility/Source/app/poweroff/PowerOff.cppTactility/Source/service/gui/GuiService.cppTactilityKernel/include/tactility/drivers/display.h
💤 Files with no reviewable changes (32)
- Devices/m5stack-core2/Source/devices/Power.h
- Devices/m5stack-papers3/Source/devices/Display.h
- Devices/m5stack-papers3/Source/devices/Power.h
- Devices/guition-jc3248w535c/CMakeLists.txt
- Devices/m5stack-core2/Source/module.cpp
- Devices/guition-jc3248w535c/device.properties
- Devices/m5stack-cores3/Source/InitBoot.h
- Devices/m5stack-core2/Source/devices/Display.h
- Devices/m5stack-cores3/Source/devices/Display.h
- Devices/m5stack-cores3/Source/Configuration.cpp
- Devices/m5stack-cores3/Source/module.cpp
- Drivers/axs15231b-module/include/drivers/axs15231b_display.h
- Devices/m5stack-papers3/Source/Init.cpp
- Drivers/axs15231b-module/bindings/axs,axs15231b-touch.yaml
- Devices/m5stack-cores3/Source/devices/Display.cpp
- Devices/m5stack-papers3/Source/devices/Display.cpp
- Devices/m5stack-core2/Source/Configuration.cpp
- Drivers/axs15231b-module/include/bindings/axs15231b_touch.h
- Devices/m5stack-core2/Source/devices/Display.cpp
- Drivers/axs15231b-module/source/axs15231b_touch.cpp
- Devices/guition-jc3248w535c/devicetree.yaml
- Drivers/axs15231b-module/include/bindings/axs15231b_display.h
- Devices/guition-jc3248w535c/guition,jc3248w535c.dts
- Devices/m5stack-papers3/Source/devices/Power.cpp
- Drivers/axs15231b-module/include/drivers/axs15231b_touch.h
- Drivers/axs15231b-module/source/axs15231b_display.cpp
- Devices/m5stack-papers3/Source/module.cpp
- Devices/m5stack-core2/Source/devices/Power.cpp
- Devices/guition-jc3248w535c/source/module.cpp
- Devices/m5stack-papers3/Source/Configuration.cpp
- Devices/m5stack-cores3/Source/InitBoot.cpp
- Drivers/axs15231b-module/bindings/axs,axs15231b.yaml
Migrated devices to kernel drivers:
New drivers:
Fixes:
lvgl_try_lock()timingImprovements:
GuiServicenow keeps trying to lock to prevent silent failures caused by drivers.GuiServicenow uses lvgl-module calls for locking/unlockingDISPLAY_CAPABILITY_SLOW_REFRESH