Message ID | ZyExK01iprBHhGm6@standask-GA-A55M-S2HP (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | [v2] dt-bindings: mfd: sprd,sc2731: convert to YAML | expand |
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
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>; - }; - }; ...
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