Skip to content

Migrate devices, create drivers, other improvements & fixes#574

Merged
KenVanHoeylandt merged 8 commits into
mainfrom
develop
Jul 18, 2026
Merged

Migrate devices, create drivers, other improvements & fixes#574
KenVanHoeylandt merged 8 commits into
mainfrom
develop

Conversation

@KenVanHoeylandt

@KenVanHoeylandt KenVanHoeylandt commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Migrated devices to kernel drivers:

  • guition-jc3248w535c
  • m5stack-core2
  • m5stack-cores3
  • m5stack-papers3

New drivers:

  • axp192-module
  • axp2101-module

Fixes:

  • Fix SD card LDO for P4 devices
  • Updated PowerOff app to work with kernel displays
  • Fix for lvgl_try_lock() timing
  • Fix for touch events with slow updating displays

Improvements:

  • GuiService now keeps trying to lock to prevent silent failures caused by drivers.
  • GuiService now uses lvgl-module calls for locking/unlocking
  • display driver now has capability DISPLAY_CAPABILITY_SLOW_REFRESH

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

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

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 19.72% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title is generic and does not clearly name the main device-driver migration or new drivers added. Use a concise, specific title such as "Migrate devices to kernel drivers and add AXP192/AXP2101 modules".
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 10

🧹 Nitpick comments (1)
Devices/m5stack-cores3/m5stack,cores3.dts (1)

22-24: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Correct 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-miso and pin-dc are 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

📥 Commits

Reviewing files that changed from the base of the PR and between 5f54f7c and 3502d62.

📒 Files selected for processing (91)
  • Devices/guition-jc3248w535c/CMakeLists.txt
  • Devices/guition-jc3248w535c/device.properties
  • Devices/guition-jc3248w535c/devicetree.yaml
  • Devices/guition-jc3248w535c/guition,jc3248w535c.dts
  • Devices/guition-jc3248w535c/source/module.cpp
  • Devices/m5stack-core2/CMakeLists.txt
  • Devices/m5stack-core2/Source/Configuration.cpp
  • Devices/m5stack-core2/Source/devices/Display.cpp
  • Devices/m5stack-core2/Source/devices/Display.h
  • Devices/m5stack-core2/Source/devices/Power.cpp
  • Devices/m5stack-core2/Source/devices/Power.h
  • Devices/m5stack-core2/Source/module.cpp
  • Devices/m5stack-core2/device.properties
  • Devices/m5stack-core2/devicetree.yaml
  • Devices/m5stack-core2/m5stack,core2.dts
  • Devices/m5stack-core2/source/module.cpp
  • Devices/m5stack-cores3/CMakeLists.txt
  • Devices/m5stack-cores3/Source/Configuration.cpp
  • Devices/m5stack-cores3/Source/InitBoot.cpp
  • Devices/m5stack-cores3/Source/InitBoot.h
  • Devices/m5stack-cores3/Source/devices/Display.cpp
  • Devices/m5stack-cores3/Source/devices/Display.h
  • Devices/m5stack-cores3/Source/module.cpp
  • Devices/m5stack-cores3/device.properties
  • Devices/m5stack-cores3/devicetree.yaml
  • Devices/m5stack-cores3/m5stack,cores3.dts
  • Devices/m5stack-cores3/source/module.cpp
  • Devices/m5stack-papers3/CMakeLists.txt
  • Devices/m5stack-papers3/Source/Configuration.cpp
  • Devices/m5stack-papers3/Source/Init.cpp
  • Devices/m5stack-papers3/Source/devices/Display.cpp
  • Devices/m5stack-papers3/Source/devices/Display.h
  • Devices/m5stack-papers3/Source/devices/Power.cpp
  • Devices/m5stack-papers3/Source/devices/Power.h
  • Devices/m5stack-papers3/Source/module.cpp
  • Devices/m5stack-papers3/bindings/m5stack,papers3-display.yaml
  • Devices/m5stack-papers3/bindings/m5stack,papers3-power.yaml
  • Devices/m5stack-papers3/device.properties
  • Devices/m5stack-papers3/devicetree.yaml
  • Devices/m5stack-papers3/m5stack,papers3.dts
  • Devices/m5stack-papers3/source/bindings/papers3_display.h
  • Devices/m5stack-papers3/source/bindings/papers3_power.h
  • Devices/m5stack-papers3/source/drivers/papers3_display.cpp
  • Devices/m5stack-papers3/source/drivers/papers3_display.h
  • Devices/m5stack-papers3/source/drivers/papers3_power.cpp
  • Devices/m5stack-papers3/source/drivers/papers3_power.h
  • Devices/m5stack-papers3/source/module.cpp
  • Drivers/axp192-module/CMakeLists.txt
  • Drivers/axp192-module/LICENSE-Apache-2.0.md
  • Drivers/axp192-module/README.md
  • Drivers/axp192-module/bindings/axp192-backlight.yaml
  • Drivers/axp192-module/bindings/x-powers,axp192.yaml
  • Drivers/axp192-module/devicetree.yaml
  • Drivers/axp192-module/include/axp192_module.h
  • Drivers/axp192-module/include/bindings/axp192.h
  • Drivers/axp192-module/include/bindings/axp192_backlight.h
  • Drivers/axp192-module/include/drivers/axp192.h
  • Drivers/axp192-module/include/drivers/axp192_backlight.h
  • Drivers/axp192-module/source/axp192.cpp
  • Drivers/axp192-module/source/axp192_backlight.cpp
  • Drivers/axp192-module/source/module.cpp
  • Drivers/axp2101-module/CMakeLists.txt
  • Drivers/axp2101-module/LICENSE-Apache-2.0.md
  • Drivers/axp2101-module/README.md
  • Drivers/axp2101-module/bindings/axp2101-backlight.yaml
  • Drivers/axp2101-module/bindings/x-powers,axp2101.yaml
  • Drivers/axp2101-module/devicetree.yaml
  • Drivers/axp2101-module/include/axp2101_module.h
  • Drivers/axp2101-module/include/bindings/axp2101.h
  • Drivers/axp2101-module/include/bindings/axp2101_backlight.h
  • Drivers/axp2101-module/include/drivers/axp2101.h
  • Drivers/axp2101-module/include/drivers/axp2101_backlight.h
  • Drivers/axp2101-module/source/axp2101.cpp
  • Drivers/axp2101-module/source/axp2101_backlight.cpp
  • Drivers/axp2101-module/source/module.cpp
  • Drivers/axs15231b-module/bindings/axs,axs15231b-touch.yaml
  • Drivers/axs15231b-module/bindings/axs,axs15231b.yaml
  • Drivers/axs15231b-module/include/bindings/axs15231b_display.h
  • Drivers/axs15231b-module/include/bindings/axs15231b_touch.h
  • Drivers/axs15231b-module/include/drivers/axs15231b_display.h
  • Drivers/axs15231b-module/include/drivers/axs15231b_touch.h
  • Drivers/axs15231b-module/source/axs15231b_display.cpp
  • Drivers/axs15231b-module/source/axs15231b_touch.cpp
  • Drivers/ft5x06-module/source/ft5x06.cpp
  • Drivers/ft6x36-module/source/ft6x36.cpp
  • Drivers/ili9341-module/source/ili9341.cpp
  • Modules/lvgl-module/source/arch/lvgl_esp32.c
  • Modules/lvgl-module/source/lvgl_devices.c
  • Tactility/Source/app/poweroff/PowerOff.cpp
  • Tactility/Source/service/gui/GuiService.cpp
  • TactilityKernel/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

Comment thread Devices/m5stack-papers3/source/drivers/papers3_power.cpp
Comment thread Devices/m5stack-papers3/source/module.cpp Outdated
Comment thread Drivers/axp192-module/source/axp192_backlight.cpp
Comment thread Drivers/axp192-module/source/axp192.cpp
Comment thread Drivers/axp2101-module/source/axp2101_backlight.cpp
Comment thread Drivers/axp2101-module/source/axp2101.cpp
Comment thread Drivers/ft5x06-module/source/ft5x06.cpp Outdated
Comment thread Tactility/Source/app/poweroff/PowerOff.cpp
Comment thread Tactility/Source/app/poweroff/PowerOff.cpp
Comment thread Tactility/Source/service/gui/GuiService.cpp
@KenVanHoeylandt
KenVanHoeylandt merged commit f9453d8 into main Jul 18, 2026
59 checks passed
@KenVanHoeylandt
KenVanHoeylandt deleted the develop branch July 18, 2026 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant