All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Jonathan Cameron <jic23@kernel.org>
Cc: linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	Sean Nyekjaer <sean.nyekjaer@prevas.dk>
Subject: Re: [PATCH 39/46] dt-bindings:iio:dac:ad5755: txt to yaml format conversion.
Date: Tue, 3 Nov 2020 10:32:37 -0600	[thread overview]
Message-ID: <20201103163237.GF1754553@bogus> (raw)
In-Reply-To: <20201031184854.745828-40-jic23@kernel.org>

On Sat, Oct 31, 2020 at 06:48:47PM +0000, Jonathan Cameron wrote:
> From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> 
> Straight forward conversion.  Only fiddly bit is the XOR of
> spi-cpol and spi-cpha.
> 
> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Cc: Sean Nyekjaer <sean.nyekjaer@prevas.dk>
> ---
>  .../devicetree/bindings/iio/dac/ad5755.txt    | 124 ------------
>  .../bindings/iio/dac/adi,ad5755.yaml          | 178 ++++++++++++++++++
>  2 files changed, 178 insertions(+), 124 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/iio/dac/ad5755.txt b/Documentation/devicetree/bindings/iio/dac/ad5755.txt
> deleted file mode 100644
> index 502e1e55adbd..000000000000
> --- a/Documentation/devicetree/bindings/iio/dac/ad5755.txt
> +++ /dev/null
> @@ -1,124 +0,0 @@
> -* Analog Devices AD5755 IIO Multi-Channel DAC Linux Driver
> -
> -Required properties:
> - - compatible: Has to contain one of the following:
> -	adi,ad5755
> -	adi,ad5755-1
> -	adi,ad5757
> -	adi,ad5735
> -	adi,ad5737
> -
> - - reg: spi chip select number for the device
> - - spi-cpha or spi-cpol: is the only modes that is supported
> -
> -Recommended properties:
> - - spi-max-frequency: Definition as per
> -		Documentation/devicetree/bindings/spi/spi-bus.txt
> -
> -Optional properties:
> -See include/dt-bindings/iio/ad5755.h
> - - adi,ext-dc-dc-compenstation-resistor: boolean set if the hardware have an
> -					 external resistor and thereby bypasses
> -					 the internal compensation resistor.
> - - adi,dc-dc-phase:
> -	Valid values for DC DC Phase control is:
> -	0: All dc-to-dc converters clock on the same edge.
> -	1: Channel A and Channel B clock on the same edge,
> -	   Channel C and Channel D clock on opposite edges.
> -	2: Channel A and Channel C clock on the same edge,
> -	   Channel B and Channel D clock on opposite edges.
> -	3: Channel A, Channel B, Channel C, and Channel D
> -	   clock 90 degrees out of phase from each other.
> - - adi,dc-dc-freq-hz:
> -	Valid values for DC DC frequency is [Hz]:
> -	250000
> -	410000
> -	650000
> - - adi,dc-dc-max-microvolt:
> -	Valid values for the maximum allowed Vboost voltage supplied by
> -	the dc-to-dc converter is:
> -	23000000
> -	24500000
> -	27000000
> -	29500000
> -
> -Optional for every channel:
> - - adi,mode:
> -	Valid values for DAC modes is:
> -	0: 0 V to 5 V voltage range.
> -	1: 0 V to 10 V voltage range.
> -	2: Plus minus 5 V voltage range.
> -	3: Plus minus 10 V voltage range.
> -	4: 4 mA to 20 mA current range.
> -	5: 0 mA to 20 mA current range.
> -	6: 0 mA to 24 mA current range.
> - - adi,ext-current-sense-resistor: boolean set if the hardware a external
> -				   current sense resistor.
> - - adi,enable-voltage-overrange: boolean enable voltage overrange
> - - adi,slew: Array of slewrate settings should contain 3 fields:
> -	1: Should be either 0 or 1 in order to enable or disable slewrate.
> -	2: Slew rate settings:
> -		Valid values for the slew rate update frequency:
> -		64000
> -		32000
> -		16000
> -		8000
> -		4000
> -		2000
> -		1000
> -		500
> -		250
> -		125
> -		64
> -		32
> -		16
> -		8
> -		4
> -		0
> -	3: Slew step size:
> -		Valid values for the step size LSBs:
> -		1
> -		2
> -		4
> -		16
> -		32
> -		64
> -		128
> -		256
> -
> -Example:
> -dac@0 {
> -	#address-cells = <1>;
> -	#size-cells = <0>;
> -	compatible = "adi,ad5755";
> -	reg = <0>;
> -	spi-max-frequency = <1000000>;
> -	spi-cpha;
> -	adi,dc-dc-phase = <0>;
> -	adi,dc-dc-freq-hz = <410000>;
> -	adi,dc-dc-max-microvolt = <23000000>;
> -	channel@0 {
> -		reg = <0>;
> -		adi,mode = <4>;
> -		adi,ext-current-sense-resistor;
> -		adi,slew = <0 64000 1>;
> -	};
> -	channel@1 {
> -		reg = <1>;
> -		adi,mode = <4>;
> -		adi,ext-current-sense-resistor;
> -		adi,slew = <0 64000 1>;
> -	};
> -	channel@2 {
> -		reg = <2>;
> -		adi,mode = <4>;
> -		adi,ext-current-sense-resistor;
> -		adi,slew = <0 64000 1>;
> -	};
> -	channel@3 {
> -		reg = <3>;
> -		adi,mode = <4>;
> -		adi,ext-current-sense-resistor;
> -		adi,slew = <0 64000 1>;
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/iio/dac/adi,ad5755.yaml b/Documentation/devicetree/bindings/iio/dac/adi,ad5755.yaml
> new file mode 100644
> index 000000000000..74edff3e8408
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/dac/adi,ad5755.yaml
> @@ -0,0 +1,178 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/dac/adi,ad5755.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices AD5755 Multi-Channel DAC
> +
> +maintainers:
> +  - Sean Nyekjaer <sean.nyekjaer@prevas.dk>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - adi,ad5755
> +      - adi,ad5755-1
> +      - adi,ad5757
> +      - adi,ad5735
> +      - adi,ad5737
> +
> +  reg:
> +    maxItems: 1
> +
> +  spi-cpha:
> +    description: Either this or spi-cpol but not both.
> +  spi-cpol: true
> +
> +  spi-max-frequency: true
> +
> +  adi,ext-dc-dc-compenstation-resistor:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Set if the hardware have an external resistor and thereby bypasses
> +      the internal compensation resistor.
> +
> +  adi,dc-dc-phase:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum: [0, 1, 2, 3]
> +    description: |
> +      Valid values for DC DC Phase control is:
> +      0: All dc-to-dc converters clock on the same edge.
> +      1: Channel A and Channel B clock on the same edge,
> +         Channel C and Channel D clock on opposite edges.
> +      2: Channel A and Channel C clock on the same edge,
> +         Channel B and Channel D clock on opposite edges.
> +      3: Channel A, Channel B, Channel C, and Channel D
> +         clock 90 degrees out of phase from each other.
> +
> +  adi,dc-dc-freq-hz:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum: [250000, 410000, 650000]
> +
> +  adi,dc-dc-max-microvolt:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      Maximum allowed Vboost voltage supplied by the dc-to-dc converter.
> +    enum: [23000000, 24500000, 27000000, 29500000]
> +
> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 0
> +
> +  "#io-channel-cells":
> +    const: 1
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +patternProperties:
> +  "^(channel@)[0-7]$":
> +    type: object
> +    description: Child node to describe a channel
> +    properties:
> +      reg:
> +        maxItems: 1
> +
> +      adi,mode:
> +        $ref: /schemas/types.yaml#/definitions/uint32
> +        minimum: 0
> +        maximum: 6
> +        description: |
> +          Valid values for DAC modes is:
> +          0: 0 V to 5 V voltage range.
> +          1: 0 V to 10 V voltage range.
> +          2: Plus minus 5 V voltage range.
> +          3: Plus minus 10 V voltage range.
> +          4: 4 mA to 20 mA current range.
> +          5: 0 mA to 20 mA current range.
> +          6: 0 mA to 24 mA current range.
> +
> +      adi,ext-current-sense-resistor:
> +        $ref: /schemas/types.yaml#/definitions/flag
> +        description:
> +          Set if the hardware has an external current sense resistor
> +
> +      adi,enable-voltage-overrange:
> +        $ref: /schemas/types.yaml#/definitions/flag
> +        description: Enable voltage overrange
> +
> +      adi,slew:
> +        $ref: /schemas/types.yaml#/definitions/uint32-array
> +        description: |
> +          Array of slewrate settings should contain 3 fields:
> +          1: Should be either 0 or 1 in order to enable or disable slewrate.
> +          2: Slew rate update frequency
> +          3: Slew step size
> +        items:
> +          - enum: [0, 1]
> +          - enum: [64000, 32000, 16000, 8000, 4000, 2000, 1000, 500, 250, 125, 64, 32, 16, 8, 4, 0]
> +          - enum: [1, 2, 4, 16, 32, 64, 128, 256]
> +
> +    required:
> +      - reg
> +
> +    additionalProperties: false
> +
> +allOf:
> +  - $ref: '#/definitions/cpolXORcpha'
> +
> +definitions:
> +  cpolXORcpha:

Like the other one, you can drop 'definitions'.

> +    not:
> +      required: [spi-cpha, spi-cpol]
> +    oneOf:
> +      - required:
> +          - spi-cpha
> +      - required:
> +          - spi-cpol
> +
> +examples:
> +  - |
> +    #include <dt-bindings/iio/adi,ad5592r.h>
> +    spi {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        dac@0 {
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +            compatible = "adi,ad5755";
> +            reg = <0>;
> +            spi-max-frequency = <1000000>;
> +            spi-cpha;
> +            adi,dc-dc-phase = <0>;
> +            adi,dc-dc-freq-hz = <410000>;
> +            adi,dc-dc-max-microvolt = <23000000>;
> +            channel@0 {
> +                reg = <0>;
> +                adi,mode = <4>;
> +                adi,ext-current-sense-resistor;
> +                adi,slew = <0 64000 1>;
> +            };
> +            channel@1 {
> +                reg = <1>;
> +                adi,mode = <4>;
> +                adi,ext-current-sense-resistor;
> +                adi,slew = <0 64000 1>;
> +            };
> +            channel@2 {
> +                reg = <2>;
> +                adi,mode = <4>;
> +                adi,ext-current-sense-resistor;
> +                adi,slew = <0 64000 1>;
> +            };
> +            channel@3 {
> +                reg = <3>;
> +                adi,mode = <4>;
> +                adi,ext-current-sense-resistor;
> +                adi,slew = <0 64000 1>;
> +            };
> +        };
> +    };
> +...
> -- 
> 2.28.0
> 

  reply	other threads:[~2020-11-03 16:32 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-31 18:48 [PATCH 00/46] dt-bindings:iio: yet more txt to yam conversions Jonathan Cameron
2020-10-31 18:48 ` [PATCH 01/46] dt-bindings:iio:resolver:adi,ad2s90: Conversion of binding to yaml Jonathan Cameron
2020-10-31 18:48 ` [PATCH 02/46] dt-bindings:iio:potentiometer:adi,ad5272 yaml conversion Jonathan Cameron
2020-11-02  4:48   ` Phil Reid
2020-11-03 16:10   ` Rob Herring
2020-11-03 17:28     ` Jonathan Cameron
2020-11-04  0:39       ` Phil Reid
2020-11-04  3:12         ` Rob Herring
2020-11-04  4:53           ` Phil Reid
2020-11-09  2:56             ` Phil Reid
2020-11-22 16:35               ` Jonathan Cameron
2020-11-23 23:33                 ` Phil Reid
2020-10-31 18:48 ` [PATCH 03/46] dt-bindings:iio:potentiometer:microchip,mcp4131 txt to " Jonathan Cameron
2020-11-02 16:19   ` Slawomir Stepien
2020-11-03 16:11   ` Rob Herring
2020-10-31 18:48 ` [PATCH 04/46] dt-bindings:iio:potentiometer:microchip,mcp41010 " Jonathan Cameron
2020-10-31 18:48 ` [PATCH 05/46] dt-bindings:iio:impedance-analyzer:adi,ad5933 " Jonathan Cameron
2020-10-31 18:48 ` [PATCH 06/46] dt-bindings:iio:samsung,sensorhub-rinato: " Jonathan Cameron
2020-11-22 16:43   ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 07/46] dt-bindings:iio:health:ti,afe4403: txt to yaml binding Jonathan Cameron
2020-11-22 17:32   ` Jonathan Cameron
2020-11-28 16:15     ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 08/46] dt-bindings:iio:health:ti,afe4404: txt to yaml conversion Jonathan Cameron
2020-11-28 16:24   ` Jonathan Cameron
2020-12-18 19:42   ` Rob Herring
2020-12-30 12:21     ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 09/46] dt-bindings:iio:health:maxim,max30100: " Jonathan Cameron
2020-10-31 21:41   ` Matt Ranostay
2020-11-22 16:58     ` Jonathan Cameron
2020-11-22 17:24       ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 10/46] dt-bindings:iio:health:maxim,max30102: " Jonathan Cameron
2020-10-31 21:38   ` Matt Ranostay
2020-11-22 17:29     ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 11/46] dt-bindings:iio:imu:adi,adis16480: " Jonathan Cameron
2020-10-31 18:48 ` [PATCH 12/46] dt-bindings:iio:imu:st,lsm6dsx: " Jonathan Cameron
2020-10-31 18:48 ` [PATCH 13/46] dt-bindings:iio:light:avago,apds9300: " Jonathan Cameron
2020-10-31 18:48 ` [PATCH 14/46] dt-bindings:iio:light:avago,apds9960: " Jonathan Cameron
2020-10-31 21:33   ` Matt Ranostay
2020-10-31 21:35     ` Matt Ranostay
2020-11-01 14:57       ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 15/46] dt-bindings:iio:light:capella,cm36651: " Jonathan Cameron
2020-10-31 18:48 ` [PATCH 16/46] dt-bindings:iio:light:sharp,gp2ap020a00f: " Jonathan Cameron
2020-11-22 17:42   ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 17/46] dt-bindings:iio:light:maxim,max44009: " Jonathan Cameron
2020-10-31 18:48 ` [PATCH 18/46] dt-bindings:iio:light:ti,opt3001: " Jonathan Cameron
2020-10-31 18:48 ` [PATCH 19/46] dt-bindings:iio:light:upisemi,us51882: " Jonathan Cameron
2020-11-03 16:18   ` Rob Herring
2020-10-31 18:48 ` [PATCH 20/46] dt-bindings:iio:light:st,uvis25: txt to yaml conversion for this UV sensor Jonathan Cameron
2020-10-31 18:48 ` [PATCH 21/46] dt-bindings:iio:light:vishay,vcnl4035: txt to yaml conversion Jonathan Cameron
2020-11-22 17:52   ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 22/46] dt-bindings:iio:light:st,vl6180: txt to yaml format conversion Jonathan Cameron
2020-11-01 15:26   ` Manivannan Sadhasivam
2020-10-31 18:48 ` [PATCH 23/46] dt-bindings:iio:magnetometer:fsl,mag3110: txt to yaml conversion Jonathan Cameron
2020-10-31 18:48 ` [PATCH 24/46] dt-bindings:iio:magnetometer:asahi-kasei,ak8974: txt to yaml format conversion Jonathan Cameron
2020-11-04 14:47   ` Linus Walleij
2020-11-08 15:55     ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 25/46] dt-bindings:iio:magnetometer:bosch,bmc150_magn: txt to yaml conversion Jonathan Cameron
2020-10-31 18:48 ` [PATCH 26/46] dt-bindings:iio:magnetometer:honeywell,hmc5843: txt to yaml format conversion Jonathan Cameron
2020-10-31 18:48 ` [PATCH 27/46] dt-bindings:iio:magnetometer:pni,rm3100: txt to yaml conversion Jonathan Cameron
2020-10-31 18:48 ` [PATCH 28/46] dt-bindings:iio:adc:atmel,sama5d2-adc: " Jonathan Cameron
2020-11-22 18:07   ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 29/46] dt-bindings:iio:adc:atmel,sama9260-adc: conversion to yaml from at91_adc.txt Jonathan Cameron
2020-11-13  9:22   ` Alexandre Belloni
2020-11-14 15:37     ` Jonathan Cameron
2020-11-22 18:09       ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 30/46] dt-bindings:iio:adc:renesas,rcar-gyroadc: txt to yaml conversion Jonathan Cameron
2020-11-03 16:26   ` Rob Herring
2020-11-27  8:14   ` Geert Uytterhoeven
2020-10-31 18:48 ` [PATCH 31/46] dt-bindings:iio:adc:x-powers,axp209-adc: " Jonathan Cameron
2020-11-22 18:15   ` Jonathan Cameron
2020-11-23  3:02     ` Chen-Yu Tsai
2020-11-23 20:36       ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 32/46] dt-bindings:iio:adc:brcm,iproc-static-adc: " Jonathan Cameron
2020-10-31 18:48 ` [PATCH 33/46] dt-bindings:iio:adc:mediatek,mt2701-auxadc: rename and " Jonathan Cameron
2020-10-31 18:48 ` [PATCH 34/46] dt-bindings:iio:adc:ti,palmas-gpadc: txt to yaml format conversion Jonathan Cameron
2020-11-22 18:20   ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 35/46] dt-bindings:iio:adc:qcom,pm8018-adc: yaml conversion and rename Jonathan Cameron
2020-11-04 14:51   ` Linus Walleij
2020-10-31 18:48 ` [PATCH 36/46] dt-bindings:iio:adc:qcom,spmi-iadc: txt to yaml format conversion Jonathan Cameron
2020-11-22 18:25   ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 37/46] dt-binding:iio:adc:ti,ads124s08: " Jonathan Cameron
2020-11-02 12:49   ` Dan Murphy
2020-11-08 16:59     ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 38/46] dt-bindings:iio:dac:ad5592r: " Jonathan Cameron
2020-11-03 16:31   ` Rob Herring
2020-11-22 18:38     ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 39/46] dt-bindings:iio:dac:ad5755: " Jonathan Cameron
2020-11-03 16:32   ` Rob Herring [this message]
2020-11-22 18:40     ` Jonathan Cameron
2021-02-21 16:33       ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 40/46] dt-bindings:iio:accel:bosch,bma180: " Jonathan Cameron
2020-11-22 18:44   ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 41/46] dt-bindings:iio:accel:kionix,kxcjk1013: " Jonathan Cameron
2020-10-31 18:48 ` [PATCH 42/46] dt-bindings:iio:accel:fsl,mma8452: txt to yaml conversion Jonathan Cameron
2020-11-03 16:34   ` Rob Herring
2020-11-22 18:50     ` Jonathan Cameron
2020-10-31 18:48 ` [PATCH 43/46] dt-bindings:iio:gyro:bosch,bmg180: txt to yaml format conversion Jonathan Cameron
2020-10-31 18:48 ` [PATCH 44/46] dt-bindings:iio:st,st-sensors: txt to yaml conversion Jonathan Cameron
2020-11-02 16:16   ` Denis CIOCCA
2020-10-31 18:48 ` [PATCH 45/46] dt-bindings:iio:frequency:adi,adf4350: txt to yaml format conversion Jonathan Cameron
2020-10-31 18:48 ` [PATCH 46/46] dt-bindings:iio:temperature: Drop generic binding file Jonathan Cameron
2020-11-03 16:38 ` [PATCH 00/46] dt-bindings:iio: yet more txt to yam conversions Rob Herring
2020-11-03 17:24   ` Jonathan Cameron
2020-11-22 18:59     ` Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201103163237.GF1754553@bogus \
    --to=robh@kernel.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jic23@kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=sean.nyekjaer@prevas.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.