Linux-Rockchip Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V9 0/4] Add Anbernic RG Vita-Pro
@ 2026-07-22 16:58 Chris Morgan
  2026-07-22 16:58 ` [PATCH V9 1/4] dt-bindings: power: supply: sgm41542: document sgm41542 Chris Morgan
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Chris Morgan @ 2026-07-22 16:58 UTC (permalink / raw)
  To: linux-rockchip
  Cc: devicetree, xsf, sre, heiko, conor+dt, krzk+dt, robh,
	Chris Morgan

From: Chris Morgan <macromorgan@hotmail.com>

Add support for the Anbernic RG Vita-Pro, based on the Rockchip RK3576 SoC.

Changes Since V1:
 - Updated documentation filename to matche compatible string.
 - Corrected order of allocating IRQ in charger driver and switched
   to using devm managed function to allocate work queue.
Changes Since V2:
 - Corrected issue with naming of panel binding document and added
   fallback compatible string.
 - Switched to devm helpers in panel driver. Note that
   devm_drm_panel_add() is currently only in the drm-next branch.
 - Optimized setting GPIOs for panel driver.
Changes Since V3:
 - Fixed numerous issues identifed by Sashiko bot, mainly relating
   to unclamped or improperly clamped values from within the
   charger driver.
 - Corrected hard-coded values in the panel driver unprepare routine
   as well as correcting an improperly checked return condition.
Changes Since V4:
 - Fixed errors identified by Sashiko bot on charger driver that could
   result in an improper value being written to the registers.
 - Corrected some error handling in the panel driver.
Changes Since V5:
 - Corrected minor errors in documentation and added default values.
 - Further corrected clamping behavior in charger driver.
Changes Since V6:
 - Additional corrections as suggested by Sashiko bot to fix potential
   edge cases during probe for sgm41542.
 - Corrected an improperly shifted value being written to register for
   sgm41542.
 - Changed a MV value to UV in sgm41542 driver to simplify function.
Changes Since V7:
 - Added PM functions to sgm41542 driver per request from Sashiko,
   which stops the hardware watchdog during suspend.
 - Switched from device_init_wakeup() to devm_device_init_wakeup().
 - Confirmed a state change in IRQ handler for sgm41542 to ensure we
   don't update input current limit except when the vbus goes from
   not okay to okay.
 - Removed panel patches, which have already been accepted upstream.
   Please note that this *may* cause an error about missing bindings.
   See commit 0fd6ead8270270d859a28d0196a4b47e7d6845b8 in linux-next.
Changes Since V8:
 - Added linux/bitfield.h header to prevent compile errors on certain
   platforms.
 - Added regulator to Kconfig as a dependency.
 - Added mutex to IRQ handling function.
 - Added update to watchdog enable field in suspend routine to ensure
   watchdog status "goes back to the way it was" after resume.
 - Sashiko complains of an issue if userspace updates values after
   devm_power_supply_register() is called but before the hardware
   limits are set from the device tree. While this is possible the
   threat of a problem should be very low given that the hardware
   limits are set immediately afterward and would overwrite any
   wrong values from userspace (should happen within a few
   milliseconds). Unfortunately, given that the function to get these
   limits requires the power supply be registered in order to read
   the battery node, it's not something that can be easily fixed at
   this time. Since it's an *extremely* unlikely edge case, I think
   that's acceptable.

Chris Morgan (4):
  dt-bindings: power: supply: sgm41542: document sgm41542
  power: supply: sgm41542: Add SG Micro sgm41542 charger
  dt-bindings: arm: rockchip: Add Anbernic RG Vita-Pro
  arm64: dts: rockchip: Add Anbernic RG Vita-Pro

 .../devicetree/bindings/arm/rockchip.yaml     |    6 +
 .../power/supply/sgmicro,sgm41542.yaml        |   96 ++
 arch/arm64/boot/dts/rockchip/Makefile         |    1 +
 .../rockchip/rk3576-anbernic-rg-vita-pro.dts  | 1327 +++++++++++++++++
 drivers/power/supply/Kconfig                  |    9 +
 drivers/power/supply/Makefile                 |    1 +
 drivers/power/supply/sgm41542_charger.c       | 1118 ++++++++++++++
 7 files changed, 2558 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/power/supply/sgmicro,sgm41542.yaml
 create mode 100644 arch/arm64/boot/dts/rockchip/rk3576-anbernic-rg-vita-pro.dts
 create mode 100644 drivers/power/supply/sgm41542_charger.c

-- 
2.43.0


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-07-22 17:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-22 16:58 [PATCH V9 0/4] Add Anbernic RG Vita-Pro Chris Morgan
2026-07-22 16:58 ` [PATCH V9 1/4] dt-bindings: power: supply: sgm41542: document sgm41542 Chris Morgan
2026-07-22 16:58 ` [PATCH V9 2/4] power: supply: sgm41542: Add SG Micro sgm41542 charger Chris Morgan
2026-07-22 16:58 ` [PATCH V9 3/4] dt-bindings: arm: rockchip: Add Anbernic RG Vita-Pro Chris Morgan
2026-07-22 16:58 ` [PATCH V9 4/4] arm64: dts: " Chris Morgan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox