linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] add pmic pca9451a support
@ 2024-03-11  8:47 Joy Zou
  2024-03-11  8:47 ` [PATCH v2 1/3] regulator: dt-bindings: pca9450: add " Joy Zou
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Joy Zou @ 2024-03-11  8:47 UTC (permalink / raw)
  To: ping.bai, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, shawnguo, s.hauer
  Cc: kernel, festevam, linux-imx, devicetree, linux-arm-kernel,
	linux-kernel, imx

The patchset supports pmic pca9451a.
For the details, please check the patch commit log.

---
Changes in v2:
- drop old part support.

Joy Zou (3):
  regulator: dt-bindings: pca9450: add pca9451a support
  regulator: pca9450: add pca9451a support
  arm64: dts: imx93-11x11-evk: add pca9451a support

 .../regulator/nxp,pca9450-regulator.yaml      |   1 +
 .../boot/dts/freescale/imx93-11x11-evk.dts    | 112 ++++++++++
 drivers/regulator/pca9450-regulator.c         | 197 +++++++++++++++++-
 include/linux/regulator/pca9450.h             |   1 +
 4 files changed, 308 insertions(+), 3 deletions(-)

-- 
2.37.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 1/3] regulator: dt-bindings: pca9450: add pca9451a support
  2024-03-11  8:47 [PATCH v2 0/3] add pmic pca9451a support Joy Zou
@ 2024-03-11  8:47 ` Joy Zou
  2024-03-11 10:00   ` Krzysztof Kozlowski
  2024-03-11  8:47 ` [PATCH v2 2/3] regulator: " Joy Zou
  2024-03-11  8:47 ` [PATCH v2 3/3] arm64: dts: imx93-11x11-evk: " Joy Zou
  2 siblings, 1 reply; 12+ messages in thread
From: Joy Zou @ 2024-03-11  8:47 UTC (permalink / raw)
  To: ping.bai, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, shawnguo, s.hauer
  Cc: kernel, festevam, linux-imx, devicetree, linux-arm-kernel,
	linux-kernel, imx

Update pca9450 bindings.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
---
changes in v2:
1. adjust the subject prefix sequence.
---
 .../devicetree/bindings/regulator/nxp,pca9450-regulator.yaml     | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml b/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml
index 3d469b8e9774..849bfa50bdba 100644
--- a/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml
@@ -28,6 +28,7 @@ properties:
       - nxp,pca9450a
       - nxp,pca9450b
       - nxp,pca9450c
+      - nxp,pca9451a
 
   reg:
     maxItems: 1
-- 
2.37.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 2/3] regulator: pca9450: add pca9451a support
  2024-03-11  8:47 [PATCH v2 0/3] add pmic pca9451a support Joy Zou
  2024-03-11  8:47 ` [PATCH v2 1/3] regulator: dt-bindings: pca9450: add " Joy Zou
@ 2024-03-11  8:47 ` Joy Zou
  2024-03-11  9:09   ` Alexander Stein
  2024-03-11  8:47 ` [PATCH v2 3/3] arm64: dts: imx93-11x11-evk: " Joy Zou
  2 siblings, 1 reply; 12+ messages in thread
From: Joy Zou @ 2024-03-11  8:47 UTC (permalink / raw)
  To: ping.bai, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, shawnguo, s.hauer
  Cc: kernel, festevam, linux-imx, devicetree, linux-arm-kernel,
	linux-kernel, imx

Adding support for pmic pca9451a.

This patch support old and new pmic pca9451a. The new pmic trimed BUCK1.
The default value of Toff_Deb is used to distinguish the old and new pmic.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
---
Changes in v2:
1. remove the old part support because the old part only is used for sample
and is diffcult to distinguish old and new part. so drop old part.
2. remove the unnecessary marco definition in the file pca9450.h.
---
 drivers/regulator/pca9450-regulator.c | 197 +++++++++++++++++++++++++-
 include/linux/regulator/pca9450.h     |   1 +
 2 files changed, 195 insertions(+), 3 deletions(-)

diff --git a/drivers/regulator/pca9450-regulator.c b/drivers/regulator/pca9450-regulator.c
index 2ab365d2749f..50c324e275b5 100644
--- a/drivers/regulator/pca9450-regulator.c
+++ b/drivers/regulator/pca9450-regulator.c
@@ -103,7 +103,15 @@ static const struct regulator_ops pca9450_ldo_regulator_ops = {
  * 0.60 to 2.1875V (12.5mV step)
  */
 static const struct linear_range pca9450_dvs_buck_volts[] = {
-	REGULATOR_LINEAR_RANGE(600000,  0x00, 0x7F, 12500),
+	REGULATOR_LINEAR_RANGE(600000, 0x00, 0x7F, 12500),
+};
+
+/*
+ * BUCK1/3
+ * 0.65 to 2.2375V (12.5mV step)
+ */
+static const struct linear_range pca9451a_dvs_buck_volts[] = {
+	REGULATOR_LINEAR_RANGE(650000, 0x00, 0x7F, 12500),
 };
 
 /*
@@ -662,6 +670,178 @@ static const struct pca9450_regulator_desc pca9450bc_regulators[] = {
 	},
 };
 
+static const struct pca9450_regulator_desc pca9451a_regulators[] = {
+	{
+		.desc = {
+			.name = "buck1",
+			.of_match = of_match_ptr("BUCK1"),
+			.regulators_node = of_match_ptr("regulators"),
+			.id = PCA9450_BUCK1,
+			.ops = &pca9450_dvs_buck_regulator_ops,
+			.type = REGULATOR_VOLTAGE,
+			.n_voltages = PCA9450_BUCK1_VOLTAGE_NUM,
+			.linear_ranges = pca9451a_dvs_buck_volts,
+			.n_linear_ranges = ARRAY_SIZE(pca9451a_dvs_buck_volts),
+			.vsel_reg = PCA9450_REG_BUCK1OUT_DVS0,
+			.vsel_mask = BUCK1OUT_DVS0_MASK,
+			.enable_reg = PCA9450_REG_BUCK1CTRL,
+			.enable_mask = BUCK1_ENMODE_MASK,
+			.enable_val = BUCK_ENMODE_ONREQ,
+			.ramp_mask = BUCK1_RAMP_MASK,
+			.ramp_delay_table = pca9450_dvs_buck_ramp_table,
+			.n_ramp_values = ARRAY_SIZE(pca9450_dvs_buck_ramp_table),
+			.owner = THIS_MODULE,
+			.of_parse_cb = pca9450_set_dvs_levels,
+		},
+		.dvs = {
+			.run_reg = PCA9450_REG_BUCK1OUT_DVS0,
+			.run_mask = BUCK1OUT_DVS0_MASK,
+			.standby_reg = PCA9450_REG_BUCK1OUT_DVS1,
+			.standby_mask = BUCK1OUT_DVS1_MASK,
+		},
+	},
+	{
+		.desc = {
+			.name = "buck2",
+			.of_match = of_match_ptr("BUCK2"),
+			.regulators_node = of_match_ptr("regulators"),
+			.id = PCA9450_BUCK2,
+			.ops = &pca9450_dvs_buck_regulator_ops,
+			.type = REGULATOR_VOLTAGE,
+			.n_voltages = PCA9450_BUCK2_VOLTAGE_NUM,
+			.linear_ranges = pca9450_dvs_buck_volts,
+			.n_linear_ranges = ARRAY_SIZE(pca9450_dvs_buck_volts),
+			.vsel_reg = PCA9450_REG_BUCK2OUT_DVS0,
+			.vsel_mask = BUCK2OUT_DVS0_MASK,
+			.enable_reg = PCA9450_REG_BUCK2CTRL,
+			.enable_mask = BUCK2_ENMODE_MASK,
+			.enable_val = BUCK_ENMODE_ONREQ_STBYREQ,
+			.ramp_mask = BUCK2_RAMP_MASK,
+			.ramp_delay_table = pca9450_dvs_buck_ramp_table,
+			.n_ramp_values = ARRAY_SIZE(pca9450_dvs_buck_ramp_table),
+			.owner = THIS_MODULE,
+			.of_parse_cb = pca9450_set_dvs_levels,
+		},
+		.dvs = {
+			.run_reg = PCA9450_REG_BUCK2OUT_DVS0,
+			.run_mask = BUCK2OUT_DVS0_MASK,
+			.standby_reg = PCA9450_REG_BUCK2OUT_DVS1,
+			.standby_mask = BUCK2OUT_DVS1_MASK,
+		},
+	},
+	{
+		.desc = {
+			.name = "buck4",
+			.of_match = of_match_ptr("BUCK4"),
+			.regulators_node = of_match_ptr("regulators"),
+			.id = PCA9450_BUCK4,
+			.ops = &pca9450_buck_regulator_ops,
+			.type = REGULATOR_VOLTAGE,
+			.n_voltages = PCA9450_BUCK4_VOLTAGE_NUM,
+			.linear_ranges = pca9450_buck_volts,
+			.n_linear_ranges = ARRAY_SIZE(pca9450_buck_volts),
+			.vsel_reg = PCA9450_REG_BUCK4OUT,
+			.vsel_mask = BUCK4OUT_MASK,
+			.enable_reg = PCA9450_REG_BUCK4CTRL,
+			.enable_mask = BUCK4_ENMODE_MASK,
+			.enable_val = BUCK_ENMODE_ONREQ,
+			.owner = THIS_MODULE,
+		},
+	},
+	{
+		.desc = {
+			.name = "buck5",
+			.of_match = of_match_ptr("BUCK5"),
+			.regulators_node = of_match_ptr("regulators"),
+			.id = PCA9450_BUCK5,
+			.ops = &pca9450_buck_regulator_ops,
+			.type = REGULATOR_VOLTAGE,
+			.n_voltages = PCA9450_BUCK5_VOLTAGE_NUM,
+			.linear_ranges = pca9450_buck_volts,
+			.n_linear_ranges = ARRAY_SIZE(pca9450_buck_volts),
+			.vsel_reg = PCA9450_REG_BUCK5OUT,
+			.vsel_mask = BUCK5OUT_MASK,
+			.enable_reg = PCA9450_REG_BUCK5CTRL,
+			.enable_mask = BUCK5_ENMODE_MASK,
+			.enable_val = BUCK_ENMODE_ONREQ,
+			.owner = THIS_MODULE,
+		},
+	},
+	{
+		.desc = {
+			.name = "buck6",
+			.of_match = of_match_ptr("BUCK6"),
+			.regulators_node = of_match_ptr("regulators"),
+			.id = PCA9450_BUCK6,
+			.ops = &pca9450_buck_regulator_ops,
+			.type = REGULATOR_VOLTAGE,
+			.n_voltages = PCA9450_BUCK6_VOLTAGE_NUM,
+			.linear_ranges = pca9450_buck_volts,
+			.n_linear_ranges = ARRAY_SIZE(pca9450_buck_volts),
+			.vsel_reg = PCA9450_REG_BUCK6OUT,
+			.vsel_mask = BUCK6OUT_MASK,
+			.enable_reg = PCA9450_REG_BUCK6CTRL,
+			.enable_mask = BUCK6_ENMODE_MASK,
+			.enable_val = BUCK_ENMODE_ONREQ,
+			.owner = THIS_MODULE,
+		},
+	},
+	{
+		.desc = {
+			.name = "ldo1",
+			.of_match = of_match_ptr("LDO1"),
+			.regulators_node = of_match_ptr("regulators"),
+			.id = PCA9450_LDO1,
+			.ops = &pca9450_ldo_regulator_ops,
+			.type = REGULATOR_VOLTAGE,
+			.n_voltages = PCA9450_LDO1_VOLTAGE_NUM,
+			.linear_ranges = pca9450_ldo1_volts,
+			.n_linear_ranges = ARRAY_SIZE(pca9450_ldo1_volts),
+			.vsel_reg = PCA9450_REG_LDO1CTRL,
+			.vsel_mask = LDO1OUT_MASK,
+			.enable_reg = PCA9450_REG_LDO1CTRL,
+			.enable_mask = LDO1_EN_MASK,
+			.owner = THIS_MODULE,
+		},
+	},
+	{
+		.desc = {
+			.name = "ldo4",
+			.of_match = of_match_ptr("LDO4"),
+			.regulators_node = of_match_ptr("regulators"),
+			.id = PCA9450_LDO4,
+			.ops = &pca9450_ldo_regulator_ops,
+			.type = REGULATOR_VOLTAGE,
+			.n_voltages = PCA9450_LDO4_VOLTAGE_NUM,
+			.linear_ranges = pca9450_ldo34_volts,
+			.n_linear_ranges = ARRAY_SIZE(pca9450_ldo34_volts),
+			.vsel_reg = PCA9450_REG_LDO4CTRL,
+			.vsel_mask = LDO4OUT_MASK,
+			.enable_reg = PCA9450_REG_LDO4CTRL,
+			.enable_mask = LDO4_EN_MASK,
+			.owner = THIS_MODULE,
+		},
+	},
+	{
+		.desc = {
+			.name = "ldo5",
+			.of_match = of_match_ptr("LDO5"),
+			.regulators_node = of_match_ptr("regulators"),
+			.id = PCA9450_LDO5,
+			.ops = &pca9450_ldo_regulator_ops,
+			.type = REGULATOR_VOLTAGE,
+			.n_voltages = PCA9450_LDO5_VOLTAGE_NUM,
+			.linear_ranges = pca9450_ldo5_volts,
+			.n_linear_ranges = ARRAY_SIZE(pca9450_ldo5_volts),
+			.vsel_reg = PCA9450_REG_LDO5CTRL_H,
+			.vsel_mask = LDO5HOUT_MASK,
+			.enable_reg = PCA9450_REG_LDO5CTRL_H,
+			.enable_mask = LDO5H_EN_MASK,
+			.owner = THIS_MODULE,
+		},
+	},
+};
+
 static irqreturn_t pca9450_irq_handler(int irq, void *data)
 {
 	struct pca9450 *pca9450 = data;
@@ -729,6 +909,10 @@ static int pca9450_i2c_probe(struct i2c_client *i2c)
 		regulator_desc = pca9450bc_regulators;
 		pca9450->rcnt = ARRAY_SIZE(pca9450bc_regulators);
 		break;
+	case PCA9450_TYPE_PCA9451A:
+		regulator_desc = pca9451a_regulators;
+		pca9450->rcnt = ARRAY_SIZE(pca9451a_regulators);
+		break;
 	default:
 		dev_err(&i2c->dev, "Unknown device type");
 		return -EINVAL;
@@ -755,7 +939,8 @@ static int pca9450_i2c_probe(struct i2c_client *i2c)
 
 	/* Check your board and dts for match the right pmic */
 	if (((device_id >> 4) != 0x1 && type == PCA9450_TYPE_PCA9450A) ||
-	    ((device_id >> 4) != 0x3 && type == PCA9450_TYPE_PCA9450BC)) {
+	    ((device_id >> 4) != 0x3 && type == PCA9450_TYPE_PCA9450BC) ||
+	    ((device_id >> 4) != 0x9 && type == PCA9450_TYPE_PCA9451A)) {
 		dev_err(&i2c->dev, "Device id(%x) mismatched\n",
 			device_id >> 4);
 		return -EINVAL;
@@ -767,6 +952,7 @@ static int pca9450_i2c_probe(struct i2c_client *i2c)
 		const struct pca9450_regulator_desc *r;
 
 		r = &regulator_desc[i];
+
 		desc = &r->desc;
 
 		config.regmap = pca9450->regmap;
@@ -846,7 +1032,8 @@ static int pca9450_i2c_probe(struct i2c_client *i2c)
 	}
 
 	dev_info(&i2c->dev, "%s probed.\n",
-		type == PCA9450_TYPE_PCA9450A ? "pca9450a" : "pca9450bc");
+		type == PCA9450_TYPE_PCA9450A ? "pca9450a" :
+		(type == PCA9450_TYPE_PCA9451A ? "pca9451a" : "pca9450bc"));
 
 	return 0;
 }
@@ -864,6 +1051,10 @@ static const struct of_device_id pca9450_of_match[] = {
 		.compatible = "nxp,pca9450c",
 		.data = (void *)PCA9450_TYPE_PCA9450BC,
 	},
+	{
+		.compatible = "nxp,pca9451a",
+		.data = (void *)PCA9450_TYPE_PCA9451A,
+	},
 	{ }
 };
 MODULE_DEVICE_TABLE(of, pca9450_of_match);
diff --git a/include/linux/regulator/pca9450.h b/include/linux/regulator/pca9450.h
index 505c908dbb81..243633c8dceb 100644
--- a/include/linux/regulator/pca9450.h
+++ b/include/linux/regulator/pca9450.h
@@ -9,6 +9,7 @@
 enum pca9450_chip_type {
 	PCA9450_TYPE_PCA9450A = 0,
 	PCA9450_TYPE_PCA9450BC,
+	PCA9450_TYPE_PCA9451A,
 	PCA9450_TYPE_AMOUNT,
 };
 
-- 
2.37.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH v2 3/3] arm64: dts: imx93-11x11-evk: add pca9451a support
  2024-03-11  8:47 [PATCH v2 0/3] add pmic pca9451a support Joy Zou
  2024-03-11  8:47 ` [PATCH v2 1/3] regulator: dt-bindings: pca9450: add " Joy Zou
  2024-03-11  8:47 ` [PATCH v2 2/3] regulator: " Joy Zou
@ 2024-03-11  8:47 ` Joy Zou
  2024-03-11  8:51   ` Marco Felsch
  2 siblings, 1 reply; 12+ messages in thread
From: Joy Zou @ 2024-03-11  8:47 UTC (permalink / raw)
  To: ping.bai, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, shawnguo, s.hauer
  Cc: kernel, festevam, linux-imx, devicetree, linux-arm-kernel,
	linux-kernel, imx

Support pca9451a on imx93-11x11-evk.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
---
 .../boot/dts/freescale/imx93-11x11-evk.dts    | 112 ++++++++++++++++++
 1 file changed, 112 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
index 9921ea13ab48..6cb5b7d745bf 100644
--- a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
@@ -183,6 +183,105 @@ &wdog3 {
 	status = "okay";
 };
 
+&lpi2c2 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	clock-frequency = <400000>;
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&pinctrl_lpi2c2>;
+	pinctrl-1 = <&pinctrl_lpi2c2>;
+	status = "okay";
+
+	pmic@25 {
+		compatible = "nxp,pca9451a";
+		reg = <0x25>;
+		interrupt-parent = <&pcal6524>;
+		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
+
+		regulators {
+			buck1: BUCK1 {
+				regulator-name = "BUCK1";
+				regulator-min-microvolt = <650000>;
+				regulator-max-microvolt = <2237500>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <3125>;
+			};
+
+			buck2: BUCK2 {
+				regulator-name = "BUCK2";
+				regulator-min-microvolt = <600000>;
+				regulator-max-microvolt = <2187500>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <3125>;
+			};
+
+			buck4: BUCK4{
+				regulator-name = "BUCK4";
+				regulator-min-microvolt = <600000>;
+				regulator-max-microvolt = <3400000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			buck5: BUCK5{
+				regulator-name = "BUCK5";
+				regulator-min-microvolt = <600000>;
+				regulator-max-microvolt = <3400000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			buck6: BUCK6 {
+				regulator-name = "BUCK6";
+				regulator-min-microvolt = <600000>;
+				regulator-max-microvolt = <3400000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo1: LDO1 {
+				regulator-name = "LDO1";
+				regulator-min-microvolt = <1600000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo4: LDO4 {
+				regulator-name = "LDO4";
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo5: LDO5 {
+				regulator-name = "LDO5";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+		};
+	};
+
+	pcal6524: gpio@22 {
+		compatible = "nxp,pcal6524";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_pcal6524>;
+		reg = <0x22>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+		interrupt-parent = <&gpio3>;
+		interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
+	};
+
+};
+
 &iomuxc {
 	pinctrl_eqos: eqosgrp {
 		fsl,pins = <
@@ -239,6 +338,19 @@ MX93_PAD_DAP_TCLK_SWCLK__LPUART5_CTS_B		0x31e
 	};
 
 	/* need to config the SION for data and cmd pad, refer to ERR052021 */
+	pinctrl_lpi2c2: lpi2c2grp {
+		fsl,pins = <
+			MX93_PAD_I2C2_SCL__LPI2C2_SCL			0x40000b9e
+			MX93_PAD_I2C2_SDA__LPI2C2_SDA			0x40000b9e
+		>;
+	};
+
+	pinctrl_pcal6524: pcal6524grp {
+		fsl,pins = <
+			MX93_PAD_CCM_CLKO2__GPIO3_IO27			0x31e
+		>;
+	};
+
 	pinctrl_usdhc1: usdhc1grp {
 		fsl,pins = <
 			MX93_PAD_SD1_CLK__USDHC1_CLK		0x15fe
-- 
2.37.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 3/3] arm64: dts: imx93-11x11-evk: add pca9451a support
  2024-03-11  8:47 ` [PATCH v2 3/3] arm64: dts: imx93-11x11-evk: " Joy Zou
@ 2024-03-11  8:51   ` Marco Felsch
  2024-03-11  8:57     ` [EXT] " Joy Zou
  0 siblings, 1 reply; 12+ messages in thread
From: Marco Felsch @ 2024-03-11  8:51 UTC (permalink / raw)
  To: Joy Zou
  Cc: ping.bai, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, shawnguo, s.hauer, devicetree, imx, linux-kernel,
	linux-imx, kernel, festevam, linux-arm-kernel

Hi,

On 24-03-11, Joy Zou wrote:
> Support pca9451a on imx93-11x11-evk.
> 
> Signed-off-by: Joy Zou <joy.zou@nxp.com>
> ---
>  .../boot/dts/freescale/imx93-11x11-evk.dts    | 112 ++++++++++++++++++
>  1 file changed, 112 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
> index 9921ea13ab48..6cb5b7d745bf 100644
> --- a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
> @@ -183,6 +183,105 @@ &wdog3 {
>  	status = "okay";
>  };
>  
> +&lpi2c2 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +	clock-frequency = <400000>;
> +	pinctrl-names = "default", "sleep";
> +	pinctrl-0 = <&pinctrl_lpi2c2>;
> +	pinctrl-1 = <&pinctrl_lpi2c2>;
> +	status = "okay";
> +
> +	pmic@25 {
> +		compatible = "nxp,pca9451a";
> +		reg = <0x25>;
> +		interrupt-parent = <&pcal6524>;
> +		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
> +
> +		regulators {
> +			buck1: BUCK1 {
> +				regulator-name = "BUCK1";
> +				regulator-min-microvolt = <650000>;
> +				regulator-max-microvolt = <2237500>;

Can you please check you limits with the EE department? The constraints
in a DTS file should reflect the board constraints and not the PMIC
contraints.

Regards,
  Marco

> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <3125>;
> +			};
> +
> +			buck2: BUCK2 {
> +				regulator-name = "BUCK2";
> +				regulator-min-microvolt = <600000>;
> +				regulator-max-microvolt = <2187500>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <3125>;
> +			};
> +
> +			buck4: BUCK4{
> +				regulator-name = "BUCK4";
> +				regulator-min-microvolt = <600000>;
> +				regulator-max-microvolt = <3400000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			buck5: BUCK5{
> +				regulator-name = "BUCK5";
> +				regulator-min-microvolt = <600000>;
> +				regulator-max-microvolt = <3400000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			buck6: BUCK6 {
> +				regulator-name = "BUCK6";
> +				regulator-min-microvolt = <600000>;
> +				regulator-max-microvolt = <3400000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			ldo1: LDO1 {
> +				regulator-name = "LDO1";
> +				regulator-min-microvolt = <1600000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			ldo4: LDO4 {
> +				regulator-name = "LDO4";
> +				regulator-min-microvolt = <800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			ldo5: LDO5 {
> +				regulator-name = "LDO5";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +		};
> +	};
> +
> +	pcal6524: gpio@22 {
> +		compatible = "nxp,pcal6524";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_pcal6524>;
> +		reg = <0x22>;
> +		gpio-controller;
> +		#gpio-cells = <2>;
> +		interrupt-controller;
> +		#interrupt-cells = <2>;
> +		interrupt-parent = <&gpio3>;
> +		interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
> +	};
> +
> +};
> +
>  &iomuxc {
>  	pinctrl_eqos: eqosgrp {
>  		fsl,pins = <
> @@ -239,6 +338,19 @@ MX93_PAD_DAP_TCLK_SWCLK__LPUART5_CTS_B		0x31e
>  	};
>  
>  	/* need to config the SION for data and cmd pad, refer to ERR052021 */
> +	pinctrl_lpi2c2: lpi2c2grp {
> +		fsl,pins = <
> +			MX93_PAD_I2C2_SCL__LPI2C2_SCL			0x40000b9e
> +			MX93_PAD_I2C2_SDA__LPI2C2_SDA			0x40000b9e
> +		>;
> +	};
> +
> +	pinctrl_pcal6524: pcal6524grp {
> +		fsl,pins = <
> +			MX93_PAD_CCM_CLKO2__GPIO3_IO27			0x31e
> +		>;
> +	};
> +
>  	pinctrl_usdhc1: usdhc1grp {
>  		fsl,pins = <
>  			MX93_PAD_SD1_CLK__USDHC1_CLK		0x15fe
> -- 
> 2.37.1
> 
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* RE: [EXT] Re: [PATCH v2 3/3] arm64: dts: imx93-11x11-evk: add pca9451a support
  2024-03-11  8:51   ` Marco Felsch
@ 2024-03-11  8:57     ` Joy Zou
  0 siblings, 0 replies; 12+ messages in thread
From: Joy Zou @ 2024-03-11  8:57 UTC (permalink / raw)
  To: Marco Felsch
  Cc: Jacky Bai, lgirdwood@gmail.com, broonie@kernel.org,
	robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
	conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de,
	devicetree@vger.kernel.org, imx@lists.linux.dev,
	linux-kernel@vger.kernel.org, dl-linux-imx, kernel@pengutronix.de,
	festevam@gmail.com, linux-arm-kernel@lists.infradead.org


> -----Original Message-----
> From: Marco Felsch <m.felsch@pengutronix.de>
> Sent: 2024年3月11日 16:52
> To: Joy Zou <joy.zou@nxp.com>
> Cc: Jacky Bai <ping.bai@nxp.com>; lgirdwood@gmail.com;
> broonie@kernel.org; robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> conor+dt@kernel.org; shawnguo@kernel.org; s.hauer@pengutronix.de;
> devicetree@vger.kernel.org; imx@lists.linux.dev; linux-kernel@vger.kernel.org;
> dl-linux-imx <linux-imx@nxp.com>; kernel@pengutronix.de;
> festevam@gmail.com; linux-arm-kernel@lists.infradead.org
> Subject: [EXT] Re: [PATCH v2 3/3] arm64: dts: imx93-11x11-evk: add
> pca9451a support
> 
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
> 
> 
> Hi,
> 
> On 24-03-11, Joy Zou wrote:
> > Support pca9451a on imx93-11x11-evk.
> >
> > Signed-off-by: Joy Zou <joy.zou@nxp.com>
> > ---
> >  .../boot/dts/freescale/imx93-11x11-evk.dts    | 112
> ++++++++++++++++++
> >  1 file changed, 112 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
> > b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
> > index 9921ea13ab48..6cb5b7d745bf 100644
> > --- a/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
> > +++ b/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
> > @@ -183,6 +183,105 @@ &wdog3 {
> >       status = "okay";
> >  };
> >
> > +&lpi2c2 {
> > +     #address-cells = <1>;
> > +     #size-cells = <0>;
> > +     clock-frequency = <400000>;
> > +     pinctrl-names = "default", "sleep";
> > +     pinctrl-0 = <&pinctrl_lpi2c2>;
> > +     pinctrl-1 = <&pinctrl_lpi2c2>;
> > +     status = "okay";
> > +
> > +     pmic@25 {
> > +             compatible = "nxp,pca9451a";
> > +             reg = <0x25>;
> > +             interrupt-parent = <&pcal6524>;
> > +             interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
> > +
> > +             regulators {
> > +                     buck1: BUCK1 {
> > +                             regulator-name = "BUCK1";
> > +                             regulator-min-microvolt = <650000>;
> > +                             regulator-max-microvolt = <2237500>;
> 
> Can you please check you limits with the EE department? The constraints in a
> DTS file should reflect the board constraints and not the PMIC contraints.
Okay, I will check and modify the constraints.
Thank you very much!
BR
Joy Zou
> 
> Regards,
>   Marco
> 
> > +                             regulator-boot-on;
> > +                             regulator-always-on;
> > +                             regulator-ramp-delay = <3125>;
> > +                     };
> > +
> > +                     buck2: BUCK2 {
> > +                             regulator-name = "BUCK2";
> > +                             regulator-min-microvolt = <600000>;
> > +                             regulator-max-microvolt = <2187500>;
> > +                             regulator-boot-on;
> > +                             regulator-always-on;
> > +                             regulator-ramp-delay = <3125>;
> > +                     };
> > +
> > +                     buck4: BUCK4{
> > +                             regulator-name = "BUCK4";
> > +                             regulator-min-microvolt = <600000>;
> > +                             regulator-max-microvolt = <3400000>;
> > +                             regulator-boot-on;
> > +                             regulator-always-on;
> > +                     };
> > +
> > +                     buck5: BUCK5{
> > +                             regulator-name = "BUCK5";
> > +                             regulator-min-microvolt = <600000>;
> > +                             regulator-max-microvolt = <3400000>;
> > +                             regulator-boot-on;
> > +                             regulator-always-on;
> > +                     };
> > +
> > +                     buck6: BUCK6 {
> > +                             regulator-name = "BUCK6";
> > +                             regulator-min-microvolt = <600000>;
> > +                             regulator-max-microvolt = <3400000>;
> > +                             regulator-boot-on;
> > +                             regulator-always-on;
> > +                     };
> > +
> > +                     ldo1: LDO1 {
> > +                             regulator-name = "LDO1";
> > +                             regulator-min-microvolt = <1600000>;
> > +                             regulator-max-microvolt = <3300000>;
> > +                             regulator-boot-on;
> > +                             regulator-always-on;
> > +                     };
> > +
> > +                     ldo4: LDO4 {
> > +                             regulator-name = "LDO4";
> > +                             regulator-min-microvolt = <800000>;
> > +                             regulator-max-microvolt = <3300000>;
> > +                             regulator-boot-on;
> > +                             regulator-always-on;
> > +                     };
> > +
> > +                     ldo5: LDO5 {
> > +                             regulator-name = "LDO5";
> > +                             regulator-min-microvolt = <1800000>;
> > +                             regulator-max-microvolt = <3300000>;
> > +                             regulator-boot-on;
> > +                             regulator-always-on;
> > +                     };
> > +             };
> > +     };
> > +
> > +     pcal6524: gpio@22 {
> > +             compatible = "nxp,pcal6524";
> > +             pinctrl-names = "default";
> > +             pinctrl-0 = <&pinctrl_pcal6524>;
> > +             reg = <0x22>;
> > +             gpio-controller;
> > +             #gpio-cells = <2>;
> > +             interrupt-controller;
> > +             #interrupt-cells = <2>;
> > +             interrupt-parent = <&gpio3>;
> > +             interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
> > +     };
> > +
> > +};
> > +
> >  &iomuxc {
> >       pinctrl_eqos: eqosgrp {
> >               fsl,pins = <
> > @@ -239,6 +338,19 @@ MX93_PAD_DAP_TCLK_SWCLK__LPUART5_CTS_B
> 0x31e
> >       };
> >
> >       /* need to config the SION for data and cmd pad, refer to
> > ERR052021 */
> > +     pinctrl_lpi2c2: lpi2c2grp {
> > +             fsl,pins = <
> > +                     MX93_PAD_I2C2_SCL__LPI2C2_SCL
> 0x40000b9e
> > +                     MX93_PAD_I2C2_SDA__LPI2C2_SDA
> 0x40000b9e
> > +             >;
> > +     };
> > +
> > +     pinctrl_pcal6524: pcal6524grp {
> > +             fsl,pins = <
> > +                     MX93_PAD_CCM_CLKO2__GPIO3_IO27
> 0x31e
> > +             >;
> > +     };
> > +
> >       pinctrl_usdhc1: usdhc1grp {
> >               fsl,pins = <
> >                       MX93_PAD_SD1_CLK__USDHC1_CLK
> 0x15fe
> > --
> > 2.37.1
> >
> >
> >
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 2/3] regulator: pca9450: add pca9451a support
  2024-03-11  8:47 ` [PATCH v2 2/3] regulator: " Joy Zou
@ 2024-03-11  9:09   ` Alexander Stein
  2024-03-11  9:13     ` [EXT] " Joy Zou
  2024-03-11 13:28     ` Mark Brown
  0 siblings, 2 replies; 12+ messages in thread
From: Alexander Stein @ 2024-03-11  9:09 UTC (permalink / raw)
  To: ping.bai, lgirdwood, broonie, robh+dt, krzysztof.kozlowski+dt,
	conor+dt, shawnguo, s.hauer, linux-arm-kernel
  Cc: kernel, festevam, linux-imx, devicetree, linux-arm-kernel,
	linux-kernel, imx, Joy Zou

Hi,

thanks for the update.

Am Montag, 11. März 2024, 09:47:56 CET schrieb Joy Zou:
> Adding support for pmic pca9451a.
> 
> This patch support old and new pmic pca9451a. The new pmic trimed BUCK1.
> The default value of Toff_Deb is used to distinguish the old and new pmic.

This section doesn't apply anymore. Please remove it.

> Signed-off-by: Joy Zou <joy.zou@nxp.com>
> ---
> Changes in v2:
> 1. remove the old part support because the old part only is used for sample
> and is diffcult to distinguish old and new part. so drop old part.
> 2. remove the unnecessary marco definition in the file pca9450.h.
> ---
>  drivers/regulator/pca9450-regulator.c | 197 +++++++++++++++++++++++++-
>  include/linux/regulator/pca9450.h     |   1 +
>  2 files changed, 195 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/regulator/pca9450-regulator.c b/drivers/regulator/pca9450-regulator.c
> index 2ab365d2749f..50c324e275b5 100644
> --- a/drivers/regulator/pca9450-regulator.c
> +++ b/drivers/regulator/pca9450-regulator.c
> @@ -103,7 +103,15 @@ static const struct regulator_ops pca9450_ldo_regulator_ops = {
>   * 0.60 to 2.1875V (12.5mV step)
>   */
>  static const struct linear_range pca9450_dvs_buck_volts[] = {
> -	REGULATOR_LINEAR_RANGE(600000,  0x00, 0x7F, 12500),
> +	REGULATOR_LINEAR_RANGE(600000, 0x00, 0x7F, 12500),
> +};

That's an unrelated change.

> +/*
> + * BUCK1/3
> + * 0.65 to 2.2375V (12.5mV step)
> + */
> +static const struct linear_range pca9451a_dvs_buck_volts[] = {
> +	REGULATOR_LINEAR_RANGE(650000, 0x00, 0x7F, 12500),
>  };
>  
>  /*
> @@ -662,6 +670,178 @@ static const struct pca9450_regulator_desc pca9450bc_regulators[] = {
>  	},
>  };
>  
> +static const struct pca9450_regulator_desc pca9451a_regulators[] = {
> +	{
> +		.desc = {
> +			.name = "buck1",
> +			.of_match = of_match_ptr("BUCK1"),
> +			.regulators_node = of_match_ptr("regulators"),
> +			.id = PCA9450_BUCK1,
> +			.ops = &pca9450_dvs_buck_regulator_ops,
> +			.type = REGULATOR_VOLTAGE,
> +			.n_voltages = PCA9450_BUCK1_VOLTAGE_NUM,
> +			.linear_ranges = pca9451a_dvs_buck_volts,
> +			.n_linear_ranges = ARRAY_SIZE(pca9451a_dvs_buck_volts),
> +			.vsel_reg = PCA9450_REG_BUCK1OUT_DVS0,
> +			.vsel_mask = BUCK1OUT_DVS0_MASK,
> +			.enable_reg = PCA9450_REG_BUCK1CTRL,
> +			.enable_mask = BUCK1_ENMODE_MASK,
> +			.enable_val = BUCK_ENMODE_ONREQ,
> +			.ramp_mask = BUCK1_RAMP_MASK,
> +			.ramp_delay_table = pca9450_dvs_buck_ramp_table,
> +			.n_ramp_values = ARRAY_SIZE(pca9450_dvs_buck_ramp_table),
> +			.owner = THIS_MODULE,
> +			.of_parse_cb = pca9450_set_dvs_levels,
> +		},
> +		.dvs = {
> +			.run_reg = PCA9450_REG_BUCK1OUT_DVS0,
> +			.run_mask = BUCK1OUT_DVS0_MASK,
> +			.standby_reg = PCA9450_REG_BUCK1OUT_DVS1,
> +			.standby_mask = BUCK1OUT_DVS1_MASK,
> +		},
> +	},
> +	{
> +		.desc = {
> +			.name = "buck2",
> +			.of_match = of_match_ptr("BUCK2"),
> +			.regulators_node = of_match_ptr("regulators"),
> +			.id = PCA9450_BUCK2,
> +			.ops = &pca9450_dvs_buck_regulator_ops,
> +			.type = REGULATOR_VOLTAGE,
> +			.n_voltages = PCA9450_BUCK2_VOLTAGE_NUM,
> +			.linear_ranges = pca9450_dvs_buck_volts,
> +			.n_linear_ranges = ARRAY_SIZE(pca9450_dvs_buck_volts),
> +			.vsel_reg = PCA9450_REG_BUCK2OUT_DVS0,
> +			.vsel_mask = BUCK2OUT_DVS0_MASK,
> +			.enable_reg = PCA9450_REG_BUCK2CTRL,
> +			.enable_mask = BUCK2_ENMODE_MASK,
> +			.enable_val = BUCK_ENMODE_ONREQ_STBYREQ,
> +			.ramp_mask = BUCK2_RAMP_MASK,
> +			.ramp_delay_table = pca9450_dvs_buck_ramp_table,
> +			.n_ramp_values = ARRAY_SIZE(pca9450_dvs_buck_ramp_table),
> +			.owner = THIS_MODULE,
> +			.of_parse_cb = pca9450_set_dvs_levels,
> +		},
> +		.dvs = {
> +			.run_reg = PCA9450_REG_BUCK2OUT_DVS0,
> +			.run_mask = BUCK2OUT_DVS0_MASK,
> +			.standby_reg = PCA9450_REG_BUCK2OUT_DVS1,
> +			.standby_mask = BUCK2OUT_DVS1_MASK,
> +		},
> +	},
> +	{
> +		.desc = {
> +			.name = "buck4",
> +			.of_match = of_match_ptr("BUCK4"),
> +			.regulators_node = of_match_ptr("regulators"),
> +			.id = PCA9450_BUCK4,
> +			.ops = &pca9450_buck_regulator_ops,
> +			.type = REGULATOR_VOLTAGE,
> +			.n_voltages = PCA9450_BUCK4_VOLTAGE_NUM,
> +			.linear_ranges = pca9450_buck_volts,
> +			.n_linear_ranges = ARRAY_SIZE(pca9450_buck_volts),
> +			.vsel_reg = PCA9450_REG_BUCK4OUT,
> +			.vsel_mask = BUCK4OUT_MASK,
> +			.enable_reg = PCA9450_REG_BUCK4CTRL,
> +			.enable_mask = BUCK4_ENMODE_MASK,
> +			.enable_val = BUCK_ENMODE_ONREQ,
> +			.owner = THIS_MODULE,
> +		},
> +	},
> +	{
> +		.desc = {
> +			.name = "buck5",
> +			.of_match = of_match_ptr("BUCK5"),
> +			.regulators_node = of_match_ptr("regulators"),
> +			.id = PCA9450_BUCK5,
> +			.ops = &pca9450_buck_regulator_ops,
> +			.type = REGULATOR_VOLTAGE,
> +			.n_voltages = PCA9450_BUCK5_VOLTAGE_NUM,
> +			.linear_ranges = pca9450_buck_volts,
> +			.n_linear_ranges = ARRAY_SIZE(pca9450_buck_volts),
> +			.vsel_reg = PCA9450_REG_BUCK5OUT,
> +			.vsel_mask = BUCK5OUT_MASK,
> +			.enable_reg = PCA9450_REG_BUCK5CTRL,
> +			.enable_mask = BUCK5_ENMODE_MASK,
> +			.enable_val = BUCK_ENMODE_ONREQ,
> +			.owner = THIS_MODULE,
> +		},
> +	},
> +	{
> +		.desc = {
> +			.name = "buck6",
> +			.of_match = of_match_ptr("BUCK6"),
> +			.regulators_node = of_match_ptr("regulators"),
> +			.id = PCA9450_BUCK6,
> +			.ops = &pca9450_buck_regulator_ops,
> +			.type = REGULATOR_VOLTAGE,
> +			.n_voltages = PCA9450_BUCK6_VOLTAGE_NUM,
> +			.linear_ranges = pca9450_buck_volts,
> +			.n_linear_ranges = ARRAY_SIZE(pca9450_buck_volts),
> +			.vsel_reg = PCA9450_REG_BUCK6OUT,
> +			.vsel_mask = BUCK6OUT_MASK,
> +			.enable_reg = PCA9450_REG_BUCK6CTRL,
> +			.enable_mask = BUCK6_ENMODE_MASK,
> +			.enable_val = BUCK_ENMODE_ONREQ,
> +			.owner = THIS_MODULE,
> +		},
> +	},
> +	{
> +		.desc = {
> +			.name = "ldo1",
> +			.of_match = of_match_ptr("LDO1"),
> +			.regulators_node = of_match_ptr("regulators"),
> +			.id = PCA9450_LDO1,
> +			.ops = &pca9450_ldo_regulator_ops,
> +			.type = REGULATOR_VOLTAGE,
> +			.n_voltages = PCA9450_LDO1_VOLTAGE_NUM,
> +			.linear_ranges = pca9450_ldo1_volts,
> +			.n_linear_ranges = ARRAY_SIZE(pca9450_ldo1_volts),
> +			.vsel_reg = PCA9450_REG_LDO1CTRL,
> +			.vsel_mask = LDO1OUT_MASK,
> +			.enable_reg = PCA9450_REG_LDO1CTRL,
> +			.enable_mask = LDO1_EN_MASK,
> +			.owner = THIS_MODULE,
> +		},
> +	},
> +	{
> +		.desc = {
> +			.name = "ldo4",
> +			.of_match = of_match_ptr("LDO4"),
> +			.regulators_node = of_match_ptr("regulators"),
> +			.id = PCA9450_LDO4,
> +			.ops = &pca9450_ldo_regulator_ops,
> +			.type = REGULATOR_VOLTAGE,
> +			.n_voltages = PCA9450_LDO4_VOLTAGE_NUM,
> +			.linear_ranges = pca9450_ldo34_volts,
> +			.n_linear_ranges = ARRAY_SIZE(pca9450_ldo34_volts),
> +			.vsel_reg = PCA9450_REG_LDO4CTRL,
> +			.vsel_mask = LDO4OUT_MASK,
> +			.enable_reg = PCA9450_REG_LDO4CTRL,
> +			.enable_mask = LDO4_EN_MASK,
> +			.owner = THIS_MODULE,
> +		},
> +	},
> +	{
> +		.desc = {
> +			.name = "ldo5",
> +			.of_match = of_match_ptr("LDO5"),
> +			.regulators_node = of_match_ptr("regulators"),
> +			.id = PCA9450_LDO5,
> +			.ops = &pca9450_ldo_regulator_ops,
> +			.type = REGULATOR_VOLTAGE,
> +			.n_voltages = PCA9450_LDO5_VOLTAGE_NUM,
> +			.linear_ranges = pca9450_ldo5_volts,
> +			.n_linear_ranges = ARRAY_SIZE(pca9450_ldo5_volts),
> +			.vsel_reg = PCA9450_REG_LDO5CTRL_H,
> +			.vsel_mask = LDO5HOUT_MASK,
> +			.enable_reg = PCA9450_REG_LDO5CTRL_H,
> +			.enable_mask = LDO5H_EN_MASK,
> +			.owner = THIS_MODULE,
> +		},
> +	},
> +};
> +
>  static irqreturn_t pca9450_irq_handler(int irq, void *data)
>  {
>  	struct pca9450 *pca9450 = data;
> @@ -729,6 +909,10 @@ static int pca9450_i2c_probe(struct i2c_client *i2c)
>  		regulator_desc = pca9450bc_regulators;
>  		pca9450->rcnt = ARRAY_SIZE(pca9450bc_regulators);
>  		break;
> +	case PCA9450_TYPE_PCA9451A:
> +		regulator_desc = pca9451a_regulators;
> +		pca9450->rcnt = ARRAY_SIZE(pca9451a_regulators);
> +		break;
>  	default:
>  		dev_err(&i2c->dev, "Unknown device type");
>  		return -EINVAL;
> @@ -755,7 +939,8 @@ static int pca9450_i2c_probe(struct i2c_client *i2c)
>  
>  	/* Check your board and dts for match the right pmic */
>  	if (((device_id >> 4) != 0x1 && type == PCA9450_TYPE_PCA9450A) ||
> -	    ((device_id >> 4) != 0x3 && type == PCA9450_TYPE_PCA9450BC)) {
> +	    ((device_id >> 4) != 0x3 && type == PCA9450_TYPE_PCA9450BC) ||
> +	    ((device_id >> 4) != 0x9 && type == PCA9450_TYPE_PCA9451A)) {
>  		dev_err(&i2c->dev, "Device id(%x) mismatched\n",
>  			device_id >> 4);
>  		return -EINVAL;
> @@ -767,6 +952,7 @@ static int pca9450_i2c_probe(struct i2c_client *i2c)
>  		const struct pca9450_regulator_desc *r;
>  
>  		r = &regulator_desc[i];
> +

Please don't add this empty line. Seems like a leftover from v1.

Thanks and best regards,
Alexander

>  		desc = &r->desc;
>  
>  		config.regmap = pca9450->regmap;
> @@ -846,7 +1032,8 @@ static int pca9450_i2c_probe(struct i2c_client *i2c)
>  	}
>  
>  	dev_info(&i2c->dev, "%s probed.\n",
> -		type == PCA9450_TYPE_PCA9450A ? "pca9450a" : "pca9450bc");
> +		type == PCA9450_TYPE_PCA9450A ? "pca9450a" :
> +		(type == PCA9450_TYPE_PCA9451A ? "pca9451a" : "pca9450bc"));
>  
>  	return 0;
>  }
> @@ -864,6 +1051,10 @@ static const struct of_device_id pca9450_of_match[] = {
>  		.compatible = "nxp,pca9450c",
>  		.data = (void *)PCA9450_TYPE_PCA9450BC,
>  	},
> +	{
> +		.compatible = "nxp,pca9451a",
> +		.data = (void *)PCA9450_TYPE_PCA9451A,
> +	},
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(of, pca9450_of_match);
> diff --git a/include/linux/regulator/pca9450.h b/include/linux/regulator/pca9450.h
> index 505c908dbb81..243633c8dceb 100644
> --- a/include/linux/regulator/pca9450.h
> +++ b/include/linux/regulator/pca9450.h
> @@ -9,6 +9,7 @@
>  enum pca9450_chip_type {
>  	PCA9450_TYPE_PCA9450A = 0,
>  	PCA9450_TYPE_PCA9450BC,
> +	PCA9450_TYPE_PCA9451A,
>  	PCA9450_TYPE_AMOUNT,
>  };
>  
> 


-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* RE: [EXT] Re: [PATCH v2 2/3] regulator: pca9450: add pca9451a support
  2024-03-11  9:09   ` Alexander Stein
@ 2024-03-11  9:13     ` Joy Zou
  2024-03-11 13:28     ` Mark Brown
  1 sibling, 0 replies; 12+ messages in thread
From: Joy Zou @ 2024-03-11  9:13 UTC (permalink / raw)
  To: Alexander Stein, Jacky Bai, lgirdwood@gmail.com,
	broonie@kernel.org, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
	shawnguo@kernel.org, s.hauer@pengutronix.de,
	linux-arm-kernel@lists.infradead.org
  Cc: kernel@pengutronix.de, festevam@gmail.com, dl-linux-imx,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, imx@lists.linux.dev


> -----Original Message-----
> From: Alexander Stein <alexander.stein@ew.tq-group.com>
> Sent: 2024年3月11日 17:09
> To: Jacky Bai <ping.bai@nxp.com>; lgirdwood@gmail.com;
> broonie@kernel.org; robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> conor+dt@kernel.org; shawnguo@kernel.org; s.hauer@pengutronix.de;
> linux-arm-kernel@lists.infradead.org
> Cc: kernel@pengutronix.de; festevam@gmail.com; dl-linux-imx
> <linux-imx@nxp.com>; devicetree@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
> imx@lists.linux.dev; Joy Zou <joy.zou@nxp.com>
> Subject: [EXT] Re: [PATCH v2 2/3] regulator: pca9450: add pca9451a support
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
>
>
> Hi,
>
> thanks for the update.
>
> Am Montag, 11. März 2024, 09:47:56 CET schrieb Joy Zou:
> > Adding support for pmic pca9451a.
> >
> > This patch support old and new pmic pca9451a. The new pmic trimed
> BUCK1.
> > The default value of Toff_Deb is used to distinguish the old and new pmic.
>
> This section doesn't apply anymore. Please remove it.
>
> > Signed-off-by: Joy Zou <joy.zou@nxp.com>
> > ---
> > Changes in v2:
> > 1. remove the old part support because the old part only is used for
> > sample and is diffcult to distinguish old and new part. so drop old part.
> > 2. remove the unnecessary marco definition in the file pca9450.h.
> > ---
> >  drivers/regulator/pca9450-regulator.c | 197
> +++++++++++++++++++++++++-
> >  include/linux/regulator/pca9450.h     |   1 +
> >  2 files changed, 195 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/regulator/pca9450-regulator.c
> > b/drivers/regulator/pca9450-regulator.c
> > index 2ab365d2749f..50c324e275b5 100644
> > --- a/drivers/regulator/pca9450-regulator.c
> > +++ b/drivers/regulator/pca9450-regulator.c
> > @@ -103,7 +103,15 @@ static const struct regulator_ops
> pca9450_ldo_regulator_ops = {
> >   * 0.60 to 2.1875V (12.5mV step)
> >   */
> >  static const struct linear_range pca9450_dvs_buck_volts[] = {
> > -     REGULATOR_LINEAR_RANGE(600000,  0x00, 0x7F, 12500),
> > +     REGULATOR_LINEAR_RANGE(600000, 0x00, 0x7F, 12500), };
>
> That's an unrelated change.
Yeah, I will remove it.
>
> > +/*
> > + * BUCK1/3
> > + * 0.65 to 2.2375V (12.5mV step)
> > + */
> > +static const struct linear_range pca9451a_dvs_buck_volts[] = {
> > +     REGULATOR_LINEAR_RANGE(650000, 0x00, 0x7F, 12500),
> >  };
> >
> >  /*
> > @@ -662,6 +670,178 @@ static const struct pca9450_regulator_desc
> pca9450bc_regulators[] = {
> >       },
> >  };
> >
> > +static const struct pca9450_regulator_desc pca9451a_regulators[] = {
> > +     {
> > +             .desc = {
> > +                     .name = "buck1",
> > +                     .of_match = of_match_ptr("BUCK1"),
> > +                     .regulators_node = of_match_ptr("regulators"),
> > +                     .id = PCA9450_BUCK1,
> > +                     .ops = &pca9450_dvs_buck_regulator_ops,
> > +                     .type = REGULATOR_VOLTAGE,
> > +                     .n_voltages = PCA9450_BUCK1_VOLTAGE_NUM,
> > +                     .linear_ranges = pca9451a_dvs_buck_volts,
> > +                     .n_linear_ranges =
> ARRAY_SIZE(pca9451a_dvs_buck_volts),
> > +                     .vsel_reg = PCA9450_REG_BUCK1OUT_DVS0,
> > +                     .vsel_mask = BUCK1OUT_DVS0_MASK,
> > +                     .enable_reg = PCA9450_REG_BUCK1CTRL,
> > +                     .enable_mask = BUCK1_ENMODE_MASK,
> > +                     .enable_val = BUCK_ENMODE_ONREQ,
> > +                     .ramp_mask = BUCK1_RAMP_MASK,
> > +                     .ramp_delay_table =
> pca9450_dvs_buck_ramp_table,
> > +                     .n_ramp_values =
> ARRAY_SIZE(pca9450_dvs_buck_ramp_table),
> > +                     .owner = THIS_MODULE,
> > +                     .of_parse_cb = pca9450_set_dvs_levels,
> > +             },
> > +             .dvs = {
> > +                     .run_reg = PCA9450_REG_BUCK1OUT_DVS0,
> > +                     .run_mask = BUCK1OUT_DVS0_MASK,
> > +                     .standby_reg = PCA9450_REG_BUCK1OUT_DVS1,
> > +                     .standby_mask = BUCK1OUT_DVS1_MASK,
> > +             },
> > +     },
> > +     {
> > +             .desc = {
> > +                     .name = "buck2",
> > +                     .of_match = of_match_ptr("BUCK2"),
> > +                     .regulators_node = of_match_ptr("regulators"),
> > +                     .id = PCA9450_BUCK2,
> > +                     .ops = &pca9450_dvs_buck_regulator_ops,
> > +                     .type = REGULATOR_VOLTAGE,
> > +                     .n_voltages = PCA9450_BUCK2_VOLTAGE_NUM,
> > +                     .linear_ranges = pca9450_dvs_buck_volts,
> > +                     .n_linear_ranges =
> ARRAY_SIZE(pca9450_dvs_buck_volts),
> > +                     .vsel_reg = PCA9450_REG_BUCK2OUT_DVS0,
> > +                     .vsel_mask = BUCK2OUT_DVS0_MASK,
> > +                     .enable_reg = PCA9450_REG_BUCK2CTRL,
> > +                     .enable_mask = BUCK2_ENMODE_MASK,
> > +                     .enable_val = BUCK_ENMODE_ONREQ_STBYREQ,
> > +                     .ramp_mask = BUCK2_RAMP_MASK,
> > +                     .ramp_delay_table =
> pca9450_dvs_buck_ramp_table,
> > +                     .n_ramp_values =
> ARRAY_SIZE(pca9450_dvs_buck_ramp_table),
> > +                     .owner = THIS_MODULE,
> > +                     .of_parse_cb = pca9450_set_dvs_levels,
> > +             },
> > +             .dvs = {
> > +                     .run_reg = PCA9450_REG_BUCK2OUT_DVS0,
> > +                     .run_mask = BUCK2OUT_DVS0_MASK,
> > +                     .standby_reg = PCA9450_REG_BUCK2OUT_DVS1,
> > +                     .standby_mask = BUCK2OUT_DVS1_MASK,
> > +             },
> > +     },
> > +     {
> > +             .desc = {
> > +                     .name = "buck4",
> > +                     .of_match = of_match_ptr("BUCK4"),
> > +                     .regulators_node = of_match_ptr("regulators"),
> > +                     .id = PCA9450_BUCK4,
> > +                     .ops = &pca9450_buck_regulator_ops,
> > +                     .type = REGULATOR_VOLTAGE,
> > +                     .n_voltages = PCA9450_BUCK4_VOLTAGE_NUM,
> > +                     .linear_ranges = pca9450_buck_volts,
> > +                     .n_linear_ranges =
> ARRAY_SIZE(pca9450_buck_volts),
> > +                     .vsel_reg = PCA9450_REG_BUCK4OUT,
> > +                     .vsel_mask = BUCK4OUT_MASK,
> > +                     .enable_reg = PCA9450_REG_BUCK4CTRL,
> > +                     .enable_mask = BUCK4_ENMODE_MASK,
> > +                     .enable_val = BUCK_ENMODE_ONREQ,
> > +                     .owner = THIS_MODULE,
> > +             },
> > +     },
> > +     {
> > +             .desc = {
> > +                     .name = "buck5",
> > +                     .of_match = of_match_ptr("BUCK5"),
> > +                     .regulators_node = of_match_ptr("regulators"),
> > +                     .id = PCA9450_BUCK5,
> > +                     .ops = &pca9450_buck_regulator_ops,
> > +                     .type = REGULATOR_VOLTAGE,
> > +                     .n_voltages = PCA9450_BUCK5_VOLTAGE_NUM,
> > +                     .linear_ranges = pca9450_buck_volts,
> > +                     .n_linear_ranges =
> ARRAY_SIZE(pca9450_buck_volts),
> > +                     .vsel_reg = PCA9450_REG_BUCK5OUT,
> > +                     .vsel_mask = BUCK5OUT_MASK,
> > +                     .enable_reg = PCA9450_REG_BUCK5CTRL,
> > +                     .enable_mask = BUCK5_ENMODE_MASK,
> > +                     .enable_val = BUCK_ENMODE_ONREQ,
> > +                     .owner = THIS_MODULE,
> > +             },
> > +     },
> > +     {
> > +             .desc = {
> > +                     .name = "buck6",
> > +                     .of_match = of_match_ptr("BUCK6"),
> > +                     .regulators_node = of_match_ptr("regulators"),
> > +                     .id = PCA9450_BUCK6,
> > +                     .ops = &pca9450_buck_regulator_ops,
> > +                     .type = REGULATOR_VOLTAGE,
> > +                     .n_voltages = PCA9450_BUCK6_VOLTAGE_NUM,
> > +                     .linear_ranges = pca9450_buck_volts,
> > +                     .n_linear_ranges =
> ARRAY_SIZE(pca9450_buck_volts),
> > +                     .vsel_reg = PCA9450_REG_BUCK6OUT,
> > +                     .vsel_mask = BUCK6OUT_MASK,
> > +                     .enable_reg = PCA9450_REG_BUCK6CTRL,
> > +                     .enable_mask = BUCK6_ENMODE_MASK,
> > +                     .enable_val = BUCK_ENMODE_ONREQ,
> > +                     .owner = THIS_MODULE,
> > +             },
> > +     },
> > +     {
> > +             .desc = {
> > +                     .name = "ldo1",
> > +                     .of_match = of_match_ptr("LDO1"),
> > +                     .regulators_node = of_match_ptr("regulators"),
> > +                     .id = PCA9450_LDO1,
> > +                     .ops = &pca9450_ldo_regulator_ops,
> > +                     .type = REGULATOR_VOLTAGE,
> > +                     .n_voltages = PCA9450_LDO1_VOLTAGE_NUM,
> > +                     .linear_ranges = pca9450_ldo1_volts,
> > +                     .n_linear_ranges =
> ARRAY_SIZE(pca9450_ldo1_volts),
> > +                     .vsel_reg = PCA9450_REG_LDO1CTRL,
> > +                     .vsel_mask = LDO1OUT_MASK,
> > +                     .enable_reg = PCA9450_REG_LDO1CTRL,
> > +                     .enable_mask = LDO1_EN_MASK,
> > +                     .owner = THIS_MODULE,
> > +             },
> > +     },
> > +     {
> > +             .desc = {
> > +                     .name = "ldo4",
> > +                     .of_match = of_match_ptr("LDO4"),
> > +                     .regulators_node = of_match_ptr("regulators"),
> > +                     .id = PCA9450_LDO4,
> > +                     .ops = &pca9450_ldo_regulator_ops,
> > +                     .type = REGULATOR_VOLTAGE,
> > +                     .n_voltages = PCA9450_LDO4_VOLTAGE_NUM,
> > +                     .linear_ranges = pca9450_ldo34_volts,
> > +                     .n_linear_ranges =
> ARRAY_SIZE(pca9450_ldo34_volts),
> > +                     .vsel_reg = PCA9450_REG_LDO4CTRL,
> > +                     .vsel_mask = LDO4OUT_MASK,
> > +                     .enable_reg = PCA9450_REG_LDO4CTRL,
> > +                     .enable_mask = LDO4_EN_MASK,
> > +                     .owner = THIS_MODULE,
> > +             },
> > +     },
> > +     {
> > +             .desc = {
> > +                     .name = "ldo5",
> > +                     .of_match = of_match_ptr("LDO5"),
> > +                     .regulators_node = of_match_ptr("regulators"),
> > +                     .id = PCA9450_LDO5,
> > +                     .ops = &pca9450_ldo_regulator_ops,
> > +                     .type = REGULATOR_VOLTAGE,
> > +                     .n_voltages = PCA9450_LDO5_VOLTAGE_NUM,
> > +                     .linear_ranges = pca9450_ldo5_volts,
> > +                     .n_linear_ranges =
> ARRAY_SIZE(pca9450_ldo5_volts),
> > +                     .vsel_reg = PCA9450_REG_LDO5CTRL_H,
> > +                     .vsel_mask = LDO5HOUT_MASK,
> > +                     .enable_reg = PCA9450_REG_LDO5CTRL_H,
> > +                     .enable_mask = LDO5H_EN_MASK,
> > +                     .owner = THIS_MODULE,
> > +             },
> > +     },
> > +};
> > +
> >  static irqreturn_t pca9450_irq_handler(int irq, void *data)  {
> >       struct pca9450 *pca9450 = data;
> > @@ -729,6 +909,10 @@ static int pca9450_i2c_probe(struct i2c_client
> *i2c)
> >               regulator_desc = pca9450bc_regulators;
> >               pca9450->rcnt = ARRAY_SIZE(pca9450bc_regulators);
> >               break;
> > +     case PCA9450_TYPE_PCA9451A:
> > +             regulator_desc = pca9451a_regulators;
> > +             pca9450->rcnt = ARRAY_SIZE(pca9451a_regulators);
> > +             break;
> >       default:
> >               dev_err(&i2c->dev, "Unknown device type");
> >               return -EINVAL;
> > @@ -755,7 +939,8 @@ static int pca9450_i2c_probe(struct i2c_client
> > *i2c)
> >
> >       /* Check your board and dts for match the right pmic */
> >       if (((device_id >> 4) != 0x1 && type == PCA9450_TYPE_PCA9450A)
> ||
> > -         ((device_id >> 4) != 0x3 && type == PCA9450_TYPE_PCA9450BC))
> {
> > +         ((device_id >> 4) != 0x3 && type == PCA9450_TYPE_PCA9450BC)
> ||
> > +         ((device_id >> 4) != 0x9 && type == PCA9450_TYPE_PCA9451A))
> > + {
> >               dev_err(&i2c->dev, "Device id(%x) mismatched\n",
> >                       device_id >> 4);
> >               return -EINVAL;
> > @@ -767,6 +952,7 @@ static int pca9450_i2c_probe(struct i2c_client
> *i2c)
> >               const struct pca9450_regulator_desc *r;
> >
> >               r = &regulator_desc[i];
> > +
>
> Please don't add this empty line. Seems like a leftover from v1.
>
Okay, will remove the empty line.
Thank you very much.
BR
Joy Zou
> Thanks and best regards,
> Alexander
>
> >               desc = &r->desc;
> >
> >               config.regmap = pca9450->regmap; @@ -846,7 +1032,8
> @@
> > static int pca9450_i2c_probe(struct i2c_client *i2c)
> >       }
> >
> >       dev_info(&i2c->dev, "%s probed.\n",
> > -             type == PCA9450_TYPE_PCA9450A ? "pca9450a" :
> "pca9450bc");
> > +             type == PCA9450_TYPE_PCA9450A ? "pca9450a" :
> > +             (type == PCA9450_TYPE_PCA9451A ? "pca9451a" :
> > + "pca9450bc"));
> >
> >       return 0;
> >  }
> > @@ -864,6 +1051,10 @@ static const struct of_device_id
> pca9450_of_match[] = {
> >               .compatible = "nxp,pca9450c",
> >               .data = (void *)PCA9450_TYPE_PCA9450BC,
> >       },
> > +     {
> > +             .compatible = "nxp,pca9451a",
> > +             .data = (void *)PCA9450_TYPE_PCA9451A,
> > +     },
> >       { }
> >  };
> >  MODULE_DEVICE_TABLE(of, pca9450_of_match); diff --git
> > a/include/linux/regulator/pca9450.h
> > b/include/linux/regulator/pca9450.h
> > index 505c908dbb81..243633c8dceb 100644
> > --- a/include/linux/regulator/pca9450.h
> > +++ b/include/linux/regulator/pca9450.h
> > @@ -9,6 +9,7 @@
> >  enum pca9450_chip_type {
> >       PCA9450_TYPE_PCA9450A = 0,
> >       PCA9450_TYPE_PCA9450BC,
> > +     PCA9450_TYPE_PCA9451A,
> >       PCA9450_TYPE_AMOUNT,
> >  };
> >
> >
>
>
> --
> TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
> Amtsgericht München, HRB 105018
> Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
> http://www.t/
> q-group.com%2F&data=05%7C02%7Cjoy.zou%40nxp.com%7C127cf372317a
> 45bcefe508dc41aaeb74%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7
> C0%7C638457449552418123%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC
> 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C
> %7C%7C&sdata=3EUbZ%2B8PQtMQ%2F4hC71tn1T3cqnQwGBwnaQf3xleDq
> %2FQ%3D&reserved=0
>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 1/3] regulator: dt-bindings: pca9450: add pca9451a support
  2024-03-11  8:47 ` [PATCH v2 1/3] regulator: dt-bindings: pca9450: add " Joy Zou
@ 2024-03-11 10:00   ` Krzysztof Kozlowski
  2024-03-11 10:04     ` [EXT] " Joy Zou
  0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2024-03-11 10:00 UTC (permalink / raw)
  To: Joy Zou, ping.bai, lgirdwood, broonie, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, shawnguo, s.hauer
  Cc: kernel, festevam, linux-imx, devicetree, linux-arm-kernel,
	linux-kernel, imx

On 11/03/2024 09:47, Joy Zou wrote:
> Update pca9450 bindings.
> 
> Signed-off-by: Joy Zou <joy.zou@nxp.com>
> ---

This is a friendly reminder during the review process.

It looks like you received a tag and forgot to add it.

If you do not know the process, here is a short explanation:
Please add Acked-by/Reviewed-by/Tested-by tags when posting new
versions, under or above your Signed-off-by tag. Tag is "received", when
provided in a message replied to you on the mailing list. Tools like b4
can help here. However, there's no need to repost patches *only* to add
the tags. The upstream maintainer will do that for tags received on the
version they apply.

https://elixir.bootlin.com/linux/v6.5-rc3/source/Documentation/process/submitting-patches.rst#L577

If a tag was not added on purpose, please state why and what changed.

Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* RE: [EXT] Re: [PATCH v2 1/3] regulator: dt-bindings: pca9450: add pca9451a support
  2024-03-11 10:00   ` Krzysztof Kozlowski
@ 2024-03-11 10:04     ` Joy Zou
  0 siblings, 0 replies; 12+ messages in thread
From: Joy Zou @ 2024-03-11 10:04 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Jacky Bai, lgirdwood@gmail.com,
	broonie@kernel.org, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
	shawnguo@kernel.org, s.hauer@pengutronix.de
  Cc: kernel@pengutronix.de, festevam@gmail.com, dl-linux-imx,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, imx@lists.linux.dev


> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: 2024年3月11日 18:00
> To: Joy Zou <joy.zou@nxp.com>; Jacky Bai <ping.bai@nxp.com>;
> lgirdwood@gmail.com; broonie@kernel.org; robh+dt@kernel.org;
> krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org;
> shawnguo@kernel.org; s.hauer@pengutronix.de
> Cc: kernel@pengutronix.de; festevam@gmail.com; dl-linux-imx
> <linux-imx@nxp.com>; devicetree@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org;
> imx@lists.linux.dev
> Subject: [EXT] Re: [PATCH v2 1/3] regulator: dt-bindings: pca9450: add
> pca9451a support
>
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
>
>
> On 11/03/2024 09:47, Joy Zou wrote:
> > Update pca9450 bindings.
> >
> > Signed-off-by: Joy Zou <joy.zou@nxp.com>
> > ---
>
> This is a friendly reminder during the review process.
>
> It looks like you received a tag and forgot to add it.
Yes! Thanks your reminder. Will add tag received in next patch version.
BR
Joy Zou
>
> If you do not know the process, here is a short explanation:
> Please add Acked-by/Reviewed-by/Tested-by tags when posting new versions,
> under or above your Signed-off-by tag. Tag is "received", when provided in a
> message replied to you on the mailing list. Tools like b4 can help here.
> However, there's no need to repost patches *only* to add the tags. The
> upstream maintainer will do that for tags received on the version they apply.
>
> https://elixir.b/
> ootlin.com%2Flinux%2Fv6.5-rc3%2Fsource%2FDocumentation%2Fprocess%
> 2Fsubmitting-patches.rst%23L577&data=05%7C02%7Cjoy.zou%40nxp.com%
> 7C6656f39d41bb46fbbeb308dc41b20f7c%7C686ea1d3bc2b4c6fa92cd99c5c
> 301635%7C0%7C0%7C638457480215233348%7CUnknown%7CTWFpbGZsb
> 3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn
> 0%3D%7C0%7C%7C%7C&sdata=p2FQRnekh4s41UuJ4MzkHAUO2Jp0KN5%2F
> syP7Q%2BAwMFs%3D&reserved=0
>
> If a tag was not added on purpose, please state why and what changed.
>
> Best regards,
> Krzysztof

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v2 2/3] regulator: pca9450: add pca9451a support
  2024-03-11  9:09   ` Alexander Stein
  2024-03-11  9:13     ` [EXT] " Joy Zou
@ 2024-03-11 13:28     ` Mark Brown
  2024-03-12  2:08       ` [EXT] " Joy Zou
  1 sibling, 1 reply; 12+ messages in thread
From: Mark Brown @ 2024-03-11 13:28 UTC (permalink / raw)
  To: Alexander Stein
  Cc: ping.bai, lgirdwood, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	shawnguo, s.hauer, linux-arm-kernel, kernel, festevam, linux-imx,
	devicetree, linux-kernel, imx, Joy Zou


[-- Attachment #1.1: Type: text/plain, Size: 495 bytes --]

On Mon, Mar 11, 2024 at 10:09:12AM +0100, Alexander Stein wrote:
> > +			.of_match = of_match_ptr("BUCK1"),
> > +			.regulators_node = of_match_ptr("regulators"),
> > +			.id = PCA9450_BUCK1,
> > +			.ops = &pca9450_dvs_buck_regulator_ops,
> > +			.type = REGULATOR_VOLTAGE,

Please delete unneeded context from mails when replying.  Doing this
makes it much easier to find your reply in the message, helping ensure
it won't be missed by people scrolling through the irrelevant quoted
material.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 484 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* RE: [EXT] Re: [PATCH v2 2/3] regulator: pca9450: add pca9451a support
  2024-03-11 13:28     ` Mark Brown
@ 2024-03-12  2:08       ` Joy Zou
  0 siblings, 0 replies; 12+ messages in thread
From: Joy Zou @ 2024-03-12  2:08 UTC (permalink / raw)
  To: Mark Brown, Alexander Stein
  Cc: Jacky Bai, lgirdwood@gmail.com, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
	shawnguo@kernel.org, s.hauer@pengutronix.de,
	linux-arm-kernel@lists.infradead.org, kernel@pengutronix.de,
	festevam@gmail.com, dl-linux-imx, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, imx@lists.linux.dev


> -----Original Message-----
> From: Mark Brown <broonie@kernel.org>
> Sent: 2024年3月11日 21:28
> To: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Jacky Bai <ping.bai@nxp.com>; lgirdwood@gmail.com;
> robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> conor+dt@kernel.org; shawnguo@kernel.org; s.hauer@pengutronix.de;
> linux-arm-kernel@lists.infradead.org; kernel@pengutronix.de;
> festevam@gmail.com; dl-linux-imx <linux-imx@nxp.com>;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; imx@lists.linux.dev;
> Joy Zou <joy.zou@nxp.com>
> Subject: [EXT] Re: [PATCH v2 2/3] regulator: pca9450: add pca9451a support
> 
> On Mon, Mar 11, 2024 at 10:09:12AM +0100, Alexander Stein wrote:
> > > +			.of_match = of_match_ptr("BUCK1"),
> > > +			.regulators_node = of_match_ptr("regulators"),
> > > +			.id = PCA9450_BUCK1,
> > > +			.ops = &pca9450_dvs_buck_regulator_ops,
> > > +			.type = REGULATOR_VOLTAGE,
> 
> Please delete unneeded context from mails when replying.  Doing this
> makes it much easier to find your reply in the message, helping ensure it
> won't be missed by people scrolling through the irrelevant quoted material.
Thanks for your reminder!
I will delete unneeded context from mails when replying.
BR
Joy Zou
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2024-03-12  2:09 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-11  8:47 [PATCH v2 0/3] add pmic pca9451a support Joy Zou
2024-03-11  8:47 ` [PATCH v2 1/3] regulator: dt-bindings: pca9450: add " Joy Zou
2024-03-11 10:00   ` Krzysztof Kozlowski
2024-03-11 10:04     ` [EXT] " Joy Zou
2024-03-11  8:47 ` [PATCH v2 2/3] regulator: " Joy Zou
2024-03-11  9:09   ` Alexander Stein
2024-03-11  9:13     ` [EXT] " Joy Zou
2024-03-11 13:28     ` Mark Brown
2024-03-12  2:08       ` [EXT] " Joy Zou
2024-03-11  8:47 ` [PATCH v2 3/3] arm64: dts: imx93-11x11-evk: " Joy Zou
2024-03-11  8:51   ` Marco Felsch
2024-03-11  8:57     ` [EXT] " Joy Zou

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).