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@xxxxxxxxxxxx> > Signed-off-by: Macpaul Lin <macpaul.lin@xxxxxxxxxxxx> > --- > .../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@xxxxxxxxxxxx/T/ > > 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/ > - 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@xxxxxxxxxxxx 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.