public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v11 0/3] regulator: Add X-Powers AXP15060/AXP313a PMIC support
@ 2023-05-24  0:00 Andre Przywara
  2023-05-24  0:00 ` [PATCH v11 1/3] mfd: axp20x: Add support for AXP313a PMIC Andre Przywara
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Andre Przywara @ 2023-05-24  0:00 UTC (permalink / raw)
  To: Lee Jones, Liam Girdwood, Chen-Yu Tsai, Mark Brown
  Cc: Martin Botka, martin.botka1, Shengyu Qu, Samuel Holland,
	Jernej Skrabec, linux-sunxi, linux-kernel

Hi,

this patch series adds support for the X-Powers AXP15060 and AXP313a
PMIC, which are general purpose PMICs as seen on different boards with
different SOCs, mostly from Allwinner.

This is mostly a repost of the previous patches, combining both the
AXP313a and AXP15060 series, rebased on top of v6.4-rc3, and omitting
the patches that already got merged.
The first two patches are the successors of the AXP313a v10 post,
the third patch is based on Shengyu's AXP15060 v3 post.

There were no code changes, just some tiny context differences due to
the rebase, plus I added the newly gained tags.

As the DT bindings and the AXP15060 MFD part are already in the tree,
this is just completing support with the MFD part for the AXP313a, and
the regulator support for both PMICs.

Shengyu, Martin: can you please give this a final test?

Cheers,
Andre

Changelog:

v3/v10 .. v11:
- add broonie's and Chen-Yu's review tags
- rebase on top of v6.4-rc3

AXP313a:
v9 .. v10:
- use MFD_CELL_RES macro
- mark dcdc-freq property as "false" for AXP313a
- add Lee's ACK

v8 .. v9:
- use MFD_CELL_NAME macro
- fix LDO regulator names to match the datasheet
- only mark changing registers as volatile
- use correct register for shutdown operation
- add power key resources
- disallow x-powers,dcdc-freq in the DT binding
- drop unused OUTPUT_MONITOR register name, add SHUTDOWN_CTRL
- require dcdcfreq being 0 (non-present DT property default)

v7 .. v8:
- Add check for dcdcfreq being zero

v6 .. v7:
- Use alphabetical ordering

v5 .. v6:
- change name from AXP1530 to AXP313a
- extend commit messages
- drop AXP*_FREQUENCY register (not used anyway)
- better vertically align struct definitions
- rename IRQs to match names used for other PMICs
- add RTC_LDO regulator
- use decimal numbers for selector ranges
- use macro definitions to name some values
- force DC/DC switching frequency to be fixed at 3 MHz
- change LDO source supply to VIN1 (as per datasheet)

v4 .. v5:
- Use alphabetical ordering in mfd
- Correct { placement line
- Replace spaces with tabs in 1 struct

v3 .. v4:
- Fix indentation

v2 .. v3:
- Move AXP1530 dt-binding to alphabetical order

v1 .. v2:
- Remove RSB support.
- Drop .id = 0
- Add dt-binding for the AXP1530

AXP15060:
v2 .. v3:
- Rebase to AXP313a series v10 [1] + newest (20230420) -next branch
- Disables DC-DC frequency setting
- Add axp_regulator_only_cells rather than directly using axp806_cells
  for cases that IRQ line isn't connected.
- Fix some whitespace
- Rename swout to sw to keep up with bindings
- Add check for setting DC-DC frequency

v1 .. v2:
- Move cpusldo before drivevbus (Krzysztof Kozlowski)


Martin Botka (2):
  mfd: axp20x: Add support for AXP313a PMIC
  regulator: axp20x: Add support for AXP313a variant

Shengyu Qu (1):
  regulator: axp20x: Add AXP15060 support

 drivers/mfd/axp20x-i2c.c             |   2 +
 drivers/mfd/axp20x.c                 |  78 ++++++-
 drivers/regulator/axp20x-regulator.c | 290 ++++++++++++++++++++++++++-
 include/linux/mfd/axp20x.h           |  32 +++
 4 files changed, 393 insertions(+), 9 deletions(-)

-- 
2.35.8


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [PATCH 1/2] mfd: max5970: Rename driver and remove wildcard
@ 2023-04-27 11:30 Naresh Solanki
  2023-06-08 17:57 ` [GIT PULL] Immutable branch between MFD and Regulator due for the v6.5 merge window Lee Jones
  0 siblings, 1 reply; 9+ messages in thread
From: Naresh Solanki @ 2023-04-27 11:30 UTC (permalink / raw)
  To: Lee Jones; +Cc: Liam Girdwood, Mark Brown, Naresh Solanki, linux-kernel

The previous version of this driver included wildcards in file names
and descriptions. This patch renames the driver to only support MAX5970
and MAX5978, which are the only chips that the driver actually supports.

Signed-off-by: Naresh Solanki <Naresh.Solanki@9elements.com>
---
 drivers/mfd/Kconfig                        |  4 ++--
 drivers/mfd/simple-mfd-i2c.c               | 18 +++++++++---------
 include/linux/mfd/{max597x.h => max5970.h} | 16 ++++++++--------
 3 files changed, 19 insertions(+), 19 deletions(-)
 rename include/linux/mfd/{max597x.h => max5970.h} (92%)

diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index e90463c4441c..71231388e03c 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -266,8 +266,8 @@ config MFD_MADERA_SPI
 	  Support for the Cirrus Logic Madera platform audio SoC
 	  core functionality controlled via SPI.
 
-config MFD_MAX597X
-	tristate "Maxim 597x power switch and monitor"
+config MFD_MAX5970
+	tristate "Maxim 5970/5978 power switch and monitor"
 	depends on (I2C && OF)
 	select MFD_SIMPLE_MFD_I2C
 	help
diff --git a/drivers/mfd/simple-mfd-i2c.c b/drivers/mfd/simple-mfd-i2c.c
index 20782b4dd172..1f1c007560d8 100644
--- a/drivers/mfd/simple-mfd-i2c.c
+++ b/drivers/mfd/simple-mfd-i2c.c
@@ -72,22 +72,22 @@ static const struct simple_mfd_data silergy_sy7636a = {
 	.mfd_cell_size = ARRAY_SIZE(sy7636a_cells),
 };
 
-static const struct mfd_cell max597x_cells[] = {
-	{ .name = "max597x-regulator", },
-	{ .name = "max597x-iio", },
-	{ .name = "max597x-led", },
+static const struct mfd_cell max5970_cells[] = {
+	{ .name = "max5970-regulator", },
+	{ .name = "max5970-iio", },
+	{ .name = "max5970-led", },
 };
 
-static const struct simple_mfd_data maxim_max597x = {
-	.mfd_cell = max597x_cells,
-	.mfd_cell_size = ARRAY_SIZE(max597x_cells),
+static const struct simple_mfd_data maxim_max5970 = {
+	.mfd_cell = max5970_cells,
+	.mfd_cell_size = ARRAY_SIZE(max5970_cells),
 };
 
 static const struct of_device_id simple_mfd_i2c_of_match[] = {
 	{ .compatible = "kontron,sl28cpld" },
 	{ .compatible = "silergy,sy7636a", .data = &silergy_sy7636a},
-	{ .compatible = "maxim,max5970", .data = &maxim_max597x},
-	{ .compatible = "maxim,max5978", .data = &maxim_max597x},
+	{ .compatible = "maxim,max5970", .data = &maxim_max5970},
+	{ .compatible = "maxim,max5978", .data = &maxim_max5970},
 	{}
 };
 MODULE_DEVICE_TABLE(of, simple_mfd_i2c_of_match);
diff --git a/include/linux/mfd/max597x.h b/include/linux/mfd/max5970.h
similarity index 92%
rename from include/linux/mfd/max597x.h
rename to include/linux/mfd/max5970.h
index a850b2e02e6a..762a7d40c843 100644
--- a/include/linux/mfd/max597x.h
+++ b/include/linux/mfd/max5970.h
@@ -7,25 +7,25 @@
  * Author: Patrick Rudolph <patrick.rudolph@9elements.com>
  */
 
-#ifndef _MFD_MAX597X_H
-#define _MFD_MAX597X_H
+#ifndef _MFD_MAX5970_H
+#define _MFD_MAX5970_H
 
 #include <linux/regmap.h>
 
 #define MAX5970_NUM_SWITCHES 2
 #define MAX5978_NUM_SWITCHES 1
-#define MAX597X_NUM_LEDS     4
+#define MAX5970_NUM_LEDS     4
 
-struct max597x_data {
+struct max5970_data {
 	int num_switches;
 	u32 irng[MAX5970_NUM_SWITCHES];
 	u32 mon_rng[MAX5970_NUM_SWITCHES];
 	u32 shunt_micro_ohms[MAX5970_NUM_SWITCHES];
 };
 
-enum max597x_chip_type {
-	MAX597x_TYPE_MAX5978 = 1,
-	MAX597x_TYPE_MAX5970,
+enum max5970_chip_type {
+	TYPE_MAX5978 = 1,
+	TYPE_MAX5970,
 };
 
 #define MAX5970_REG_CURRENT_L(ch)		(0x01 + (ch) * 4)
@@ -93,4 +93,4 @@ enum max597x_chip_type {
 #define MAX_REGISTERS			0x49
 #define ADC_MASK			0x3FF
 
-#endif				/* _MFD_MAX597X_H */
+#endif				/* _MFD_MAX5970_H */

base-commit: b4c288cfd2f84c44994330c408e14645d45dee5b
-- 
2.39.1


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

end of thread, other threads:[~2023-06-08 17:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-24  0:00 [PATCH v11 0/3] regulator: Add X-Powers AXP15060/AXP313a PMIC support Andre Przywara
2023-05-24  0:00 ` [PATCH v11 1/3] mfd: axp20x: Add support for AXP313a PMIC Andre Przywara
2023-05-25 11:42   ` Lee Jones
2023-05-24  0:00 ` [PATCH v11 2/3] regulator: axp20x: Add support for AXP313a variant Andre Przywara
2023-05-24  0:00 ` [PATCH v11 3/3] regulator: axp20x: Add AXP15060 support Andre Przywara
2023-05-24  9:12 ` [PATCH v11 0/3] regulator: Add X-Powers AXP15060/AXP313a PMIC support Shengyu Qu
2023-06-01 19:52 ` [GIT PULL] Immutable branch between MFD and Regulator due for the v6.5 merge window Lee Jones
2023-06-06 13:30 ` (subset) [PATCH v11 0/3] regulator: Add X-Powers AXP15060/AXP313a PMIC support Mark Brown
  -- strict thread matches above, loose matches on Subject: below --
2023-04-27 11:30 [PATCH 1/2] mfd: max5970: Rename driver and remove wildcard Naresh Solanki
2023-06-08 17:57 ` [GIT PULL] Immutable branch between MFD and Regulator due for the v6.5 merge window Lee Jones

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