From patchwork Sat Jan 13 19:29:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Milan Stevanovic X-Patchwork-Id: 10162367 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 9BEFF602D8 for ; Sat, 13 Jan 2018 19:29:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 842AF28B02 for ; Sat, 13 Jan 2018 19:29:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 753D528B23; Sat, 13 Jan 2018 19:29:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E9F0B28B02 for ; Sat, 13 Jan 2018 19:29:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751772AbeAMT3R (ORCPT ); Sat, 13 Jan 2018 14:29:17 -0500 Received: from mail-wm0-f66.google.com ([74.125.82.66]:33002 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750933AbeAMT3Q (ORCPT ); Sat, 13 Jan 2018 14:29:16 -0500 Received: by mail-wm0-f66.google.com with SMTP id x4so6880510wmc.0; Sat, 13 Jan 2018 11:29:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:cc:from:subject:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=l1Qv2RO9q0veuXxQ9uekNsq2EyifQWkSdsMGf/T1U4g=; b=RzAk1+vahtgahSbES7pRHItZlXAm+G2h0md8ydrY/6ouOU5mLvTMAuvob5DLzrg0CK ZPHn3nlkak7bKk/bDvo9r5W9Cf7Z6UpYD6cZwL4SY7d2ze30PcJFhST96n3IvNs6yjO3 qyUUPG9ZA1OoIu/GJroyUXxxpfQ3G1OFI85CXIjN9Svz0KFML7MQxtwAxZ1e0vlIcvuE t4XjIOPw5fCNFX4topFZrnoPwz7FME3/IgyQuWQvKPbjQVMXgHs2H06s58Q8WH80HGSl qDu+7LEy9VNLwcNhJsPC9KdwPPxb5Wl2SzOqCKL6jOteAFjUiM3svH0EgvYeZBr/8xiE tCZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:from:subject:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=l1Qv2RO9q0veuXxQ9uekNsq2EyifQWkSdsMGf/T1U4g=; b=ltcCXcDA2kq728S9AaKVZ8u1t2k1BnK0U3X1Wm4E1PK4j2qKBY/hiDQ9I58AigqOyF 6ny2xlAEaOD1Sg2DsUfdq+nl9ALhPbcWc62DanQLXQQo91mZiYXOT1Rujx7eLmiKwQeT UQfsqPPxwBI3X7C8rzveqvO3FrZUs/gEFmYV9CwE3yhTOuWhTW13NafJKFvPh0nZVFR6 L3rcwBlsljWbExZg09JnLqVdYypLYg1Mx/uKdlcLBXIu4tyCubwVdwtIlN/jK79e+bM2 pic6N/iN8Z2eCYSg043f2DrFanUirWd7NMin1SzdCMnoGxrO3gp+PdvSRqyYBvw2cpU2 uGHw== X-Gm-Message-State: AKGB3mKrIs5bNlBdEk4yV3Jf236B8ofXCOH1hiLxFuK3AKzmLEX16AJE nKsC8xrYkS+Wp3G3gyj9wrc= X-Google-Smtp-Source: ACJfBotCQa7QdfEzHl4dz/I6KR3JcqWbURhd1RnKhVouEd54Io82peHZsXXJSJuLRer3zmUTUvdjyw== X-Received: by 10.80.143.131 with SMTP id y3mr42145005edy.129.1515871754847; Sat, 13 Jan 2018 11:29:14 -0800 (PST) Received: from [192.168.102.128] (LFbn-1-8169-84.w90-112.abo.wanadoo.fr. [90.112.78.84]) by smtp.gmail.com with ESMTPSA id g54sm1604275edc.91.2018.01.13.11.29.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 13 Jan 2018 11:29:13 -0800 (PST) To: Lars-Peter Clausen , Jonathan Cameron Cc: linux-iio@vger.kernel.org, LKML , knaack.h@gmx.de, pmeerw@pmeerw.net, Michael.Hennerich@analog.com From: Milan Stevanovic Subject: [PATCH v2] iio: adc: driver for ti adc081s/adc101s/adc121s Message-ID: <9a5e86de-1311-81a9-b3ec-6a099e7d131e@gmail.com> Date: Sat, 13 Jan 2018 20:29:12 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 Content-Language: en-US Sender: linux-iio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From fab687d20ba46d78439b6cdaf0d40b78ae68222c Mon Sep 17 00:00:00 2001 From: Milan Stevanovic Date: Sun, 7 Jan 2018 21:44:33 +0100 Subject: [PATCH v2] iio: adc: driver for ti adc081s/adc101s/adc121s Add Linux device driver for TI single-channel CMOS 8/10/12-bit analog-to-digital converter with a high-speed serial interface. Signed-off-by: Milan Stevanovic --- Changes in v2: - Fix typo error - Keep Copyright comment --- drivers/iio/adc/ad7476.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/drivers/iio/adc/ad7476.c b/drivers/iio/adc/ad7476.c index b7706bf..4fe3cf1 100644 --- a/drivers/iio/adc/ad7476.c +++ b/drivers/iio/adc/ad7476.c @@ -1,9 +1,10 @@ +// SPDX-License-Identifier: GPL-2.0 /* - * AD7466/7/8 AD7476/5/7/8 (A) SPI ADC driver + * Analog Devices AD7466/7/8 AD7476/5/7/8 (A) SPI ADC driver + * TI ADC081S/ADC101S/ADC121S 8/10/12-bit SPI ADC driver * * Copyright 2010 Analog Devices Inc. * - * Licensed under the GPL-2 or later. */ #include @@ -56,6 +57,9 @@ enum ad7476_supported_device_ids { ID_AD7468, ID_AD7495, ID_AD7940, + ID_ADC081S, + ID_ADC101S, + ID_ADC121S, }; static irqreturn_t ad7476_trigger_handler(int irq, void *p) @@ -147,6 +151,8 @@ static int ad7476_read_raw(struct iio_dev *indio_dev, }, \ } +#define ADC081S_CHAN(bits) _AD7476_CHAN((bits), 12 - (bits), \ + BIT(IIO_CHAN_INFO_RAW)) #define AD7476_CHAN(bits) _AD7476_CHAN((bits), 13 - (bits), \ BIT(IIO_CHAN_INFO_RAW)) #define AD7940_CHAN(bits) _AD7476_CHAN((bits), 15 - (bits), \ @@ -192,6 +198,18 @@ static const struct ad7476_chip_info ad7476_chip_info_tbl[] = { .channel[0] = AD7940_CHAN(14), .channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1), }, + [ID_ADC081S] = { + .channel[0] = ADC081S_CHAN(8), + .channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1), + }, + [ID_ADC101S] = { + .channel[0] = ADC081S_CHAN(10), + .channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1), + }, + [ID_ADC121S] = { + .channel[0] = ADC081S_CHAN(12), + .channel[1] = IIO_CHAN_SOFT_TIMESTAMP(1), + }, }; static const struct iio_info ad7476_info = { @@ -294,6 +312,9 @@ static const struct spi_device_id ad7476_id[] = { {"ad7910", ID_AD7467}, {"ad7920", ID_AD7466}, {"ad7940", ID_AD7940}, + {"adc081s", ID_ADC081S}, + {"adc101s", ID_ADC101S}, + {"adc121s", ID_ADC121S}, {} }; MODULE_DEVICE_TABLE(spi, ad7476_id);