Skip to content

PMIC device class and stub BD71837 (Maaxboard) driver#664

Draft
omeh-a wants to merge 23 commits into
mainfrom
pmic_bd71837
Draft

PMIC device class and stub BD71837 (Maaxboard) driver#664
omeh-a wants to merge 23 commits into
mainfrom
pmic_bd71837

Conversation

@omeh-a

@omeh-a omeh-a commented Mar 10, 2026

Copy link
Copy Markdown
Member

This PR adds a PMIC (power management IC) driver class and an implementation for a common chip (BD71837) used by imx8m platforms.

The PMIC class is logically a like a regulator class, but needs to be a bit more involved given that a power management IC is an external peripheral that can offer more functionality than simple regulators. Using PPCs, the PMIC class offers the current functions:

  • Enable or disable a regulator
  • Set the (running mode) current limit or voltage output
  • Get info about a regulator

For now, I have omitted any control over running modes other than "run" ... i.e. no idle, suspend or low power mode controls are currently supported as these are overtly dangerous to touch without more supporting infrastructure. We would probably want a more powerful LionsOS power subsystem design that can have awareness of how to coordinate the clock tree, internal power tree, internal regulators and PMIC all together.

The BD71837 driver only supports setting voltages at the time of writing as we require this functionality for a contract deliverable.

To do before merging:

  • Add bindings for toggling regulators
  • Add logic to get info about regulators
  • Lint
  • Add calls in example to test non-voltage PPCs
  • Add sdfgen support

omeh-a added 5 commits July 3, 2026 09:20
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>

Timer tests out with acacia

Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>

Serial tests out with Acacia

Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>

Refactor: acacia_sddf is now a python module that inherits all subfiles, sDDF itself is a python module for import! Needed for SDK

Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>

Fix issues with i2c.py - maps were swapped.

Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>

Further fixes to keep up with Acacia PR request changes

Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
@omeh-a
omeh-a force-pushed the pmic_bd71837 branch 2 times, most recently from bc9a5ec to 793d796 Compare July 14, 2026 04:23
omeh-a and others added 17 commits July 14, 2026 15:03
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
add returh of data handler to imx i2c

update i2c imx registers to align with data sheet memory map

update i2c imx init step to use fast-mode divider

add notes on i2c clock calculation

update i2c imx driver to send start when await start

update imx i2c address cycle handling

add transmit successful check

update boards.py to contain i2c region for imx

add read handling in state_cmd_ret for i2c imx

update i2c imx to set TXAK register when reading second to last byte
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
…r why.

Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
…orts only the subset of features needed for contract deliverable (DVFS)

Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Signed-off-by: Lesley Rossouw <lesley.rossouw@unsw.edu.au>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants