Convert qcom,spmi-pmic bindings from .txt to .yaml
v3 cover Convert qcom,spmi-pmic bindings from .txt to .yaml
This patch series does the following:
1. converts the qcom,spmi-pmic bindings from .txt to .yaml format
2. Sorted the compatible strings
3. Adds PM6150 and PM6150L subtypes.
Changes from V2:
- Addressed Stephen Boyd and Rob Herring comments.
Kiran Gunda (2):
mfd: qcom-spmi-pmic: Convert bindings to .yaml format
mfd: qcom-spmi-pmic: Add support for pm6150 and pm6150l
.../devicetree/bindings/mfd/qcom,spmi-pmic.txt | 80 ------------- .../devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 129 +++++++++++++++++++++ drivers/mfd/qcom-spmi-pmic.c | 4 + 3 files changed, 133 insertions(+), 80 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt create mode 100644 Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH v3 1/2 mfd: qcom-spmi-pmic: Convert bindings to .yaml format
Convert the bindings from .txt to .yaml format.
--- .../devicetree/bindings/mfd/qcom,spmi-pmic.txt | 80 ------------- .../devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 127 +++++++++++++++++++++ 2 files changed, 127 insertions(+), 80 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt create mode 100644 Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt deleted +0 -80
@@ -1,80 +0,0 @@ - Qualcomm SPMI PMICs multi-function device bindings - -The Qualcomm SPMI series presently includes PM8941, PM8841 and PMA8084 -PMICs. These PMICs use a QPNP scheme through SPMI interface. -QPNP is effectively a partitioning scheme for dividing the SPMI extended -register space up into logical pieces, and set of fixed register -locations/definitions within these regions, with some of these regions -specifically used for interrupt handling. - -The QPNP PMICs are used with the Qualcomm Snapdragon series SoCs, and are -interfaced to the chip via the SPMI (System Power Management Interface) bus. -Support for multiple independent functions are implemented by splitting the -16-bit SPMI slave address space into 256 smaller fixed-size regions, 256 bytes -each. A function can consume one or more of these fixed-size register regions. - -Required properties: -- compatible: Should contain one of: - "qcom,pm8941", - "qcom,pm8841", - "qcom,pma8084", - "qcom,pm8019", - "qcom,pm8226", - "qcom,pm8110", - "qcom,pma8084", - "qcom,pmi8962", - "qcom,pmd9635", - "qcom,pm8994", - "qcom,pmi8994", - "qcom,pm8916", - "qcom,pm8004", - "qcom,pm8909", - "qcom,pm8950", - "qcom,pmi8950", - "qcom,pm8998", - "qcom,pmi8998", - "qcom,pm8005", - or generalized "qcom,spmi-pmic". -- reg: Specifies the SPMI USID slave address for this device. - For more information see: - Documentation/devicetree/bindings/spmi/spmi.yaml - -Required properties for peripheral child nodes: -- compatible: Should contain "qcom,xxx", where "xxx" is a peripheral name. - -Optional properties for peripheral child nodes: -- interrupts: Interrupts are specified as a 4-tuple. For more information - see: - Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt -- interrupt-names: Corresponding interrupt name to the interrupts property - -Each child node of SPMI slave id represents a function of the PMIC. In the -example below the rtc device node represents a peripheral of pm8941 -SID = 0. The regulator device node represents a peripheral of pm8941 SID = 1. - -Example: - - spmi { - compatible = "qcom,spmi-pmic-arb"; - - pm8941@0 { - compatible = "qcom,pm8941", "qcom,spmi-pmic"; - reg = <0x0 SPMI_USID>; - - rtc { - compatible = "qcom,rtc"; - interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>; - interrupt-names = "alarm"; - }; - }; - - pm8941@1 { - compatible = "qcom,pm8941", "qcom,spmi-pmic"; - reg = <0x1 SPMI_USID>; - - regulator { - compatible = "qcom,regulator"; - regulator-name = "8941_boost"; - }; - }; - };
Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml new file +127 -0
127 lines not on this page · raw message
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Rob Herring
maintainerRe: [PATCH V3 1/2] mfd: qcom-spmi-pmic: Convert bindings to .yaml format
Quoted 10 lines · Kiran Gunda
Convert the bindings from .txt to .yaml format.
Signed-off-by Kiran Gunda <[email protected]>--- .../devicetree/bindings/mfd/qcom,spmi-pmic.txt | 80 ------------- .../devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 127 +++++++++++++++++++++ 2 files changed, 127 insertions(+), 80 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt create mode 100644 Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:./Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml:39:1: [error] syntax error: found character '\t' that cannot start any token (syntax)
dtschema/dtc warnings/errors:
make[1]: *** Deleting file 'Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.example.dts'
Traceback (most recent call last):
File "/usr/local/bin/dt-extract-example", line 45, in <module>
binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py", line 343, in load
return constructor.get_single_data()
File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py", line 111, in get_single_data
node = self.composer.get_single_node()
File "_ruamel_yaml.pyx", line 706, in _ruamel_yaml.CParser.get_single_node
File "_ruamel_yaml.pyx", line 724, in _ruamel_yaml.CParser._compose_document
File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
File "_ruamel_yaml.pyx", line 889, in _ruamel_yaml.CParser._compose_mapping_node
File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
File "_ruamel_yaml.pyx", line 889, in _ruamel_yaml.CParser._compose_mapping_node
File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
File "_ruamel_yaml.pyx", line 889, in _ruamel_yaml.CParser._compose_mapping_node
File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
File "_ruamel_yaml.pyx", line 889, in _ruamel_yaml.CParser._compose_mapping_node
File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
File "_ruamel_yaml.pyx", line 889, in _ruamel_yaml.CParser._compose_mapping_node
File "_ruamel_yaml.pyx", line 773, in _ruamel_yaml.CParser._compose_node
File "_ruamel_yaml.pyx", line 850, in _ruamel_yaml.CParser._compose_sequence_node
File "_ruamel_yaml.pyx", line 775, in _ruamel_yaml.CParser._compose_node
File "_ruamel_yaml.pyx", line 889, in _ruamel_yaml.CParser._compose_mapping_node
File "_ruamel_yaml.pyx", line 731, in _ruamel_yaml.CParser._compose_node
File "_ruamel_yaml.pyx", line 904, in _ruamel_yaml.CParser._parse_next_event
ruamel.yaml.scanner.ScannerError: while scanning for the next token
found character that cannot start any token
in "<unicode string>", line 39, column 1
make[1]: *** [Documentation/devicetree/bindings/Makefile:20: Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.example.dts] Error 1 make[1]: *** Waiting for unfinished jobs....
make[1]: *** [Documentation/devicetree/bindings/Makefile:59: Documentation/devicetree/bindings/processed-schema-examples.json] Error 123
make: *** [Makefile:1364: dt_binding_check] Error 2
See https://patchwork.ozlabs.org/patch/1417646
This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1.
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.
PATCH v3 2/2 mfd: qcom-spmi-pmic: Add support for pm6150 and pm6150l
In reply to Kiran GundaAdd the compatibles and PMIC ids for pm6150 and pm6150l PMICs found on SC7180 based platforms.
--- Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 2 ++ drivers/mfd/qcom-spmi-pmic.c | 4 ++++ 2 files changed, 6 insertions(+)
Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml +2 -0
@@ -58,6 +58,8 @@ patternProperties: - qcom,pm8005 - qcom,pm660l - qcom,pm660 + - qcom,pm6150l + - qcom,pm6150 - enum: - qcom,spmi-pmic
drivers/mfd/qcom-spmi-pmic.c +4 -0
@@ -38,6 +38,8 @@#define PM8005_SUBTYPE 0x18#define PM660L_SUBTYPE 0x1A#define PM660_SUBTYPE 0x1B +#define PM6150L_SUBTYPE 0x1F +#define PM6150_SUBTYPE 0x28static const struct of_device_id pmic_spmi_id_table[] = { { .compatible ="qcom,spmi-pmic" , .data = (void *)COMMON_SUBTYPE },
@@ -61,6 +63,8 @@ static const struct of_device_id pmic_spmi_id_table[] = { { .compatible = "qcom,pm8005", .data = (void *)PM8005_SUBTYPE }, { .compatible = "qcom,pm660l", .data = (void *)PM660L_SUBTYPE }, { .compatible = "qcom,pm660", .data = (void *)PM660_SUBTYPE }, + { .compatible = "qcom,pm6150l", .data = (void *)PM6150L_SUBTYPE }, + { .compatible = "qcom,pm6150", .data = (void *)PM6150_SUBTYPE }, { } };
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project