Commit graph

11 commits

Author SHA1 Message Date
Andy Sinclair
1f156c352c drivers: mfd: npm1300: Fixed configuration of long press reset
Added write of strobe register after setting long press reset
configuration.  This is needed to apply the new value.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2024-04-23 15:35:46 +02:00
Andy Sinclair
c7f59c9e40 drivers: mfd: npm1300: Added long press reset config
Added configuration of long press reset functionality.
Includes ship/hibernate to wake debounce time and
disabled/one_button/two_button mode selection.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2024-03-27 14:32:17 +00:00
Andy Sinclair
9813221ea6 drivers: mfd: npm1300: Added GPIO events
Added GPIO input edge events

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2024-03-21 10:25:42 +00:00
Bernt Johan Damslora
5fc7304878 drivers: mfd: npm1300: Add separate initialization priority
Enables setting the initialization priority of the nPM1300 independently
from other MFDs.

Signed-off-by: Bernt Johan Damslora <Bernt.Damslora@nordicsemi.no>
2023-11-08 15:09:06 +00:00
Andy Sinclair
7cf4eff731 drivers: mfd: npm1300: Fixed race condition in event callback
If an event occurs between the status registers being read and
the event being cleared, the interrupt line will remain active.

As the interrupt is edge triggered,  all future interrupts
will being ignored.  This problem will also occur if an I2C
transation fails in the callback.

The state of the interrupt pin is now checked at the end of the
callback, and a retry is attempted if the interrupt has not
been cleared.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-10-23 12:55:04 +02:00
Andy Sinclair
733834851d drivers: mfd: npm1300: Added shiphold button release event
Added event for detecting release of shiphold button

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-10-23 12:55:04 +02:00
Andy Sinclair
7a71ebe372 drivers: mfd: npm1300: Added event interrupt handling
Added support for npm1300 interrupt events

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-08-21 10:04:03 +02:00
Andy Sinclair
f2735b6109 drivers: mfd: npm1300: Added reset and hibernate
New reset function which performs a full power reset

New hibernate function which powers down and wakes after
specified timeout

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-07-18 16:21:41 +02:00
Andy Sinclair
c793764549 drivers: mfd: mfd_npm1300: Added timer configuration function
Timer configuration function added

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-07-12 14:36:56 +02:00
Andy Sinclair
68589ca0f1 drivers: gpio: npm1300: Use MFD register functions
Local register read/write functions have been removed and replaced
with calls to the new MFD functions.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-06-19 11:02:58 +02:00
Andy Sinclair
d7964cd212 drivers: mfd: npm1300: Initial version
Added an MFD driver for the nPM1300.
This driver has register access helper functions that can be used
by subsystems.  This will avoid each subsystem having to duplicate
the register access code.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-06-19 11:02:58 +02:00