Skip to contentSkip to conversation

dt-bindings:iio:adc: Another set of yaml conversions.

PATCH Superseded Jonathan Cameron 7 participants 30 messages Sep 5, 2020 – Sep 9, 2020

Subsystems (12)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Jonathan Cameron

author maintainer
#0 lore raw

cover dt-bindings:iio:adc: Another set of yaml conversions.

From: Jonathan Cameron <[email protected]>

It is somewhat easier to do these all at once as then the yaml syntax knowledge builds up and Rob once said he preferred to review them in groups. Hence here are 20 binding conversions to enjoy.

There are 2 other bindings currently awaiting v2 review and it may take a while to convert over the remaining IIO ADC ones as they are mostly the complex cases. There are also quite a few drivers that have undocumented bindings. I plan to do a sweep for those once yaml conversions are finished.

For maintainers, I've mostly gone with the original author of the txt file. If anyone wants to claim responsibility for any or reject it then that is great. I'll act as backup maintainer for all of these by default anyway.

There are a few places I think we could look to tighten the binding definitions if we wish. Hopefully this will be a good layer to build on.

Thanks,

Jonathan

Jonathan Cameron (20):
dt-bindings:iio:adc:fsl,vf610-adc conversion to yaml. dt-bindings:iio:adc:ti,twl4030-madc yaml conversion dt-bindings:iio:adc:st,stmpe-adc yaml conversion dt-bindings:iio:adc: aspeed,ast2400 yaml conversion dt-bindings:iio:adc:marvell,berlin2-adc yaml conversion dt-bindings:iio:adc:sprd,sc2720-adc yaml conversion. dt-bindings:iio:adc:nuvoton,nau7802 yaml conversion dt-bindings:iio:adc:nuvoton,npcm750-adc yaml conversion dt-bindings:iio:adc:nxp,lpc1850-adc yaml conversion dt-bindings:iio:adc:lpc3220-adc yaml conversion dt-bindings:iio:adc:motorola,cpcap-adc yaml conversion dt-bindings:iio:adc:dlg,da9150-gpadc yaml conversion dt-bindings:iio:adc:cosmic,10001-adc yaml conversion dt-bindings:iio:adc:adi,ad7949 yaml conversion dt-bindings:iio:adc:ad7768-1 yaml conversion dt-bindings:iio:adc:ti,ads1015 yaml conversion dt-bindings:iio:adc:holt,hi8435 yaml conversion dt-bindings:iio:adc:amlogic,meson-saradc yaml conversion dt-bindings:iio:adc:fsl,imx7d-adc yaml conversion dt-bindings:iio:adc:fsl,imx25-gcq yaml conversion

 .../devicetree/bindings/iio/adc/ad7949.txt    |  16 --
 .../bindings/iio/adc/adi,ad7768-1.txt         |  41 -----
 .../bindings/iio/adc/adi,ad7768-1.yaml        |  89 +++++++++++
 .../bindings/iio/adc/adi,ad7949.yaml          |  57 +++++++
 .../devicetree/bindings/iio/adc/ads1015.txt   |  73 ---------
 .../bindings/iio/adc/amlogic,meson-saradc.txt |  48 ------
 .../iio/adc/amlogic,meson-saradc.yaml         | 145 ++++++++++++++++++
 .../bindings/iio/adc/aspeed,ast2400-adc.yaml  |  54 +++++++
 .../bindings/iio/adc/aspeed_adc.txt           |  22 ---
 .../bindings/iio/adc/berlin2_adc.txt          |  19 ---
 .../bindings/iio/adc/cc10001_adc.txt          |  22 ---
 .../bindings/iio/adc/cosmic,10001-adc.yaml    |  59 +++++++
 .../devicetree/bindings/iio/adc/cpcap-adc.txt |  17 --
 .../bindings/iio/adc/da9150-gpadc.txt         |  16 --
 .../bindings/iio/adc/dlg,da9150-gpadc.yaml    |  33 ++++
 .../bindings/iio/adc/fsl,imx25-gcq.txt        |  57 -------
 .../bindings/iio/adc/fsl,imx25-gcq.yaml       | 129 ++++++++++++++++
 .../bindings/iio/adc/fsl,imx7d-adc.yaml       |  62 ++++++++
 .../bindings/iio/adc/fsl,vf610-adc.yaml       |  81 ++++++++++
 .../devicetree/bindings/iio/adc/hi8435.txt    |  21 ---
 .../bindings/iio/adc/holt,hi8435.yaml         |  49 ++++++
 .../devicetree/bindings/iio/adc/imx7d-adc.txt |  24 ---
 .../bindings/iio/adc/lpc1850-adc.txt          |  20 ---
 .../bindings/iio/adc/lpc32xx-adc.txt          |  21 ---
 .../bindings/iio/adc/marvell,berlin2-adc.yaml |  50 ++++++
 .../bindings/iio/adc/motorola,cpcap-adc.yaml  |  51 ++++++
 .../bindings/iio/adc/nuvoton,nau7802.yaml     |  50 ++++++
 .../bindings/iio/adc/nuvoton,npcm-adc.txt     |  26 ----
 .../bindings/iio/adc/nuvoton,npcm750-adc.yaml |  64 ++++++++
 .../bindings/iio/adc/nuvoton-nau7802.txt      |  18 ---
 .../bindings/iio/adc/nxp,lpc1850-adc.yaml     |  61 ++++++++
 .../bindings/iio/adc/nxp,lpc3220-adc.yaml     |  50 ++++++
 .../bindings/iio/adc/sprd,sc2720-adc.yaml     |  72 +++++++++
 .../bindings/iio/adc/sprd,sc27xx-adc.txt      |  40 -----
 .../bindings/iio/adc/st,stmpe-adc.yaml        |  45 ++++++
 .../devicetree/bindings/iio/adc/stmpe-adc.txt |  21 ---
 .../bindings/iio/adc/ti,ads1015.yaml          | 113 ++++++++++++++
 .../bindings/iio/adc/ti,twl4030-madc.yaml     |  48 ++++++
 .../bindings/iio/adc/twl4030-madc.txt         |  24 ---
 .../devicetree/bindings/iio/adc/vf610-adc.txt |  36 -----
 40 files changed, 1362 insertions(+), 582 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/ad7949.txt
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7768-1.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7768-1.yaml
 create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/ads1015.txt
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.yaml
 create mode 100644 Documentation/devicetree/bindings/iio/adc/aspeed,ast2400-adc.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/aspeed_adc.txt
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/berlin2_adc.txt
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/cc10001_adc.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/cosmic,10001-adc.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/cpcap-adc.txt
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/da9150-gpadc.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/dlg,da9150-gpadc.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/fsl,imx25-gcq.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/fsl,imx25-gcq.yaml
 create mode 100644 Documentation/devicetree/bindings/iio/adc/fsl,imx7d-adc.yaml
 create mode 100644 Documentation/devicetree/bindings/iio/adc/fsl,vf610-adc.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/hi8435.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/holt,hi8435.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/imx7d-adc.txt
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/lpc1850-adc.txt
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/lpc32xx-adc.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/marvell,berlin2-adc.yaml
 create mode 100644 Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml
 create mode 100644 Documentation/devicetree/bindings/iio/adc/nuvoton,nau7802.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/nuvoton,npcm-adc.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/nuvoton,npcm750-adc.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/nuvoton-nau7802.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/nxp,lpc1850-adc.yaml
 create mode 100644 Documentation/devicetree/bindings/iio/adc/nxp,lpc3220-adc.yaml
 create mode 100644 Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/sprd,sc27xx-adc.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/st,stmpe-adc.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads1015.yaml
 create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,twl4030-madc.yaml
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt
 delete mode 100644 Documentation/devicetree/bindings/iio/adc/vf610-adc.txt
Signature · 1 line
2.28.0
author maintainer
#1 lore raw

PATCH 1/20 dt-bindings:iio:adc:fsl,vf610-adc conversion to yaml.

From: Jonathan Cameron <[email protected]>

A simple conversion of this freescale ADC binding from txt to yaml. For maintainer I went with Fugang Duan as the original author of the binding. Would be great to have confirmation of this.

Cc Fugang Duan <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
---
 .../bindings/iio/adc/fsl,vf610-adc.yaml       | 81 +++++++++++++++++++
 .../devicetree/bindings/iio/adc/vf610-adc.txt | 36 ---------
 2 files changed, 81 insertions(+), 36 deletions(-)
Documentation/devicetree/bindings/iio/adc/fsl,vf610-adc.yaml new file +81 -0
new file mode 100644
index 000000000000..99b6b55fd0a3
@@ -0,0 +1,81 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/fsl,vf610-adc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ADC found on Freescale vf610 and similar SoCs
+
+maintainers:
+  - Fugang Duan <[email protected]>
+
+description:
+  ADCs found on vf610/i.MX6slx and upward SoCs from Freescale.
+
+properties:
+  compatible:
+    const: fsl,vf610-adc
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    description: ADC source clock (ipg clock)
+    maxItems: 1
+
+  clock-names:
+    const: adc
+
+  vref-supply:
+    description: ADC reference voltage supply.
+
+  fsl,adck-max-frequency:
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 3
+    maxItems: 3
+    description: |
+      Maximum frequencies from datasheet operating requirements.
+      Three values necessary to cover the 3 conversion modes.
+      * Frequency in normal mode (ADLPC=0, ADHSC=0)
+      * Frequency in high-speed mode (ADLPC=0, ADHSC=1)
+      * Frequency in low-power mode (ADLPC=1, ADHSC=0)
+
+  min-sample-time:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Minimum sampling time in nanoseconds. This value has
+      to be chosen according to the conversion mode and the connected analog
+      source resistance (R_as) and capacitance (C_as). Refer the datasheet's
+      operating requirements. A safe default across a wide range of R_as and
+      C_as as well as conversion modes is 1000ns.
+
+  "#io-channel-cells":
+    const: 1
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+  - vref-supply
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/vf610-clock.h>
+    adc@4003b000 {
+        compatible = "fsl,vf610-adc";
+        reg = <0x4003b000 0x1000>;
+        interrupts = <0 53 0x04>;
+        clocks = <&clks VF610_CLK_ADC0>;
+        clock-names = "adc";
+        fsl,adck-max-frequency = <30000000>, <40000000>, <20000000>;
+        vref-supply = <&reg_vcc_3v3_mcu>;
+        min-sample-time = <10000>;
+    };
+...
Documentation/devicetree/bindings/iio/adc/vf610-adc.txt deleted +0 -36
deleted file mode 100644
index 1aad0514e647..000000000000
@@ -1,36 +0,0 @@
-Freescale vf610 Analog to Digital Converter bindings
-
-The devicetree bindings are for the new ADC driver written for
-vf610/i.MX6slx and upward SoCs from Freescale.
-
-Required properties:
-- compatible: Should contain "fsl,vf610-adc"
-- reg: Offset and length of the register set for the device
-- interrupts: Should contain the interrupt for the device
-- clocks: The clock is needed by the ADC controller, ADC clock source is ipg clock.
-- clock-names: Must contain "adc", matching entry in the clocks property.
-- vref-supply: The regulator supply ADC reference voltage.
-
-Recommended properties:
-- fsl,adck-max-frequency: Maximum frequencies according to datasheets operating
-  requirements. Three values are required, depending on conversion mode:
-  - Frequency in normal mode (ADLPC=0, ADHSC=0)
-  - Frequency in high-speed mode (ADLPC=0, ADHSC=1)
-  - Frequency in low-power mode (ADLPC=1, ADHSC=0)
-- min-sample-time: Minimum sampling time in nanoseconds. This value has
-  to be chosen according to the conversion mode and the connected analog
-  source resistance (R_as) and capacitance (C_as). Refer the datasheet's
-  operating requirements. A safe default across a wide range of R_as and
-  C_as as well as conversion modes is 1000ns.
-
-Example:
-adc0: adc@4003b000 {
-	compatible = "fsl,vf610-adc";
-	reg = <0x4003b000 0x1000>;
-	interrupts = <0 53 0x04>;
-	clocks = <&clks VF610_CLK_ADC0>;
-	clock-names = "adc";
-	fsl,adck-max-frequency = <30000000>, <40000000>,
-				<20000000>;
-	vref-supply = <&reg_vcc_3v3_mcu>;
-};
Signature · 1 line
2.28.0
author maintainer
#2 lore raw

PATCH 2/20 dt-bindings:iio:adc:ti,twl4030-madc yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Conversion from txt to yaml as part of a general move of IIO bindings to the new format.

Cc Sebastian Reichel <[email protected]>
---
 .../bindings/iio/adc/ti,twl4030-madc.yaml     | 48 +++++++++++++++++++
 .../bindings/iio/adc/twl4030-madc.txt         | 24 ----------
 2 files changed, 48 insertions(+), 24 deletions(-)
Documentation/devicetree/bindings/iio/adc/ti,twl4030-madc.yaml new file +48 -0
new file mode 100644
index 000000000000..6781ad2f0f51
@@ -0,0 +1,48 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/ti,twl4030-madc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MADC subsystem in the TWL4030 power module
+
+maintainers:
+  - Sebastian Reichel <[email protected]>
+
+description:
+  The MADC subsystem in the TWL4030 consists of a 10-bit ADC
+  combined with a 16-input analog multiplexer.
+
+properties:
+  compatible:
+    const: ti,twl4030-madc
+
+  interrupts:
+    maxItems: 1
+
+  ti,system-uses-second-madc-irq:
+    type: boolean
+    description:
+      Set if the second madc irq register should be used, which is intended
+      to be used  by Co-Processors (e.g. a modem).
+
+  "#io-channel-cells":
+    const: 1
+
+required:
+  - compatible
+  - interrupts
+  - "#io-channel-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    twl {
+        madc {
+            compatible = "ti,twl4030-madc";
+            interrupts = <3>;
+            #io-channel-cells = <1>;
+        };
+    };
+...
Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt deleted +0 -24
deleted file mode 100644
index 6bdd21404b57..000000000000
@@ -1,24 +0,0 @@
-* TWL4030 Monitoring Analog to Digital Converter (MADC)
-
-The MADC subsystem in the TWL4030 consists of a 10-bit ADC
-combined with a 16-input analog multiplexer.
-
-Required properties:
-  - compatible: Should contain "ti,twl4030-madc".
-  - interrupts: IRQ line for the MADC submodule.
-  - #io-channel-cells: Should be set to <1>.
-
-Optional properties:
-  - ti,system-uses-second-madc-irq: boolean, set if the second madc irq register
-				    should be used, which is intended to be used
-				    by Co-Processors (e.g. a modem).
-
-Example:
-
-&twl {
-	madc {
-		compatible = "ti,twl4030-madc";
-		interrupts = <3>;
-		#io-channel-cells = <1>;
-	};
-};
Signature · 1 line
2.28.0
Acked-by on v1 2/20
#3 lore raw

Re: [PATCH 02/20] dt-bindings:iio:adc:ti,twl4030-madc yaml conversion

Hi,

Quoted 8 lines · Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Conversion from txt to yaml as part of a general move of IIO bindings to the new format.

Cc Sebastian Reichel <[email protected]>

---

-- Sebastian

Quoted 91 lines
 .../bindings/iio/adc/ti,twl4030-madc.yaml     | 48 +++++++++++++++++++
 .../bindings/iio/adc/twl4030-madc.txt         | 24 ----------
 2 files changed, 48 insertions(+), 24 deletions(-)
Documentation/devicetree/bindings/iio/adc/ti,twl4030-madc.yaml new file +48 -0
new file mode 100644
index 000000000000..6781ad2f0f51
@@ -0,0 +1,48 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/ti,twl4030-madc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MADC subsystem in the TWL4030 power module
+
+maintainers:
+  - Sebastian Reichel <[email protected]>
+
+description:
+  The MADC subsystem in the TWL4030 consists of a 10-bit ADC
+  combined with a 16-input analog multiplexer.
+
+properties:
+  compatible:
+    const: ti,twl4030-madc
+
+  interrupts:
+    maxItems: 1
+
+  ti,system-uses-second-madc-irq:
+    type: boolean
+    description:
+      Set if the second madc irq register should be used, which is intended
+      to be used  by Co-Processors (e.g. a modem).
+
+  "#io-channel-cells":
+    const: 1
+
+required:
+  - compatible
+  - interrupts
+  - "#io-channel-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    twl {
+        madc {
+            compatible = "ti,twl4030-madc";
+            interrupts = <3>;
+            #io-channel-cells = <1>;
+        };
+    };
+...
Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt deleted +0 -24
deleted file mode 100644
index 6bdd21404b57..000000000000
@@ -1,24 +0,0 @@
-* TWL4030 Monitoring Analog to Digital Converter (MADC)
-
-The MADC subsystem in the TWL4030 consists of a 10-bit ADC
-combined with a 16-input analog multiplexer.
-
-Required properties:
-  - compatible: Should contain "ti,twl4030-madc".
-  - interrupts: IRQ line for the MADC submodule.
-  - #io-channel-cells: Should be set to <1>.
-
-Optional properties:
-  - ti,system-uses-second-madc-irq: boolean, set if the second madc irq register
-				    should be used, which is intended to be used
-				    by Co-Processors (e.g. a modem).
-
-Example:
-
-&twl {
-	madc {
-		compatible = "ti,twl4030-madc";
-		interrupts = <3>;
-		#io-channel-cells = <1>;
-	};
-};
Signature · 1 line
2.28.0
author maintainer
#4 lore raw

PATCH 3/20 dt-bindings:iio:adc:st,stmpe-adc yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Conversion from freeform text to yaml.
One oddity in this binding is that, for historical reasons it requires the node name to be stmpe_adc. I've put that in the decription field but I'm not sure if there is a better way to specify this?

---
 .../bindings/iio/adc/st,stmpe-adc.yaml        | 45 +++++++++++++++++++
 .../devicetree/bindings/iio/adc/stmpe-adc.txt | 21 ---------
 2 files changed, 45 insertions(+), 21 deletions(-)
Documentation/devicetree/bindings/iio/adc/st,stmpe-adc.yaml new file +45 -0
new file mode 100644
index 000000000000..9049c699152f
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/st,stmpe-adc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ADC on an STMPE multifunction device.
+
+maintainers:
+  - Stefan Agner <[email protected]>
+
+description:
+  This ADC forms part of an ST microelectronics STMPE multifunction device .
+  The ADC is shared with the STMPE touchscreen. As a result some ADC related
+  settings are specified in the parent node.
+  The node name myst be stmpe_adc and should be a child node of the stmpe node
+  to which it belongs.
+
+properties:
+  compatible:
+    const: st,stmpe-adc
+
+  st,norequest-mask:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Bitmask specifying which ADC channels should _not_ be
+      requestable due to different usage (e.g. touch).
+
+  "#io-channel-cells":
+    const: 1
+
+required:
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    stmpe {
+        stmpe_adc {
+            compatible = "st,stmpe-adc";
+            st,norequest-mask = <0x0F>; /* dont use ADC CH3-0 */
+        };
+    };
+...
Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt deleted +0 -21
deleted file mode 100644
index 480e66422625..000000000000
@@ -1,21 +0,0 @@
-STMPE ADC driver
-----------------
-
-Required properties:
- - compatible: "st,stmpe-adc"
-
-Optional properties:
-Note that the ADC is shared with the STMPE touchscreen. ADC related settings
-have to be done in the mfd.
-- st,norequest-mask: bitmask specifying which ADC channels should _not_ be
-  requestable due to different usage (e.g. touch)
-
-Node name must be stmpe_adc and should be child node of stmpe node to
-which it belongs.
-
-Example:
-
-	stmpe_adc {
-		compatible = "st,stmpe-adc";
-		st,norequest-mask = <0x0F>; /* dont use ADC CH3-0 */
-	};
Signature · 1 line
2.28.0
author maintainer
#5 lore raw

PATCH 4/20 dt-bindings:iio:adc: aspeed,ast2400 yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Simple txt to yaml conversion. Part of a general move to convert all the IIO bindings over to yaml.

Cc Rick Altherr <[email protected]>
Cc Joel Stanley <[email protected]>
Cc Andrew Jeffery <[email protected]>
---
 .../bindings/iio/adc/aspeed,ast2400-adc.yaml  | 54 +++++++++++++++++++
 .../bindings/iio/adc/aspeed_adc.txt           | 22 --------
 2 files changed, 54 insertions(+), 22 deletions(-)
Documentation/devicetree/bindings/iio/adc/aspeed,ast2400-adc.yaml new file +54 -0
new file mode 100644
index 000000000000..09018487d690
@@ -0,0 +1,54 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/aspeed,ast2400-adc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ADC that forms part of an ASPEED server management processor.
+
+maintainers:
+  - Rick Altherr <[email protected]>
+
+description:
+  This device is a 10-bit converter for 16 voltage channels.  All inputs are
+  single ended.
+
+properties:
+  compatible:
+    enum:
+      - aspeed,ast2400-adc
+      - aspeed,ast2500-adc
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    description:
+      Input clock used to derive the sample clock. Expected to be the
+      SoC's APB clock.
+
+  resets: true
+
+  "#io-channel-cells":
+    const: 1
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - resets
+  - "#io-channel-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/aspeed-clock.h>
+    adc@1e6e9000 {
+        compatible = "aspeed,ast2400-adc";
+        reg = <0x1e6e9000 0xb0>;
+        clocks = <&syscon ASPEED_CLK_APB>;
+        resets = <&syscon ASPEED_RESET_ADC>;
+        #io-channel-cells = <1>;
+    };
+...
Documentation/devicetree/bindings/iio/adc/aspeed_adc.txt deleted +0 -22
deleted file mode 100644
index 034fc2ba100e..000000000000
@@ -1,22 +0,0 @@
-Aspeed ADC
-
-This device is a 10-bit converter for 16 voltage channels.  All inputs are
-single ended.
-
-Required properties:
-- compatible: Should be "aspeed,ast2400-adc" or "aspeed,ast2500-adc"
-- reg: memory window mapping address and length
-- clocks: Input clock used to derive the sample clock. Expected to be the
-          SoC's APB clock.
-- resets: Reset controller phandle
-- #io-channel-cells: Must be set to <1> to indicate channels are selected
-                     by index.
-
-Example:
-	adc@1e6e9000 {
-		compatible = "aspeed,ast2400-adc";
-		reg = <0x1e6e9000 0xb0>;
-		clocks = <&syscon ASPEED_CLK_APB>;
-		resets = <&syscon ASPEED_RESET_ADC>;
-		#io-channel-cells = <1>;
-	};
Signature · 1 line
2.28.0
author maintainer
#6 lore raw

PATCH 5/20 dt-bindings:iio:adc:marvell,berlin2-adc yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Part of a general move of IIO bindings over to yaml.

---
 .../bindings/iio/adc/berlin2_adc.txt          | 19 -------
 .../bindings/iio/adc/marvell,berlin2-adc.yaml | 50 +++++++++++++++++++
 2 files changed, 50 insertions(+), 19 deletions(-)
Documentation/devicetree/bindings/iio/adc/berlin2_adc.txt deleted +0 -19
deleted file mode 100644
index 908334c6b07f..000000000000
@@ -1,19 +0,0 @@
-* Berlin Analog to Digital Converter (ADC)
-
-The Berlin ADC has 8 channels, with one connected to a temperature sensor.
-It is part of the system controller register set. The ADC node should be a
-sub-node of the system controller node.
-
-Required properties:
-- compatible: must be "marvell,berlin2-adc"
-- interrupts: the interrupts for the ADC and the temperature sensor
-- interrupt-names: should be "adc" and "tsen"
-
-Example:
-
-adc: adc {
-	compatible = "marvell,berlin2-adc";
-	interrupt-parent = <&sic>;
-	interrupts = <12>, <14>;
-	interrupt-names = "adc", "tsen";
-};
Documentation/devicetree/bindings/iio/adc/marvell,berlin2-adc.yaml new file +50 -0

50 lines not on this page · raw message

Signature · 1 line
2.28.0
maintainer
#7 lore raw

Re: [PATCH 05/20] dt-bindings:iio:adc:marvell,berlin2-adc yaml conversion

Quoted 11 lines · Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Part of a general move of IIO bindings over to yaml.

---
 .../bindings/iio/adc/berlin2_adc.txt          | 19 -------
 .../bindings/iio/adc/marvell,berlin2-adc.yaml | 50 +++++++++++++++++++
 2 files changed, 50 insertions(+), 19 deletions(-)

My bot found errors running 'make dt_binding_check' on your patch:

./Documentation/devicetree/bindings/iio/adc/marvell,berlin2-adc.yaml: $id: relative path/filename doesn't match actual path or filename
expected: http://devicetree.org/schemas/iio/adc/marvell,berlin2-adc.yaml#

See https://patchwork.ozlabs.org/patch/1358086

If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure dt-schema is up to date:

pip3 install git+https://github.com/devicetree-org/dt-schema.git@master --upgrade

Please check and re-submit.

author maintainer
#8 lore raw

PATCH 6/20 dt-bindings:iio:adc:sprd,sc2720-adc yaml conversion.

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

I changed the name to reflect a specific part in line with normal naming conventions. If there is a particularly strong reason to keep the wild cards let me know.

Otherwise this was a fairly simple conversion as part of converting all the IIO bindings to yaml.

Cc Baolin Wang <[email protected]>
Cc Orson Zhai <[email protected]>
Cc Chunyan Zhang <[email protected]>
---
 .../bindings/iio/adc/sprd,sc2720-adc.yaml     | 72 +++++++++++++++++++
 .../bindings/iio/adc/sprd,sc27xx-adc.txt      | 40 -----------
 2 files changed, 72 insertions(+), 40 deletions(-)
Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml new file +72 -0
new file mode 100644
index 000000000000..57df6439dd9d
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/sprd,sc2720-adc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Spreadtrum SC27XX series PMICs ADC binding
+
+maintainers:
+  - Baolin Wang <[email protected]>
+
+description:
+  Supports the ADC found on these PMICs.
+
+properties:
+  compatible:
+    enum:
+      - sprd,sc2720-adc
+      - sprd,sc2721-adc
+      - sprd,sc2723-adc
+      - sprd,sc2730-adc
+      - sprd,sc2731-adc
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  "#io-channel-cells":
+    const: 1
+
+  hwlocks:
+    maxItems: 1
+
+  nvmem-cells:
+    maxItems: 2
+    
+  nvmem-cell-names:
+    items:
+      - const: big_scale_calib
+      - const: small_scale_calib
+      
+required:
+  - compatible
+  - reg
+  - interrupts
+  - "#io-channel-cells"
+  - hwlocks
+  - nvmem-cells
+  - nvmem-cell-names
+
+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";
+        };
+    };
+...
Documentation/devicetree/bindings/iio/adc/sprd,sc27xx-adc.txt deleted +0 -40
deleted file mode 100644
index b4daa15dcf15..000000000000
@@ -1,40 +0,0 @@
-Spreadtrum SC27XX series PMICs ADC binding
-
-Required properties:
-- compatible: Should be one of the following.
-	"sprd,sc2720-adc"
-	"sprd,sc2721-adc"
-	"sprd,sc2723-adc"
-	"sprd,sc2730-adc"
-	"sprd,sc2731-adc"
-- reg: The address offset of ADC controller.
-- interrupt-parent: The interrupt controller.
-- interrupts: The interrupt number for the ADC device.
-- #io-channel-cells: Number of cells in an IIO specifier.
-- hwlocks: Reference to a phandle of a hwlock provider node.
-- nvmem-cells: A phandle to the calibration cells provided by eFuse device.
-- nvmem-cell-names: Should be "big_scale_calib", "small_scale_calib".
-
-Example:
-
-	sc2731_pmic: 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>;
-
-		pmic_adc: 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";
-		};
-	};
Signature · 1 line
2.28.0
maintainer
#9 lore raw

Re: [PATCH 06/20] dt-bindings:iio:adc:sprd,sc2720-adc yaml conversion.

Hi Jonathan,

Quoted 6 lines · Jonathan Cameron

From: Jonathan Cameron <[email protected]>

I changed the name to reflect a specific part in line with normal naming conventions. If there is a particularly strong reason to keep the wild cards let me know.

Why do we have to change the file name of 27xx ?

Quoted 3 lines

Otherwise this was a fairly simple conversion as part of converting all the IIO bindings to yaml.

Thanks for doing this for us.

-Orson

Quoted 137 lines
Cc Baolin Wang <[email protected]>
Cc Orson Zhai <[email protected]>
Cc Chunyan Zhang <[email protected]>
---
 .../bindings/iio/adc/sprd,sc2720-adc.yaml     | 72 +++++++++++++++++++
 .../bindings/iio/adc/sprd,sc27xx-adc.txt      | 40 -----------
 2 files changed, 72 insertions(+), 40 deletions(-)
Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml new file +72 -0
new file mode 100644
index 000000000000..57df6439dd9d
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/sprd,sc2720-adc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Spreadtrum SC27XX series PMICs ADC binding
+
+maintainers:
+  - Baolin Wang <[email protected]>
+
+description:
+  Supports the ADC found on these PMICs.
+
+properties:
+  compatible:
+    enum:
+      - sprd,sc2720-adc
+      - sprd,sc2721-adc
+      - sprd,sc2723-adc
+      - sprd,sc2730-adc
+      - sprd,sc2731-adc
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  "#io-channel-cells":
+    const: 1
+
+  hwlocks:
+    maxItems: 1
+
+  nvmem-cells:
+    maxItems: 2
+
+  nvmem-cell-names:
+    items:
+      - const: big_scale_calib
+      - const: small_scale_calib
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - "#io-channel-cells"
+  - hwlocks
+  - nvmem-cells
+  - nvmem-cell-names
+
+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";
+        };
+    };
+...
Documentation/devicetree/bindings/iio/adc/sprd,sc27xx-adc.txt deleted +0 -41
deleted file mode 100644
index b4daa15dcf15..000000000000
@@ -1,40 +0,0 @@
-Spreadtrum SC27XX series PMICs ADC binding
-
-Required properties:
-- compatible: Should be one of the following.
-       "sprd,sc2720-adc"
-       "sprd,sc2721-adc"
-       "sprd,sc2723-adc"
-       "sprd,sc2730-adc"
-       "sprd,sc2731-adc"
-- reg: The address offset of ADC controller.
-- interrupt-parent: The interrupt controller.
-- interrupts: The interrupt number for the ADC device.
-- #io-channel-cells: Number of cells in an IIO specifier.
-- hwlocks: Reference to a phandle of a hwlock provider node.
-- nvmem-cells: A phandle to the calibration cells provided by eFuse device.
-- nvmem-cell-names: Should be "big_scale_calib", "small_scale_calib".
-
-Example:
-
-       sc2731_pmic: 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>;
-
-               pmic_adc: 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";
-               };
-       };
--

2.28.0

#10 lore raw

Re: [PATCH 06/20] dt-bindings:iio:adc:sprd,sc2720-adc yaml conversion.

Quoted 11 lines · On Tue, 8 Sep 2020 01:46:40 +0800 Orson Zhai <[email protected]> wrote:

Hi Jonathan,

Quoted 6 lines · Jonathan Cameron

From: Jonathan Cameron <[email protected]>

I changed the name to reflect a specific part in line with normal naming conventions. If there is a particularly strong reason to keep the wild cards let me know.

Why do we have to change the file name of 27xx ?

We don't have to, but generally we try to avoid using wild
card naming. It is far too common for companies marketing departments
or similar to decide to group incompatible parts. Basically picking a part number and saying 'and compatible' is much less likely to cause confusion than a wild card!

If you feel strongly about it and can do a check of whether there are any incompatible parts or not covered by that wild card range, then I'm happy to change it back again whilst applying.

Feel free to give a conditional Ack btw!

Jonathan

Quoted 146 lines
Quoted 4 lines

Otherwise this was a fairly simple conversion as part of converting all the IIO bindings to yaml.

Thanks for doing this for us.

-Orson

Quoted 137 lines
Cc Baolin Wang <[email protected]>
Cc Orson Zhai <[email protected]>
Cc Chunyan Zhang <[email protected]>
---
 .../bindings/iio/adc/sprd,sc2720-adc.yaml     | 72 +++++++++++++++++++
 .../bindings/iio/adc/sprd,sc27xx-adc.txt      | 40 -----------
 2 files changed, 72 insertions(+), 40 deletions(-)
Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml new file +72 -0
new file mode 100644
index 000000000000..57df6439dd9d
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/sprd,sc2720-adc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Spreadtrum SC27XX series PMICs ADC binding
+
+maintainers:
+  - Baolin Wang <[email protected]>
+
+description:
+  Supports the ADC found on these PMICs.
+
+properties:
+  compatible:
+    enum:
+      - sprd,sc2720-adc
+      - sprd,sc2721-adc
+      - sprd,sc2723-adc
+      - sprd,sc2730-adc
+      - sprd,sc2731-adc
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  "#io-channel-cells":
+    const: 1
+
+  hwlocks:
+    maxItems: 1
+
+  nvmem-cells:
+    maxItems: 2
+
+  nvmem-cell-names:
+    items:
+      - const: big_scale_calib
+      - const: small_scale_calib
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - "#io-channel-cells"
+  - hwlocks
+  - nvmem-cells
+  - nvmem-cell-names
+
+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";
+        };
+    };
+...
Documentation/devicetree/bindings/iio/adc/sprd,sc27xx-adc.txt deleted +0 -41
deleted file mode 100644
index b4daa15dcf15..000000000000
@@ -1,40 +0,0 @@
-Spreadtrum SC27XX series PMICs ADC binding
-
-Required properties:
-- compatible: Should be one of the following.
-       "sprd,sc2720-adc"
-       "sprd,sc2721-adc"
-       "sprd,sc2723-adc"
-       "sprd,sc2730-adc"
-       "sprd,sc2731-adc"
-- reg: The address offset of ADC controller.
-- interrupt-parent: The interrupt controller.
-- interrupts: The interrupt number for the ADC device.
-- #io-channel-cells: Number of cells in an IIO specifier.
-- hwlocks: Reference to a phandle of a hwlock provider node.
-- nvmem-cells: A phandle to the calibration cells provided by eFuse device.
-- nvmem-cell-names: Should be "big_scale_calib", "small_scale_calib".
-
-Example:
-
-       sc2731_pmic: 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>;
-
-               pmic_adc: 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";
-               };
-       };
--

2.28.0

maintainer Acked-by
#11 lore raw

Re: [PATCH 06/20] dt-bindings:iio:adc:sprd,sc2720-adc yaml conversion.

Quoted 13 lines · Jonathan Cameron
Quoted 10 lines · On Tue, 8 Sep 2020 01:46:40 +0800 Orson Zhai <[email protected]> wrote:

Hi Jonathan,

Quoted 6 lines · Jonathan Cameron

From: Jonathan Cameron <[email protected]>

I changed the name to reflect a specific part in line with normal naming conventions. If there is a particularly strong reason to keep the wild cards let me know.

Quoted 7 lines
Quoted 1 line

Why do we have to change the file name of 27xx ?

We don't have to, but generally we try to avoid using wild
card naming. It is far too common for companies marketing departments
or similar to decide to group incompatible parts. Basically picking a part number and saying 'and compatible' is much less likely to cause confusion than a wild card!

It makes much sense to me.

Quoted 6 lines

If you feel strongly about it and can do a check of whether there are any incompatible parts or not covered by that wild card range, then I'm happy to change it back again whilst applying.

Feel free to give a conditional Ack btw!

Thanks.

Orson

Quoted 151 lines

Jonathan

Quoted 146 lines
Quoted 4 lines

Otherwise this was a fairly simple conversion as part of converting all the IIO bindings to yaml.

Thanks for doing this for us.

-Orson

Quoted 137 lines
Cc Baolin Wang <[email protected]>
Cc Orson Zhai <[email protected]>
Cc Chunyan Zhang <[email protected]>
---
 .../bindings/iio/adc/sprd,sc2720-adc.yaml     | 72 +++++++++++++++++++
 .../bindings/iio/adc/sprd,sc27xx-adc.txt      | 40 -----------
 2 files changed, 72 insertions(+), 40 deletions(-)
Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml new file +72 -0
new file mode 100644
index 000000000000..57df6439dd9d
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/sprd,sc2720-adc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Spreadtrum SC27XX series PMICs ADC binding
+
+maintainers:
+  - Baolin Wang <[email protected]>
+
+description:
+  Supports the ADC found on these PMICs.
+
+properties:
+  compatible:
+    enum:
+      - sprd,sc2720-adc
+      - sprd,sc2721-adc
+      - sprd,sc2723-adc
+      - sprd,sc2730-adc
+      - sprd,sc2731-adc
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  "#io-channel-cells":
+    const: 1
+
+  hwlocks:
+    maxItems: 1
+
+  nvmem-cells:
+    maxItems: 2
+
+  nvmem-cell-names:
+    items:
+      - const: big_scale_calib
+      - const: small_scale_calib
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - "#io-channel-cells"
+  - hwlocks
+  - nvmem-cells
+  - nvmem-cell-names
+
+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";
+        };
+    };
+...
Documentation/devicetree/bindings/iio/adc/sprd,sc27xx-adc.txt deleted +0 -41
deleted file mode 100644
index b4daa15dcf15..000000000000
@@ -1,40 +0,0 @@
-Spreadtrum SC27XX series PMICs ADC binding
-
-Required properties:
-- compatible: Should be one of the following.
-       "sprd,sc2720-adc"
-       "sprd,sc2721-adc"
-       "sprd,sc2723-adc"
-       "sprd,sc2730-adc"
-       "sprd,sc2731-adc"
-- reg: The address offset of ADC controller.
-- interrupt-parent: The interrupt controller.
-- interrupts: The interrupt number for the ADC device.
-- #io-channel-cells: Number of cells in an IIO specifier.
-- hwlocks: Reference to a phandle of a hwlock provider node.
-- nvmem-cells: A phandle to the calibration cells provided by eFuse device.
-- nvmem-cell-names: Should be "big_scale_calib", "small_scale_calib".
-
-Example:
-
-       sc2731_pmic: 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>;
-
-               pmic_adc: 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";
-               };
-       };
--

2.28.0

author maintainer
#12 lore raw

PATCH 7/20 dt-bindings:iio:adc:nuvoton,nau7802 yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

A simple conversion from txt file to yaml. I added the #io-channel-cells property as optional to allow the channels of this ADCs to be used to provide services to other drivers, for example if an analog accelerometer is connected.

Cc Alexandre Belloni <[email protected]>
Cc Maxime Ripard <[email protected]>
---
 .../bindings/iio/adc/nuvoton,nau7802.yaml     | 50 +++++++++++++++++++
 .../bindings/iio/adc/nuvoton-nau7802.txt      | 18 -------
 2 files changed, 50 insertions(+), 18 deletions(-)
Documentation/devicetree/bindings/iio/adc/nuvoton,nau7802.yaml new file +50 -0
new file mode 100644
index 000000000000..bcd041ea28a8
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/nuvoton,nau7802.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Nuvoton NAU7802 I2c Analog to Digital Converter (ADC)
+
+maintainers:
+  - Alexandre Belloni <[email protected]>
+  - Maxime Ripard <[email protected]>
+
+properties:
+  compatible:
+    const: nuvoton,nau7802
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  nuvoton,vldo:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      Internal reference voltage in millivolts to be configured.
+    minimum: 2400
+    maximum: 4500
+
+  "#io-channel-cells":
+    const: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        nau7802@2a {
+            compatible = "nuvoton,nau7802";
+            reg = <0x2a>;
+            nuvoton,vldo = <3000>;
+        };
+    };
+...
Documentation/devicetree/bindings/iio/adc/nuvoton-nau7802.txt deleted +0 -18
deleted file mode 100644
index e9582e6fe350..000000000000
@@ -1,18 +0,0 @@
-* Nuvoton NAU7802 Analog to Digital Converter (ADC)
-
-Required properties:
-  - compatible: Should be "nuvoton,nau7802"
-  - reg: Should contain the ADC I2C address
-
-Optional properties:
-  - nuvoton,vldo: Internal reference voltage in millivolts to be
-    configured valid values are between 2400 mV and 4500 mV.
-  - interrupts: IRQ line for the ADC. If not used the driver will use
-    polling.
-
-Example:
-adc2: nau7802@2a {
-	compatible = "nuvoton,nau7802";
-	reg = <0x2a>;
-	nuvoton,vldo = <3000>;
-};
Signature · 1 line
2.28.0
author maintainer
#13 lore raw

PATCH 8/20 dt-bindings:iio:adc:nuvoton,npcm750-adc yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Renamed the file to reflect the only compatible.
Added #io-channel-cells to make it easier to support consumers of the ADC channels this device provides.

---
 .../bindings/iio/adc/nuvoton,npcm-adc.txt     | 26 --------
 .../bindings/iio/adc/nuvoton,npcm750-adc.yaml | 64 +++++++++++++++++++
 2 files changed, 64 insertions(+), 26 deletions(-)
Documentation/devicetree/bindings/iio/adc/nuvoton,npcm-adc.txt deleted +0 -26
deleted file mode 100644
index ef8eeec1a997..000000000000
@@ -1,26 +0,0 @@
-Nuvoton NPCM Analog to Digital Converter (ADC)
-
-The NPCM ADC is a 10-bit converter for eight channel inputs.
-
-Required properties:
-- compatible: "nuvoton,npcm750-adc" for the NPCM7XX BMC.
-- reg: specifies physical base address and size of the registers.
-- interrupts: Contain the ADC interrupt with flags for falling edge.
-- resets : phandle to the reset control for this device.
-
-Optional properties:
-- clocks: phandle of ADC reference clock, in case the clock is not
-		  added the ADC will use the default ADC sample rate.
-- vref-supply: The regulator supply ADC reference voltage, in case the
-			   vref-supply is not added the ADC will use internal voltage
-			   reference.
-
-Example:
-
-adc: adc@f000c000 {
-	compatible = "nuvoton,npcm750-adc";
-	reg = <0xf000c000 0x8>;
-	interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
-	clocks = <&clk NPCM7XX_CLK_ADC>;
-	resets = <&rstc NPCM7XX_RESET_IPSRST1 NPCM7XX_RESET_ADC>;
-};
Documentation/devicetree/bindings/iio/adc/nuvoton,npcm750-adc.yaml new file +64 -0

64 lines not on this page · raw message

Signature · 1 line
2.28.0
author maintainer
#14 lore raw

PATCH 9/20 dt-bindings:iio:adc:nxp,lpc1850-adc yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Most of the description in the original doc is effectively boilerplate and does not bring much value so I have not carried it over into the yaml.

Added #io-channel-cells to simplify use of channels on this ADC by consumer drivers.

---
 .../bindings/iio/adc/lpc1850-adc.txt          | 20 ------
 .../bindings/iio/adc/nxp,lpc1850-adc.yaml     | 61 +++++++++++++++++++
 2 files changed, 61 insertions(+), 20 deletions(-)
Documentation/devicetree/bindings/iio/adc/lpc1850-adc.txt deleted +0 -20
deleted file mode 100644
index 9ada5abd45fa..000000000000
@@ -1,20 +0,0 @@
-NXP LPC1850 ADC bindings
-
-Required properties:
-- compatible: Should be "nxp,lpc1850-adc"
-- reg: Offset and length of the register set for the ADC device
-- interrupts: The interrupt number for the ADC device
-- clocks: The root clock of the ADC controller
-- vref-supply: The regulator supply ADC reference voltage
-- resets: phandle to reset controller and line specifier
-
-Example:
-
-adc0: adc@400e3000 {
-	compatible = "nxp,lpc1850-adc";
-	reg = <0x400e3000 0x1000>;
-	interrupts = <17>;
-	clocks = <&ccu1 CLK_APB3_ADC0>;
-	vref-supply = <&reg_vdda>;
-	resets = <&rgu 40>;
-};
Documentation/devicetree/bindings/iio/adc/nxp,lpc1850-adc.yaml new file +61 -0

61 lines not on this page · raw message

Signature · 1 line
2.28.0
author maintainer
#15 lore raw

PATCH 10/20 dt-bindings:iio:adc:lpc3220-adc yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Renamed to remove the wild cards. These go wrong far too often so in general preferred to use the name of a specific part. As this binding only provides one compatible, I went with that.

---
 .../bindings/iio/adc/lpc32xx-adc.txt          | 21 --------
 .../bindings/iio/adc/nxp,lpc3220-adc.yaml     | 50 +++++++++++++++++++
 2 files changed, 50 insertions(+), 21 deletions(-)
Documentation/devicetree/bindings/iio/adc/lpc32xx-adc.txt deleted +0 -21
deleted file mode 100644
index 3a1bc669bd51..000000000000
@@ -1,21 +0,0 @@
-* NXP LPC32xx SoC ADC controller
-
-Required properties:
-- compatible: must be "nxp,lpc3220-adc"
-- reg: physical base address of the controller and length of memory mapped
-  region.
-- interrupts: The ADC interrupt
-
-Optional:
- - vref-supply: The regulator supply ADC reference voltage, optional
-   for legacy reason, but highly encouraging to us in new device tree
-
-Example:
-
-	adc@40048000 {
-		compatible = "nxp,lpc3220-adc";
-		reg = <0x40048000 0x1000>;
-		interrupt-parent = <&mic>;
-		interrupts = <39 0>;
-		vref-supply = <&vcc>;
-	};
Documentation/devicetree/bindings/iio/adc/nxp,lpc3220-adc.yaml new file +50 -0

50 lines not on this page · raw message

Signature · 1 line
2.28.0
author maintainer
#16 lore raw

PATCH 11/20 dt-bindings:iio:adc:motorola,cpcap-adc yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Conversion from txt to yaml.
Slightly expanded example to give a bit more context. Description lifted from the original driver commit.

---
 .../devicetree/bindings/iio/adc/cpcap-adc.txt | 17 -------
 .../bindings/iio/adc/motorola,cpcap-adc.yaml  | 51 +++++++++++++++++++
 2 files changed, 51 insertions(+), 17 deletions(-)
Documentation/devicetree/bindings/iio/adc/cpcap-adc.txt deleted +0 -17
deleted file mode 100644
index ec04008e8f4f..000000000000
@@ -1,17 +0,0 @@
-Motorola CPCAP PMIC ADC binding
-
-Required properties:
-- compatible: Should be "motorola,cpcap-adc" or "motorola,mapphone-cpcap-adc"
-- interrupts: The interrupt number for the ADC device
-- interrupt-names: Should be "adcdone"
-- #io-channel-cells: Number of cells in an IIO specifier
-
-Example:
-
-cpcap_adc: adc {
-	compatible = "motorola,mapphone-cpcap-adc";
-	interrupt-parent = <&cpcap>;
-	interrupts = <8 IRQ_TYPE_NONE>;
-	interrupt-names = "adcdone";
-	#io-channel-cells = <1>;
-};
Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml new file +51 -0

51 lines not on this page · raw message

Signature · 1 line
2.28.0
author maintainer
#17 lore raw

PATCH 12/20 dt-bindings:iio:adc:dlg,da9150-gpadc yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

This is a small part of an MFD so perhaps ultimately it makes more sense to document it with that MFD binding rather than separately.

In the meantime it's a straightforward conversion from txt to yaml.

---
 .../bindings/iio/adc/da9150-gpadc.txt         | 16 ---------
 .../bindings/iio/adc/dlg,da9150-gpadc.yaml    | 33 +++++++++++++++++++
 2 files changed, 33 insertions(+), 16 deletions(-)
Documentation/devicetree/bindings/iio/adc/da9150-gpadc.txt deleted +0 -16
deleted file mode 100644
index c07228da92ac..000000000000
@@ -1,16 +0,0 @@
-Dialog Semiconductor DA9150 IIO GPADC bindings
-
-Required properties:
-- compatible: "dlg,da9150-gpadc" for DA9150 IIO GPADC
-- #io-channel-cells: Should be set to <1>
-  (See Documentation/devicetree/bindings/iio/iio-bindings.txt for further info)
-
-For further information on GPADC channels, see device datasheet.
-
-
-Example:
-
-	gpadc: da9150-gpadc {
-		compatible = "dlg,da9150-gpadc";
-		#io-channel-cells = <1>;
-	};
Documentation/devicetree/bindings/iio/adc/dlg,da9150-gpadc.yaml new file +33 -0
new file mode 100644
index 000000000000..15c51d337108
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/dlg,da9150-gpadc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Dialog Semiconductor DA9150 IIO GPADC
+
+maintainers:
+  - Adam Thomson <[email protected]>
+
+description:
+  This patch adds support for general purpose ADC within the
+  DA9150 Charger & Fuel-Gauge IC.
+
+properties:
+  compatible:
+    const: dlg,da9150-gpadc
+
+  "#io-channel-cells":
+    const: 1
+
+required:
+  - compatible
+  - "#io-channel-cells"
+
+examples:
+  - |
+    adc {
+        compatible = "dlg,da9150-gpadc";
+        #io-channel-cells = <1>;
+    };
+...
Signature · 1 line
2.28.0
Acked-by on v1 12/20
#18 lore raw

RE: [PATCH 12/20] dt-bindings:iio:adc:dlg,da9150-gpadc yaml conversion

Quoted 9 lines · Jonathan Cameron

From: Jonathan Cameron <[email protected]>

This is a small part of an MFD so perhaps ultimately it makes more sense to document it with that MFD binding rather than separately.

In the meantime it's a straightforward conversion from txt to yaml.

author maintainer
#19 lore raw

PATCH 13/20 dt-bindings:iio:adc:cosmic,10001-adc yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

I don't really know much about this one, hence the binding is a simple conversion of what was in the txt file.

---
 .../bindings/iio/adc/cc10001_adc.txt          | 22 -------
 .../bindings/iio/adc/cosmic,10001-adc.yaml    | 59 +++++++++++++++++++
 2 files changed, 59 insertions(+), 22 deletions(-)
Documentation/devicetree/bindings/iio/adc/cc10001_adc.txt deleted +0 -22
deleted file mode 100644
index 904f76de9055..000000000000
@@ -1,22 +0,0 @@
-* Cosmic Circuits - Analog to Digital Converter (CC-10001-ADC)
-
-Required properties:
-  - compatible: Should be "cosmic,10001-adc"
-  - reg: Should contain adc registers location and length.
-  - clock-names: Should contain "adc".
-  - clocks: Should contain a clock specifier for each entry in clock-names
-  - vref-supply: The regulator supply ADC reference voltage.
-
-Optional properties:
-  - adc-reserved-channels: Bitmask of reserved channels,
-    i.e. channels that cannot be used by the OS.
-
-Example:
-adc: adc@18101600 {
-	compatible = "cosmic,10001-adc";
-	reg = <0x18101600 0x24>;
-	adc-reserved-channels = <0x2>;
-	clocks = <&adc_clk>;
-	clock-names = "adc";
-	vref-supply = <&reg_1v8>;
-};
Documentation/devicetree/bindings/iio/adc/cosmic,10001-adc.yaml new file +59 -0

59 lines not on this page · raw message

Signature · 1 line
2.28.0
author maintainer
#20 lore raw

PATCH 14/20 dt-bindings:iio:adc:adi,ad7949 yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Simple SPI driver. I've added the #io-channel-cells
as an optional parameter to allow use of this device as a provider of ADC capabilities to other devices.

Cc Charles-Antoine Couret <[email protected]>
---
 .../devicetree/bindings/iio/adc/ad7949.txt    | 16 ------
 .../bindings/iio/adc/adi,ad7949.yaml          | 57 +++++++++++++++++++
 2 files changed, 57 insertions(+), 16 deletions(-)
Documentation/devicetree/bindings/iio/adc/ad7949.txt deleted +0 -16
deleted file mode 100644
index c7f5057356b1..000000000000
@@ -1,16 +0,0 @@
-* Analog Devices AD7949/AD7682/AD7689
-
-Required properties:
- - compatible: Should be one of
-	* "adi,ad7949"
-	* "adi,ad7682"
-	* "adi,ad7689"
- - reg: spi chip select number for the device
- - vref-supply: The regulator supply for ADC reference voltage
-
-Example:
-adc@0 {
-	compatible = "adi,ad7949";
-	reg = <0>;
-	vref-supply = <&vdd_supply>;
-};
Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml new file +57 -0

57 lines not on this page · raw message

Signature · 1 line
2.28.0
author maintainer
#21 lore raw

PATCH 15/20 dt-bindings:iio:adc:ad7768-1 yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Fairly straight conversion. The one oddity in the original binding is that spi-cpha and spi-cpol were not marked as required, but were in the example. Looking at the datasheet, there isn't any documented flexibility in the possible SPI modes, so I have moved these to requires. For spi-max-frequency I have gone the other way. I absolutely agree that it is good to specify this in the dt-binding, but it's not strictly required.

---
 .../bindings/iio/adc/adi,ad7768-1.txt         | 41 ---------
 .../bindings/iio/adc/adi,ad7768-1.yaml        | 89 +++++++++++++++++++
 2 files changed, 89 insertions(+), 41 deletions(-)
Documentation/devicetree/bindings/iio/adc/adi,ad7768-1.txt deleted +0 -41
deleted file mode 100644
index 9f5b88cf680d..000000000000
@@ -1,41 +0,0 @@
-Analog Devices AD7768-1 ADC device driver
-
-Required properties for the AD7768-1:
-
-- compatible: Must be "adi,ad7768-1"
-- reg: SPI chip select number for the device
-- spi-max-frequency: Max SPI frequency to use
-	see: Documentation/devicetree/bindings/spi/spi-bus.txt
-- clocks: phandle to the master clock (mclk)
-	see: Documentation/devicetree/bindings/clock/clock-bindings.txt
-- clock-names: Must be "mclk".
-- interrupts: IRQ line for the ADC
-	see: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
-- vref-supply: vref supply can be used as reference for conversion
-- adi,sync-in-gpios: must be the device tree identifier of the SYNC-IN pin. Enables
-	synchronization of multiple devices that require simultaneous sampling.
-	A pulse is always required if the configuration is changed in any way, for example
-	if the filter decimation rate changes. As the line is active low, it should
-	be marked GPIO_ACTIVE_LOW.
-
-Optional properties:
-
- - reset-gpios : GPIO spec for the RESET pin. If specified, it will be asserted during
-	driver probe. As the line is active low, it should be marked GPIO_ACTIVE_LOW.
-
-Example:
-
-	adc@0 {
-		compatible = "adi,ad7768-1";
-		reg = <0>;
-		spi-max-frequency = <2000000>;
-		spi-cpol;
-		spi-cpha;
-		vref-supply = <&adc_vref>;
-		interrupts = <25 IRQ_TYPE_EDGE_RISING>;
-		interrupt-parent = <&gpio>;
-		adi,sync-in-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
-		reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
-		clocks = <&ad7768_mclk>;
-		clock-names = "mclk";
-	};
Documentation/devicetree/bindings/iio/adc/adi,ad7768-1.yaml new file +89 -0

89 lines not on this page · raw message

Signature · 1 line
2.28.0
author maintainer
#22 lore raw

Re: [PATCH 15/20] dt-bindings:iio:adc:ad7768-1 yaml conversion

Quoted 10 lines · On Sat, 5 Sep 2020 18:29:59 +0100 Jonathan Cameron <[email protected]> wrote:

From: Jonathan Cameron <[email protected]>

Fairly straight conversion. The one oddity in the original binding is that spi-cpha and spi-cpol were not marked as required, but were in the example. Looking at the datasheet, there isn't any documented flexibility in the possible SPI modes, so I have moved these to requires. For spi-max-frequency I have gone the other way. I absolutely agree that it is good to specify this in the dt-binding, but it's not strictly required.

Quoted 2 lines

As Stefan bounced, I guess not the best choice for maintainer on this binding going forwards.

Shall we go the same way as with the code Maintenance and make it Michael's problem? :)

Jonathan

Quoted 147 lines
---
 .../bindings/iio/adc/adi,ad7768-1.txt         | 41 ---------
 .../bindings/iio/adc/adi,ad7768-1.yaml        | 89 +++++++++++++++++++
 2 files changed, 89 insertions(+), 41 deletions(-)
Documentation/devicetree/bindings/iio/adc/adi,ad7768-1.txt deleted +0 -41
deleted file mode 100644
index 9f5b88cf680d..000000000000
@@ -1,41 +0,0 @@
-Analog Devices AD7768-1 ADC device driver
-
-Required properties for the AD7768-1:
-
-- compatible: Must be "adi,ad7768-1"
-- reg: SPI chip select number for the device
-- spi-max-frequency: Max SPI frequency to use
-	see: Documentation/devicetree/bindings/spi/spi-bus.txt
-- clocks: phandle to the master clock (mclk)
-	see: Documentation/devicetree/bindings/clock/clock-bindings.txt
-- clock-names: Must be "mclk".
-- interrupts: IRQ line for the ADC
-	see: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
-- vref-supply: vref supply can be used as reference for conversion
-- adi,sync-in-gpios: must be the device tree identifier of the SYNC-IN pin. Enables
-	synchronization of multiple devices that require simultaneous sampling.
-	A pulse is always required if the configuration is changed in any way, for example
-	if the filter decimation rate changes. As the line is active low, it should
-	be marked GPIO_ACTIVE_LOW.
-
-Optional properties:
-
- - reset-gpios : GPIO spec for the RESET pin. If specified, it will be asserted during
-	driver probe. As the line is active low, it should be marked GPIO_ACTIVE_LOW.
-
-Example:
-
-	adc@0 {
-		compatible = "adi,ad7768-1";
-		reg = <0>;
-		spi-max-frequency = <2000000>;
-		spi-cpol;
-		spi-cpha;
-		vref-supply = <&adc_vref>;
-		interrupts = <25 IRQ_TYPE_EDGE_RISING>;
-		interrupt-parent = <&gpio>;
-		adi,sync-in-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
-		reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
-		clocks = <&ad7768_mclk>;
-		clock-names = "mclk";
-	};
Documentation/devicetree/bindings/iio/adc/adi,ad7768-1.yaml new file +89 -0
new file mode 100644
index 000000000000..a2c559d0c947
@@ -0,0 +1,89 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/adi,ad7768-1.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AD7768-1 ADC device driver
+
+maintainers:
+  - Stefan Popa <[email protected]>
+
+description: |
+  Datasheet at:
+    https://www.analog.com/media/en/technical-documentation/data-sheets/ad7768-1.pdf
+
+properties:
+  compatible:
+    const: adi,ad7768-1
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    const: mclk
+
+  interrupts:
+    maxItems: 1
+
+  vref-supply:
+    description:
+      ADC reference voltage supply
+
+  adi,sync-in-gpios:
+    description:
+      Enables synchronization of multiple devices that require simultaneous
+      sampling. A pulse is always required if the configuration is changed
+      in any way, for example if the filter decimation rate changes.
+      As the line is active low, it should be marked GPIO_ACTIVE_LOW.
+
+  reset-gpios:
+    maxItems: 1
+
+  spi-max-frequency: true
+
+  spi-cpol: true
+  spi-cpha : true
+
+  "#io-channel-cells":
+    const: 1
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - vref-supply
+  - spi-cpol
+  - spi-cpha
+  - adi,sync-in-gpios
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/gpio/gpio.h>
+    spi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        adc@0 {
+            compatible = "adi,ad7768-1";
+            reg = <0>;
+            spi-max-frequency = <2000000>;
+            spi-cpol;
+            spi-cpha;
+            vref-supply = <&adc_vref>;
+            interrupts = <25 IRQ_TYPE_EDGE_RISING>;
+            interrupt-parent = <&gpio>;
+            adi,sync-in-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
+            reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
+            clocks = <&ad7768_mclk>;
+            clock-names = "mclk";
+        };
+    };
+...
author maintainer
#23 lore raw

PATCH 16/20 dt-bindings:iio:adc:ti,ads1015 yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

This binding was moved over from hwmon some time ago so is a bit unusual in terms of IIO bindings. However, conversion was fairly straight forwards.

I've listed both Dirk (who think wrote original binding) and Daniel who added the IIO driver for this device.

Cc Dirk Eibach <[email protected]>
Cc Daniel Baluta <[email protected]>
---
 .../devicetree/bindings/iio/adc/ads1015.txt   |  73 -----------
 .../bindings/iio/adc/ti,ads1015.yaml          | 113 ++++++++++++++++++
 2 files changed, 113 insertions(+), 73 deletions(-)
Documentation/devicetree/bindings/iio/adc/ads1015.txt deleted +0 -73
deleted file mode 100644
index 918a507d1159..000000000000
@@ -1,73 +0,0 @@
-ADS1015 (I2C)
-
-This device is a 12-bit A-D converter with 4 inputs.
-
-The inputs can be used single ended or in certain differential combinations.
-
-For configuration all possible combinations are mapped to 8 channels:
-  0: Voltage over AIN0 and AIN1.
-  1: Voltage over AIN0 and AIN3.
-  2: Voltage over AIN1 and AIN3.
-  3: Voltage over AIN2 and AIN3.
-  4: Voltage over AIN0 and GND.
-  5: Voltage over AIN1 and GND.
-  6: Voltage over AIN2 and GND.
-  7: Voltage over AIN3 and GND.
-
-Each channel can be configured individually:
- - pga is the programmable gain amplifier (values are full scale)
-    0: +/- 6.144 V
-    1: +/- 4.096 V
-    2: +/- 2.048 V (default)
-    3: +/- 1.024 V
-    4: +/- 0.512 V
-    5: +/- 0.256 V
- - data_rate in samples per second
-    0: 128
-    1: 250
-    2: 490
-    3: 920
-    4: 1600 (default)
-    5: 2400
-    6: 3300
-
-1) The /ads1015 node
-
-  Required properties:
-
-   - compatible : must be "ti,ads1015"
-   - reg : I2C bus address of the device
-   - #address-cells : must be <1>
-   - #size-cells : must be <0>
-
-  The node contains child nodes for each channel that the platform uses.
-
-  Example ADS1015 node:
-
-    ads1015@49 {
-	    compatible = "ti,ads1015";
-	    reg = <0x49>;
-	    #address-cells = <1>;
-	    #size-cells = <0>;
-
-	    [ child node definitions... ]
-    }
-
-2) channel nodes
-
-  Required properties:
-
-   - reg : the channel number
-
-  Optional properties:
-
-   - ti,gain : the programmable gain amplifier setting
-   - ti,datarate : the converter data rate
-
-  Example ADS1015 channel node:
-
-    channel@4 {
-	    reg = <4>;
-	    ti,gain = <3>;
-	    ti,datarate = <5>;
-    };
Documentation/devicetree/bindings/iio/adc/ti,ads1015.yaml new file +113 -0

113 lines not on this page · raw message

Signature · 1 line
2.28.0
author maintainer
#24 lore raw

PATCH 17/20 dt-bindings:iio:adc:holt,hi8435 yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Very simple binding. I've changed the example to use the node name threshold-detector@0 as sensor@0 seemed too generic.

---
 .../devicetree/bindings/iio/adc/hi8435.txt    | 21 --------
 .../bindings/iio/adc/holt,hi8435.yaml         | 49 +++++++++++++++++++
 2 files changed, 49 insertions(+), 21 deletions(-)
Documentation/devicetree/bindings/iio/adc/hi8435.txt deleted +0 -21
deleted file mode 100644
index 3b0348c5e516..000000000000
@@ -1,21 +0,0 @@
-Holt Integrated Circuits HI-8435 threshold detector bindings
-
-Required properties:
- - compatible: should be "holt,hi8435"
- - reg: spi chip select number for the device
-
-Recommended properties:
- - spi-max-frequency: definition as per
-		Documentation/devicetree/bindings/spi/spi-bus.txt
-
-Optional properties:
- - gpios: GPIO used for controlling the reset pin
-
-Example:
-sensor@0 {
-	compatible = "holt,hi8435";
-	reg = <0>;
-	gpios = <&gpio6 1 0>;
-
-	spi-max-frequency = <1000000>;
-};
Documentation/devicetree/bindings/iio/adc/holt,hi8435.yaml new file +49 -0

49 lines not on this page · raw message

Signature · 1 line
2.28.0
author maintainer
#25 lore raw

PATCH 18/20 dt-bindings:iio:adc:amlogic,meson-saradc yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

This binding is non trivial due to the range of different parts supported having several subtle quirks.
I am far from sure I have these correct. For example:
1) Can we have the clock adc_sel without adc_clk?
2) I haven't restricted the amlogic,hhi-sysctrl to only be present on the relevant parts if nvmem stuff also is, but it would seem to be rather odd if it were otherwise.

Perhaps we look to make this binding more restrictive at a later date.

Cc Martin Blumenstingl <[email protected]>
Cc Kevin Hilman <[email protected]>
Cc Neil Armstrong <[email protected]>
Cc Jerome Brunet <[email protected]>
---
 .../bindings/iio/adc/amlogic,meson-saradc.txt |  48 ------
 .../iio/adc/amlogic,meson-saradc.yaml         | 145 ++++++++++++++++++
 2 files changed, 145 insertions(+), 48 deletions(-)
Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.txt deleted +0 -48
deleted file mode 100644
index d57e9df25f4f..000000000000
@@ -1,48 +0,0 @@
-* Amlogic Meson SAR (Successive Approximation Register) A/D converter
-
-Required properties:
-- compatible:	depending on the SoC this should be one of:
-			- "amlogic,meson8-saradc" for Meson8
-			- "amlogic,meson8b-saradc" for Meson8b
-			- "amlogic,meson8m2-saradc" for Meson8m2
-			- "amlogic,meson-gxbb-saradc" for GXBB
-			- "amlogic,meson-gxl-saradc" for GXL
-			- "amlogic,meson-gxm-saradc" for GXM
-			- "amlogic,meson-axg-saradc" for AXG
-			- "amlogic,meson-g12a-saradc" for AXG
-		along with the generic "amlogic,meson-saradc"
-- reg:		the physical base address and length of the registers
-- interrupts:	the interrupt indicating end of sampling
-- clocks:	phandle and clock identifier (see clock-names)
-- clock-names:	mandatory clocks:
-			- "clkin" for the reference clock (typically XTAL)
-			- "core" for the SAR ADC core clock
-		optional clocks:
-			- "adc_clk" for the ADC (sampling) clock
-			- "adc_sel" for the ADC (sampling) clock mux
-- vref-supply:	the regulator supply for the ADC reference voltage
-- #io-channel-cells: must be 1, see ../iio-bindings.txt
-
-Optional properties:
-- amlogic,hhi-sysctrl:	phandle to the syscon which contains the 5th bit
-			of the TSC (temperature sensor coefficient) on
-			Meson8b and Meson8m2 (which used to calibrate the
-			temperature sensor)
-- nvmem-cells:		phandle to the temperature_calib eFuse cells
-- nvmem-cell-names:	if present (to enable the temperature sensor
-			calibration) this must contain "temperature_calib"
-
-
-Example:
-	saradc: adc@8680 {
-		compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc";
-		#io-channel-cells = <1>;
-		reg = <0x0 0x8680 0x0 0x34>;
-		interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
-		clocks = <&xtal>,
-			 <&clkc CLKID_SAR_ADC>,
-			 <&clkc CLKID_SANA>,
-			 <&clkc CLKID_SAR_ADC_CLK>,
-			 <&clkc CLKID_SAR_ADC_SEL>;
-		clock-names = "clkin", "core", "sana", "adc_clk", "adc_sel";
-	};
Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.yaml new file +145 -0

145 lines not on this page · raw message

Signature · 1 line
2.28.0
#26 lore raw

Re: [PATCH 18/20] dt-bindings:iio:adc:amlogic,meson-saradc yaml conversion

Hi Jonathan,

Quoted 5 lines · Jonathan Cameron

From: Jonathan Cameron <[email protected]>

This binding is non trivial due to the range of different parts supported having several subtle quirks.

thank you for working on this!

Quoted 2 lines

I am far from sure I have these correct. For example:
1) Can we have the clock adc_sel without adc_clk?

adc_sel and adc_clk only exist on GXBB and newer
Meson8, Meson8b and Meson8m2 have these clocks built into the SAR ADC IP block

Quoted 3 lines

2) I haven't restricted the amlogic,hhi-sysctrl to only be present on the relevant parts if nvmem stuff also is, but it would seem to be rather odd if it were otherwise.

yes, I think we can restrict this later

[...]

Review

Quoted 10 lines
(quoted diff) +10 -0
+        adc@9680 {
+            compatible = "amlogic,meson8b-saradc", "amlogic,meson-saradc";
+            #io-channel-cells = <1>;
+            reg = <0x0 0x9680 0x0 0x34>;
+            interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
+            clocks = <&xtal>,
+                <&clkc CLKID_SAR_ADC>,
+                <&clkc CLKID_SAR_ADC_CLK>,
+                <&clkc CLKID_SAR_ADC_SEL>;
+            clock-names = "clkin", "core";

CLKID_SAR_ADC_CLK and CLKID_SAR_ADC_SEL should not be in this Meson8b example

I have attached a patch for this as well as for making the clock selection more restrictive (to catch errors like this). feel free to include it in your patch if you think that it improves things

Best regards,
Martin

Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.yaml +20 -16
index 5b2e07828c3d..6d94bf76900e 100644
@@ -35,18 +35,9 @@ properties:
     description: Interrupt indicates end of sampling.
     maxItems: 1
 
-  clocks:
-    minItems: 2
-    maxItems: 4
-
-  clock-names:
-    items:
-      - const: clkin
-      - const: core
-      - const: adc_clk
-      - const: adc_sel
-    minItems: 2
-    maxItems: 4
+  clocks: true
+
+  clock-names: true
 
   vref-supply: true
 
@@ -79,10 +70,26 @@ allOf:
       properties:
         nvmem-cells: true
         nvmem-cell-names: true
+        clock-names:
+          items:
+            - const: clkin
+            - const: core
+          minItems: 2
+        clocks:
+          minItems: 2
     else:
       properties:
         nvmem-cells: false
         mvmem-cel-names: false
+        clock-names:
+          items:
+            - const: clkin
+            - const: core
+            - const: adc_clk
+            - const: adc_sel
+          minItems: 4
+        clocks:
+          minItems: 4
 
   - if:
       properties:
@@ -132,10 +139,7 @@ examples:
             #io-channel-cells = <1>;
             reg = <0x0 0x9680 0x0 0x34>;
             interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
-            clocks = <&xtal>,
-                <&clkc CLKID_SAR_ADC>,
-                <&clkc CLKID_SAR_ADC_CLK>,
-                <&clkc CLKID_SAR_ADC_SEL>;
+            clocks = <&xtal>, <&clkc CLKID_SAR_ADC>;
             clock-names = "clkin", "core";
             nvmem-cells = <&tsens_caldata>;
             nvmem-cell-names = "temperature_calib";
author maintainer
#27 lore raw

Re: [PATCH 18/20] dt-bindings:iio:adc:amlogic,meson-saradc yaml conversion

Quoted 6 lines · On Sun, 6 Sep 2020 12:00:02 +0200 Martin Blumenstingl…

Hi Jonathan,

Quoted 3 lines · Jonathan Cameron

From: Jonathan Cameron <[email protected]>

Quoted 8 lines
Quoted 2 lines

This binding is non trivial due to the range of different parts supported having several subtle quirks.

thank you for working on this!

Quoted 2 lines

I am far from sure I have these correct. For example:
1) Can we have the clock adc_sel without adc_clk?

adc_sel and adc_clk only exist on GXBB and newer
Meson8, Meson8b and Meson8m2 have these clocks built into the SAR ADC IP block

Ah. That makes sense.

Quoted 17 lines
Quoted 4 lines

2) I haven't restricted the amlogic,hhi-sysctrl to only be present on the relevant parts if nvmem stuff also is, but it would seem to be rather odd if it were otherwise.

yes, I think we can restrict this later

[...]

Review

Quoted 10 lines
(quoted diff) +10 -0
+        adc@9680 {
+            compatible = "amlogic,meson8b-saradc", "amlogic,meson-saradc";
+            #io-channel-cells = <1>;
+            reg = <0x0 0x9680 0x0 0x34>;
+            interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
+            clocks = <&xtal>,
+                <&clkc CLKID_SAR_ADC>,
+                <&clkc CLKID_SAR_ADC_CLK>,
+                <&clkc CLKID_SAR_ADC_SEL>;
+            clock-names = "clkin", "core";  
Quoted 5 lines

CLKID_SAR_ADC_CLK and CLKID_SAR_ADC_SEL should not be in this Meson8b example

I have attached a patch for this as well as for making the clock selection more restrictive (to catch errors like this). feel free to include it in your patch if you think that it improves things

Great thanks. I'll roll your patch into this for v2.

Thanks,

Jonathan

Quoted 4 lines

Best regards,
Martin

author maintainer
#28 lore raw

PATCH 19/20 dt-bindings:iio:adc:fsl,imx7d-adc yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

A nice simple binding. Only real different from txt is that I dropped some descriptions where the naming of the parameter was self explanatory

Cc Haibo Chen <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
---
 .../bindings/iio/adc/fsl,imx7d-adc.yaml       | 62 +++++++++++++++++++
 .../devicetree/bindings/iio/adc/imx7d-adc.txt | 24 -------
 2 files changed, 62 insertions(+), 24 deletions(-)
Documentation/devicetree/bindings/iio/adc/fsl,imx7d-adc.yaml new file +62 -0
new file mode 100644
index 000000000000..dc5eacb38046
@@ -0,0 +1,62 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/fsl,imx7d-adc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale ADC found on the imx7d SoC
+
+maintainers:
+  - Haibo Chen <[email protected]>
+
+properties:
+  compatible:
+    const: fsl,imx7d-adc
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    const: adc
+
+  vref-supply: true
+
+  "#io-channel-cells":
+    const: 1
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+  - vref-supply
+  - "#io-channel-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    #include <dt-bindings/clock/imx7d-clock.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    soc {
+        #address-cells = <1>;
+        #size-cells = <1>;
+        adc@30610000 {
+            compatible = "fsl,imx7d-adc";
+            reg = <0x30610000 0x10000>;
+            interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+            clocks = <&clks IMX7D_ADC_ROOT_CLK>;
+            clock-names = "adc";
+            vref-supply = <&reg_vcc_3v3_mcu>;
+            #io-channel-cells = <1>;
+        };
+    };
+...
Documentation/devicetree/bindings/iio/adc/imx7d-adc.txt deleted +0 -24
deleted file mode 100644
index f1f3a552459b..000000000000
@@ -1,24 +0,0 @@
-Freescale imx7d ADC bindings
-
-The devicetree bindings are for the ADC driver written for
-imx7d SoC.
-
-Required properties:
-- compatible: Should be "fsl,imx7d-adc"
-- reg: Offset and length of the register set for the ADC device
-- interrupts: The interrupt number for the ADC device
-- clocks: The root clock of the ADC controller
-- clock-names: Must contain "adc", matching entry in the clocks property
-- vref-supply: The regulator supply ADC reference voltage
-- #io-channel-cells: Must be 1 as per ../iio-bindings.txt
-
-Example:
-adc1: adc@30610000 {
-	compatible = "fsl,imx7d-adc";
-	reg = <0x30610000 0x10000>;
-	interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
-	clocks = <&clks IMX7D_ADC_ROOT_CLK>;
-	clock-names = "adc";
-	vref-supply = <&reg_vcc_3v3_mcu>;
-	#io-channel-cells = <1>;
-};
Signature · 1 line
2.28.0
author maintainer
#29 lore raw

PATCH 20/20 dt-bindings:iio:adc:fsl,imx25-gcq yaml conversion

In reply to Jonathan Cameron

From: Jonathan Cameron <[email protected]>

This binding has a few corners that would have been done different today but hopefully the yaml schema captures the contraints correctly.

The child node names are not constrained hence the fairly open regexp. I've also documented the defaults for the two references that the driver seems to use and copied the value descriptions from the header because I think they should be in the dt-binding itself.

This is part of a general effort to convert all the IIO bindings over to yaml

Cc Markus Pargmann <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
---
 .../bindings/iio/adc/fsl,imx25-gcq.txt        |  57 --------
 .../bindings/iio/adc/fsl,imx25-gcq.yaml       | 129 ++++++++++++++++++
 2 files changed, 129 insertions(+), 57 deletions(-)
Documentation/devicetree/bindings/iio/adc/fsl,imx25-gcq.txt deleted +0 -57
deleted file mode 100644
index eebdcec3dab5..000000000000
@@ -1,57 +0,0 @@
-Freescale i.MX25 ADC GCQ device
-
-This is a generic conversion queue device that can convert any of the
-analog inputs using the ADC unit of the i.MX25.
-
-Required properties:
- - compatible: Should be "fsl,imx25-gcq".
- - reg: Should be the register range of the module.
- - interrupts: Should be the interrupt number of the module.
-   Typically this is <1>.
- - #address-cells: Should be <1> (setting for the subnodes)
- - #size-cells: Should be <0> (setting for the subnodes)
-
-Optional properties:
- - vref-ext-supply: The regulator supplying the ADC reference voltage.
-   Required when at least one subnode uses the this reference.
- - vref-xp-supply: The regulator supplying the ADC reference voltage on pin XP.
-   Required when at least one subnode uses this reference.
- - vref-yp-supply: The regulator supplying the ADC reference voltage on pin YP.
-   Required when at least one subnode uses this reference.
-
-Sub-nodes:
-Optionally you can define subnodes which define the reference voltage
-for the analog inputs.
-
-Required properties for subnodes:
- - reg: Should be the number of the analog input.
-     0: xp
-     1: yp
-     2: xn
-     3: yn
-     4: wiper
-     5: inaux0
-     6: inaux1
-     7: inaux2
-Optional properties for subnodes:
- - fsl,adc-refp: specifies the positive reference input as defined in
-     <dt-bindings/iio/adc/fsl-imx25-gcq.h>
- - fsl,adc-refn: specifies the negative reference input as defined in
-     <dt-bindings/iio/adc/fsl-imx25-gcq.h>
-
-Example:
-
-	adc: adc@50030800 {
-		compatible = "fsl,imx25-gcq";
-		reg = <0x50030800 0x60>;
-		interrupt-parent = <&tscadc>;
-		interrupts = <1>;
-		#address-cells = <1>;
-		#size-cells = <0>;
-
-		inaux@5 {
-			reg = <5>;
-			fsl,adc-refp = <MX25_ADC_REFP_INT>;
-			fsl,adc-refn = <MX25_ADC_REFN_NGND>;
-		};
-	};
Documentation/devicetree/bindings/iio/adc/fsl,imx25-gcq.yaml new file +129 -0

129 lines not on this page · raw message

Signature · 1 line
2.28.0