[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170825183520.doacpiit7mxgsk7v@rob-hp-laptop>
Date: Fri, 25 Aug 2017 13:35:20 -0500
From: Rob Herring <robh@...nel.org>
To: s.abhisit@...il.com
Cc: lee.jones@...aro.org, Jonathan.Cameron@...wei.com,
pmeerw@...erw.net, jacopo@...ndi.org, linus.walleij@...aro.org,
linux-kernel@...r.kernel.org, knaack.h@....de, lars@...afoo.de,
fabrice.gasnier@...com, akinobu.mita@...il.com,
marek.vasut+renesas@...il.com, jacopo+renesas@...ndi.org,
mike.looijmans@...ic.nl, peda@...ntia.se, jeff.dagenais@...il.com,
linux-iio@...r.kernel.org, linux-gpio@...r.kernel.org,
mark.rutland@....com, devicetree@...r.kernel.org
Subject: Re: [PATCH] mfd: Add support for TI LMP92001
On Tue, Aug 22, 2017 at 01:26:11PM +0700, s.abhisit@...il.com wrote:
> From: Abhisit Sangjan <s.abhisit@...il.com>
>
> TI LMP92001 Analog System Monitor and Controller
>
> 8-bit GPIOs.
> 12 DACs with 12-bit resolution.
> The GPIOs and DACs are shared port function with Cy function pin to
> take control the pin suddenly from external hardware.
> DAC's referance voltage selectable for Internal/External.
>
> 16 + 1 ADCs with 12-bit resolution.
> Built-in internal Temperature Sensor on channel 17.
> Windows Comparator Function is supported on channel 1-3 and 9-11 for
> monitoring with interrupt signal (pending to implement for interrupt).
> ADC's referance voltage selectable for Internal/External.
>
> Signed-off-by: Abhisit Sangjan <s.abhisit@...il.com>
> ---
> Documentation/ABI/testing/sysfs-bus-iio-lmp920001 | 92 ++++
> .../devicetree/bindings/gpio/gpio-lmp92001.txt | 22 +
> .../bindings/iio/adc/ti-lmp92001-adc.txt | 21 +
> .../bindings/iio/dac/ti-lmp92001-dac.txt | 35 ++
> diff --git a/Documentation/devicetree/bindings/gpio/gpio-lmp92001.txt b/Documentation/devicetree/bindings/gpio/gpio-lmp92001.txt
> new file mode 100644
> index 0000000..c68784e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/gpio-lmp92001.txt
> @@ -0,0 +1,22 @@
> +* Texas Instruments' LMP92001 GPIOs
> +
> +Required properties:
> + - compatible: Must be set to "ti,lmp92001-gpio".
> + - reg: i2c chip address for the device.
No, you show this in the parent which needs to be described in
bindings/mtd/...
You could have reg here too if all the registers for each sub-block are
in a well defined range.
> + - gpio-controller: Marks the device node as a gpio controller.
> + - #gpio-cells : Should be two. The first cell is the pin number and the
> + second cell is used to specify the gpio polarity:
> + 0 = Active high
> + 1 = Active low
> +
> +Example:
> +lmp92001@20 {
> + compatible = "ti,lmp92001";
> + reg = <0x20>;
> +
> + lmp92001_gpio: lmp92001-gpio {
gpio-controller {
> + compatible = "ti,lmp92001-gpio";
> + gpio-controller;
> + #gpio-cells = <2>;
> + };
> +};
> diff --git a/Documentation/devicetree/bindings/iio/adc/ti-lmp92001-adc.txt b/Documentation/devicetree/bindings/iio/adc/ti-lmp92001-adc.txt
> new file mode 100644
> index 0000000..34d7809
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/ti-lmp92001-adc.txt
> @@ -0,0 +1,21 @@
> +* Texas Instruments' LMP92001 ADCs
> +
> +Required properties:
> + - compatible: Must be set to "ti,lmp92001-adc".
> + - reg: i2c chip address for the device.
Same comment here.
> + - ti,lmp92001-adc-mode: adc operation, either continuous or single-shot.
No standard property for this?
> + - ti,lmp92001-adc-mask: bit mask for which channel is enable.
> + 0 = Off
> + 1 = On
> +
> +Example:
> +lmp92001@20 {
> + compatible = "ti,lmp92001";
> + reg = <0x20>;
> +
> + lmp92001-adc {
> + compatible = "ti,lmp92001-adc";
> + ti,lmp92001-adc-mode = "continuous";
> + ti,lmp92001-adc-mask = <0x00000079>;
> + };
> +};
> \ No newline at end of file
> diff --git a/Documentation/devicetree/bindings/iio/dac/ti-lmp92001-dac.txt b/Documentation/devicetree/bindings/iio/dac/ti-lmp92001-dac.txt
> new file mode 100644
> index 0000000..882db9c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/dac/ti-lmp92001-dac.txt
> @@ -0,0 +1,35 @@
> +* Texas Instruments' LMP92001 DACs
> +
> +Required properties:
> + - compatible: Must be set to "ti,lmp92001-dac".
> + - reg: i2c chip address for the device.
> + - ti,lmp92001-dac-hiz: hi-impedance control,
> + 1 = Forces all OUT[1:12] outputs to hi-z, 0 = normal
Just make this a boolean (i.e. no value).
> + - ti,lmp92001-dac-outx:
> + Cy = 0, 1 = will force associated OUTx outputs to VDD
> + Cy = 0, 0 = will force associated OUTx outputs to GND
> + - ti,lmp92001-dac-gang: What group of Cy is governed to.
> + -----------------------------------------
> + | Cy | CDAC:GANG = 0 | CDAC:GANG = 1 |
> + -----------------------------------------
> + | C1 | OUT[1:4] | OUT[1:3] |
> + -----------------------------------------
> + | C2 | OUT[5:6] | OUT[4:6] |
> + -----------------------------------------
> + | C3 | OUT[7:8] | OUT[7:9] |
> + -----------------------------------------
> + | C4 | OUT[9:12] | OUT[10:12] |
> + -----------------------------------------
> +
> +Example:
> +lmp92001@20 {
> + compatible = "ti,lmp92001";
> + reg = <0x20>;
> +
> + lmp92001-dac {
> + compatible = "ti,lmp92001-dac";
> + ti,lmp92001-dac-hiz = /bits/ 8 <0>;
> + ti,lmp92001-dac-outx = /bits/ 8 <0>;
> + ti,lmp92001-dac-gang = /bits/ 8 <0>;
> + };
> +};
Powered by blists - more mailing lists