Re: [PATCH v2 2/7] dt-bindings: mfd: mediatek: mt6397: Convert to DT schema format
From: "Rob Herring (Arm)" <robh@kernel.org>
Date: 2024-08-30 12:29:27
Also in:
linux-devicetree, linux-leds, linux-mediatek, linux-pm, linux-rtc, linux-sound, lkml
On Fri, 30 Aug 2024 19:07:27 +0800, Macpaul Lin wrote:
Convert the mfd: mediatek: mt6397 binding to DT schema format. MT6323/MT6358/MT6397 are PMIC devices with multiple function of subdevices. They have some variant of the combinations of subdevices but share a common PMIC design. New updates in this conversion: - RTC: - Convert rtc-mt6397.txt and add it into parent's mt6397 PMIC DT schema. - regulators: - Align generic names "regulators" instead of origin names. - mt6323-regulator: Replace "txt" reference with mt6323-regulaotr.yaml - mt6358-regulator: Replace "txt" reference with mt6358-regulator.yaml - mt6397-regulator: Replace "txt" reference with mt6397-reuglator.yaml - audio-codec: - Align generic name "audio-codec" for codec and sound subdevices. - Add "mediatek,dmic-mode" and "Avdd-supply". - clocks: - Align generic name "clocks" for clockbuffer subdevices. - leds: - Convert leds-mt6323.txt and add it into parent's mt6397 PMIC DT schema. - keys: - Add more specific descriptions for power and home keys. - Add compatible: mediatek,mt6358-keys - power-controller: - Add property #power-domain-cells for fixing dt-binding check error. - Add "Baseband power up" as the explaination of abbrevitation "BBPU". - pinctrl: - Align generic name "pinctrl" instead of "pin-controller". Signed-off-by: Sen Chu <sen.chu@mediatek.com> Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com> --- .../bindings/mfd/mediatek,mt6397.yaml | 1026 +++++++++++++++++ .../devicetree/bindings/mfd/mt6397.txt | 110 -- 2 files changed, 1026 insertions(+), 110 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml delete mode 100644 Documentation/devicetree/bindings/mfd/mt6397.txt Changes for v1: - This patch depends on conversion of mediatek,mt6397-regulator.yaml [1] https://lore.kernel.org/lkml/20240807091738.18387-1-macpaul.lin@mediatek.com/T/ (local) Changes for v2: - This patch has been made base on linux-next/master git repo. - Keep the parent and child relationship with mediatek,pwrap in description. [2] https://lore.kernel.org/all/20240826-slurp-earphone-0d5173923ae8@spud/ (local) - Keep the $ref for regulators since dt_binding_check didn't report any issue based on linux-next/master repo. - Fix description of mt6397/mt6323 devices, use "power management chip" instead of "multifunction device" - Drop unnecessary comments or description according to the review. - Convert sub-modules to DT Schema: - RTC, LEDs, power-controllers, regulators - Drop duplicate sub node name and description for sub-modules - RTC, Keys - examples: - drop parent pwrap node - Add examples from mediatek,mt6323-regulator.yaml - Add examples from mediatek,mt6358-regulator.yaml - Add examples from mediatek,mt6397-regulator.yaml - Complete the examples as could as possible.
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/mediatek,mt6397.example.dtb: pmic: regulators: 'oneOf' conditional failed, one must be fixed:
'buck_vcore', 'buck_vdrm', 'buck_vgpu', 'buck_vio18', 'buck_vpca15', 'buck_vpca7', 'buck_vsramca15', 'buck_vsramca7', 'ldo_va28', 'ldo_vgp4', 'ldo_vgp5', 'ldo_vgp6' do not match any of the regexes: '^(buck_)?v(pa|proc|sys)$', '^(ldo_)?v((io|rf)18)$', '^(ldo_)?v(a|rtc|tcxo|(cn|io)28)$', '^(ldo_)?v(cama|camaf|camd|emc3v3|gp[123]|ibr|m|mc|mch|sim[12])$', '^(ldo_)?v(camio|cn18)$', '^(ldo_)?v(cn33_(bt|wifi))$', '^(ldo_)?vusb$', 'pinctrl-[0-9]+'
'buck_vdrm', 'buck_vio18', 'buck_vpca15', 'buck_vpca7', 'buck_vsramca15', 'buck_vsramca7', 'ldo_va28', 'ldo_vcama', 'ldo_vemc3v3', 'ldo_vgp1', 'ldo_vgp2', 'ldo_vgp3', 'ldo_vgp4', 'ldo_vgp5', 'ldo_vgp6', 'ldo_vtcxo' do not match any of the regexes: '^(buck_)?v(core|dram1|gpu|modem|pa|proc1[12]|s[12])$', '^(ldo_)?v((aux|cn|io|rf)18|camio)$', '^(ldo_)?v(aud|bif|cn|fe|io)28$', '^(ldo_)?v(a|rf)12$', '^(ldo_)?v(cama[12]|camd|cn33|dram2|efuse|emc|ibr|ldo28|m18|mc|mch|mddr|sim[12])$', '^(ldo_)?vsram[_-](core|gpu|others|proc1[12])$', '^(ldo_)?vusb$', '^(ldo_)?vxo22$', 'pinctrl-[0-9]+'
False schema does not allow {'compatible': ['mediatek,mt6397-regulator'], 'buck_vpca15': {'regulator-name': ['vpca15'], 'regulator-min-microvolt': [[850000]], 'regulator-max-microvolt': [[1350000]], 'regulator-ramp-delay': 12500, 'regulator-enable-ramp-delay': 200}, 'buck_vpca7': {'regulator-name': ['vpca7'], 'regulator-min-microvolt': [[850000]], 'regulator-max-microvolt': [[1350000]], 'regulator-ramp-delay': 12500, 'regulator-enable-ramp-delay': 115}, 'buck_vsramca15': {'regulator-name': ['vsramca15'], 'regulator-min-microvolt': [[850000]], 'regulator-max-microvolt': [[1350000]], 'regulator-ramp-delay': 12500, 'regulator-enable-ramp-delay': 115}, 'buck_vsramca7': {'regulator-name': ['vsramca7'], 'regulator-min-microvolt': [[850000]], 'regulator-max-microvolt': [[1350000]], 'regulator-ramp-delay': 12500, 'regulator-enable-ramp-delay': 115}, 'buck_vcore': {'regulator-name': ['vcore'], 'regulator-min-microvolt': [[850000]], 'regulator-max-microvolt': [[1350000]], 'regulator-ramp-dela
y': 12500, 'regulator-enable-ramp-delay': 115}, 'buck_vgpu': {'regulator-name': ['vgpu'], 'regulator-min-microvolt': [[700000]], 'regulator-max-microvolt': [[1350000]], 'regulator-ramp-delay': 12500, 'regulator-enable-ramp-delay': 115}, 'buck_vdrm': {'regulator-name': ['vdrm'], 'regulator-min-microvolt': [[800000]], 'regulator-max-microvolt': [[1400000]], 'regulator-ramp-delay': 12500, 'regulator-enable-ramp-delay': 500}, 'buck_vio18': {'regulator-name': ['vio18'], 'regulator-min-microvolt': [[1500000]], 'regulator-max-microvolt': [[2120000]], 'regulator-ramp-delay': 12500, 'regulator-enable-ramp-delay': 500}, 'ldo_vtcxo': {'regulator-name': ['vtcxo'], 'regulator-min-microvolt': [[2800000]], 'regulator-max-microvolt': [[2800000]], 'regulator-enable-ramp-delay': 90}, 'ldo_va28': {'regulator-name': ['va28'], 'regulator-enable-ramp-delay': 218}, 'ldo_vcama': {'regulator-name': ['vcama'], 'regulator-min-microvolt': [[1500000]], 'regulator-max-microvolt': [[2800000]], 'regulator-enable-r
amp-delay': 218}, 'ldo_vio28': {'regulator-name': ['vio28'], 'regulator-enable-ramp-delay': 240}, 'ldo_vusb': {'regulator-name': ['vusb'], 'regulator-enable-ramp-delay': 218}, 'ldo_vmc': {'regulator-name': ['vmc'], 'regulator-min-microvolt': [[1800000]], 'regulator-max-microvolt': [[3300000]], 'regulator-enable-ramp-delay': 218}, 'ldo_vmch': {'regulator-name': ['vmch'], 'regulator-min-microvolt': [[3000000]], 'regulator-max-microvolt': [[3300000]], 'regulator-enable-ramp-delay': 218}, 'ldo_vemc3v3': {'regulator-name': ['vemc_3v3'], 'regulator-min-microvolt': [[3000000]], 'regulator-max-microvolt': [[3300000]], 'regulator-enable-ramp-delay': 218}, 'ldo_vgp1': {'regulator-name': ['vcamd'], 'regulator-min-microvolt': [[1220000]], 'regulator-max-microvolt': [[3300000]], 'regulator-enable-ramp-delay': 240}, 'ldo_vgp2': {'regulator-name': ['vcamio'], 'regulator-min-microvolt': [[1000000]], 'regulator-max-microvolt': [[3300000]], 'regulator-enable-ramp-delay': 218}, 'ldo_vgp3': {'regulator
-name': ['vcamaf'], 'regulator-min-microvolt': [[1200000]], 'regulator-max-microvolt': [[3300000]], 'regulator-enable-ramp-delay': 218}, 'ldo_vgp4': {'regulator-name': ['vgp4'], 'regulator-min-microvolt': [[1200000]], 'regulator-max-microvolt': [[3300000]], 'regulator-enable-ramp-delay': 218}, 'ldo_vgp5': {'regulator-name': ['vgp5'], 'regulator-min-microvolt': [[1200000]], 'regulator-max-microvolt': [[3000000]], 'regulator-enable-ramp-delay': 218}, 'ldo_vgp6': {'regulator-name': ['vgp6'], 'regulator-min-microvolt': [[1200000]], 'regulator-max-microvolt': [[3300000]], 'regulator-enable-ramp-delay': 218}, 'ldo_vibr': {'regulator-name': ['vibr'], 'regulator-min-microvolt': [[1200000]], 'regulator-max-microvolt': [[3300000]], 'regulator-enable-ramp-delay': 218}}
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/mediatek,mt6397.example.dtb: pmic: regulators:compatible: 'oneOf' conditional failed, one must be fixed:
['mediatek,mt6397-regulator'] is too short
'mediatek,mt6358-regulator' was expected
'mediatek,mt6366-regulator' was expected
'mediatek,mt6323-regulator' was expected
from schema $id: http://devicetree.org/schemas/mfd/mediatek,mt6397.yaml#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/mediatek,mt6397.example.dtb: pmic: regulators: Unevaluated properties are not allowed ('buck_vcore', 'buck_vdrm', 'buck_vgpu', 'buck_vio18', 'buck_vpca15', 'buck_vpca7', 'buck_vsramca15', 'buck_vsramca7', 'ldo_va28', 'ldo_vcama', 'ldo_vemc3v3', 'ldo_vgp1', 'ldo_vgp2', 'ldo_vgp3', 'ldo_vgp4', 'ldo_vgp5', 'ldo_vgp6', 'ldo_vibr', 'ldo_vio28', 'ldo_vmc', 'ldo_vmch', 'ldo_vtcxo', 'ldo_vusb' were unexpected)
from schema $id: http://devicetree.org/schemas/mfd/mediatek,mt6397.yaml#
doc reference errors (make refcheckdocs):
Warning: Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml references a file that doesn't exist: Documentation/devicetree/bindings/mfd/mt6397.txt
Warning: Documentation/devicetree/bindings/leds/leds-mt6323.txt references a file that doesn't exist: Documentation/devicetree/bindings/mfd/mt6397.txt
Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml: Documentation/devicetree/bindings/mfd/mt6397.txt
Documentation/devicetree/bindings/leds/leds-mt6323.txt: Documentation/devicetree/bindings/mfd/mt6397.txt
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240830110732.30080-2-macpaul.lin@mediatek.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.