From patchwork Wed Aug 30 18:25:28 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: s.abhisit@gmail.com X-Patchwork-Id: 807853 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="MJkkATrh"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xjDTb2RXMz9sPt for ; Thu, 31 Aug 2017 04:25:55 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752115AbdH3SZk (ORCPT ); Wed, 30 Aug 2017 14:25:40 -0400 Received: from mail-pg0-f67.google.com ([74.125.83.67]:36978 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751536AbdH3SZj (ORCPT ); Wed, 30 Aug 2017 14:25:39 -0400 Received: by mail-pg0-f67.google.com with SMTP id t193so5620780pgc.4; Wed, 30 Aug 2017 11:25:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=GI4tdAXg1w2YMbr7UGTR3tXmGu/82jQXZhaFPlfkvgc=; b=MJkkATrhpgOT+J9RlyXyf5/9+UG4NFXrO4Yu/hJoBfjNUyuCBqSvAj5SeVy/GcvTlH G2t9p6GmP60m9TPO71zPapJWIxxZSXOEU7w6mR3I2efRPwJiKc2tdThMiqkjsUXBAOVd xRBBI0Sjt3GQyaMGPMkLGBvv3K4RTxv7dlMCjjDq/urIA3SMP7A4QHBz+lLT324L4s6b ZCJ9+N4H14mWuPc9lU1Wt0M+HsA3Z1F9PDrFLqQLGno6SvBmGeyNlDbWzr5M9x8KPtT1 KRzbxk/I0YpdCYfHNeeeuQ+VuTVIFgrIPnTUX0G7t3biOO8W9T6IqjPHN7UQE0ZhM2pI QEMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=GI4tdAXg1w2YMbr7UGTR3tXmGu/82jQXZhaFPlfkvgc=; b=ZUOaG5tIV7zwYDfIX8W6qhsaOnzyqytbrptjmzNkfvcFeoebScJgt5h1Y4RkYTw3Bl oR4ANJ1Y5VGmFSW6AKn+fEcjB46H6SvCborU6ekcBQ0JizDTEbV0kOdhUBPW+OZQ8iyT Wa33pbYucbUL+RlHjiPCrXyy7oo5z6HQ4IBIt6C6VjeexAFxzsWs5FiEfekWiMqrNvU2 BwXUD5Yi1b4ZX+dkJKEAVrs258q9chCj1JpR3k4ZasO2ONv1TAHd6sf7YFa1BLOnFBf0 FPPnoRNxWu0CJNp/WPBCm3Ogx9nM2qUSd4N9/TvQXmWahi5/3UBYRAXWfIOrHJiFDpZa HpYg== X-Gm-Message-State: AHYfb5gFILzr4p4QkUSptFwq/FggGimR4nc/yqxj3RaYjotwJqVespmq CZ+LjyhS17r6+w== X-Received: by 10.101.72.207 with SMTP id o15mr2441596pgs.440.1504117538307; Wed, 30 Aug 2017 11:25:38 -0700 (PDT) Received: from localhost.localdomain ([2403:6200:8810:83fb::3]) by smtp.gmail.com with ESMTPSA id p21sm10204725pfk.123.2017.08.30.11.25.31 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Wed, 30 Aug 2017 11:25:37 -0700 (PDT) From: s.abhisit@gmail.com To: linus.walleij@linaro.org Cc: robh@kernel.org, lee.jones@linaro.org, Jonathan.Cameron@huawei.com, pmeerw@pmeerw.net, jacopo@jmondi.org, linux-kernel@vger.kernel.org, knaack.h@gmx.de, lars@metafoo.de, fabrice.gasnier@st.com, akinobu.mita@gmail.com, marek.vasut+renesas@gmail.com, jacopo+renesas@jmondi.org, mike.looijmans@topic.nl, peda@axentia.se, jeff.dagenais@gmail.com, linux-iio@vger.kernel.org, linux-gpio@vger.kernel.org, mark.rutland@arm.com, devicetree@vger.kernel.org, lukas@wunner.de, adi.reus@gmail.com, Abhisit Sangjan Subject: [PATCH 5/5] lmp92001: mfd: doc: Add support LMP92001 Date: Thu, 31 Aug 2017 01:25:28 +0700 Message-Id: <20170830182528.9479-1-s.abhisit@gmail.com> X-Mailer: git-send-email 2.13.0 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Abhisit Sangjan 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. Window 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 --- Documentation/ABI/testing/sysfs-bus-iio-lmp920001 | 65 ++++++++++++++++++++++ .../devicetree/bindings/gpio/gpio-lmp92001.txt | 22 ++++++++ .../bindings/iio/adc/ti-lmp92001-adc.txt | 20 +++++++ .../bindings/iio/dac/ti-lmp92001-dac.txt | 35 ++++++++++++ 4 files changed, 142 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-lmp920001 create mode 100644 Documentation/devicetree/bindings/gpio/gpio-lmp92001.txt create mode 100644 Documentation/devicetree/bindings/iio/adc/ti-lmp92001-adc.txt create mode 100644 Documentation/devicetree/bindings/iio/dac/ti-lmp92001-dac.txt diff --git a/Documentation/ABI/testing/sysfs-bus-iio-lmp920001 b/Documentation/ABI/testing/sysfs-bus-iio-lmp920001 new file mode 100644 index 000000000000..f0965e7d823f --- /dev/null +++ b/Documentation/ABI/testing/sysfs-bus-iio-lmp920001 @@ -0,0 +1,65 @@ +What: /sys/bus/iio/devices/iio:deviceX/gang +Date: August 2016 +KernelVersion: 4.12 +Contact: Abhisit Sangjan +Description: + Controls the association of analog output channels OUTx with + asynchronous control inputs Cy for DAC. + Can be either: + - "0" + - "1" + + Cy to OUTx Assignment + ---------------------------------- + | 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] | + ---------------------------------- + +What: /sys/bus/iio/devices/iio:deviceX/outx +Date: August 2016 +KernelVersion: 4.12 +Contact: Abhisit Sangjan +Description: + The pin output mode for DAC. + Can be either: + - "hiz" = High impedance state. + - "dac" = DAC output. + - "0" = Drive it to low. + - "1" = Drive it to high. + +What: /sys/bus/iio/devices/iio:deviceX/vref +Date: August 2016 +KernelVersion: 4.12 +Contact: Abhisit Sangjan +Description: + This is voltage reference source for DACs. + Can be either: + - "external" + - "internal" + +What: /sys/devices/.../iio:deviceX/en +Date: August 2016 +KernelVersion: 4.12 +Contact: Abhisit Sangjan +Description: + This is ADC Conversion Enable for each channel. + Can be either: + - "enable" + - "disable" + +What: /sys/devices/.../iio:deviceX/vref +Date: August 2016 +KernelVersion: 4.12 +Contact: Abhisit Sangjan +Description: + This is voltage reference source for ADCs. + Can be either: + - "external" + - "internal" diff --git a/Documentation/devicetree/bindings/gpio/gpio-lmp92001.txt b/Documentation/devicetree/bindings/gpio/gpio-lmp92001.txt new file mode 100644 index 000000000000..f9a18c492145 --- /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. + - 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>; + + 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 000000000000..4565961bf511 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/ti-lmp92001-adc.txt @@ -0,0 +1,20 @@ +* Texas Instruments' LMP92001 ADCs + +Required properties: + - compatible: Must be set to "ti,lmp92001-adc". + - reg: i2c chip address for the device. + - 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>; + }; +}; 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 000000000000..882db9ca92f5 --- /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 + - 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>; + }; +};