.../bindings/iio/adc/sprd,sc2720-adc.yaml | 17 -- .../bindings/leds/sprd,sc2731-bltc.yaml | 31 --- .../devicetree/bindings/mfd/sprd,sc2731.yaml | 244 ++++++++++++++++++ .../bindings/mfd/sprd,sc27xx-pmic.txt | 40 --- .../bindings/nvmem/sprd,sc2731-efuse.yaml | 29 --- .../bindings/power/supply/sc2731-charger.yaml | 21 +- .../bindings/power/supply/sc27xx-fg.yaml | 38 +-- .../regulator/sprd,sc2731-regulator.yaml | 21 -- .../bindings/rtc/sprd,sc2731-rtc.yaml | 16 -- 9 files changed, 246 insertions(+), 211 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/sprd,sc2731.yaml delete mode 100644 Documentation/devicetree/bindings/mfd/sprd,sc27xx-pmic.txt
Convert the Spreadtrum SC27xx PMIC bindings to DT schema. Adjust the
filename to match the compatible of the only in-tree user, SC2731.
Change #interrupt-cells value to 1, as according to [1] that is the
correct value.
Move partial examples of child nodes in the child node schemas to this new
MFD schema to have one complete example.
[1] https://lore.kernel.org/lkml/b6a32917d1e231277d240a4084bebb6ad91247e3.1550060544.git.baolin.wang@linaro.org/
Signed-off-by: Stanislav Jakubek <stano.jakubek@gmail.com>
---
Changes in V2:
- rebase on next-20241029
- drop partial examples in child node schemas, move them here (Rob)
Link to V1: https://lore.kernel.org/lkml/Zr3X1RoQs7ElTnlJ@standask-GA-A55M-S2HP/
.../bindings/iio/adc/sprd,sc2720-adc.yaml | 17 --
.../bindings/leds/sprd,sc2731-bltc.yaml | 31 ---
.../devicetree/bindings/mfd/sprd,sc2731.yaml | 244 ++++++++++++++++++
.../bindings/mfd/sprd,sc27xx-pmic.txt | 40 ---
.../bindings/nvmem/sprd,sc2731-efuse.yaml | 29 ---
.../bindings/power/supply/sc2731-charger.yaml | 21 +-
.../bindings/power/supply/sc27xx-fg.yaml | 38 +--
.../regulator/sprd,sc2731-regulator.yaml | 21 --
.../bindings/rtc/sprd,sc2731-rtc.yaml | 16 --
9 files changed, 246 insertions(+), 211 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/sprd,sc2731.yaml
delete mode 100644 Documentation/devicetree/bindings/mfd/sprd,sc27xx-pmic.txt
diff --git a/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml b/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
index 8181cf9a8e07..a678323d78e3 100644
--- a/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
@@ -80,23 +80,6 @@ required:
additionalProperties: false
examples:
- - |
- #include <dt-bindings/interrupt-controller/irq.h>
- pmic {
- #address-cells = <1>;
- #size-cells = <0>;
- adc@480 {
- compatible = "sprd,sc2731-adc";
- reg = <0x480>;
- interrupt-parent = <&sc2731_pmic>;
- interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
- #io-channel-cells = <1>;
- hwlocks = <&hwlock 4>;
- nvmem-cells = <&adc_big_scale>, <&adc_small_scale>;
- nvmem-cell-names = "big_scale_calib", "small_scale_calib";
- };
- };
-
- |
#include <dt-bindings/interrupt-controller/irq.h>
pmic {
diff --git a/Documentation/devicetree/bindings/leds/sprd,sc2731-bltc.yaml b/Documentation/devicetree/bindings/leds/sprd,sc2731-bltc.yaml
index 5853410c7a45..97535d6dc47a 100644
--- a/Documentation/devicetree/bindings/leds/sprd,sc2731-bltc.yaml
+++ b/Documentation/devicetree/bindings/leds/sprd,sc2731-bltc.yaml
@@ -50,35 +50,4 @@ required:
- '#size-cells'
additionalProperties: false
-
-examples:
- - |
- #include <dt-bindings/leds/common.h>
-
- pmic {
- #address-cells = <1>;
- #size-cells = <0>;
-
- led-controller@200 {
- compatible = "sprd,sc2731-bltc";
- reg = <0x200>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- led@0 {
- reg = <0x0>;
- color = <LED_COLOR_ID_RED>;
- };
-
- led@1 {
- reg = <0x1>;
- color = <LED_COLOR_ID_GREEN>;
- };
-
- led@2 {
- reg = <0x2>;
- color = <LED_COLOR_ID_BLUE>;
- };
- };
- };
...
diff --git a/Documentation/devicetree/bindings/mfd/sprd,sc2731.yaml b/Documentation/devicetree/bindings/mfd/sprd,sc2731.yaml
new file mode 100644
index 000000000000..bd5f2504b44b
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/sprd,sc2731.yaml
@@ -0,0 +1,244 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/sprd,sc2731.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Spreadtrum SC27xx PMIC
+
+maintainers:
+ - Orson Zhai <orsonzhai@gmail.com>
+ - Baolin Wang <baolin.wang7@gmail.com>
+ - Chunyan Zhang <zhang.lyra@gmail.com>
+
+description: |
+ Spreadtrum PMICs belonging to the SC27xx series integrate all mobile handset
+ power management, audio codec, battery management and user interface support
+ functions in a single chip. They have 6 major functional blocks:
+ - DCDCs to support CPU, memory
+ - LDOs to support both internal and external requirements
+ - Battery management system, such as charger, fuel gauge
+ - Audio codec
+ - User interface functions, such as indicator, flash LED and so on
+ - IC level interface, such as power on/off control, RTC, typec and so on
+
+properties:
+ $nodename:
+ pattern: '^pmic@[0-9a-f]+$'
+
+ compatible:
+ enum:
+ - sprd,sc2720
+ - sprd,sc2721
+ - sprd,sc2723
+ - sprd,sc2730
+ - sprd,sc2731
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ interrupt-controller: true
+ spi-max-frequency: true
+
+ '#address-cells':
+ const: 1
+
+ '#interrupt-cells':
+ const: 1
+
+ '#size-cells':
+ const: 0
+
+ regulators:
+ type: object
+ $ref: /schemas/regulator/sprd,sc2731-regulator.yaml#
+
+patternProperties:
+ "^adc@[0-9a-f]+$":
+ type: object
+ $ref: /schemas/iio/adc/sprd,sc2720-adc.yaml#
+
+ "^charger@[0-9a-f]+$":
+ type: object
+ $ref: /schemas/power/supply/sc2731-charger.yaml#
+
+ "^efuse@[0-9a-f]+$":
+ type: object
+ $ref: /schemas/nvmem/sprd,sc2731-efuse.yaml#
+
+ "^fuel-gauge@[0-9a-f]+$":
+ type: object
+ $ref: /schemas/power/supply/sc27xx-fg.yaml#
+
+ "^gpio@[0-9a-f]+$":
+ type: object
+ $ref: /schemas/gpio/sprd,gpio-eic.yaml#
+
+ "^led-controller@[0-9a-f]+$":
+ type: object
+ $ref: /schemas/leds/sprd,sc2731-bltc.yaml#
+
+ "^rtc@[0-9a-f]+$":
+ type: object
+ $ref: /schemas/rtc/sprd,sc2731-rtc.yaml#
+
+ "^vibrator@[0-9a-f]+$":
+ type: object
+ $ref: /schemas/input/sprd,sc27xx-vibrator.yaml#
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-controller
+ - spi-max-frequency
+ - '#address-cells'
+ - '#interrupt-cells'
+ - '#size-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/leds/common.h>
+
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ sc2731_pmic: pmic@0 {
+ compatible = "sprd,sc2731";
+ reg = <0>;
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-controller;
+ spi-max-frequency = <26000000>;
+ #address-cells = <1>;
+ #interrupt-cells = <1>;
+ #size-cells = <0>;
+
+ charger@0 {
+ compatible = "sprd,sc2731-charger";
+ reg = <0x0>;
+ phys = <&ssphy>;
+ monitored-battery = <&bat>;
+ };
+
+ led-controller@200 {
+ compatible = "sprd,sc2731-bltc";
+ reg = <0x200>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ led@0 {
+ reg = <0x0>;
+ color = <LED_COLOR_ID_RED>;
+ };
+
+ led@1 {
+ reg = <0x1>;
+ color = <LED_COLOR_ID_GREEN>;
+ };
+
+ led@2 {
+ reg = <0x2>;
+ color = <LED_COLOR_ID_BLUE>;
+ };
+ };
+
+ rtc@280 {
+ compatible = "sprd,sc2731-rtc";
+ reg = <0x280>;
+ interrupt-parent = <&sc2731_pmic>;
+ interrupts = <2>;
+ };
+
+ pmic_eic: gpio@300 {
+ compatible = "sprd,sc2731-eic";
+ reg = <0x300>;
+ interrupt-parent = <&sc2731_pmic>;
+ interrupts = <5>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ efuse@380 {
+ compatible = "sprd,sc2731-efuse";
+ reg = <0x380>;
+ hwlocks = <&hwlock 12>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ /* Data cells */
+ fgu_calib: calib@6 {
+ reg = <0x6 0x2>;
+ bits = <0 9>;
+ };
+
+ adc_big_scale: calib@24 {
+ reg = <0x24 0x2>;
+ };
+
+ adc_small_scale: calib@26 {
+ reg = <0x26 0x2>;
+ };
+ };
+
+ adc@480 {
+ compatible = "sprd,sc2731-adc";
+ reg = <0x480>;
+ interrupt-parent = <&sc2731_pmic>;
+ interrupts = <0>;
+ #io-channel-cells = <1>;
+ hwlocks = <&hwlock 4>;
+ nvmem-cells = <&adc_big_scale>, <&adc_small_scale>;
+ nvmem-cell-names = "big_scale_calib", "small_scale_calib";
+ };
+
+ fuel-gauge@a00 {
+ compatible = "sprd,sc2731-fgu";
+ reg = <0xa00>;
+ battery-detect-gpios = <&pmic_eic 9 GPIO_ACTIVE_HIGH>;
+ interrupt-parent = <&sc2731_pmic>;
+ interrupts = <4>;
+ io-channels = <&pmic_adc 5>, <&pmic_adc 14>;
+ io-channel-names = "bat-temp", "charge-vol";
+ nvmem-cells = <&fgu_calib>;
+ nvmem-cell-names = "fgu_calib";
+ monitored-battery = <&bat>;
+ sprd,calib-resistance-micro-ohms = <21500>;
+ };
+
+ vibrator@ec8 {
+ compatible = "sprd,sc2731-vibrator";
+ reg = <0xec8>;
+ };
+
+ regulators {
+ compatible = "sprd,sc2731-regulator";
+
+ BUCK_CPU0 {
+ regulator-name = "vddarm0";
+ regulator-min-microvolt = <400000>;
+ regulator-max-microvolt = <1996875>;
+ regulator-ramp-delay = <25000>;
+ regulator-always-on;
+ };
+
+ LDO_CAMA0 {
+ regulator-name = "vddcama0";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <3750000>;
+ regulator-enable-ramp-delay = <100>;
+ };
+ };
+ };
+ };
+...
diff --git a/Documentation/devicetree/bindings/mfd/sprd,sc27xx-pmic.txt b/Documentation/devicetree/bindings/mfd/sprd,sc27xx-pmic.txt
deleted file mode 100644
index 21b9a897fca5..000000000000
--- a/Documentation/devicetree/bindings/mfd/sprd,sc27xx-pmic.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Spreadtrum SC27xx Power Management Integrated Circuit (PMIC)
-
-The Spreadtrum SC27xx series PMICs contain SC2720, SC2721, SC2723, SC2730
-and SC2731. The Spreadtrum PMIC belonging to SC27xx series integrates all
-mobile handset power management, audio codec, battery management and user
-interface support function in a single chip. It has 6 major functional
-blocks:
-- DCDCs to support CPU, memory.
-- LDOs to support both internal and external requirement.
-- Battery management system, such as charger, fuel gauge.
-- Audio codec.
-- User interface function, such as indicator, flash LED and so on.
-- IC level interface, such as power on/off control, RTC and typec and so on.
-
-Required properties:
-- compatible: Should be one of the following:
- "sprd,sc2720"
- "sprd,sc2721"
- "sprd,sc2723"
- "sprd,sc2730"
- "sprd,sc2731"
-- reg: The address of the device chip select, should be 0.
-- spi-max-frequency: Typically set to 26000000.
-- 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 PMIC IRQ, must be 2.
-- #address-cells: Child device offset number of cells, must be 1.
-- #size-cells: Child device size number of cells, must be 0.
-
-Example:
-pmic@0 {
- compatible = "sprd,sc2731";
- reg = <0>;
- spi-max-frequency = <26000000>;
- interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-controller;
- #interrupt-cells = <2>;
- #address-cells = <1>;
- #size-cells = <0>;
-};
diff --git a/Documentation/devicetree/bindings/nvmem/sprd,sc2731-efuse.yaml b/Documentation/devicetree/bindings/nvmem/sprd,sc2731-efuse.yaml
index dc25fe3d1841..8672bde24a9b 100644
--- a/Documentation/devicetree/bindings/nvmem/sprd,sc2731-efuse.yaml
+++ b/Documentation/devicetree/bindings/nvmem/sprd,sc2731-efuse.yaml
@@ -36,33 +36,4 @@ allOf:
- $ref: nvmem-deprecated-cells.yaml#
unevaluatedProperties: false
-
-examples:
- - |
- pmic {
- #address-cells = <1>;
- #size-cells = <0>;
-
- efuse@380 {
- compatible = "sprd,sc2731-efuse";
- reg = <0x380>;
- hwlocks = <&hwlock 12>;
- #address-cells = <1>;
- #size-cells = <1>;
-
- /* Data cells */
- fgu_calib: calib@6 {
- reg = <0x6 0x2>;
- bits = <0 9>;
- };
-
- adc_big_scale: calib@24 {
- reg = <0x24 0x2>;
- };
-
- adc_small_scale: calib@26 {
- reg = <0x26 0x2>;
- };
- };
- };
...
diff --git a/Documentation/devicetree/bindings/power/supply/sc2731-charger.yaml b/Documentation/devicetree/bindings/power/supply/sc2731-charger.yaml
index a846a4d14ca9..f5aa72502b4e 100644
--- a/Documentation/devicetree/bindings/power/supply/sc2731-charger.yaml
+++ b/Documentation/devicetree/bindings/power/supply/sc2731-charger.yaml
@@ -30,23 +30,4 @@ properties:
- constant-charge-voltage-max-microvolt: maximum constant input voltage.
additionalProperties: false
-
-examples:
- - |
- bat: battery {
- compatible = "simple-battery";
- charge-term-current-microamp = <120000>;
- constant-charge-voltage-max-microvolt = <4350000>;
- };
-
- pmic {
- #address-cells = <1>;
- #size-cells = <0>;
-
- battery@a00 {
- compatible = "sprd,sc2731-charger";
- reg = <0x0>;
- phys = <&ssphy>;
- monitored-battery = <&bat>;
- };
- };
+...
diff --git a/Documentation/devicetree/bindings/power/supply/sc27xx-fg.yaml b/Documentation/devicetree/bindings/power/supply/sc27xx-fg.yaml
index 9108a2841caf..9495397c9269 100644
--- a/Documentation/devicetree/bindings/power/supply/sc27xx-fg.yaml
+++ b/Documentation/devicetree/bindings/power/supply/sc27xx-fg.yaml
@@ -65,40 +65,4 @@ required:
- monitored-battery
additionalProperties: false
-
-examples:
- - |
- #include <dt-bindings/gpio/gpio.h>
- bat: battery {
- compatible = "simple-battery";
- charge-full-design-microamp-hours = <1900000>;
- constant-charge-voltage-max-microvolt = <4350000>;
- ocv-capacity-celsius = <20>;
- ocv-capacity-table-0 = <4185000 100>, <4113000 95>, <4066000 90>,
- <4022000 85>, <3983000 80>, <3949000 75>,
- <3917000 70>, <3889000 65>, <3864000 60>,
- <3835000 55>, <3805000 50>, <3787000 45>,
- <3777000 40>, <3773000 35>, <3770000 30>,
- <3765000 25>, <3752000 20>, <3724000 15>,
- <3680000 10>, <3605000 5>, <3400000 0>;
- // ...
- };
-
- pmic {
- #address-cells = <1>;
- #size-cells = <0>;
-
- battery@a00 {
- compatible = "sprd,sc2731-fgu";
- reg = <0xa00>;
- battery-detect-gpios = <&pmic_eic 9 GPIO_ACTIVE_HIGH>;
- interrupt-parent = <&sc2731_pmic>;
- interrupts = <4>;
- io-channels = <&pmic_adc 5>, <&pmic_adc 14>;
- io-channel-names = "bat-temp", "charge-vol";
- nvmem-cells = <&fgu_calib>;
- nvmem-cell-names = "fgu_calib";
- monitored-battery = <&bat>;
- sprd,calib-resistance-micro-ohms = <21500>;
- };
- };
+...
diff --git a/Documentation/devicetree/bindings/regulator/sprd,sc2731-regulator.yaml b/Documentation/devicetree/bindings/regulator/sprd,sc2731-regulator.yaml
index ffb2924dde36..9bd752bab68e 100644
--- a/Documentation/devicetree/bindings/regulator/sprd,sc2731-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/sprd,sc2731-regulator.yaml
@@ -43,25 +43,4 @@ required:
- compatible
additionalProperties: false
-
-examples:
- - |
- regulators {
- compatible = "sprd,sc2731-regulator";
-
- BUCK_CPU0 {
- regulator-name = "vddarm0";
- regulator-min-microvolt = <400000>;
- regulator-max-microvolt = <1996875>;
- regulator-ramp-delay = <25000>;
- regulator-always-on;
- };
-
- LDO_CAMA0 {
- regulator-name = "vddcama0";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <3750000>;
- regulator-enable-ramp-delay = <100>;
- };
- };
...
diff --git a/Documentation/devicetree/bindings/rtc/sprd,sc2731-rtc.yaml b/Documentation/devicetree/bindings/rtc/sprd,sc2731-rtc.yaml
index f3d20e976965..5756f617df36 100644
--- a/Documentation/devicetree/bindings/rtc/sprd,sc2731-rtc.yaml
+++ b/Documentation/devicetree/bindings/rtc/sprd,sc2731-rtc.yaml
@@ -30,20 +30,4 @@ allOf:
- $ref: rtc.yaml#
unevaluatedProperties: false
-
-examples:
- - |
- #include <dt-bindings/interrupt-controller/irq.h>
-
- pmic {
- #address-cells = <1>;
- #size-cells = <0>;
-
- rtc@280 {
- compatible = "sprd,sc2731-rtc";
- reg = <0x280>;
- interrupt-parent = <&sc2731_pmic>;
- interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
- };
- };
...
--
2.43.0
On Tue, Oct 29, 2024 at 08:02:03PM +0100, Stanislav Jakubek wrote: Thank you for your patch. There is something to discuss/improve. > +description: | > + Spreadtrum PMICs belonging to the SC27xx series integrate all mobile handset > + power management, audio codec, battery management and user interface support > + functions in a single chip. They have 6 major functional blocks: > + - DCDCs to support CPU, memory > + - LDOs to support both internal and external requirements > + - Battery management system, such as charger, fuel gauge > + - Audio codec > + - User interface functions, such as indicator, flash LED and so on > + - IC level interface, such as power on/off control, RTC, typec and so on > + > +properties: > + $nodename: > + pattern: '^pmic@[0-9a-f]+$' > + > + compatible: > + enum: > + - sprd,sc2720 > + - sprd,sc2721 > + - sprd,sc2723 > + - sprd,sc2730 > + - sprd,sc2731 > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + interrupt-controller: true > + spi-max-frequency: true This means: 1. You forgot to ref spi-peripheral-props 2. This is not needed and use use unevaluatedProperties: false. Just like all SPI devices. Unless this is not SPI? > + > + '#address-cells': > + const: 1 > + > + '#interrupt-cells': > + const: 1 > + > + '#size-cells': > + const: 0 > + > + regulators: > + type: object > + $ref: /schemas/regulator/sprd,sc2731-regulator.yaml# > + > +patternProperties: > + "^adc@[0-9a-f]+$": > + type: object > + $ref: /schemas/iio/adc/sprd,sc2720-adc.yaml# > + > + "^charger@[0-9a-f]+$": > + type: object > + $ref: /schemas/power/supply/sc2731-charger.yaml# > + > + "^efuse@[0-9a-f]+$": > + type: object > + $ref: /schemas/nvmem/sprd,sc2731-efuse.yaml# I don't think this was merged. You still have dependency. Try yourself - apply this patch on the maintainers tree and test it. You can solve it by listing here compatibles and additionalProperties: true (see Qcom mdss bindings) > + > + "^fuel-gauge@[0-9a-f]+$": > + type: object > + $ref: /schemas/power/supply/sc27xx-fg.yaml# > + > + "^gpio@[0-9a-f]+$": > + type: object > + $ref: /schemas/gpio/sprd,gpio-eic.yaml# > + > + "^led-controller@[0-9a-f]+$": > + type: object > + $ref: /schemas/leds/sprd,sc2731-bltc.yaml# > + > + "^rtc@[0-9a-f]+$": > + type: object > + $ref: /schemas/rtc/sprd,sc2731-rtc.yaml# > + > + "^vibrator@[0-9a-f]+$": > + type: object > + $ref: /schemas/input/sprd,sc27xx-vibrator.yaml# > + > +required: > + - compatible > + - reg > + - interrupts > + - interrupt-controller > + - spi-max-frequency > + - '#address-cells' Keep consistent quotes, either ' or ". > + - '#interrupt-cells' > + - '#size-cells' Best regards, Krzysztof
On Wed, Oct 30, 2024 at 07:43:04AM +0100, Krzysztof Kozlowski wrote: > On Tue, Oct 29, 2024 at 08:02:03PM +0100, Stanislav Jakubek wrote: > > Thank you for your patch. There is something to discuss/improve. > > > + interrupt-controller: true > > + spi-max-frequency: true > > This means: > 1. You forgot to ref spi-peripheral-props > 2. This is not needed and use use unevaluatedProperties: false. Ack, will reference spi-peripheral-props. > > Just like all SPI devices. > > Unless this is not SPI? As far as I understand it, it kind of is SPI and kind of isn't. See /schemas/spi/sprd,spi-adi.yaml. > > > > + > > + '#address-cells': > > + const: 1 > > + > > + '#interrupt-cells': > > + const: 1 > > + > > + '#size-cells': > > + const: 0 > > + > > + regulators: > > + type: object > > + $ref: /schemas/regulator/sprd,sc2731-regulator.yaml# > > + > > +patternProperties: > > + "^adc@[0-9a-f]+$": > > + type: object > > + $ref: /schemas/iio/adc/sprd,sc2720-adc.yaml# > > + > > + "^charger@[0-9a-f]+$": > > + type: object > > + $ref: /schemas/power/supply/sc2731-charger.yaml# > > + > > + "^efuse@[0-9a-f]+$": > > + type: object > > + $ref: /schemas/nvmem/sprd,sc2731-efuse.yaml# > > I don't think this was merged. You still have dependency. This is in next-20241029, which this patch is based on. > > Try yourself - apply this patch on the maintainers tree and test it. > > You can solve it by listing here compatibles and additionalProperties: > true (see Qcom mdss bindings) > > > > > + > > + "^fuel-gauge@[0-9a-f]+$": > > + type: object > > + $ref: /schemas/power/supply/sc27xx-fg.yaml# > > + > > + "^gpio@[0-9a-f]+$": > > + type: object > > + $ref: /schemas/gpio/sprd,gpio-eic.yaml# > > + > > + "^led-controller@[0-9a-f]+$": > > + type: object > > + $ref: /schemas/leds/sprd,sc2731-bltc.yaml# > > + > > + "^rtc@[0-9a-f]+$": > > + type: object > > + $ref: /schemas/rtc/sprd,sc2731-rtc.yaml# > > + > > + "^vibrator@[0-9a-f]+$": > > + type: object > > + $ref: /schemas/input/sprd,sc27xx-vibrator.yaml# > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - interrupt-controller > > + - spi-max-frequency > > + - '#address-cells' > > Keep consistent quotes, either ' or ". Ack. Thanks for the review, Stanislav > > > + - '#interrupt-cells' > > + - '#size-cells' > > Best regards, > Krzysztof >
On 30/10/2024 08:42, Stanislav Jakubek wrote: >> >>> + >>> + '#address-cells': >>> + const: 1 >>> + >>> + '#interrupt-cells': >>> + const: 1 >>> + >>> + '#size-cells': >>> + const: 0 >>> + >>> + regulators: >>> + type: object >>> + $ref: /schemas/regulator/sprd,sc2731-regulator.yaml# >>> + >>> +patternProperties: >>> + "^adc@[0-9a-f]+$": >>> + type: object >>> + $ref: /schemas/iio/adc/sprd,sc2720-adc.yaml# >>> + >>> + "^charger@[0-9a-f]+$": >>> + type: object >>> + $ref: /schemas/power/supply/sc2731-charger.yaml# >>> + >>> + "^efuse@[0-9a-f]+$": >>> + type: object >>> + $ref: /schemas/nvmem/sprd,sc2731-efuse.yaml# >> >> I don't think this was merged. You still have dependency. > > This is in next-20241029, which this patch is based on. Try what I wrote below and see if this works... Best regards, Krzysztof
On Wed, Oct 30, 2024 at 08:48:25AM +0100, Krzysztof Kozlowski wrote: > On 30/10/2024 08:42, Stanislav Jakubek wrote: > >> > >>> + > >>> + '#address-cells': > >>> + const: 1 > >>> + > >>> + '#interrupt-cells': > >>> + const: 1 > >>> + > >>> + '#size-cells': > >>> + const: 0 > >>> + > >>> + regulators: > >>> + type: object > >>> + $ref: /schemas/regulator/sprd,sc2731-regulator.yaml# > >>> + > >>> +patternProperties: > >>> + "^adc@[0-9a-f]+$": > >>> + type: object > >>> + $ref: /schemas/iio/adc/sprd,sc2720-adc.yaml# > >>> + > >>> + "^charger@[0-9a-f]+$": > >>> + type: object > >>> + $ref: /schemas/power/supply/sc2731-charger.yaml# > >>> + > >>> + "^efuse@[0-9a-f]+$": > >>> + type: object > >>> + $ref: /schemas/nvmem/sprd,sc2731-efuse.yaml# > >> > >> I don't think this was merged. You still have dependency. > > > > This is in next-20241029, which this patch is based on. > > Try what I wrote below and see if this works... I assume you meant the MFD maintainers' tree here. Yes, that tree doesn't have the nvmem patch this depends on. Would the approach with listing the compatibles and additionalProperties: true be considered a temporary workaround? If so, should I split this into 2 patches? - 1st patch with the nvmem workaround above - 2nd with adding the nvmem $ref back (which would get merged later) Regards, Stanislav > > Best regards, > Krzysztof >
On 30/10/2024 09:14, Stanislav Jakubek wrote: > On Wed, Oct 30, 2024 at 08:48:25AM +0100, Krzysztof Kozlowski wrote: >> On 30/10/2024 08:42, Stanislav Jakubek wrote: >>>> >>>>> + >>>>> + '#address-cells': >>>>> + const: 1 >>>>> + >>>>> + '#interrupt-cells': >>>>> + const: 1 >>>>> + >>>>> + '#size-cells': >>>>> + const: 0 >>>>> + >>>>> + regulators: >>>>> + type: object >>>>> + $ref: /schemas/regulator/sprd,sc2731-regulator.yaml# >>>>> + >>>>> +patternProperties: >>>>> + "^adc@[0-9a-f]+$": >>>>> + type: object >>>>> + $ref: /schemas/iio/adc/sprd,sc2720-adc.yaml# >>>>> + >>>>> + "^charger@[0-9a-f]+$": >>>>> + type: object >>>>> + $ref: /schemas/power/supply/sc2731-charger.yaml# >>>>> + >>>>> + "^efuse@[0-9a-f]+$": >>>>> + type: object >>>>> + $ref: /schemas/nvmem/sprd,sc2731-efuse.yaml# >>>> >>>> I don't think this was merged. You still have dependency. >>> >>> This is in next-20241029, which this patch is based on. >> >> Try what I wrote below and see if this works... > > I assume you meant the MFD maintainers' tree here. > Yes, that tree doesn't have the nvmem patch this depends on. > > Would the approach with listing the compatibles and additionalProperties: > true be considered a temporary workaround? Not really, it's a correct approach. The node will be validated anyway by efuse/child schema. Best regards, Krzysztof
© 2016 - 2024 Red Hat, Inc.