* [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support
@ 2026-02-06 17:28 Svyatoslav Ryhel
2026-02-06 17:28 ` [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema Svyatoslav Ryhel
` (10 more replies)
0 siblings, 11 replies; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-06 17:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown,
Svyatoslav Ryhel, Dixit Parmar, Tony Lindgren
Cc: linux-iio, devicetree, linux-kernel, linux-input, linux-leds
The initial goal was only to add support for the CPCAP used in the Mot
Tegra20 board; however, since the documentation was already partially
converted, I decided to complete the conversion to schema too.
The CPCAP regulator, leds, rtc, pwrbutton and core files were converted
from TXT to YAML while preserving the original structure. Mot board
compatibility was added to the regulator and core schema. Since these
were one-line patches, they were not separated into dedicated commits;
however, the commit message notes this for both cases.
Finally, the CPCAP MFD was slightly refactored to improve support for
multiple subcell compositions.
---
Changes in v2:
- fixed code style
- rtc conversion was picked, so patch dropped
- added audio ports description into mfd schema
- splitted schema conversion and compatible addition
- minor style improvements and typo fixes
---
Svyatoslav Ryhel (11):
dt-bindings: regulator: cpcap-regulator: convert to DT schema
dt-bindings: regulator: cpcap-regulator: document Mot regulator
regulator: cpcap-regulator: add support for Mot regulators
dt-bindings: iio: adc: cpcap-adc: document Mot ADC
iio: adc: cpcap-adc: add support for Mot ADC
dt-bindings: leds: leds-cpcap: convert to DT schema
dt-bindings: input: cpcap-pwrbutton: convert to DT schema
dt-bindings: mfd: motorola-cpcap: convert to DT schema
dt-bindings: mfd: motorola-cpcap: document Mapphone and Mot CPCAP
mfd: motorola-cpcap: diverge configuration per-board
mfd: motorola-cpcap: add support for Mot CPCAP composition
.../bindings/iio/adc/motorola,cpcap-adc.yaml | 1 +
.../bindings/input/cpcap-pwrbutton.txt | 20 -
.../input/motorola,cpcap-pwrbutton.yaml | 32 ++
.../devicetree/bindings/leds/leds-cpcap.txt | 29 --
.../bindings/leds/motorola,cpcap-leds.yaml | 42 ++
.../bindings/mfd/motorola,cpcap.yaml | 413 ++++++++++++++++++
.../bindings/mfd/motorola-cpcap.txt | 78 ----
.../bindings/regulator/cpcap-regulator.txt | 35 --
.../regulator/motorola,cpcap-regulator.yaml | 51 +++
drivers/iio/adc/cpcap-adc.c | 15 +
drivers/mfd/motorola-cpcap.c | 139 +++++-
drivers/regulator/cpcap-regulator.c | 105 +++++
12 files changed, 787 insertions(+), 173 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt
create mode 100644 Documentation/devicetree/bindings/input/motorola,cpcap-pwrbutton.yaml
delete mode 100644 Documentation/devicetree/bindings/leds/leds-cpcap.txt
create mode 100644 Documentation/devicetree/bindings/leds/motorola,cpcap-leds.yaml
create mode 100644 Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
delete mode 100644 Documentation/devicetree/bindings/mfd/motorola-cpcap.txt
delete mode 100644 Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
create mode 100644 Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
--
2.51.0
^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema
2026-02-06 17:28 [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support Svyatoslav Ryhel
@ 2026-02-06 17:28 ` Svyatoslav Ryhel
2026-02-06 22:58 ` Rob Herring (Arm)
2026-02-06 23:09 ` Rob Herring
2026-02-06 17:28 ` [PATCH v2 02/11] dt-bindings: regulator: cpcap-regulator: document Mot regulator Svyatoslav Ryhel
` (9 subsequent siblings)
10 siblings, 2 replies; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-06 17:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown,
Svyatoslav Ryhel, Dixit Parmar, Tony Lindgren
Cc: linux-iio, devicetree, linux-kernel, linux-input, linux-leds
Convert devicetree bindings for the Motorola CPCAP MFD regulator subnode
from TXT to YAML format. Main functionality preserved.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
.../bindings/regulator/cpcap-regulator.txt | 35 -------------
.../regulator/motorola,cpcap-regulator.yaml | 50 +++++++++++++++++++
2 files changed, 50 insertions(+), 35 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
create mode 100644 Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
diff --git a/Documentation/devicetree/bindings/regulator/cpcap-regulator.txt b/Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
deleted file mode 100644
index 36f5e2f5cc0f..000000000000
--- a/Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-Motorola CPCAP PMIC voltage regulators
-------------------------------------
-
-Requires node properties:
-- "compatible" value one of:
- "motorola,cpcap-regulator"
- "motorola,mapphone-cpcap-regulator"
- "motorola,xoom-cpcap-regulator"
-
-Required regulator properties:
-- "regulator-name"
-- "regulator-enable-ramp-delay"
-- "regulator-min-microvolt"
-- "regulator-max-microvolt"
-
-Optional regulator properties:
-- "regulator-boot-on"
-
-See Documentation/devicetree/bindings/regulator/regulator.txt
-for more details about the regulator properties.
-
-Example:
-
-cpcap_regulator: regulator {
- compatible = "motorola,cpcap-regulator";
-
- cpcap_regulators: regulators {
- sw5: SW5 {
- regulator-min-microvolt = <5050000>;
- regulator-max-microvolt = <5050000>;
- regulator-enable-ramp-delay = <50000>;
- regulator-boot-on;
- };
- };
-};
diff --git a/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml b/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
new file mode 100644
index 000000000000..50bc57f06b51
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/motorola,cpcap-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Motorola CPCAP PMIC regulators
+
+maintainers:
+ - Svyatoslav Ryhel <clamor95@gmail.com>
+
+description:
+ This module is part of the Motorola CPCAP MFD device. For more details
+ see Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml. The
+ regulator controller is represented as a sub-node of the PMIC node
+ on the device tree.
+
+properties:
+ compatible:
+ enum:
+ - motorola,cpcap-regulator
+ - motorola,mapphone-cpcap-regulator
+ - motorola,xoom-cpcap-regulator
+
+ regulators:
+ type: object
+
+ patternProperties:
+ "$[A-Z0-9]+^":
+ $ref: /schemas/regulator/regulator.yaml#
+ type: object
+ description:
+ Valid regulator names are SW1, SW2, SW3, SW4, SW5, VCAM, VCSI,
+ VDAC, VDIG, VFUSE, VHVIO, VSDIO, VPLL, VRF1, VRF2, VRFREF, VWLAN1,
+ VWLAN2, VSIM, VSIMCARD, VVIB, VUSB, VAUDIO
+
+ required:
+ - regulator-name
+ - regulator-enable-ramp-delay
+ - regulator-min-microvolt
+ - regulator-max-microvolt
+
+ unevaluatedProperties: false
+
+required:
+ - compatible
+
+additionalProperties: false
+
+...
--
2.51.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 02/11] dt-bindings: regulator: cpcap-regulator: document Mot regulator
2026-02-06 17:28 [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support Svyatoslav Ryhel
2026-02-06 17:28 ` [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema Svyatoslav Ryhel
@ 2026-02-06 17:28 ` Svyatoslav Ryhel
2026-02-11 21:13 ` Rob Herring (Arm)
2026-02-06 17:28 ` [PATCH v2 03/11] regulator: cpcap-regulator: add support for Mot regulators Svyatoslav Ryhel
` (8 subsequent siblings)
10 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-06 17:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown,
Svyatoslav Ryhel, Dixit Parmar, Tony Lindgren
Cc: linux-iio, devicetree, linux-kernel, linux-input, linux-leds
Document regulator composition used by the CPCAP of Tegra20 Mot board,
that is a base for Atrix 4G and Droid X2.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
.../devicetree/bindings/regulator/motorola,cpcap-regulator.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml b/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
index 50bc57f06b51..b73d32a86904 100644
--- a/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
@@ -20,6 +20,7 @@ properties:
enum:
- motorola,cpcap-regulator
- motorola,mapphone-cpcap-regulator
+ - motorola,mot-cpcap-regulator
- motorola,xoom-cpcap-regulator
regulators:
--
2.51.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 03/11] regulator: cpcap-regulator: add support for Mot regulators
2026-02-06 17:28 [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support Svyatoslav Ryhel
2026-02-06 17:28 ` [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema Svyatoslav Ryhel
2026-02-06 17:28 ` [PATCH v2 02/11] dt-bindings: regulator: cpcap-regulator: document Mot regulator Svyatoslav Ryhel
@ 2026-02-06 17:28 ` Svyatoslav Ryhel
2026-02-06 17:28 ` [PATCH v2 04/11] dt-bindings: iio: adc: cpcap-adc: document Mot ADC Svyatoslav Ryhel
` (7 subsequent siblings)
10 siblings, 0 replies; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-06 17:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown,
Svyatoslav Ryhel, Dixit Parmar, Tony Lindgren
Cc: linux-iio, devicetree, linux-kernel, linux-input, linux-leds
Add support for regulator set used in Motorola Mot board, used as a base
for Atrix 4G and Droid X2 smartphones.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
drivers/regulator/cpcap-regulator.c | 105 ++++++++++++++++++++++++++++
1 file changed, 105 insertions(+)
diff --git a/drivers/regulator/cpcap-regulator.c b/drivers/regulator/cpcap-regulator.c
index 6958d154442b..63f5c90ddf50 100644
--- a/drivers/regulator/cpcap-regulator.c
+++ b/drivers/regulator/cpcap-regulator.c
@@ -261,6 +261,30 @@ static const struct regulator_ops cpcap_regulator_ops = {
};
static const unsigned int unknown_val_tbl[] = { 0, };
+static const unsigned int sw_mot_val_tbl[] = { 600000, 612500, 625000,
+ 637500, 650000, 662500,
+ 675000, 687500, 700000,
+ 712500, 725000, 737500,
+ 750000, 762500, 775000,
+ 787500, 800000, 812500,
+ 825000, 837500, 850000,
+ 862500, 875000, 887500,
+ 900000, 912500, 925000,
+ 937500, 950000, 962500,
+ 975000, 987500, 1000000,
+ 1012500, 1025000, 1037500,
+ 1050000, 1062500, 1075000,
+ 1087500, 1100000, 1112500,
+ 1125000, 1137500, 1150000,
+ 1162500, 1175000, 1187500,
+ 1200000, 1212500, 1225000,
+ 1237500, 1250000, 1262500,
+ 1275000, 1287500, 1300000,
+ 1312500, 1325000, 1337500,
+ 1350000, 1362500, 1375000,
+ 1387500, 1400000, 1412500,
+ 1425000, 1437500, 1450000,
+ 1462500, 1475000, };
static const unsigned int sw2_sw4_val_tbl[] = { 612500, 625000, 637500,
650000, 662500, 675000,
687500, 700000, 712500,
@@ -284,6 +308,7 @@ static const unsigned int sw2_sw4_val_tbl[] = { 612500, 625000, 637500,
1362500, 1375000, 1387500,
1400000, 1412500, 1425000,
1437500, 1450000, 1462500, };
+static const unsigned int sw3_val_tbl[] = { 1350000, 1800000, 1850000, 1875000, };
static const unsigned int sw5_val_tbl[] = { 0, 5050000, };
static const unsigned int vcam_val_tbl[] = { 2600000, 2700000, 2800000,
2900000, };
@@ -402,6 +427,82 @@ static const struct cpcap_regulator omap4_regulators[] = {
{ /* sentinel */ },
};
+static const struct cpcap_regulator mot_regulators[] = {
+ CPCAP_REG(SW1, CPCAP_REG_S1C1, CPCAP_REG_ASSIGN2,
+ CPCAP_BIT_SW1_SEL, sw_mot_val_tbl,
+ 0x6f00, 0x7f, 0x6800, 0, 0),
+ CPCAP_REG(SW2, CPCAP_REG_S2C1, CPCAP_REG_ASSIGN2,
+ CPCAP_BIT_SW2_SEL, sw_mot_val_tbl,
+ 0x6f00, 0x7f, 0x4804, 0, 0),
+ CPCAP_REG(SW3, CPCAP_REG_S3C, CPCAP_REG_ASSIGN2,
+ CPCAP_BIT_SW3_SEL, sw3_val_tbl,
+ 0x578, 0x3, 0x043c, 0, 0),
+ CPCAP_REG(SW4, CPCAP_REG_S4C1, CPCAP_REG_ASSIGN2,
+ CPCAP_BIT_SW4_SEL, sw_mot_val_tbl,
+ 0x6f00, 0x7f, 0x4909, 0, 0),
+ CPCAP_REG(SW5, CPCAP_REG_S5C, CPCAP_REG_ASSIGN2,
+ CPCAP_BIT_SW5_SEL, sw5_val_tbl,
+ 0x28, 0, 0x20, 0, 0),
+ CPCAP_REG(SW6, CPCAP_REG_S6C, CPCAP_REG_ASSIGN2,
+ CPCAP_BIT_SW6_SEL, unknown_val_tbl,
+ 0, 0, 0, 0, 0),
+ CPCAP_REG(VCAM, CPCAP_REG_VCAMC, CPCAP_REG_ASSIGN2,
+ CPCAP_BIT_VCAM_SEL, vcam_val_tbl,
+ 0x87, 0x30, 0x7, 0, 420),
+ CPCAP_REG(VCSI, CPCAP_REG_VCSIC, CPCAP_REG_ASSIGN3,
+ CPCAP_BIT_VCSI_SEL, vcsi_val_tbl,
+ 0x47, 0x10, 0x7, 0, 350),
+ CPCAP_REG(VDAC, CPCAP_REG_VDACC, CPCAP_REG_ASSIGN3,
+ CPCAP_BIT_VDAC_SEL, vdac_val_tbl,
+ 0x87, 0x30, 0x0, 0, 420),
+ CPCAP_REG(VDIG, CPCAP_REG_VDIGC, CPCAP_REG_ASSIGN2,
+ CPCAP_BIT_VDIG_SEL, vdig_val_tbl,
+ 0x87, 0x30, 0x0, 0, 420),
+ CPCAP_REG(VFUSE, CPCAP_REG_VFUSEC, CPCAP_REG_ASSIGN3,
+ CPCAP_BIT_VFUSE_SEL, vfuse_val_tbl,
+ 0xa0, 0xf, 0x0, 0, 420),
+ CPCAP_REG(VHVIO, CPCAP_REG_VHVIOC, CPCAP_REG_ASSIGN3,
+ CPCAP_BIT_VHVIO_SEL, vhvio_val_tbl,
+ 0x17, 0, 0x2, 0, 0),
+ CPCAP_REG(VSDIO, CPCAP_REG_VSDIOC, CPCAP_REG_ASSIGN2,
+ CPCAP_BIT_VSDIO_SEL, vsdio_val_tbl,
+ 0x87, 0x38, 0x2, 0, 420),
+ CPCAP_REG(VPLL, CPCAP_REG_VPLLC, CPCAP_REG_ASSIGN3,
+ CPCAP_BIT_VPLL_SEL, vpll_val_tbl,
+ 0x47, 0x18, 0x1, 0, 420),
+ CPCAP_REG(VRF1, CPCAP_REG_VRF1C, CPCAP_REG_ASSIGN3,
+ CPCAP_BIT_VRF1_SEL, vrf1_val_tbl,
+ 0xac, 0x2, 0, 0, 10),
+ CPCAP_REG(VRF2, CPCAP_REG_VRF2C, CPCAP_REG_ASSIGN3,
+ CPCAP_BIT_VRF2_SEL, vrf2_val_tbl,
+ 0x23, 0x8, 0, 0, 10),
+ CPCAP_REG(VRFREF, CPCAP_REG_VRFREFC, CPCAP_REG_ASSIGN3,
+ CPCAP_BIT_VRFREF_SEL, vrfref_val_tbl,
+ 0x23, 0x8, 0, 0, 420),
+ CPCAP_REG(VWLAN1, CPCAP_REG_VWLAN1C, CPCAP_REG_ASSIGN3,
+ CPCAP_BIT_VWLAN1_SEL, vwlan1_val_tbl,
+ 0x47, 0x10, 0x5, 0, 420),
+ CPCAP_REG(VWLAN2, CPCAP_REG_VWLAN2C, CPCAP_REG_ASSIGN3,
+ CPCAP_BIT_VWLAN2_SEL, vwlan2_val_tbl,
+ 0x20c, 0xc0, 0xd, 0, 420),
+ CPCAP_REG(VSIM, CPCAP_REG_VSIMC, CPCAP_REG_ASSIGN3,
+ 0xffff, vsim_val_tbl,
+ 0x23, 0x8, 0, 0, 420),
+ CPCAP_REG(VSIMCARD, CPCAP_REG_VSIMC, CPCAP_REG_ASSIGN3,
+ 0xffff, vsimcard_val_tbl,
+ 0x1e80, 0x8, 0x1e00, 0, 420),
+ CPCAP_REG(VVIB, CPCAP_REG_VVIBC, CPCAP_REG_ASSIGN3,
+ CPCAP_BIT_VVIB_SEL, vvib_val_tbl,
+ 0x1, 0xc, 0x1, 0, 500),
+ CPCAP_REG(VUSB, CPCAP_REG_VUSBC, CPCAP_REG_ASSIGN3,
+ CPCAP_BIT_VUSB_SEL, vusb_val_tbl,
+ 0x11c, 0x40, 0xc, 0, 0),
+ CPCAP_REG(VAUDIO, CPCAP_REG_VAUDIOC, CPCAP_REG_ASSIGN4,
+ CPCAP_BIT_VAUDIO_SEL, vaudio_val_tbl,
+ 0x16, 0x1, 0x5, 0, 0),
+ { /* sentinel */ }
+};
+
static const struct cpcap_regulator xoom_regulators[] = {
CPCAP_REG(SW1, CPCAP_REG_S1C1, CPCAP_REG_ASSIGN2,
CPCAP_BIT_SW1_SEL, unknown_val_tbl,
@@ -486,6 +587,10 @@ static const struct of_device_id cpcap_regulator_id_table[] = {
.compatible = "motorola,mapphone-cpcap-regulator",
.data = omap4_regulators,
},
+ {
+ .compatible = "motorola,mot-cpcap-regulator",
+ .data = mot_regulators,
+ },
{
.compatible = "motorola,xoom-cpcap-regulator",
.data = xoom_regulators,
--
2.51.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 04/11] dt-bindings: iio: adc: cpcap-adc: document Mot ADC
2026-02-06 17:28 [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support Svyatoslav Ryhel
` (2 preceding siblings ...)
2026-02-06 17:28 ` [PATCH v2 03/11] regulator: cpcap-regulator: add support for Mot regulators Svyatoslav Ryhel
@ 2026-02-06 17:28 ` Svyatoslav Ryhel
2026-02-07 13:55 ` Jonathan Cameron
2026-02-06 17:28 ` [PATCH v2 05/11] iio: adc: cpcap-adc: add support for " Svyatoslav Ryhel
` (6 subsequent siblings)
10 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-06 17:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown,
Svyatoslav Ryhel, Dixit Parmar, Tony Lindgren
Cc: linux-iio, devicetree, linux-kernel, linux-input, linux-leds
Add compatible for ADC used in Mot board. Separate compatible is required
since ADC in the Mot board uses a unique set of configurations.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
---
.../devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml b/Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml
index 9ceb6f18c854..1f77da7f8e06 100644
--- a/Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml
@@ -19,6 +19,7 @@ properties:
enum:
- motorola,cpcap-adc
- motorola,mapphone-cpcap-adc
+ - motorola,mot-cpcap-adc
interrupts:
maxItems: 1
--
2.51.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 05/11] iio: adc: cpcap-adc: add support for Mot ADC
2026-02-06 17:28 [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support Svyatoslav Ryhel
` (3 preceding siblings ...)
2026-02-06 17:28 ` [PATCH v2 04/11] dt-bindings: iio: adc: cpcap-adc: document Mot ADC Svyatoslav Ryhel
@ 2026-02-06 17:28 ` Svyatoslav Ryhel
2026-02-07 13:55 ` Jonathan Cameron
2026-02-06 17:28 ` [PATCH v2 06/11] dt-bindings: leds: leds-cpcap: convert to DT schema Svyatoslav Ryhel
` (5 subsequent siblings)
10 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-06 17:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown,
Svyatoslav Ryhel, Dixit Parmar, Tony Lindgren
Cc: linux-iio, devicetree, linux-kernel, linux-input, linux-leds
Add support for ADC found in Motorola Mot board, used as a base for
Atrix 4G and Droid X2 smartphones.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
drivers/iio/adc/cpcap-adc.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/drivers/iio/adc/cpcap-adc.c b/drivers/iio/adc/cpcap-adc.c
index d9ee2ea116a7..f6f72efcc6ed 100644
--- a/drivers/iio/adc/cpcap-adc.c
+++ b/drivers/iio/adc/cpcap-adc.c
@@ -934,6 +934,17 @@ static const struct cpcap_adc_ato mapphone_adc = {
.atox_ps_factor_out = 0,
};
+static const struct cpcap_adc_ato mot_adc = {
+ .ato_in = 0x0300,
+ .atox_in = 0,
+ .adc_ps_factor_in = 0x0200,
+ .atox_ps_factor_in = 0,
+ .ato_out = 0x0780,
+ .atox_out = 0,
+ .adc_ps_factor_out = 0x0600,
+ .atox_ps_factor_out = 0,
+};
+
static const struct of_device_id cpcap_adc_id_table[] = {
{
.compatible = "motorola,cpcap-adc",
@@ -942,6 +953,10 @@ static const struct of_device_id cpcap_adc_id_table[] = {
.compatible = "motorola,mapphone-cpcap-adc",
.data = &mapphone_adc,
},
+ {
+ .compatible = "motorola,mot-cpcap-adc",
+ .data = &mot_adc,
+ },
{ }
};
MODULE_DEVICE_TABLE(of, cpcap_adc_id_table);
--
2.51.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 06/11] dt-bindings: leds: leds-cpcap: convert to DT schema
2026-02-06 17:28 [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support Svyatoslav Ryhel
` (4 preceding siblings ...)
2026-02-06 17:28 ` [PATCH v2 05/11] iio: adc: cpcap-adc: add support for " Svyatoslav Ryhel
@ 2026-02-06 17:28 ` Svyatoslav Ryhel
2026-02-06 22:58 ` Rob Herring (Arm)
2026-02-06 17:28 ` [PATCH v2 07/11] dt-bindings: input: cpcap-pwrbutton: " Svyatoslav Ryhel
` (4 subsequent siblings)
10 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-06 17:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown,
Svyatoslav Ryhel, Dixit Parmar, Tony Lindgren
Cc: linux-iio, devicetree, linux-kernel, linux-input, linux-leds
Convert LEDs devicetree bindings for the Motorola CPCAP MFD from TXT to
YAML format. This patch does not change any functionality; the bindings
remain the same.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
---
.../devicetree/bindings/leds/leds-cpcap.txt | 29 -------------
.../bindings/leds/motorola,cpcap-leds.yaml | 42 +++++++++++++++++++
2 files changed, 42 insertions(+), 29 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/leds/leds-cpcap.txt
create mode 100644 Documentation/devicetree/bindings/leds/motorola,cpcap-leds.yaml
diff --git a/Documentation/devicetree/bindings/leds/leds-cpcap.txt b/Documentation/devicetree/bindings/leds/leds-cpcap.txt
deleted file mode 100644
index ebf7cdc7f70c..000000000000
--- a/Documentation/devicetree/bindings/leds/leds-cpcap.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Motorola CPCAP PMIC LEDs
-------------------------
-
-This module is part of the CPCAP. For more details about the whole
-chip see Documentation/devicetree/bindings/mfd/motorola-cpcap.txt.
-
-Requires node properties:
-- compatible: should be one of
- * "motorola,cpcap-led-mdl" (Main Display Lighting)
- * "motorola,cpcap-led-kl" (Keyboard Lighting)
- * "motorola,cpcap-led-adl" (Aux Display Lighting)
- * "motorola,cpcap-led-red" (Red Triode)
- * "motorola,cpcap-led-green" (Green Triode)
- * "motorola,cpcap-led-blue" (Blue Triode)
- * "motorola,cpcap-led-cf" (Camera Flash)
- * "motorola,cpcap-led-bt" (Bluetooth)
- * "motorola,cpcap-led-cp" (Camera Privacy LED)
-- label: see Documentation/devicetree/bindings/leds/common.txt
-- vdd-supply: A phandle to the regulator powering the LED
-
-Example:
-
-&cpcap {
- cpcap_led_red: red-led {
- compatible = "motorola,cpcap-led-red";
- label = "cpcap:red";
- vdd-supply = <&sw5>;
- };
-};
diff --git a/Documentation/devicetree/bindings/leds/motorola,cpcap-leds.yaml b/Documentation/devicetree/bindings/leds/motorola,cpcap-leds.yaml
new file mode 100644
index 000000000000..c8e7b88a05cc
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/motorola,cpcap-leds.yaml
@@ -0,0 +1,42 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/motorola,cpcap-leds.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Motorola CPCAP PMIC LEDs
+
+maintainers:
+ - Svyatoslav Ryhel <clamor95@gmail.com>
+
+description:
+ This module is part of the Motorola CPCAP MFD device. For more details
+ see Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml. LEDs are
+ represented as sub-nodes of the PMIC node on the device tree.
+
+allOf:
+ - $ref: /schemas/leds/common.yaml#
+
+properties:
+ compatible:
+ enum:
+ - motorola,cpcap-led-adl # Display Lighting
+ - motorola,cpcap-led-blue # Blue Triode
+ - motorola,cpcap-led-bt # Bluetooth
+ - motorola,cpcap-led-cf # Camera Flash
+ - motorola,cpcap-led-cp # Camera Privacy LED
+ - motorola,cpcap-led-green # Green Triode
+ - motorola,cpcap-led-kl # Keyboard Lighting
+ - motorola,cpcap-led-mdl # Main Display Lighting
+ - motorola,cpcap-led-red # Red Triode
+
+ vdd-supply: true
+
+required:
+ - compatible
+ - label
+ - vdd-supply
+
+unevaluatedProperties: false
+
+...
--
2.51.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 07/11] dt-bindings: input: cpcap-pwrbutton: convert to DT schema
2026-02-06 17:28 [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support Svyatoslav Ryhel
` (5 preceding siblings ...)
2026-02-06 17:28 ` [PATCH v2 06/11] dt-bindings: leds: leds-cpcap: convert to DT schema Svyatoslav Ryhel
@ 2026-02-06 17:28 ` Svyatoslav Ryhel
2026-02-06 22:58 ` Rob Herring (Arm)
2026-02-06 17:28 ` [PATCH v2 08/11] dt-bindings: mfd: motorola-cpcap: " Svyatoslav Ryhel
` (3 subsequent siblings)
10 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-06 17:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown,
Svyatoslav Ryhel, Dixit Parmar, Tony Lindgren
Cc: linux-iio, devicetree, linux-kernel, linux-input, linux-leds
Convert power button devicetree bindings for the Motorola CPCAP MFD from
TXT to YAML format. This patch does not change any functionality; the
bindings remain the same.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
.../bindings/input/cpcap-pwrbutton.txt | 20 ------------
.../input/motorola,cpcap-pwrbutton.yaml | 32 +++++++++++++++++++
2 files changed, 32 insertions(+), 20 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt
create mode 100644 Documentation/devicetree/bindings/input/motorola,cpcap-pwrbutton.yaml
diff --git a/Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt b/Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt
deleted file mode 100644
index 0dd0076daf71..000000000000
--- a/Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Motorola CPCAP on key
-
-This module is part of the CPCAP. For more details about the whole
-chip see Documentation/devicetree/bindings/mfd/motorola-cpcap.txt.
-
-This module provides a simple power button event via an Interrupt.
-
-Required properties:
-- compatible: should be one of the following
- - "motorola,cpcap-pwrbutton"
-- interrupts: irq specifier for CPCAP's ON IRQ
-
-Example:
-
-&cpcap {
- cpcap_pwrbutton: pwrbutton {
- compatible = "motorola,cpcap-pwrbutton";
- interrupts = <23 IRQ_TYPE_NONE>;
- };
-};
diff --git a/Documentation/devicetree/bindings/input/motorola,cpcap-pwrbutton.yaml b/Documentation/devicetree/bindings/input/motorola,cpcap-pwrbutton.yaml
new file mode 100644
index 000000000000..77a3e5a47d1a
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/motorola,cpcap-pwrbutton.yaml
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/motorola,cpcap-pwrbutton.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Motorola CPCAP PMIC power key
+
+maintainers:
+ - Svyatoslav Ryhel <clamor95@gmail.com>
+
+description:
+ This module is part of the Motorola CPCAP MFD device. For more details
+ see Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml. The
+ power key is represented as a sub-node of the PMIC node on the device
+ tree.
+
+properties:
+ compatible:
+ const: motorola,cpcap-pwrbutton
+
+ interrupts:
+ items:
+ - description: CPCAP's ON interrupt
+
+required:
+ - compatible
+ - interrupts
+
+additionalProperties: false
+
+...
--
2.51.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 08/11] dt-bindings: mfd: motorola-cpcap: convert to DT schema
2026-02-06 17:28 [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support Svyatoslav Ryhel
` (6 preceding siblings ...)
2026-02-06 17:28 ` [PATCH v2 07/11] dt-bindings: input: cpcap-pwrbutton: " Svyatoslav Ryhel
@ 2026-02-06 17:28 ` Svyatoslav Ryhel
2026-02-11 21:20 ` Rob Herring
2026-02-06 17:28 ` [PATCH v2 09/11] dt-bindings: mfd: motorola-cpcap: document Mapphone and Mot CPCAP Svyatoslav Ryhel
` (2 subsequent siblings)
10 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-06 17:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown,
Svyatoslav Ryhel, Dixit Parmar, Tony Lindgren
Cc: linux-iio, devicetree, linux-kernel, linux-input, linux-leds
Convert devicetree bindings for the Motorola CPCAP MFD from TXT to YAML.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
.../bindings/mfd/motorola,cpcap.yaml | 411 ++++++++++++++++++
.../bindings/mfd/motorola-cpcap.txt | 78 ----
2 files changed, 411 insertions(+), 78 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
delete mode 100644 Documentation/devicetree/bindings/mfd/motorola-cpcap.txt
diff --git a/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
new file mode 100644
index 000000000000..7e350721d9f6
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
@@ -0,0 +1,411 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/motorola,cpcap.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Motorola CPCAP PMIC MFD
+
+maintainers:
+ - Svyatoslav Ryhel <clamor95@gmail.com>
+
+allOf:
+ - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+properties:
+ compatible:
+ enum:
+ - motorola,cpcap
+ - st,6556002
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ interrupt-controller: true
+
+ "#interrupt-cells":
+ const: 2
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+ spi-max-frequency:
+ maximum: 9600000
+
+ spi-cs-high: true
+ spi-cpol: true
+ spi-cpha: true
+
+ adc:
+ $ref: /schemas/iio/adc/motorola,cpcap-adc.yaml
+
+ audio-codec:
+ type: object
+ additionalProperties: false
+
+ properties:
+ interrupts:
+ items:
+ - description: headset detect interrupt
+ - description: microphone bias 2 detect interrupt
+
+ interrupt-names:
+ items:
+ - const: hs
+ - const: mb2
+
+ "#sound-dai-cells":
+ const: 1
+
+ VAUDIO-supply:
+ description:
+ Codec power supply, usually VAUDIO regulator of CPCAP.
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: port connected to the Stereo HiFi DAC
+
+ port@1:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: port connected to the Voice DAC
+
+ required:
+ - port@0
+ - port@1
+
+ required:
+ - interrupts
+ - interrupt-names
+ - "#sound-dai-cells"
+
+ battery:
+ $ref: /schemas/power/supply/cpcap-battery.yaml
+
+ charger:
+ $ref: /schemas/power/supply/cpcap-charger.yaml
+
+ key-power:
+ $ref: /schemas/input/motorola,cpcap-pwrbutton.yaml
+
+ phy:
+ $ref: /schemas/phy/motorola,cpcap-usb-phy.yaml
+
+ regulator:
+ $ref: /schemas/regulator/motorola,cpcap-regulator.yaml
+
+ rtc:
+ $ref: /schemas/rtc/motorola,cpcap-rtc.yaml
+
+patternProperties:
+ "^led(-[a-z]+)?$":
+ $ref: /schemas/leds/motorola,cpcap-leds.yaml
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - "#address-cells"
+ - "#size-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/input/linux-event-codes.h>
+
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ cpcap: pmic@0 {
+ compatible = "motorola,cpcap";
+ reg = <0>; /* cs0 */
+
+ interrupt-parent = <&gpio1>;
+ interrupts = <7 IRQ_TYPE_EDGE_RISING>;
+
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ spi-max-frequency = <3000000>;
+ spi-cs-high;
+
+ spi-cpol;
+ spi-cpha;
+
+ cpcap_adc: adc {
+ compatible = "motorola,cpcap-adc";
+
+ interrupt-parent = <&cpcap>;
+ interrupts = <8 IRQ_TYPE_NONE>;
+ interrupt-names = "adcdone";
+
+ #io-channel-cells = <1>;
+ };
+
+ cpcap_audio: audio-codec {
+ interrupt-parent = <&cpcap>;
+ interrupts = <9 IRQ_TYPE_NONE>, <10 IRQ_TYPE_NONE>;
+ interrupt-names = "hs", "mb2";
+
+ VAUDIO-supply = <&vdd_audio>;
+
+ #sound-dai-cells = <1>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* HiFi */
+ port@0 {
+ reg = <0>;
+
+ cpcap_audio_codec0: endpoint {
+ };
+ };
+
+ /* Voice */
+ port@1 {
+ reg = <1>;
+
+ cpcap_audio_codec1: endpoint {
+ };
+ };
+ };
+ };
+
+ cpcap_battery: battery {
+ compatible = "motorola,cpcap-battery";
+
+ interrupt-parent = <&cpcap>;
+ interrupts = <6 IRQ_TYPE_NONE>, <5 IRQ_TYPE_NONE>,
+ <3 IRQ_TYPE_NONE>, <20 IRQ_TYPE_NONE>,
+ <54 IRQ_TYPE_NONE>, <57 IRQ_TYPE_NONE>;
+ interrupt-names = "eol", "lowbph", "lowbpl",
+ "chrgcurr1", "battdetb", "cccal";
+
+ io-channels = <&cpcap_adc 0>, <&cpcap_adc 1>,
+ <&cpcap_adc 5>, <&cpcap_adc 6>;
+ io-channel-names = "battdetb", "battp",
+ "chg_isense", "batti";
+ power-supplies = <&cpcap_charger>;
+ };
+
+ cpcap_charger: charger {
+ compatible = "motorola,mapphone-cpcap-charger";
+
+ interrupt-parent = <&cpcap>;
+ interrupts = <13 IRQ_TYPE_NONE>, <12 IRQ_TYPE_NONE>,
+ <29 IRQ_TYPE_NONE>, <28 IRQ_TYPE_NONE>,
+ <22 IRQ_TYPE_NONE>, <21 IRQ_TYPE_NONE>,
+ <20 IRQ_TYPE_NONE>, <19 IRQ_TYPE_NONE>,
+ <54 IRQ_TYPE_NONE>;
+ interrupt-names = "chrg_det", "rvrs_chrg", "chrg_se1b",
+ "se0conn", "rvrs_mode", "chrgcurr2",
+ "chrgcurr1", "vbusvld", "battdetb";
+
+ mode-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>,
+ <&gpio3 23 GPIO_ACTIVE_LOW>;
+
+ io-channels = <&cpcap_adc 0>, <&cpcap_adc 1>,
+ <&cpcap_adc 2>, <&cpcap_adc 5>,
+ <&cpcap_adc 6>;
+ io-channel-names = "battdetb", "battp",
+ "vbus", "chg_isense",
+ "batti";
+ };
+
+ key-power {
+ compatible = "motorola,cpcap-pwrbutton";
+
+ interrupt-parent = <&cpcap>;
+ interrupts = <23 IRQ_TYPE_NONE>;
+ };
+
+ led-red {
+ compatible = "motorola,cpcap-led-red";
+ vdd-supply = <&vdd_led>;
+ label = "status-led::red";
+ };
+
+ led-green {
+ compatible = "motorola,cpcap-led-green";
+ vdd-supply = <&vdd_led>;
+ label = "status-led::green";
+ };
+
+ led-blue {
+ compatible = "motorola,cpcap-led-blue";
+ vdd-supply = <&vdd_led>;
+ label = "status-led::blue";
+ };
+
+ cpcap_usb2_phy: phy {
+ compatible = "motorola,cpcap-usb-phy";
+
+ pinctrl-0 = <&usb_gpio_mux_sel1>, <&usb_gpio_mux_sel2>;
+ pinctrl-1 = <&usb_ulpi_pins>;
+ pinctrl-2 = <&usb_utmi_pins>;
+ pinctrl-3 = <&uart3_pins>;
+ pinctrl-names = "default", "ulpi", "utmi", "uart";
+ #phy-cells = <0>;
+
+ interrupts-extended =
+ <&cpcap 15 IRQ_TYPE_NONE>, <&cpcap 14 IRQ_TYPE_NONE>,
+ <&cpcap 28 IRQ_TYPE_NONE>, <&cpcap 19 IRQ_TYPE_NONE>,
+ <&cpcap 18 IRQ_TYPE_NONE>, <&cpcap 17 IRQ_TYPE_NONE>,
+ <&cpcap 16 IRQ_TYPE_NONE>, <&cpcap 49 IRQ_TYPE_NONE>,
+ <&cpcap 48 IRQ_TYPE_NONE>;
+ interrupt-names = "id_ground", "id_float", "se0conn",
+ "vbusvld", "sessvld", "sessend",
+ "se1", "dm", "dp";
+
+ mode-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>,
+ <&gpio1 0 GPIO_ACTIVE_HIGH>;
+
+ io-channels = <&cpcap_adc 2>, <&cpcap_adc 7>;
+ io-channel-names = "vbus", "id";
+
+ vusb-supply = <&avdd_usb>;
+ };
+
+ regulator {
+ compatible = "motorola,cpcap-regulator";
+
+ regulators {
+ vdd_cpu: SW1 {
+ regulator-name = "vdd_cpu";
+ regulator-min-microvolt = <750000>;
+ regulator-max-microvolt = <1125000>;
+ regulator-enable-ramp-delay = <1500>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vdd_core: SW2 {
+ regulator-name = "vdd_core";
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-enable-ramp-delay = <1500>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vdd_1v8_vio: SW3 {
+ regulator-name = "vdd_1v8_vio";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-enable-ramp-delay = <0>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vdd_aon: SW4 {
+ regulator-name = "vdd_aon";
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-enable-ramp-delay = <1500>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vdd_led: SW5 {
+ regulator-name = "vdd_led";
+ regulator-min-microvolt = <5050000>;
+ regulator-max-microvolt = <5050000>;
+ regulator-enable-ramp-delay = <1500>;
+ regulator-boot-on;
+ };
+
+ vdd_hvio: VHVIO {
+ regulator-name = "vdd_hvio";
+ regulator-min-microvolt = <2775000>;
+ regulator-max-microvolt = <2775000>;
+ regulator-enable-ramp-delay = <1000>;
+ };
+
+ vcore_emmc: VSDIO {
+ regulator-name = "vcore_emmc";
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-enable-ramp-delay = <1000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ avdd_dsi_csi: VCSI {
+ regulator-name = "avdd_dsi_csi";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-enable-ramp-delay = <1000>;
+ regulator-boot-on;
+ };
+
+ avdd_3v3_periph: VWLAN2 {
+ regulator-name = "avdd_3v3_periph";
+ regulator-min-microvolt = <2775000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-enable-ramp-delay = <1000>;
+ regulator-boot-on;
+ };
+
+ vddio_usd: VSIMCARD {
+ regulator-name = "vddio_usd";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2900000>;
+ regulator-enable-ramp-delay = <1000>;
+ regulator-boot-on;
+ };
+
+ vdd_haptic: VVIB {
+ regulator-name = "vdd_haptic";
+ regulator-min-microvolt = <1300000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-enable-ramp-delay = <1000>;
+ };
+
+ avdd_usb: VUSB {
+ regulator-name = "avdd_usb";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-enable-ramp-delay = <1000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vdd_audio: VAUDIO {
+ regulator-name = "vdd_audio";
+ regulator-min-microvolt = <2775000>;
+ regulator-max-microvolt = <2775000>;
+ regulator-enable-ramp-delay = <1000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+ };
+ };
+
+ cpcap_rtc: rtc {
+ compatible = "motorola,cpcap-rtc";
+
+ interrupt-parent = <&cpcap>;
+ interrupts = <39 IRQ_TYPE_NONE>, <26 IRQ_TYPE_NONE>;
+ };
+ };
+ };
+
+...
diff --git a/Documentation/devicetree/bindings/mfd/motorola-cpcap.txt b/Documentation/devicetree/bindings/mfd/motorola-cpcap.txt
deleted file mode 100644
index 18c3fc26ca93..000000000000
--- a/Documentation/devicetree/bindings/mfd/motorola-cpcap.txt
+++ /dev/null
@@ -1,78 +0,0 @@
-Motorola CPCAP PMIC device tree binding
-
-Required properties:
-- compatible : One or both of "motorola,cpcap" or "ste,6556002"
-- reg : SPI chip select
-- interrupts : The interrupt line the device is connected to
-- interrupt-controller : Marks the device node as an interrupt controller
-- #interrupt-cells : The number of cells to describe an IRQ, should be 2
-- #address-cells : Child device offset number of cells, should be 1
-- #size-cells : Child device size number of cells, should be 0
-- spi-max-frequency : Typically set to 3000000
-- spi-cs-high : SPI chip select direction
-
-Optional subnodes:
-
-The sub-functions of CPCAP get their own node with their own compatible values,
-which are described in the following files:
-
-- Documentation/devicetree/bindings/power/supply/cpcap-battery.yaml
-- Documentation/devicetree/bindings/power/supply/cpcap-charger.yaml
-- Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
-- Documentation/devicetree/bindings/phy/motorola,cpcap-usb-phy.yaml
-- Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt
-- Documentation/devicetree/bindings/rtc/cpcap-rtc.txt
-- Documentation/devicetree/bindings/leds/leds-cpcap.txt
-- Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml
-
-The only exception is the audio codec. Instead of a compatible value its
-node must be named "audio-codec".
-
-Required properties for the audio-codec subnode:
-
-- #sound-dai-cells = <1>;
-- interrupts : should contain jack detection interrupts, with headset
- detect interrupt matching "hs" and microphone bias 2
- detect interrupt matching "mb2" in interrupt-names.
-- interrupt-names : Contains "hs", "mb2"
-
-The audio-codec provides two DAIs. The first one is connected to the
-Stereo HiFi DAC and the second one is connected to the Voice DAC.
-
-Example:
-
-&mcspi1 {
- cpcap: pmic@0 {
- compatible = "motorola,cpcap", "ste,6556002";
- reg = <0>; /* cs0 */
- interrupt-parent = <&gpio1>;
- interrupts = <7 IRQ_TYPE_EDGE_RISING>;
- interrupt-controller;
- #interrupt-cells = <2>;
- #address-cells = <1>;
- #size-cells = <0>;
- spi-max-frequency = <3000000>;
- spi-cs-high;
-
- audio-codec {
- #sound-dai-cells = <1>;
- interrupts-extended = <&cpcap 9 0>, <&cpcap 10 0>;
- interrupt-names = "hs", "mb2";
-
- /* HiFi */
- port@0 {
- endpoint {
- remote-endpoint = <&cpu_dai1>;
- };
- };
-
- /* Voice */
- port@1 {
- endpoint {
- remote-endpoint = <&cpu_dai2>;
- };
- };
- };
- };
-};
-
--
2.51.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 09/11] dt-bindings: mfd: motorola-cpcap: document Mapphone and Mot CPCAP
2026-02-06 17:28 [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support Svyatoslav Ryhel
` (7 preceding siblings ...)
2026-02-06 17:28 ` [PATCH v2 08/11] dt-bindings: mfd: motorola-cpcap: " Svyatoslav Ryhel
@ 2026-02-06 17:28 ` Svyatoslav Ryhel
2026-02-06 17:28 ` [PATCH v2 10/11] mfd: motorola-cpcap: diverge configuration per-board Svyatoslav Ryhel
2026-02-06 17:28 ` [PATCH v2 11/11] mfd: motorola-cpcap: add support for Mot CPCAP composition Svyatoslav Ryhel
10 siblings, 0 replies; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-06 17:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown,
Svyatoslav Ryhel, Dixit Parmar, Tony Lindgren
Cc: linux-iio, devicetree, linux-kernel, linux-input, linux-leds
Add compatibles for Mapphone and Mot CPCAP subdevice compositions.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
index 7e350721d9f6..714d2645d6b7 100644
--- a/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
+++ b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
@@ -17,6 +17,8 @@ properties:
enum:
- motorola,cpcap
- st,6556002
+ - motorola,mapphone-cpcap
+ - motorola,mot-cpcap
reg:
maxItems: 1
--
2.51.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 10/11] mfd: motorola-cpcap: diverge configuration per-board
2026-02-06 17:28 [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support Svyatoslav Ryhel
` (8 preceding siblings ...)
2026-02-06 17:28 ` [PATCH v2 09/11] dt-bindings: mfd: motorola-cpcap: document Mapphone and Mot CPCAP Svyatoslav Ryhel
@ 2026-02-06 17:28 ` Svyatoslav Ryhel
2026-02-08 12:54 ` Andy Shevchenko
2026-02-06 17:28 ` [PATCH v2 11/11] mfd: motorola-cpcap: add support for Mot CPCAP composition Svyatoslav Ryhel
10 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-06 17:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown,
Svyatoslav Ryhel, Dixit Parmar, Tony Lindgren
Cc: linux-iio, devicetree, linux-kernel, linux-input, linux-leds
MFD have rigid subdevice structure which does not allow flexible dynamic
subdevice linking. Address this by diverging CPCAP subdevice composition
to take into account board specific configuration.
Create a common default subdevice composition, rename existing subdevice
composition into cpcap_mapphone_mfd_devices since it targets mainly
Mapphone board.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
drivers/mfd/motorola-cpcap.c | 89 +++++++++++++++++++++++++++++++-----
1 file changed, 78 insertions(+), 11 deletions(-)
diff --git a/drivers/mfd/motorola-cpcap.c b/drivers/mfd/motorola-cpcap.c
index d8243b956f87..bea11868e823 100644
--- a/drivers/mfd/motorola-cpcap.c
+++ b/drivers/mfd/motorola-cpcap.c
@@ -12,6 +12,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
+#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/sysfs.h>
@@ -24,10 +25,16 @@
#define CPCAP_REGISTER_SIZE 4
#define CPCAP_REGISTER_BITS 16
+struct cpcap_chip_data {
+ const struct mfd_cell *mfd_devices;
+ unsigned int num_devices;
+};
+
struct cpcap_ddata {
struct spi_device *spi;
struct regmap_irq *irqs;
struct regmap_irq_chip_data *irqdata[CPCAP_NR_IRQ_CHIPS];
+ const struct cpcap_chip_data *cdata;
const struct regmap_config *regmap_conf;
struct regmap *regmap;
};
@@ -195,16 +202,10 @@ static int cpcap_init_irq(struct cpcap_ddata *cpcap)
return 0;
}
-static const struct of_device_id cpcap_of_match[] = {
- { .compatible = "motorola,cpcap", },
- { .compatible = "st,6556002", },
- {},
-};
-MODULE_DEVICE_TABLE(of, cpcap_of_match);
-
static const struct spi_device_id cpcap_spi_ids[] = {
{ .name = "cpcap", },
{ .name = "6556002", },
+ { .name = "mapphone-cpcap", },
{},
};
MODULE_DEVICE_TABLE(spi, cpcap_spi_ids);
@@ -241,7 +242,56 @@ static int cpcap_resume(struct device *dev)
static DEFINE_SIMPLE_DEV_PM_OPS(cpcap_pm, cpcap_suspend, cpcap_resume);
-static const struct mfd_cell cpcap_mfd_devices[] = {
+static const struct mfd_cell cpcap_default_mfd_devices[] = {
+ {
+ .name = "cpcap_adc",
+ .of_compatible = "motorola,cpcap-adc",
+ }, {
+ .name = "cpcap_battery",
+ .of_compatible = "motorola,cpcap-battery",
+ }, {
+ .name = "cpcap-regulator",
+ .of_compatible = "motorola,cpcap-regulator",
+ }, {
+ .name = "cpcap-rtc",
+ .of_compatible = "motorola,cpcap-rtc",
+ }, {
+ .name = "cpcap-pwrbutton",
+ .of_compatible = "motorola,cpcap-pwrbutton",
+ }, {
+ .name = "cpcap-usb-phy",
+ .of_compatible = "motorola,cpcap-usb-phy",
+ }, {
+ .name = "cpcap-led",
+ .id = 0,
+ .of_compatible = "motorola,cpcap-led-red",
+ }, {
+ .name = "cpcap-led",
+ .id = 1,
+ .of_compatible = "motorola,cpcap-led-green",
+ }, {
+ .name = "cpcap-led",
+ .id = 2,
+ .of_compatible = "motorola,cpcap-led-blue",
+ }, {
+ .name = "cpcap-led",
+ .id = 3,
+ .of_compatible = "motorola,cpcap-led-adl",
+ }, {
+ .name = "cpcap-led",
+ .id = 4,
+ .of_compatible = "motorola,cpcap-led-cp",
+ }, {
+ .name = "cpcap-codec",
+ },
+};
+
+static const struct cpcap_chip_data cpcap_default_data = {
+ .mfd_devices = cpcap_default_mfd_devices,
+ .num_devices = ARRAY_SIZE(cpcap_default_mfd_devices),
+};
+
+static const struct mfd_cell cpcap_mapphone_mfd_devices[] = {
{
.name = "cpcap_adc",
.of_compatible = "motorola,mapphone-cpcap-adc",
@@ -285,7 +335,12 @@ static const struct mfd_cell cpcap_mfd_devices[] = {
.of_compatible = "motorola,cpcap-led-cp",
}, {
.name = "cpcap-codec",
- }
+ },
+};
+
+static const struct cpcap_chip_data cpcap_mapphone_data = {
+ .mfd_devices = cpcap_mapphone_mfd_devices,
+ .num_devices = ARRAY_SIZE(cpcap_mapphone_mfd_devices),
};
static int cpcap_probe(struct spi_device *spi)
@@ -297,6 +352,10 @@ static int cpcap_probe(struct spi_device *spi)
if (!cpcap)
return -ENOMEM;
+ cpcap->cdata = device_get_match_data(&spi->dev);
+ if (!cpcap->cdata)
+ return -ENODEV;
+
cpcap->spi = spi;
spi_set_drvdata(spi, cpcap);
@@ -331,10 +390,18 @@ static int cpcap_probe(struct spi_device *spi)
spi->dev.coherent_dma_mask = 0;
spi->dev.dma_mask = &spi->dev.coherent_dma_mask;
- return devm_mfd_add_devices(&spi->dev, 0, cpcap_mfd_devices,
- ARRAY_SIZE(cpcap_mfd_devices), NULL, 0, NULL);
+ return devm_mfd_add_devices(&spi->dev, 0, cpcap->cdata->mfd_devices,
+ cpcap->cdata->num_devices, NULL, 0, NULL);
}
+static const struct of_device_id cpcap_of_match[] = {
+ { .compatible = "motorola,cpcap", .data = &cpcap_default_data },
+ { .compatible = "st,6556002", .data = &cpcap_default_data },
+ { .compatible = "motorola,mapphone-cpcap", .data = &cpcap_mapphone_data },
+ { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, cpcap_of_match);
+
static struct spi_driver cpcap_driver = {
.driver = {
.name = "cpcap-core",
--
2.51.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 11/11] mfd: motorola-cpcap: add support for Mot CPCAP composition
2026-02-06 17:28 [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support Svyatoslav Ryhel
` (9 preceding siblings ...)
2026-02-06 17:28 ` [PATCH v2 10/11] mfd: motorola-cpcap: diverge configuration per-board Svyatoslav Ryhel
@ 2026-02-06 17:28 ` Svyatoslav Ryhel
2026-02-08 12:56 ` Andy Shevchenko
10 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-06 17:28 UTC (permalink / raw)
To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown,
Svyatoslav Ryhel, Dixit Parmar, Tony Lindgren
Cc: linux-iio, devicetree, linux-kernel, linux-input, linux-leds
Add a MFD subdevice composition used in Tegra20 based Mot board
(Motorola Atrix 4G and Droid X2).
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
drivers/mfd/motorola-cpcap.c | 50 ++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/drivers/mfd/motorola-cpcap.c b/drivers/mfd/motorola-cpcap.c
index bea11868e823..d64c83614f12 100644
--- a/drivers/mfd/motorola-cpcap.c
+++ b/drivers/mfd/motorola-cpcap.c
@@ -206,6 +206,7 @@ static const struct spi_device_id cpcap_spi_ids[] = {
{ .name = "cpcap", },
{ .name = "6556002", },
{ .name = "mapphone-cpcap", },
+ { .name = "mot-cpcap", },
{},
};
MODULE_DEVICE_TABLE(spi, cpcap_spi_ids);
@@ -343,6 +344,54 @@ static const struct cpcap_chip_data cpcap_mapphone_data = {
.num_devices = ARRAY_SIZE(cpcap_mapphone_mfd_devices),
};
+/*
+ * The Mot board features a USB-PHY and charger similar to the ones in
+ * Mapphone; however, because Mot is based on Tegra20, it is incompatible
+ * with the existing implementation, which is tightly interconnected with
+ * the OMAP USB PHY.
+ */
+static const struct mfd_cell cpcap_mot_mfd_devices[] = {
+ {
+ .name = "cpcap_adc",
+ .of_compatible = "motorola,mot-cpcap-adc",
+ }, {
+ .name = "cpcap_battery",
+ .of_compatible = "motorola,cpcap-battery",
+ }, {
+ .name = "cpcap-regulator",
+ .of_compatible = "motorola,mot-cpcap-regulator",
+ }, {
+ .name = "cpcap-rtc",
+ .of_compatible = "motorola,cpcap-rtc",
+ }, {
+ .name = "cpcap-pwrbutton",
+ .of_compatible = "motorola,cpcap-pwrbutton",
+ }, {
+ .name = "cpcap-led",
+ .id = 0,
+ .of_compatible = "motorola,cpcap-led-red",
+ }, {
+ .name = "cpcap-led",
+ .id = 1,
+ .of_compatible = "motorola,cpcap-led-green",
+ }, {
+ .name = "cpcap-led",
+ .id = 2,
+ .of_compatible = "motorola,cpcap-led-blue",
+ }, {
+ .name = "cpcap-led",
+ .id = 3,
+ .of_compatible = "motorola,cpcap-led-adl",
+ }, {
+ .name = "cpcap-codec",
+ },
+};
+
+static const struct cpcap_chip_data cpcap_mot_data = {
+ .mfd_devices = cpcap_mot_mfd_devices,
+ .num_devices = ARRAY_SIZE(cpcap_mot_mfd_devices),
+};
+
static int cpcap_probe(struct spi_device *spi)
{
struct cpcap_ddata *cpcap;
@@ -398,6 +447,7 @@ static const struct of_device_id cpcap_of_match[] = {
{ .compatible = "motorola,cpcap", .data = &cpcap_default_data },
{ .compatible = "st,6556002", .data = &cpcap_default_data },
{ .compatible = "motorola,mapphone-cpcap", .data = &cpcap_mapphone_data },
+ { .compatible = "motorola,mot-cpcap", .data = &cpcap_mot_data },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, cpcap_of_match);
--
2.51.0
^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema
2026-02-06 17:28 ` [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema Svyatoslav Ryhel
@ 2026-02-06 22:58 ` Rob Herring (Arm)
2026-02-06 23:09 ` Rob Herring
1 sibling, 0 replies; 40+ messages in thread
From: Rob Herring (Arm) @ 2026-02-06 22:58 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Liam Girdwood, Dmitry Torokhov, devicetree, David Lechner,
Conor Dooley, linux-input, Andy Shevchenko, Lee Jones,
Nuno Sá, Tony Lindgren, Pavel Machek, linux-iio, linux-leds,
Dixit Parmar, Mark Brown, linux-kernel, Jonathan Cameron,
Krzysztof Kozlowski
On Fri, 06 Feb 2026 19:28:35 +0200, Svyatoslav Ryhel wrote:
> Convert devicetree bindings for the Motorola CPCAP MFD regulator subnode
> from TXT to YAML format. Main functionality preserved.
>
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> ---
> .../bindings/regulator/cpcap-regulator.txt | 35 -------------
> .../regulator/motorola,cpcap-regulator.yaml | 50 +++++++++++++++++++
> 2 files changed, 50 insertions(+), 35 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
> create mode 100644 Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
doc reference errors (make refcheckdocs):
Warning: Documentation/devicetree/bindings/mfd/motorola-cpcap.txt references a file that doesn't exist: Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
Warning: Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml references a file that doesn't exist: Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
Documentation/devicetree/bindings/mfd/motorola-cpcap.txt: Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml: Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
See https://patchwork.kernel.org/project/devicetree/patch/20260206172845.145407-2-clamor95@gmail.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 06/11] dt-bindings: leds: leds-cpcap: convert to DT schema
2026-02-06 17:28 ` [PATCH v2 06/11] dt-bindings: leds: leds-cpcap: convert to DT schema Svyatoslav Ryhel
@ 2026-02-06 22:58 ` Rob Herring (Arm)
0 siblings, 0 replies; 40+ messages in thread
From: Rob Herring (Arm) @ 2026-02-06 22:58 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Jonathan Cameron, Nuno Sá, Dmitry Torokhov, David Lechner,
Dixit Parmar, linux-iio, Conor Dooley, devicetree, linux-leds,
Krzysztof Kozlowski, Tony Lindgren, Andy Shevchenko, Pavel Machek,
Liam Girdwood, Lee Jones, Mark Brown, linux-input, linux-kernel
On Fri, 06 Feb 2026 19:28:40 +0200, Svyatoslav Ryhel wrote:
> Convert LEDs devicetree bindings for the Motorola CPCAP MFD from TXT to
> YAML format. This patch does not change any functionality; the bindings
> remain the same.
>
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
> ---
> .../devicetree/bindings/leds/leds-cpcap.txt | 29 -------------
> .../bindings/leds/motorola,cpcap-leds.yaml | 42 +++++++++++++++++++
> 2 files changed, 42 insertions(+), 29 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/leds/leds-cpcap.txt
> create mode 100644 Documentation/devicetree/bindings/leds/motorola,cpcap-leds.yaml
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
doc reference errors (make refcheckdocs):
Warning: Documentation/devicetree/bindings/leds/motorola,cpcap-leds.yaml references a file that doesn't exist: Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
Warning: Documentation/devicetree/bindings/mfd/motorola-cpcap.txt references a file that doesn't exist: Documentation/devicetree/bindings/leds/leds-cpcap.txt
Documentation/devicetree/bindings/leds/motorola,cpcap-leds.yaml: Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
Documentation/devicetree/bindings/mfd/motorola-cpcap.txt: Documentation/devicetree/bindings/leds/leds-cpcap.txt
See https://patchwork.kernel.org/project/devicetree/patch/20260206172845.145407-7-clamor95@gmail.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 07/11] dt-bindings: input: cpcap-pwrbutton: convert to DT schema
2026-02-06 17:28 ` [PATCH v2 07/11] dt-bindings: input: cpcap-pwrbutton: " Svyatoslav Ryhel
@ 2026-02-06 22:58 ` Rob Herring (Arm)
0 siblings, 0 replies; 40+ messages in thread
From: Rob Herring (Arm) @ 2026-02-06 22:58 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Dmitry Torokhov, Andy Shevchenko, Jonathan Cameron, Dixit Parmar,
Lee Jones, Liam Girdwood, Tony Lindgren, Krzysztof Kozlowski,
Pavel Machek, linux-iio, Mark Brown, linux-input, devicetree,
linux-leds, linux-kernel, Conor Dooley, David Lechner,
Nuno Sá
On Fri, 06 Feb 2026 19:28:41 +0200, Svyatoslav Ryhel wrote:
> Convert power button devicetree bindings for the Motorola CPCAP MFD from
> TXT to YAML format. This patch does not change any functionality; the
> bindings remain the same.
>
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> ---
> .../bindings/input/cpcap-pwrbutton.txt | 20 ------------
> .../input/motorola,cpcap-pwrbutton.yaml | 32 +++++++++++++++++++
> 2 files changed, 32 insertions(+), 20 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt
> create mode 100644 Documentation/devicetree/bindings/input/motorola,cpcap-pwrbutton.yaml
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
doc reference errors (make refcheckdocs):
Warning: Documentation/devicetree/bindings/input/motorola,cpcap-pwrbutton.yaml references a file that doesn't exist: Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
Warning: Documentation/devicetree/bindings/mfd/motorola-cpcap.txt references a file that doesn't exist: Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt
Documentation/devicetree/bindings/input/motorola,cpcap-pwrbutton.yaml: Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
Documentation/devicetree/bindings/mfd/motorola-cpcap.txt: Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt
See https://patchwork.kernel.org/project/devicetree/patch/20260206172845.145407-8-clamor95@gmail.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema
2026-02-06 17:28 ` [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema Svyatoslav Ryhel
2026-02-06 22:58 ` Rob Herring (Arm)
@ 2026-02-06 23:09 ` Rob Herring
2026-02-07 9:20 ` Svyatoslav Ryhel
1 sibling, 1 reply; 40+ messages in thread
From: Rob Herring @ 2026-02-06 23:09 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On Fri, Feb 06, 2026 at 07:28:35PM +0200, Svyatoslav Ryhel wrote:
> Convert devicetree bindings for the Motorola CPCAP MFD regulator subnode
> from TXT to YAML format. Main functionality preserved.
>
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> ---
> .../bindings/regulator/cpcap-regulator.txt | 35 -------------
> .../regulator/motorola,cpcap-regulator.yaml | 50 +++++++++++++++++++
> 2 files changed, 50 insertions(+), 35 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
> create mode 100644 Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
>
> diff --git a/Documentation/devicetree/bindings/regulator/cpcap-regulator.txt b/Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
> deleted file mode 100644
> index 36f5e2f5cc0f..000000000000
> --- a/Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
> +++ /dev/null
> @@ -1,35 +0,0 @@
> -Motorola CPCAP PMIC voltage regulators
> -------------------------------------
> -
> -Requires node properties:
> -- "compatible" value one of:
> - "motorola,cpcap-regulator"
> - "motorola,mapphone-cpcap-regulator"
> - "motorola,xoom-cpcap-regulator"
> -
> -Required regulator properties:
> -- "regulator-name"
> -- "regulator-enable-ramp-delay"
> -- "regulator-min-microvolt"
> -- "regulator-max-microvolt"
> -
> -Optional regulator properties:
> -- "regulator-boot-on"
> -
> -See Documentation/devicetree/bindings/regulator/regulator.txt
> -for more details about the regulator properties.
> -
> -Example:
> -
> -cpcap_regulator: regulator {
> - compatible = "motorola,cpcap-regulator";
> -
> - cpcap_regulators: regulators {
> - sw5: SW5 {
> - regulator-min-microvolt = <5050000>;
> - regulator-max-microvolt = <5050000>;
> - regulator-enable-ramp-delay = <50000>;
> - regulator-boot-on;
> - };
> - };
> -};
> diff --git a/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml b/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
> new file mode 100644
> index 000000000000..50bc57f06b51
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
> @@ -0,0 +1,50 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/motorola,cpcap-regulator.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Motorola CPCAP PMIC regulators
> +
> +maintainers:
> + - Svyatoslav Ryhel <clamor95@gmail.com>
> +
> +description:
> + This module is part of the Motorola CPCAP MFD device. For more details
> + see Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml. The
> + regulator controller is represented as a sub-node of the PMIC node
> + on the device tree.
> +
> +properties:
> + compatible:
> + enum:
> + - motorola,cpcap-regulator
> + - motorola,mapphone-cpcap-regulator
> + - motorola,xoom-cpcap-regulator
> +
> + regulators:
> + type: object
> +
> + patternProperties:
> + "$[A-Z0-9]+^":
I thought it was said on the last version to list the names. Considering
you already have them below, better to put them in schema than prose.
And pretty much all regulator bindings define the names.
> + $ref: /schemas/regulator/regulator.yaml#
> + type: object
> + description:
> + Valid regulator names are SW1, SW2, SW3, SW4, SW5, VCAM, VCSI,
> + VDAC, VDIG, VFUSE, VHVIO, VSDIO, VPLL, VRF1, VRF2, VRFREF, VWLAN1,
> + VWLAN2, VSIM, VSIMCARD, VVIB, VUSB, VAUDIO
> +
> + required:
> + - regulator-name
> + - regulator-enable-ramp-delay
> + - regulator-min-microvolt
> + - regulator-max-microvolt
> +
> + unevaluatedProperties: false
> +
> +required:
> + - compatible
> +
> +additionalProperties: false
> +
> +...
> --
> 2.51.0
>
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema
2026-02-06 23:09 ` Rob Herring
@ 2026-02-07 9:20 ` Svyatoslav Ryhel
2026-02-07 17:19 ` David Lechner
0 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-07 9:20 UTC (permalink / raw)
To: Rob Herring
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
сб, 7 лют. 2026 р. о 01:09 Rob Herring <robh@kernel.org> пише:
>
> On Fri, Feb 06, 2026 at 07:28:35PM +0200, Svyatoslav Ryhel wrote:
> > Convert devicetree bindings for the Motorola CPCAP MFD regulator subnode
> > from TXT to YAML format. Main functionality preserved.
> >
> > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> > ---
> > .../bindings/regulator/cpcap-regulator.txt | 35 -------------
> > .../regulator/motorola,cpcap-regulator.yaml | 50 +++++++++++++++++++
> > 2 files changed, 50 insertions(+), 35 deletions(-)
> > delete mode 100644 Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
> > create mode 100644 Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/regulator/cpcap-regulator.txt b/Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
> > deleted file mode 100644
> > index 36f5e2f5cc0f..000000000000
> > --- a/Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
> > +++ /dev/null
> > @@ -1,35 +0,0 @@
> > -Motorola CPCAP PMIC voltage regulators
> > -------------------------------------
> > -
> > -Requires node properties:
> > -- "compatible" value one of:
> > - "motorola,cpcap-regulator"
> > - "motorola,mapphone-cpcap-regulator"
> > - "motorola,xoom-cpcap-regulator"
> > -
> > -Required regulator properties:
> > -- "regulator-name"
> > -- "regulator-enable-ramp-delay"
> > -- "regulator-min-microvolt"
> > -- "regulator-max-microvolt"
> > -
> > -Optional regulator properties:
> > -- "regulator-boot-on"
> > -
> > -See Documentation/devicetree/bindings/regulator/regulator.txt
> > -for more details about the regulator properties.
> > -
> > -Example:
> > -
> > -cpcap_regulator: regulator {
> > - compatible = "motorola,cpcap-regulator";
> > -
> > - cpcap_regulators: regulators {
> > - sw5: SW5 {
> > - regulator-min-microvolt = <5050000>;
> > - regulator-max-microvolt = <5050000>;
> > - regulator-enable-ramp-delay = <50000>;
> > - regulator-boot-on;
> > - };
> > - };
> > -};
> > diff --git a/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml b/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
> > new file mode 100644
> > index 000000000000..50bc57f06b51
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/regulator/motorola,cpcap-regulator.yaml
> > @@ -0,0 +1,50 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/regulator/motorola,cpcap-regulator.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Motorola CPCAP PMIC regulators
> > +
> > +maintainers:
> > + - Svyatoslav Ryhel <clamor95@gmail.com>
> > +
> > +description:
> > + This module is part of the Motorola CPCAP MFD device. For more details
> > + see Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml. The
> > + regulator controller is represented as a sub-node of the PMIC node
> > + on the device tree.
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - motorola,cpcap-regulator
> > + - motorola,mapphone-cpcap-regulator
> > + - motorola,xoom-cpcap-regulator
> > +
> > + regulators:
> > + type: object
> > +
> > + patternProperties:
> > + "$[A-Z0-9]+^":
>
> I thought it was said on the last version to list the names. Considering
> you already have them below, better to put them in schema than prose.
> And pretty much all regulator bindings define the names.
>
What exactly do you propose? All those names will not fit into a
single unbreakable line (more than 125 columns in length btw). Patch
checker will complain about this. Duplicate pattern properties for
every few names? Please be a bit more specific. Thank you!
> > + $ref: /schemas/regulator/regulator.yaml#
> > + type: object
> > + description:
> > + Valid regulator names are SW1, SW2, SW3, SW4, SW5, VCAM, VCSI,
> > + VDAC, VDIG, VFUSE, VHVIO, VSDIO, VPLL, VRF1, VRF2, VRFREF, VWLAN1,
> > + VWLAN2, VSIM, VSIMCARD, VVIB, VUSB, VAUDIO
> > +
> > + required:
> > + - regulator-name
> > + - regulator-enable-ramp-delay
> > + - regulator-min-microvolt
> > + - regulator-max-microvolt
> > +
> > + unevaluatedProperties: false
> > +
> > +required:
> > + - compatible
> > +
> > +additionalProperties: false
> > +
> > +...
> > --
> > 2.51.0
> >
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 04/11] dt-bindings: iio: adc: cpcap-adc: document Mot ADC
2026-02-06 17:28 ` [PATCH v2 04/11] dt-bindings: iio: adc: cpcap-adc: document Mot ADC Svyatoslav Ryhel
@ 2026-02-07 13:55 ` Jonathan Cameron
0 siblings, 0 replies; 40+ messages in thread
From: Jonathan Cameron @ 2026-02-07 13:55 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: David Lechner, Nuno Sá, Andy Shevchenko, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On Fri, 6 Feb 2026 19:28:38 +0200
Svyatoslav Ryhel <clamor95@gmail.com> wrote:
> Add compatible for ADC used in Mot board. Separate compatible is required
> since ADC in the Mot board uses a unique set of configurations.
>
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> Acked-by: Rob Herring (Arm) <robh@kernel.org>
Applied to the testing branch of iio.git.
Thanks,
Jonathan
> ---
> .../devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml b/Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml
> index 9ceb6f18c854..1f77da7f8e06 100644
> --- a/Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml
> @@ -19,6 +19,7 @@ properties:
> enum:
> - motorola,cpcap-adc
> - motorola,mapphone-cpcap-adc
> + - motorola,mot-cpcap-adc
>
> interrupts:
> maxItems: 1
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 05/11] iio: adc: cpcap-adc: add support for Mot ADC
2026-02-06 17:28 ` [PATCH v2 05/11] iio: adc: cpcap-adc: add support for " Svyatoslav Ryhel
@ 2026-02-07 13:55 ` Jonathan Cameron
2026-03-03 21:27 ` Jonathan Cameron
0 siblings, 1 reply; 40+ messages in thread
From: Jonathan Cameron @ 2026-02-07 13:55 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: David Lechner, Nuno Sá, Andy Shevchenko, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On Fri, 6 Feb 2026 19:28:39 +0200
Svyatoslav Ryhel <clamor95@gmail.com> wrote:
> Add support for ADC found in Motorola Mot board, used as a base for
> Atrix 4G and Droid X2 smartphones.
>
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Applied to the testing branch of iio.git.
thanks,
Jonathan
> ---
> drivers/iio/adc/cpcap-adc.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/iio/adc/cpcap-adc.c b/drivers/iio/adc/cpcap-adc.c
> index d9ee2ea116a7..f6f72efcc6ed 100644
> --- a/drivers/iio/adc/cpcap-adc.c
> +++ b/drivers/iio/adc/cpcap-adc.c
> @@ -934,6 +934,17 @@ static const struct cpcap_adc_ato mapphone_adc = {
> .atox_ps_factor_out = 0,
> };
>
> +static const struct cpcap_adc_ato mot_adc = {
> + .ato_in = 0x0300,
> + .atox_in = 0,
> + .adc_ps_factor_in = 0x0200,
> + .atox_ps_factor_in = 0,
> + .ato_out = 0x0780,
> + .atox_out = 0,
> + .adc_ps_factor_out = 0x0600,
> + .atox_ps_factor_out = 0,
> +};
> +
> static const struct of_device_id cpcap_adc_id_table[] = {
> {
> .compatible = "motorola,cpcap-adc",
> @@ -942,6 +953,10 @@ static const struct of_device_id cpcap_adc_id_table[] = {
> .compatible = "motorola,mapphone-cpcap-adc",
> .data = &mapphone_adc,
> },
> + {
> + .compatible = "motorola,mot-cpcap-adc",
> + .data = &mot_adc,
> + },
> { }
> };
> MODULE_DEVICE_TABLE(of, cpcap_adc_id_table);
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema
2026-02-07 9:20 ` Svyatoslav Ryhel
@ 2026-02-07 17:19 ` David Lechner
2026-02-07 17:25 ` Svyatoslav Ryhel
0 siblings, 1 reply; 40+ messages in thread
From: David Lechner @ 2026-02-07 17:19 UTC (permalink / raw)
To: Svyatoslav Ryhel, Rob Herring
Cc: Jonathan Cameron, Nuno Sá, Andy Shevchenko,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On 2/7/26 3:20 AM, Svyatoslav Ryhel wrote:
> сб, 7 лют. 2026 р. о 01:09 Rob Herring <robh@kernel.org> пише:
>>
>> On Fri, Feb 06, 2026 at 07:28:35PM +0200, Svyatoslav Ryhel wrote:
>>> Convert devicetree bindings for the Motorola CPCAP MFD regulator subnode
>>> from TXT to YAML format. Main functionality preserved.
>>>
...
>>> +properties:
>>> + compatible:
>>> + enum:
>>> + - motorola,cpcap-regulator
>>> + - motorola,mapphone-cpcap-regulator
>>> + - motorola,xoom-cpcap-regulator
>>> +
>>> + regulators:
>>> + type: object
>>> +
>>> + patternProperties:
>>> + "$[A-Z0-9]+^":
>>
>> I thought it was said on the last version to list the names. Considering
>> you already have them below, better to put them in schema than prose.
>> And pretty much all regulator bindings define the names.
>>
>
> What exactly do you propose? All those names will not fit into a
> single unbreakable line (more than 125 columns in length btw). Patch
> checker will complain about this. Duplicate pattern properties for
> every few names? Please be a bit more specific. Thank you!
Making checkpatch happy is not a hard requirement. If you have to
go over 125 characters for technical reasons, no one is going to
complain.
I already gave an example on the last version. It is just a regex
expression. (And note that you didn't fix the $ and ^ either. ^
means beginning of the line and $ means the end of the line. So
the pattern currently won't match anything.)
patternProperties:
"^(SW1|SW2|SW3|SW4|SW5|...)$":
And I hope it is obvious that you are meant to replace ... with the
rest of the names separated by |.
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema
2026-02-07 17:19 ` David Lechner
@ 2026-02-07 17:25 ` Svyatoslav Ryhel
2026-02-07 17:32 ` David Lechner
0 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-07 17:25 UTC (permalink / raw)
To: David Lechner
Cc: Rob Herring, Jonathan Cameron, Nuno Sá, Andy Shevchenko,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
сб, 7 лют. 2026 р. о 19:19 David Lechner <dlechner@baylibre.com> пише:
>
> On 2/7/26 3:20 AM, Svyatoslav Ryhel wrote:
> > сб, 7 лют. 2026 р. о 01:09 Rob Herring <robh@kernel.org> пише:
> >>
> >> On Fri, Feb 06, 2026 at 07:28:35PM +0200, Svyatoslav Ryhel wrote:
> >>> Convert devicetree bindings for the Motorola CPCAP MFD regulator subnode
> >>> from TXT to YAML format. Main functionality preserved.
> >>>
>
> ...
>
> >>> +properties:
> >>> + compatible:
> >>> + enum:
> >>> + - motorola,cpcap-regulator
> >>> + - motorola,mapphone-cpcap-regulator
> >>> + - motorola,xoom-cpcap-regulator
> >>> +
> >>> + regulators:
> >>> + type: object
> >>> +
> >>> + patternProperties:
> >>> + "$[A-Z0-9]+^":
> >>
> >> I thought it was said on the last version to list the names. Considering
> >> you already have them below, better to put them in schema than prose.
> >> And pretty much all regulator bindings define the names.
> >>
> >
> > What exactly do you propose? All those names will not fit into a
> > single unbreakable line (more than 125 columns in length btw). Patch
> > checker will complain about this. Duplicate pattern properties for
> > every few names? Please be a bit more specific. Thank you!
>
> Making checkpatch happy is not a hard requirement. If you have to
> go over 125 characters for technical reasons, no one is going to
> complain.
>
> I already gave an example on the last version. It is just a regex
> expression. (And note that you didn't fix the $ and ^ either. ^
> means beginning of the line and $ means the end of the line. So
> the pattern currently won't match anything.)
>
> patternProperties:
> "^(SW1|SW2|SW3|SW4|SW5|...)$":
>
>
> And I hope it is obvious that you are meant to replace ... with the
> rest of the names separated by |.
>
David, thank you for your suggestions and I did not want to offend you
nor Rob, or ignore. Using this large string IMHO feels a bit wrong. No
offence, I will use it if required. At the same time I was
experimenting with possible representation and come up with smth like
this:
patternProperties:
"^SW[1-6]$":
type: object
$ref: /schemas/regulator/regulator.yaml#
unevaluatedProperties: false
required:
- regulator-name
- regulator-enable-ramp-delay
- regulator-min-microvolt
- regulator-max-microvolt
"^V(CAM|CSI|DAC|DIG|FUSE|HVIO|SDIO|PLL|RF1|RF2|RFREF)$":
type: object
$ref: /schemas/regulator/regulator.yaml#
unevaluatedProperties: false
required:
- regulator-name
- regulator-enable-ramp-delay
- regulator-min-microvolt
- regulator-max-microvolt
"^V(WLAN1|WLAN2|SIM|SIMCARD|VIB|USB|AUDIO)$":
type: object
$ref: /schemas/regulator/regulator.yaml#
unevaluatedProperties: false
required:
- regulator-name
- regulator-enable-ramp-delay
- regulator-min-microvolt
- regulator-max-microvolt
Will this be acceptable? It passes checks
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema
2026-02-07 17:25 ` Svyatoslav Ryhel
@ 2026-02-07 17:32 ` David Lechner
2026-02-08 22:37 ` Rob Herring
0 siblings, 1 reply; 40+ messages in thread
From: David Lechner @ 2026-02-07 17:32 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Rob Herring, Jonathan Cameron, Nuno Sá, Andy Shevchenko,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On 2/7/26 11:25 AM, Svyatoslav Ryhel wrote:
> сб, 7 лют. 2026 р. о 19:19 David Lechner <dlechner@baylibre.com> пише:
>>
>> On 2/7/26 3:20 AM, Svyatoslav Ryhel wrote:
>>> сб, 7 лют. 2026 р. о 01:09 Rob Herring <robh@kernel.org> пише:
>>>>
>>>> On Fri, Feb 06, 2026 at 07:28:35PM +0200, Svyatoslav Ryhel wrote:
>>>>> Convert devicetree bindings for the Motorola CPCAP MFD regulator subnode
>>>>> from TXT to YAML format. Main functionality preserved.
>>>>>
>>
>> ...
>>
>>>>> +properties:
>>>>> + compatible:
>>>>> + enum:
>>>>> + - motorola,cpcap-regulator
>>>>> + - motorola,mapphone-cpcap-regulator
>>>>> + - motorola,xoom-cpcap-regulator
>>>>> +
>>>>> + regulators:
>>>>> + type: object
>>>>> +
>>>>> + patternProperties:
>>>>> + "$[A-Z0-9]+^":
>>>>
>>>> I thought it was said on the last version to list the names. Considering
>>>> you already have them below, better to put them in schema than prose.
>>>> And pretty much all regulator bindings define the names.
>>>>
>>>
>>> What exactly do you propose? All those names will not fit into a
>>> single unbreakable line (more than 125 columns in length btw). Patch
>>> checker will complain about this. Duplicate pattern properties for
>>> every few names? Please be a bit more specific. Thank you!
>>
>> Making checkpatch happy is not a hard requirement. If you have to
>> go over 125 characters for technical reasons, no one is going to
>> complain.
>>
>> I already gave an example on the last version. It is just a regex
>> expression. (And note that you didn't fix the $ and ^ either. ^
>> means beginning of the line and $ means the end of the line. So
>> the pattern currently won't match anything.)
>>
>> patternProperties:
>> "^(SW1|SW2|SW3|SW4|SW5|...)$":
>>
>>
>> And I hope it is obvious that you are meant to replace ... with the
>> rest of the names separated by |.
>>
>
> David, thank you for your suggestions and I did not want to offend you
> nor Rob, or ignore. Using this large string IMHO feels a bit wrong. No
> offence, I will use it if required. At the same time I was
> experimenting with possible representation and come up with smth like
> this:
>
> patternProperties:
> "^SW[1-6]$":
> type: object
> $ref: /schemas/regulator/regulator.yaml#
> unevaluatedProperties: false
>
> required:
> - regulator-name
> - regulator-enable-ramp-delay
> - regulator-min-microvolt
> - regulator-max-microvolt
>
> "^V(CAM|CSI|DAC|DIG|FUSE|HVIO|SDIO|PLL|RF1|RF2|RFREF)$":
> type: object
> $ref: /schemas/regulator/regulator.yaml#
> unevaluatedProperties: false
>
> required:
> - regulator-name
> - regulator-enable-ramp-delay
> - regulator-min-microvolt
> - regulator-max-microvolt
>
> "^V(WLAN1|WLAN2|SIM|SIMCARD|VIB|USB|AUDIO)$":
> type: object
> $ref: /schemas/regulator/regulator.yaml#
> unevaluatedProperties: false
>
> required:
> - regulator-name
> - regulator-enable-ramp-delay
> - regulator-min-microvolt
> - regulator-max-microvolt
>
> Will this be acceptable? It passes checks
I think we would rather have the long match string instead of
repeating the rest of it multiple times.
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 10/11] mfd: motorola-cpcap: diverge configuration per-board
2026-02-06 17:28 ` [PATCH v2 10/11] mfd: motorola-cpcap: diverge configuration per-board Svyatoslav Ryhel
@ 2026-02-08 12:54 ` Andy Shevchenko
2026-02-08 15:19 ` Svyatoslav Ryhel
0 siblings, 1 reply; 40+ messages in thread
From: Andy Shevchenko @ 2026-02-08 12:54 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On Fri, Feb 06, 2026 at 07:28:44PM +0200, Svyatoslav Ryhel wrote:
> MFD have rigid subdevice structure which does not allow flexible dynamic
> subdevice linking. Address this by diverging CPCAP subdevice composition
> to take into account board specific configuration.
>
> Create a common default subdevice composition, rename existing subdevice
> composition into cpcap_mapphone_mfd_devices since it targets mainly
> Mapphone board.
...
> -static const struct of_device_id cpcap_of_match[] = {
> - { .compatible = "motorola,cpcap", },
> - { .compatible = "st,6556002", },
> - {},
> -};
> -MODULE_DEVICE_TABLE(of, cpcap_of_match);
> -
> static const struct spi_device_id cpcap_spi_ids[] = {
> { .name = "cpcap", },
> { .name = "6556002", },
> + { .name = "mapphone-cpcap", },
> {},
> };
This also needs to be converted to use driver data.
> MODULE_DEVICE_TABLE(spi, cpcap_spi_ids);
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 11/11] mfd: motorola-cpcap: add support for Mot CPCAP composition
2026-02-06 17:28 ` [PATCH v2 11/11] mfd: motorola-cpcap: add support for Mot CPCAP composition Svyatoslav Ryhel
@ 2026-02-08 12:56 ` Andy Shevchenko
2026-02-08 14:41 ` Svyatoslav Ryhel
0 siblings, 1 reply; 40+ messages in thread
From: Andy Shevchenko @ 2026-02-08 12:56 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On Fri, Feb 06, 2026 at 07:28:45PM +0200, Svyatoslav Ryhel wrote:
> Add a MFD subdevice composition used in Tegra20 based Mot board
> (Motorola Atrix 4G and Droid X2).
...
> { .name = "cpcap", },
> { .name = "6556002", },
> { .name = "mapphone-cpcap", },
> + { .name = "mot-cpcap", },
Drop inner trailing comma.
> {},
Drop a comma at the terminator.
> };
> MODULE_DEVICE_TABLE(spi, cpcap_spi_ids);
This can be done in the patch that adds driver data.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 11/11] mfd: motorola-cpcap: add support for Mot CPCAP composition
2026-02-08 12:56 ` Andy Shevchenko
@ 2026-02-08 14:41 ` Svyatoslav Ryhel
2026-02-08 14:48 ` Andy Shevchenko
0 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-08 14:41 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
8 лютого 2026 р. 14:56:18 GMT+02:00, Andy Shevchenko <andriy.shevchenko@intel.com> пише:
>On Fri, Feb 06, 2026 at 07:28:45PM +0200, Svyatoslav Ryhel wrote:
>> Add a MFD subdevice composition used in Tegra20 based Mot board
>> (Motorola Atrix 4G and Droid X2).
>
>...
>
>> { .name = "cpcap", },
>> { .name = "6556002", },
>> { .name = "mapphone-cpcap", },
>> + { .name = "mot-cpcap", },
>
>Drop inner trailing comma.
>
That would be a stray change, wouldn't it?
>> {},
>
>Drop a comma at the terminator.
>
That would be a stray change as well, wouldn't it?
>> };
>> MODULE_DEVICE_TABLE(spi, cpcap_spi_ids);
>
>This can be done in the patch that adds driver data.
>
Then lets move there.
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 11/11] mfd: motorola-cpcap: add support for Mot CPCAP composition
2026-02-08 14:41 ` Svyatoslav Ryhel
@ 2026-02-08 14:48 ` Andy Shevchenko
0 siblings, 0 replies; 40+ messages in thread
From: Andy Shevchenko @ 2026-02-08 14:48 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Andy Shevchenko, Jonathan Cameron, David Lechner, Nuno Sá,
Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Dmitry Torokhov, Lee Jones, Pavel Machek, Liam Girdwood,
Mark Brown, Dixit Parmar, Tony Lindgren, linux-iio, devicetree,
linux-kernel, linux-input, linux-leds
On Sun, Feb 8, 2026 at 4:41 PM Svyatoslav Ryhel <clamor95@gmail.com> wrote:
> 8 лютого 2026 р. 14:56:18 GMT+02:00, Andy Shevchenko <andriy.shevchenko@intel.com> пише:
> >On Fri, Feb 06, 2026 at 07:28:45PM +0200, Svyatoslav Ryhel wrote:
...
> >> { .name = "cpcap", },
> >> { .name = "6556002", },
> >> { .name = "mapphone-cpcap", },
> >> + { .name = "mot-cpcap", },
> >
> >Drop inner trailing comma.
> >
>
> That would be a stray change, wouldn't it?
Have you read below?
> >> {},
> >
> >Drop a comma at the terminator.
> >
>
> That would be a stray change as well, wouldn't it?
Have you read below?
> >> };
> >> MODULE_DEVICE_TABLE(spi, cpcap_spi_ids);
> >
> >This can be done in the patch that adds driver data.
^^^
> Then lets move there.
Exactly!
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 10/11] mfd: motorola-cpcap: diverge configuration per-board
2026-02-08 12:54 ` Andy Shevchenko
@ 2026-02-08 15:19 ` Svyatoslav Ryhel
2026-02-09 8:18 ` Andy Shevchenko
0 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-08 15:19 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
8 лютого 2026 р. 14:54:53 GMT+02:00, Andy Shevchenko <andriy.shevchenko@intel.com> пише:
>On Fri, Feb 06, 2026 at 07:28:44PM +0200, Svyatoslav Ryhel wrote:
>> MFD have rigid subdevice structure which does not allow flexible dynamic
>> subdevice linking. Address this by diverging CPCAP subdevice composition
>> to take into account board specific configuration.
>>
>> Create a common default subdevice composition, rename existing subdevice
>> composition into cpcap_mapphone_mfd_devices since it targets mainly
>> Mapphone board.
>
>...
>
>> -static const struct of_device_id cpcap_of_match[] = {
>> - { .compatible = "motorola,cpcap", },
>> - { .compatible = "st,6556002", },
>> - {},
>> -};
>> -MODULE_DEVICE_TABLE(of, cpcap_of_match);
>> -
>> static const struct spi_device_id cpcap_spi_ids[] = {
>> { .name = "cpcap", },
>> { .name = "6556002", },
>> + { .name = "mapphone-cpcap", },
>> {},
>> };
>
>This also needs to be converted to use driver data.
>
I can do that, but is it needed? This id table, if I understand correctly, is here solely to silence warnings about missing spi id table. Driver itself does not use it in any way and will never use since all available devices that use this driver rely solely on the device tree, all possible future devices will be relying on device tree too due to obvious reasons.
And please, may you contain all your reviewing in one iteration. Then both of us will spend less time working on the patch. Thank you!
>> MODULE_DEVICE_TABLE(spi, cpcap_spi_ids);
>
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema
2026-02-07 17:32 ` David Lechner
@ 2026-02-08 22:37 ` Rob Herring
2026-02-09 7:13 ` Svyatoslav Ryhel
0 siblings, 1 reply; 40+ messages in thread
From: Rob Herring @ 2026-02-08 22:37 UTC (permalink / raw)
To: David Lechner
Cc: Svyatoslav Ryhel, Jonathan Cameron, Nuno Sá, Andy Shevchenko,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On Sat, Feb 7, 2026 at 11:32 AM David Lechner <dlechner@baylibre.com> wrote:
>
> On 2/7/26 11:25 AM, Svyatoslav Ryhel wrote:
> > сб, 7 лют. 2026 р. о 19:19 David Lechner <dlechner@baylibre.com> пише:
> >>
> >> On 2/7/26 3:20 AM, Svyatoslav Ryhel wrote:
> >>> сб, 7 лют. 2026 р. о 01:09 Rob Herring <robh@kernel.org> пише:
> >>>>
> >>>> On Fri, Feb 06, 2026 at 07:28:35PM +0200, Svyatoslav Ryhel wrote:
> >>>>> Convert devicetree bindings for the Motorola CPCAP MFD regulator subnode
> >>>>> from TXT to YAML format. Main functionality preserved.
> >>>>>
> >>
> >> ...
> >>
> >>>>> +properties:
> >>>>> + compatible:
> >>>>> + enum:
> >>>>> + - motorola,cpcap-regulator
> >>>>> + - motorola,mapphone-cpcap-regulator
> >>>>> + - motorola,xoom-cpcap-regulator
> >>>>> +
> >>>>> + regulators:
> >>>>> + type: object
> >>>>> +
> >>>>> + patternProperties:
> >>>>> + "$[A-Z0-9]+^":
> >>>>
> >>>> I thought it was said on the last version to list the names. Considering
> >>>> you already have them below, better to put them in schema than prose.
> >>>> And pretty much all regulator bindings define the names.
> >>>>
> >>>
> >>> What exactly do you propose? All those names will not fit into a
> >>> single unbreakable line (more than 125 columns in length btw). Patch
> >>> checker will complain about this. Duplicate pattern properties for
> >>> every few names? Please be a bit more specific. Thank you!
> >>
> >> Making checkpatch happy is not a hard requirement. If you have to
> >> go over 125 characters for technical reasons, no one is going to
> >> complain.
> >>
> >> I already gave an example on the last version. It is just a regex
> >> expression. (And note that you didn't fix the $ and ^ either. ^
> >> means beginning of the line and $ means the end of the line. So
> >> the pattern currently won't match anything.)
> >>
> >> patternProperties:
> >> "^(SW1|SW2|SW3|SW4|SW5|...)$":
> >>
> >>
> >> And I hope it is obvious that you are meant to replace ... with the
> >> rest of the names separated by |.
> >>
> >
> > David, thank you for your suggestions and I did not want to offend you
> > nor Rob, or ignore. Using this large string IMHO feels a bit wrong. No
> > offence, I will use it if required. At the same time I was
> > experimenting with possible representation and come up with smth like
> > this:
> >
> > patternProperties:
> > "^SW[1-6]$":
> > type: object
> > $ref: /schemas/regulator/regulator.yaml#
> > unevaluatedProperties: false
> >
> > required:
> > - regulator-name
> > - regulator-enable-ramp-delay
> > - regulator-min-microvolt
> > - regulator-max-microvolt
> >
> > "^V(CAM|CSI|DAC|DIG|FUSE|HVIO|SDIO|PLL|RF1|RF2|RFREF)$":
> > type: object
> > $ref: /schemas/regulator/regulator.yaml#
> > unevaluatedProperties: false
> >
> > required:
> > - regulator-name
> > - regulator-enable-ramp-delay
> > - regulator-min-microvolt
> > - regulator-max-microvolt
> >
> > "^V(WLAN1|WLAN2|SIM|SIMCARD|VIB|USB|AUDIO)$":
> > type: object
> > $ref: /schemas/regulator/regulator.yaml#
> > unevaluatedProperties: false
> >
> > required:
> > - regulator-name
> > - regulator-enable-ramp-delay
> > - regulator-min-microvolt
> > - regulator-max-microvolt
> >
> > Will this be acceptable? It passes checks
>
> I think we would rather have the long match string instead of
> repeating the rest of it multiple times.
Yes.
105 chars:
"^(SW[1-6]|V(CAM|CSI|DAC|DIG|FUSE|HVIO|SDIO|PLL|RF[12]|RFREF|WLAN[12]|SIM|SIMCARD|VIB|USB|AUDIO))$":
There is the yamllint of 110 which does have to be followed.
Rob
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema
2026-02-08 22:37 ` Rob Herring
@ 2026-02-09 7:13 ` Svyatoslav Ryhel
0 siblings, 0 replies; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-09 7:13 UTC (permalink / raw)
To: Rob Herring, David Lechner
Cc: Jonathan Cameron, Nuno Sá, Andy Shevchenko,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
9 лютого 2026 р. 00:37:41 GMT+02:00, Rob Herring <robh@kernel.org> пише:
>On Sat, Feb 7, 2026 at 11:32 AM David Lechner <dlechner@baylibre.com> wrote:
>>
>> On 2/7/26 11:25 AM, Svyatoslav Ryhel wrote:
>> > сб, 7 лют. 2026 р. о 19:19 David Lechner <dlechner@baylibre.com> пише:
>> >>
>> >> On 2/7/26 3:20 AM, Svyatoslav Ryhel wrote:
>> >>> сб, 7 лют. 2026 р. о 01:09 Rob Herring <robh@kernel.org> пише:
>> >>>>
>> >>>> On Fri, Feb 06, 2026 at 07:28:35PM +0200, Svyatoslav Ryhel wrote:
>> >>>>> Convert devicetree bindings for the Motorola CPCAP MFD regulator subnode
>> >>>>> from TXT to YAML format. Main functionality preserved.
>> >>>>>
>> >>
>> >> ...
>> >>
>> >>>>> +properties:
>> >>>>> + compatible:
>> >>>>> + enum:
>> >>>>> + - motorola,cpcap-regulator
>> >>>>> + - motorola,mapphone-cpcap-regulator
>> >>>>> + - motorola,xoom-cpcap-regulator
>> >>>>> +
>> >>>>> + regulators:
>> >>>>> + type: object
>> >>>>> +
>> >>>>> + patternProperties:
>> >>>>> + "$[A-Z0-9]+^":
>> >>>>
>> >>>> I thought it was said on the last version to list the names. Considering
>> >>>> you already have them below, better to put them in schema than prose.
>> >>>> And pretty much all regulator bindings define the names.
>> >>>>
>> >>>
>> >>> What exactly do you propose? All those names will not fit into a
>> >>> single unbreakable line (more than 125 columns in length btw). Patch
>> >>> checker will complain about this. Duplicate pattern properties for
>> >>> every few names? Please be a bit more specific. Thank you!
>> >>
>> >> Making checkpatch happy is not a hard requirement. If you have to
>> >> go over 125 characters for technical reasons, no one is going to
>> >> complain.
>> >>
>> >> I already gave an example on the last version. It is just a regex
>> >> expression. (And note that you didn't fix the $ and ^ either. ^
>> >> means beginning of the line and $ means the end of the line. So
>> >> the pattern currently won't match anything.)
>> >>
>> >> patternProperties:
>> >> "^(SW1|SW2|SW3|SW4|SW5|...)$":
>> >>
>> >>
>> >> And I hope it is obvious that you are meant to replace ... with the
>> >> rest of the names separated by |.
>> >>
>> >
>> > David, thank you for your suggestions and I did not want to offend you
>> > nor Rob, or ignore. Using this large string IMHO feels a bit wrong. No
>> > offence, I will use it if required. At the same time I was
>> > experimenting with possible representation and come up with smth like
>> > this:
>> >
>> > patternProperties:
>> > "^SW[1-6]$":
>> > type: object
>> > $ref: /schemas/regulator/regulator.yaml#
>> > unevaluatedProperties: false
>> >
>> > required:
>> > - regulator-name
>> > - regulator-enable-ramp-delay
>> > - regulator-min-microvolt
>> > - regulator-max-microvolt
>> >
>> > "^V(CAM|CSI|DAC|DIG|FUSE|HVIO|SDIO|PLL|RF1|RF2|RFREF)$":
>> > type: object
>> > $ref: /schemas/regulator/regulator.yaml#
>> > unevaluatedProperties: false
>> >
>> > required:
>> > - regulator-name
>> > - regulator-enable-ramp-delay
>> > - regulator-min-microvolt
>> > - regulator-max-microvolt
>> >
>> > "^V(WLAN1|WLAN2|SIM|SIMCARD|VIB|USB|AUDIO)$":
>> > type: object
>> > $ref: /schemas/regulator/regulator.yaml#
>> > unevaluatedProperties: false
>> >
>> > required:
>> > - regulator-name
>> > - regulator-enable-ramp-delay
>> > - regulator-min-microvolt
>> > - regulator-max-microvolt
>> >
>> > Will this be acceptable? It passes checks
>>
>> I think we would rather have the long match string instead of
>> repeating the rest of it multiple times.
>
>Yes.
>
>105 chars:
>
> "^(SW[1-6]|V(CAM|CSI|DAC|DIG|FUSE|HVIO|SDIO|PLL|RF[12]|RFREF|WLAN[12]|SIM|SIMCARD|VIB|USB|AUDIO))$":
>
>There is the yamllint of 110 which does have to be followed.
>
Amazing! Thank you both for your suggestions.
>Rob
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 10/11] mfd: motorola-cpcap: diverge configuration per-board
2026-02-08 15:19 ` Svyatoslav Ryhel
@ 2026-02-09 8:18 ` Andy Shevchenko
2026-02-09 8:42 ` Svyatoslav Ryhel
0 siblings, 1 reply; 40+ messages in thread
From: Andy Shevchenko @ 2026-02-09 8:18 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On Sun, Feb 08, 2026 at 05:19:49PM +0200, Svyatoslav Ryhel wrote:
> 8 лютого 2026 р. 14:54:53 GMT+02:00, Andy Shevchenko <andriy.shevchenko@intel.com> пише:
> >On Fri, Feb 06, 2026 at 07:28:44PM +0200, Svyatoslav Ryhel wrote:
...
> >> -static const struct of_device_id cpcap_of_match[] = {
> >> - { .compatible = "motorola,cpcap", },
> >> - { .compatible = "st,6556002", },
> >> - {},
> >> -};
> >> -MODULE_DEVICE_TABLE(of, cpcap_of_match);
> >> -
> >> static const struct spi_device_id cpcap_spi_ids[] = {
> >> { .name = "cpcap", },
> >> { .name = "6556002", },
> >> + { .name = "mapphone-cpcap", },
> >> {},
> >> };
> >
> >This also needs to be converted to use driver data.
>
> I can do that, but is it needed?
For the consistency's sake.
Also brief look at MFD SPI drivers I see that most of them use driver data.
All that is redundancy? Maybe clean them up as well to show the point?
> This id table, if I understand correctly, is here solely to silence warnings
> about missing spi id table. Driver itself does not use it in any way and will
> never use since all available devices that use this driver rely solely on the
> device tree, all possible future devices will be relying on device tree too
> due to obvious reasons.
Then maybe SPI should be fixed to avoid this table to be present? (But don't
waste your time, it will be a rabbit hole.)
> >> MODULE_DEVICE_TABLE(spi, cpcap_spi_ids);
...
> And please, may you contain all your reviewing in one iteration. Then both of
> us will spend less time working on the patch. Thank you!
It's an impossible request, you should understand that. If you want, use AI
or your robot colleagues for that, I'm just a human being, I can't see
everything at once.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 10/11] mfd: motorola-cpcap: diverge configuration per-board
2026-02-09 8:18 ` Andy Shevchenko
@ 2026-02-09 8:42 ` Svyatoslav Ryhel
2026-02-09 8:55 ` Andy Shevchenko
0 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-09 8:42 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
9 лютого 2026 р. 10:18:57 GMT+02:00, Andy Shevchenko <andriy.shevchenko@intel.com> пише:
>On Sun, Feb 08, 2026 at 05:19:49PM +0200, Svyatoslav Ryhel wrote:
>> 8 лютого 2026 р. 14:54:53 GMT+02:00, Andy Shevchenko <andriy.shevchenko@intel.com> пише:
>> >On Fri, Feb 06, 2026 at 07:28:44PM +0200, Svyatoslav Ryhel wrote:
>
>...
>
>> >> -static const struct of_device_id cpcap_of_match[] = {
>> >> - { .compatible = "motorola,cpcap", },
>> >> - { .compatible = "st,6556002", },
>> >> - {},
>> >> -};
>> >> -MODULE_DEVICE_TABLE(of, cpcap_of_match);
>> >> -
>> >> static const struct spi_device_id cpcap_spi_ids[] = {
>> >> { .name = "cpcap", },
>> >> { .name = "6556002", },
>> >> + { .name = "mapphone-cpcap", },
>> >> {},
>> >> };
>> >
>> >This also needs to be converted to use driver data.
>>
>> I can do that, but is it needed?
>
>For the consistency's sake.
>Also brief look at MFD SPI drivers I see that most of them use driver data.
>All that is redundancy? Maybe clean them up as well to show the point?
>
>> This id table, if I understand correctly, is here solely to silence warnings
>> about missing spi id table. Driver itself does not use it in any way and will
>> never use since all available devices that use this driver rely solely on the
>> device tree, all possible future devices will be relying on device tree too
>> due to obvious reasons.
>
>Then maybe SPI should be fixed to avoid this table to be present? (But don't
>waste your time, it will be a rabbit hole.)
>
>> >> MODULE_DEVICE_TABLE(spi, cpcap_spi_ids);
>
>...
>
>> And please, may you contain all your reviewing in one iteration. Then both of
>> us will spend less time working on the patch. Thank you!
>
>It's an impossible request, you should understand that. If you want, use AI
>or your robot colleagues for that, I'm just a human being, I can't see
>everything at once.
>
Ability to see only nits and don't see the possible issues seems to be a talent.
>
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 10/11] mfd: motorola-cpcap: diverge configuration per-board
2026-02-09 8:42 ` Svyatoslav Ryhel
@ 2026-02-09 8:55 ` Andy Shevchenko
2026-02-09 9:06 ` Svyatoslav Ryhel
0 siblings, 1 reply; 40+ messages in thread
From: Andy Shevchenko @ 2026-02-09 8:55 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On Mon, Feb 09, 2026 at 10:42:02AM +0200, Svyatoslav Ryhel wrote:
> 9 лютого 2026 р. 10:18:57 GMT+02:00, Andy Shevchenko <andriy.shevchenko@intel.com> пише:
> >On Sun, Feb 08, 2026 at 05:19:49PM +0200, Svyatoslav Ryhel wrote:
> >> 8 лютого 2026 р. 14:54:53 GMT+02:00, Andy Shevchenko <andriy.shevchenko@intel.com> пише:
> >> >On Fri, Feb 06, 2026 at 07:28:44PM +0200, Svyatoslav Ryhel wrote:
...
> >> And please, may you contain all your reviewing in one iteration. Then both of
> >> us will spend less time working on the patch. Thank you!
> >
> >It's an impossible request, you should understand that. If you want, use AI
> >or your robot colleagues for that, I'm just a human being, I can't see
> >everything at once.
>
> Ability to see only nits and don't see the possible issues seems to be a talent.
Paying respect to the reviewers requires some talent, indeed.
...
Also, train your logic a bit, why do humans have so many professions? According
to your "logic" one should be a doctor and a cook and a programmer. Why not?
Or even closer to this case, a doctor must be a surgeon, a dentist, a therapist,
and you name it. Why not?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 10/11] mfd: motorola-cpcap: diverge configuration per-board
2026-02-09 8:55 ` Andy Shevchenko
@ 2026-02-09 9:06 ` Svyatoslav Ryhel
2026-02-09 10:27 ` Andy Shevchenko
0 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-09 9:06 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
пн, 9 лют. 2026 р. о 10:55 Andy Shevchenko <andriy.shevchenko@intel.com> пише:
>
> On Mon, Feb 09, 2026 at 10:42:02AM +0200, Svyatoslav Ryhel wrote:
> > 9 лютого 2026 р. 10:18:57 GMT+02:00, Andy Shevchenko <andriy.shevchenko@intel.com> пише:
> > >On Sun, Feb 08, 2026 at 05:19:49PM +0200, Svyatoslav Ryhel wrote:
> > >> 8 лютого 2026 р. 14:54:53 GMT+02:00, Andy Shevchenko <andriy.shevchenko@intel.com> пише:
> > >> >On Fri, Feb 06, 2026 at 07:28:44PM +0200, Svyatoslav Ryhel wrote:
>
> ...
>
> > >> And please, may you contain all your reviewing in one iteration. Then both of
> > >> us will spend less time working on the patch. Thank you!
> > >
> > >It's an impossible request, you should understand that. If you want, use AI
> > >or your robot colleagues for that, I'm just a human being, I can't see
> > >everything at once.
> >
> > Ability to see only nits and don't see the possible issues seems to be a talent.
>
> Paying respect to the reviewers requires some talent, indeed.
>
> ...
>
> Also, train your logic a bit, why do humans have so many professions? According
> to your "logic" one should be a doctor and a cook and a programmer. Why not?
>
> Or even closer to this case, a doctor must be a surgeon, a dentist, a therapist,
> and you name it. Why not?
>
If seems that my expectations were too high. Apologies, my mistake. I
will keep in mind to spare you from wasting your time on reviewing my
patches in the future.
Regards.
> --
> With Best Regards,
> Andy Shevchenko
>
>
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 10/11] mfd: motorola-cpcap: diverge configuration per-board
2026-02-09 9:06 ` Svyatoslav Ryhel
@ 2026-02-09 10:27 ` Andy Shevchenko
0 siblings, 0 replies; 40+ messages in thread
From: Andy Shevchenko @ 2026-02-09 10:27 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov,
Lee Jones, Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On Mon, Feb 09, 2026 at 11:06:54AM +0200, Svyatoslav Ryhel wrote:
> пн, 9 лют. 2026 р. о 10:55 Andy Shevchenko <andriy.shevchenko@intel.com> пише:
> > On Mon, Feb 09, 2026 at 10:42:02AM +0200, Svyatoslav Ryhel wrote:
> > > 9 лютого 2026 р. 10:18:57 GMT+02:00, Andy Shevchenko <andriy.shevchenko@intel.com> пише:
> > > >On Sun, Feb 08, 2026 at 05:19:49PM +0200, Svyatoslav Ryhel wrote:
> > > >> 8 лютого 2026 р. 14:54:53 GMT+02:00, Andy Shevchenko <andriy.shevchenko@intel.com> пише:
> > > >> >On Fri, Feb 06, 2026 at 07:28:44PM +0200, Svyatoslav Ryhel wrote:
...
> > > >> And please, may you contain all your reviewing in one iteration. Then both of
> > > >> us will spend less time working on the patch. Thank you!
> > > >
> > > >It's an impossible request, you should understand that. If you want, use AI
> > > >or your robot colleagues for that, I'm just a human being, I can't see
> > > >everything at once.
> > >
> > > Ability to see only nits and don't see the possible issues seems to be a talent.
> >
> > Paying respect to the reviewers requires some talent, indeed.
...
> > Also, train your logic a bit, why do humans have so many professions? According
> > to your "logic" one should be a doctor and a cook and a programmer. Why not?
> >
> > Or even closer to this case, a doctor must be a surgeon, a dentist, a therapist,
> > and you name it. Why not?
>
> If seems that my expectations were too high. Apologies, my mistake. I
> will keep in mind to spare you from wasting your time on reviewing my
> patches in the future.
Yeah, I agree, I think the AI approach to your excellent and mistake-less code
can be applied with a better outcome.
...
Currently your code needs some work, sorry.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 02/11] dt-bindings: regulator: cpcap-regulator: document Mot regulator
2026-02-06 17:28 ` [PATCH v2 02/11] dt-bindings: regulator: cpcap-regulator: document Mot regulator Svyatoslav Ryhel
@ 2026-02-11 21:13 ` Rob Herring (Arm)
0 siblings, 0 replies; 40+ messages in thread
From: Rob Herring (Arm) @ 2026-02-11 21:13 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: linux-input, David Lechner, Lee Jones, Mark Brown, linux-kernel,
linux-leds, Dmitry Torokhov, Tony Lindgren, Nuno Sá,
devicetree, Dixit Parmar, Krzysztof Kozlowski, Andy Shevchenko,
Conor Dooley, Jonathan Cameron, Pavel Machek, linux-iio,
Liam Girdwood
On Fri, 06 Feb 2026 19:28:36 +0200, Svyatoslav Ryhel wrote:
> Document regulator composition used by the CPCAP of Tegra20 Mot board,
> that is a base for Atrix 4G and Droid X2.
>
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> ---
> .../devicetree/bindings/regulator/motorola,cpcap-regulator.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 08/11] dt-bindings: mfd: motorola-cpcap: convert to DT schema
2026-02-06 17:28 ` [PATCH v2 08/11] dt-bindings: mfd: motorola-cpcap: " Svyatoslav Ryhel
@ 2026-02-11 21:20 ` Rob Herring
2026-02-12 5:30 ` Svyatoslav Ryhel
0 siblings, 1 reply; 40+ messages in thread
From: Rob Herring @ 2026-02-11 21:20 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On Fri, Feb 06, 2026 at 07:28:42PM +0200, Svyatoslav Ryhel wrote:
> Convert devicetree bindings for the Motorola CPCAP MFD from TXT to YAML.
>
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> ---
> .../bindings/mfd/motorola,cpcap.yaml | 411 ++++++++++++++++++
> .../bindings/mfd/motorola-cpcap.txt | 78 ----
> 2 files changed, 411 insertions(+), 78 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
> delete mode 100644 Documentation/devicetree/bindings/mfd/motorola-cpcap.txt
>
> diff --git a/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
> new file mode 100644
> index 000000000000..7e350721d9f6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
> @@ -0,0 +1,411 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/motorola,cpcap.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Motorola CPCAP PMIC MFD
> +
> +maintainers:
> + - Svyatoslav Ryhel <clamor95@gmail.com>
> +
> +allOf:
> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - motorola,cpcap
> + - st,6556002
This does not match the only user in the kernel .dts files as
"st,6556002" should be a fallback.
Rob
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 08/11] dt-bindings: mfd: motorola-cpcap: convert to DT schema
2026-02-11 21:20 ` Rob Herring
@ 2026-02-12 5:30 ` Svyatoslav Ryhel
2026-02-12 20:19 ` Rob Herring
0 siblings, 1 reply; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-12 5:30 UTC (permalink / raw)
To: Rob Herring
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
11 лютого 2026 р. 23:20:16 GMT+02:00, Rob Herring <robh@kernel.org> пише:
>On Fri, Feb 06, 2026 at 07:28:42PM +0200, Svyatoslav Ryhel wrote:
>> Convert devicetree bindings for the Motorola CPCAP MFD from TXT to YAML.
>>
>> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
>> ---
>> .../bindings/mfd/motorola,cpcap.yaml | 411 ++++++++++++++++++
>> .../bindings/mfd/motorola-cpcap.txt | 78 ----
>> 2 files changed, 411 insertions(+), 78 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
>> delete mode 100644 Documentation/devicetree/bindings/mfd/motorola-cpcap.txt
>>
>> diff --git a/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
>> new file mode 100644
>> index 000000000000..7e350721d9f6
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
>> @@ -0,0 +1,411 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/mfd/motorola,cpcap.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Motorola CPCAP PMIC MFD
>> +
>> +maintainers:
>> + - Svyatoslav Ryhel <clamor95@gmail.com>
>> +
>> +allOf:
>> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - motorola,cpcap
>> + - st,6556002
>
>This does not match the only user in the kernel .dts files as
>"st,6556002" should be a fallback.
>
Honestly, I would remove st,6556002 since it is not the only cpcap model which can be used, hence it cannot serve as a universal fallback. Some devices use ST produced cpcap chips, others use TI and range of models varies too. I guess I have to multiply commits
>Rob
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 08/11] dt-bindings: mfd: motorola-cpcap: convert to DT schema
2026-02-12 5:30 ` Svyatoslav Ryhel
@ 2026-02-12 20:19 ` Rob Herring
2026-02-13 7:23 ` Svyatoslav Ryhel
0 siblings, 1 reply; 40+ messages in thread
From: Rob Herring @ 2026-02-12 20:19 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On Wed, Feb 11, 2026 at 11:30 PM Svyatoslav Ryhel <clamor95@gmail.com> wrote:
>
>
>
> 11 лютого 2026 р. 23:20:16 GMT+02:00, Rob Herring <robh@kernel.org> пише:
> >On Fri, Feb 06, 2026 at 07:28:42PM +0200, Svyatoslav Ryhel wrote:
> >> Convert devicetree bindings for the Motorola CPCAP MFD from TXT to YAML.
> >>
> >> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> >> ---
> >> .../bindings/mfd/motorola,cpcap.yaml | 411 ++++++++++++++++++
> >> .../bindings/mfd/motorola-cpcap.txt | 78 ----
> >> 2 files changed, 411 insertions(+), 78 deletions(-)
> >> create mode 100644 Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
> >> delete mode 100644 Documentation/devicetree/bindings/mfd/motorola-cpcap.txt
> >>
> >> diff --git a/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
> >> new file mode 100644
> >> index 000000000000..7e350721d9f6
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
> >> @@ -0,0 +1,411 @@
> >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> >> +%YAML 1.2
> >> +---
> >> +$id: http://devicetree.org/schemas/mfd/motorola,cpcap.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: Motorola CPCAP PMIC MFD
> >> +
> >> +maintainers:
> >> + - Svyatoslav Ryhel <clamor95@gmail.com>
> >> +
> >> +allOf:
> >> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
> >> +
> >> +properties:
> >> + compatible:
> >> + enum:
> >> + - motorola,cpcap
> >> + - st,6556002
> >
> >This does not match the only user in the kernel .dts files as
> >"st,6556002" should be a fallback.
> >
>
> Honestly, I would remove st,6556002 since it is not the only cpcap model which can be used, hence it cannot serve as a universal fallback. Some devices use ST produced cpcap chips, others use TI and range of models varies too. I guess I have to multiply commits.
The "cap" name goes way back to at least 2G Motorola phones. There
were whitecap and redcap chips for different 2G technologies which got
replaced by patriot (red+white+blue I guess) for 2.5G.
Dropping is fine with me, but then you have to update the .dtsi. If it
was me, I'd just make the binding match because that's 1 patch instead
of 2. You can still drop it on the new compatibles you are adding.
Rob
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 08/11] dt-bindings: mfd: motorola-cpcap: convert to DT schema
2026-02-12 20:19 ` Rob Herring
@ 2026-02-13 7:23 ` Svyatoslav Ryhel
0 siblings, 0 replies; 40+ messages in thread
From: Svyatoslav Ryhel @ 2026-02-13 7:23 UTC (permalink / raw)
To: Rob Herring
Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
чт, 12 лют. 2026 р. о 22:19 Rob Herring <robh@kernel.org> пише:
>
> On Wed, Feb 11, 2026 at 11:30 PM Svyatoslav Ryhel <clamor95@gmail.com> wrote:
> >
> >
> >
> > 11 лютого 2026 р. 23:20:16 GMT+02:00, Rob Herring <robh@kernel.org> пише:
> > >On Fri, Feb 06, 2026 at 07:28:42PM +0200, Svyatoslav Ryhel wrote:
> > >> Convert devicetree bindings for the Motorola CPCAP MFD from TXT to YAML.
> > >>
> > >> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> > >> ---
> > >> .../bindings/mfd/motorola,cpcap.yaml | 411 ++++++++++++++++++
> > >> .../bindings/mfd/motorola-cpcap.txt | 78 ----
> > >> 2 files changed, 411 insertions(+), 78 deletions(-)
> > >> create mode 100644 Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
> > >> delete mode 100644 Documentation/devicetree/bindings/mfd/motorola-cpcap.txt
> > >>
> > >> diff --git a/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
> > >> new file mode 100644
> > >> index 000000000000..7e350721d9f6
> > >> --- /dev/null
> > >> +++ b/Documentation/devicetree/bindings/mfd/motorola,cpcap.yaml
> > >> @@ -0,0 +1,411 @@
> > >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > >> +%YAML 1.2
> > >> +---
> > >> +$id: http://devicetree.org/schemas/mfd/motorola,cpcap.yaml#
> > >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > >> +
> > >> +title: Motorola CPCAP PMIC MFD
> > >> +
> > >> +maintainers:
> > >> + - Svyatoslav Ryhel <clamor95@gmail.com>
> > >> +
> > >> +allOf:
> > >> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
> > >> +
> > >> +properties:
> > >> + compatible:
> > >> + enum:
> > >> + - motorola,cpcap
> > >> + - st,6556002
> > >
> > >This does not match the only user in the kernel .dts files as
> > >"st,6556002" should be a fallback.
> > >
> >
> > Honestly, I would remove st,6556002 since it is not the only cpcap model which can be used, hence it cannot serve as a universal fallback. Some devices use ST produced cpcap chips, others use TI and range of models varies too. I guess I have to multiply commits.
>
> The "cap" name goes way back to at least 2G Motorola phones. There
> were whitecap and redcap chips for different 2G technologies which got
> replaced by patriot (red+white+blue I guess) for 2.5G.
>
> Dropping is fine with me, but then you have to update the .dtsi. If it
> was me, I'd just make the binding match because that's 1 patch instead
> of 2. You can still drop it on the new compatibles you are adding.
>
Yeah, you are right. I will preserve st,6556002 fallback for
motorola,cpcap while Mapphone and Mot would not require this fallback.
Thank you for suggestion and for the cpcap's origin.
> Rob
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 05/11] iio: adc: cpcap-adc: add support for Mot ADC
2026-02-07 13:55 ` Jonathan Cameron
@ 2026-03-03 21:27 ` Jonathan Cameron
0 siblings, 0 replies; 40+ messages in thread
From: Jonathan Cameron @ 2026-03-03 21:27 UTC (permalink / raw)
To: Svyatoslav Ryhel
Cc: David Lechner, Nuno Sá, Andy Shevchenko, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dmitry Torokhov, Lee Jones,
Pavel Machek, Liam Girdwood, Mark Brown, Dixit Parmar,
Tony Lindgren, linux-iio, devicetree, linux-kernel, linux-input,
linux-leds
On Sat, 7 Feb 2026 13:55:55 +0000
Jonathan Cameron <jic23@kernel.org> wrote:
> On Fri, 6 Feb 2026 19:28:39 +0200
> Svyatoslav Ryhel <clamor95@gmail.com> wrote:
>
> > Add support for ADC found in Motorola Mot board, used as a base for
> > Atrix 4G and Droid X2 smartphones.
> >
> > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> Applied to the testing branch of iio.git.
FWIW I messed up my trees, and lost this for a bit, it's there now though!
^ permalink raw reply [flat|nested] 40+ messages in thread
end of thread, other threads:[~2026-03-03 21:27 UTC | newest]
Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-06 17:28 [PATCH v2 00/11] mfd: cpcap: convert documentation to schema and add Mot board support Svyatoslav Ryhel
2026-02-06 17:28 ` [PATCH v2 01/11] dt-bindings: regulator: cpcap-regulator: convert to DT schema Svyatoslav Ryhel
2026-02-06 22:58 ` Rob Herring (Arm)
2026-02-06 23:09 ` Rob Herring
2026-02-07 9:20 ` Svyatoslav Ryhel
2026-02-07 17:19 ` David Lechner
2026-02-07 17:25 ` Svyatoslav Ryhel
2026-02-07 17:32 ` David Lechner
2026-02-08 22:37 ` Rob Herring
2026-02-09 7:13 ` Svyatoslav Ryhel
2026-02-06 17:28 ` [PATCH v2 02/11] dt-bindings: regulator: cpcap-regulator: document Mot regulator Svyatoslav Ryhel
2026-02-11 21:13 ` Rob Herring (Arm)
2026-02-06 17:28 ` [PATCH v2 03/11] regulator: cpcap-regulator: add support for Mot regulators Svyatoslav Ryhel
2026-02-06 17:28 ` [PATCH v2 04/11] dt-bindings: iio: adc: cpcap-adc: document Mot ADC Svyatoslav Ryhel
2026-02-07 13:55 ` Jonathan Cameron
2026-02-06 17:28 ` [PATCH v2 05/11] iio: adc: cpcap-adc: add support for " Svyatoslav Ryhel
2026-02-07 13:55 ` Jonathan Cameron
2026-03-03 21:27 ` Jonathan Cameron
2026-02-06 17:28 ` [PATCH v2 06/11] dt-bindings: leds: leds-cpcap: convert to DT schema Svyatoslav Ryhel
2026-02-06 22:58 ` Rob Herring (Arm)
2026-02-06 17:28 ` [PATCH v2 07/11] dt-bindings: input: cpcap-pwrbutton: " Svyatoslav Ryhel
2026-02-06 22:58 ` Rob Herring (Arm)
2026-02-06 17:28 ` [PATCH v2 08/11] dt-bindings: mfd: motorola-cpcap: " Svyatoslav Ryhel
2026-02-11 21:20 ` Rob Herring
2026-02-12 5:30 ` Svyatoslav Ryhel
2026-02-12 20:19 ` Rob Herring
2026-02-13 7:23 ` Svyatoslav Ryhel
2026-02-06 17:28 ` [PATCH v2 09/11] dt-bindings: mfd: motorola-cpcap: document Mapphone and Mot CPCAP Svyatoslav Ryhel
2026-02-06 17:28 ` [PATCH v2 10/11] mfd: motorola-cpcap: diverge configuration per-board Svyatoslav Ryhel
2026-02-08 12:54 ` Andy Shevchenko
2026-02-08 15:19 ` Svyatoslav Ryhel
2026-02-09 8:18 ` Andy Shevchenko
2026-02-09 8:42 ` Svyatoslav Ryhel
2026-02-09 8:55 ` Andy Shevchenko
2026-02-09 9:06 ` Svyatoslav Ryhel
2026-02-09 10:27 ` Andy Shevchenko
2026-02-06 17:28 ` [PATCH v2 11/11] mfd: motorola-cpcap: add support for Mot CPCAP composition Svyatoslav Ryhel
2026-02-08 12:56 ` Andy Shevchenko
2026-02-08 14:41 ` Svyatoslav Ryhel
2026-02-08 14:48 ` Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox