From nobody Sun Sep 27 00:37:00 2026 Received: from mail-oa1-f45.google.com (mail-oa1-f45.google.com [209.85.160.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D90453D333E for ; Thu, 27 Aug 2026 22:27:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787869665; cv=none; b=NkPlYnb+Y1Gpl2KUSE6DFWNbhBRhsboLU0kzr/hXaZuklLmNpR2DHkk9QdaycbeBWN5/Oh7afUBjc1d9EVXEN0ZMiJ+/DUlt8LWk/BmxobHYt3Gk3T2K8IgmWU64Qv6SKt5yCP2CUFIjEKghRnju4HDLjYuNn83S3HVx0n/Jcps= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787869665; c=relaxed/simple; bh=7Uhs0MSax/2UW6OR59jpn2lW4CIqxOIeFaZDQkF77p8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fcLDG/XsRZqt4OFQoP1s5WnxsUbeC68GO+N6zh5Yqz2NejjFmC6Qcpgvt/sKX+cE7gJHQAQbnOp5vUJwv5An4SYFq3hpONdp+Wbmc7ZcbvUiCzyslKRNXyo0mLOI/ctNbTLL5SAH3mNx0H+iFTfgi0NjVbnCnHBFF1l6HNzjDY4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b=S/zAlQKq; arc=none smtp.client-ip=209.85.160.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b="S/zAlQKq" Received: by mail-oa1-f45.google.com with SMTP id 586e51a60fabf-45837e52d8aso567948fac.0 for ; Thu, 27 Aug 2026 15:27:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1787869650; x=1788474450; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=htYJi+oyLOV36C7aJQ/sDgWgRKF7nb1wEToOz4+J7JA=; b=S/zAlQKqvMFogmHFVyg4hk72syGdhu9l2CxyggPCyytW6rQFrZD+WMdmf1h08hNIj7 nwEFuwQ3JOzfGcbAGjX1Rin5+xQyQHgLgnGvWQaS+KMM6gCpuGtlFo4W9xZQwX3fnFTu iAHZXjFvVtzKL8hBxquAjytnnWHqo/YkjCmepji5uetVEeR+VVsFSixxaPksUYwM6HXP KOkdERKfhmZPxzc9KHtd4zZNmFaaSsfeyNP0Sl9Mg0ynm+PL3bHhFxJZJ0QlthBSIseU ZlQ9P4L7eOVMNW0kBzL8TIYHZYXuPWF86VV7FiD+5dtv0ooja2LC53xqR9vRSuAXkPaZ XHgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787869650; x=1788474450; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=htYJi+oyLOV36C7aJQ/sDgWgRKF7nb1wEToOz4+J7JA=; b=lnGOnNKlvSd7dsgz+FWaVjDEMnWtvcixf7lctfipWuOilPXSWVM4CHmX1x9DvvqZ6c CGn/sWPYB2aMX6zhXZlVjWpNpwm1Zce4VEnapPv2ALKLwNXU/ud1ZvSDYXxVWSnXFG8W /ePDz1xsUJD0TxXWAeN6S5Oa8aS3dsh3jqBlsec/DkBUdMxup/L8cOQFGd7lQpzF5jgr n4ytPt2Khpq4XWS5MczHTrNNIcKpe+NxVGajLX99sD4OIQxa1go/2hAa6xDrp5kf6hJI QxZsY7Nf7x1IhcCjZm6ls7IIW8lTUTesCL9IgfVQjDoUm7YhGUIggUA04RkzSts1Flb/ JFcA== X-Forwarded-Encrypted: i=1; AHgh+RoWHWJl8KgZNpNMskBUtBVhiGMLPfzNQHGEbxGpc6HA2o0N96DH7HjRR0ki2+HJuOukbeirl+YeGSFVCig=@vger.kernel.org X-Gm-Message-State: AFuF++n3jI+JzIsQzsZC05Q3NJ/N5qyAzNDdmX63nuhgOuHIRue22Bno 4OPchNHuG3ZtIeHs1q2eHUx2gaKSRh6MLfKF1fC6WxmG4ARpCTBSDPIDcl21SjDY3k5W3wVzhB2 3FQx/fuQ= X-Gm-Gg: AR+sD13TLqhk/4TDWZaqKnSp0g00siLeInOQCBxXIZrrJNPYAMkmEghjjdiOARcMIlF pOHTZEEQYgBdtzBKhqgGc4N4PiPwOGMhfU7itw5JL0v9zNrciPVhqjYiOu5KaY0TkQ3hD8q8W5T 8Tngiuv+0V/z6QXYIHxVBx2fLvtnZMZ+gVek50d1UMIGO6AbTSMQptEMn4u9A8DZpORHC2zuVtb kc5EW1HLXKqHebakF/wyTJQyvvZ4QtL4tBeWNdJsM0Ecc4bAgO2pwzgMCof4QuBM5R3tbVFrVbg RneM2SeU3tupWYUf5rzyCwcJoLQVYZA9BHXwk5gkttLHv8h6SxvwlJBKygqBts5iSp+8QNncWWJ fz5d+g/WdTCoyv6BAl4bQsSiKP0Gcc+tQwK1X3B8CxFPoGkpotD4NpksNh9XeZJ4/4bvxPkPg4/ w0JOfCkMO0dNQN+36XY3VUndQl2/LW0SaCbJAX3P3jUB27GCV/CUZOzpgfcus+eEarFQ== X-Received: by 2002:a05:6871:e498:b0:466:ad49:d0f6 with SMTP id 586e51a60fabf-468360af5a5mr3894415fac.7.1787869650010; Thu, 27 Aug 2026 15:27:30 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:500:d288:6f77:e285:6925]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-46736444b99sm3336392fac.3.2026.08.27.15.27.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 15:27:28 -0700 (PDT) From: "David Lechner (TI)" Date: Thu, 27 Aug 2026 17:27:02 -0500 Subject: [PATCH v2 1/2] iio: adc: ti-ads112c14: add burnout current support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260827-iio-adc-ti-ads112c14-burnout-v2-1-00a1fab9e2d1@baylibre.com> References: <20260827-iio-adc-ti-ads112c14-burnout-v2-0-00a1fab9e2d1@baylibre.com> In-Reply-To: <20260827-iio-adc-ti-ads112c14-burnout-v2-0-00a1fab9e2d1@baylibre.com> To: Jonathan Cameron , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: Chris Hall , Patrick Edwards , Kurt Borja , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, "David Lechner (TI)" X-Mailer: b4 0.17-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=7958; i=dlechner@baylibre.com; h=from:subject:message-id; bh=7Uhs0MSax/2UW6OR59jpn2lW4CIqxOIeFaZDQkF77p8=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBqkLm/W0dTqEEAP0+KSrDGou6SX8B7405Mn2/+Z bsksv8egdeJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCapC5vwAKCRDCzCAB/wGP wEHAB/9wPfeBzvdN4DKM7L1ReOGn7gZUjWxSGKSv78t6QkVem1ntuAdkn4coLi/+8jPBT98Oi7H 1aCpjEzsH2pQlGsLMRIrJ7+g0X4upf4u3LoKaU+wfwgFzpcHw2sEGp+xoS99h8m4y6g0ZKCNfGa 4H3Z+Ypy9blTBot9ywFAN2KWry0x72XRFvXTA15vjealw63Wxc65la4Dy6HdIfBJDPk1tlygxYC sgIU7mndZUeeAfsIUuhYTA4sOdGvwkWrg0xcVfrZ0ziAXDmUiRDyemyrSbNbBBrFWquJ2ZRMSl0 NxVx2FqbxsPvv1IGd7RFnM9OpsLGwkUZcqgjov326Mle9+G6 X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Add a custom attribute via ext_info when a channel has a burnout current specified in the devicetree. This adds an in_{voltageY,resistanceY, voltageY-voltageX}_burnoutraw sysfs attribute for the channel that performs a single conversion (same as _raw attribute) except that it enables the burnout current. The chip also has a restriction that input chopping cannot be enabled when burnout current is enabled, so we also disable input chopping when burnout current is active. Signed-off-by: David Lechner (TI) --- drivers/iio/adc/ti-ads112c14.c | 126 +++++++++++++++++++++++++++++++++++++= +--- 1 file changed, 117 insertions(+), 9 deletions(-) diff --git a/drivers/iio/adc/ti-ads112c14.c b/drivers/iio/adc/ti-ads112c14.c index 878764deffc5..58c815f5faeb 100644 --- a/drivers/iio/adc/ti-ads112c14.c +++ b/drivers/iio/adc/ti-ads112c14.c @@ -76,6 +76,11 @@ #define ADS112C14_DEVICE_CFG_PWDN BIT(7) #define ADS112C14_DEVICE_CFG_STBY_MODE BIT(6) #define ADS112C14_DEVICE_CFG_BOCS GENMASK(5, 4) +#define ADS112C14_DEVICE_CFG_BOCS_DISABLED 0 +#define ADS112C14_DEVICE_CFG_BOCS_200_nA 1 +#define ADS112C14_DEVICE_CFG_BOCS_1_uA 2 +#define ADS112C14_DEVICE_CFG_BOCS_10_uA 3 + #define ADS112C14_DEVICE_CFG_CLK_SEL BIT(3) #define ADS112C14_DEVICE_CFG_CONV_MODE BIT(2) #define ADS112C14_DEVICE_CFG_CONV_MODE_CONTINUOUS 0 @@ -251,6 +256,7 @@ struct ads112c14_measurement { u8 idac2_mux; u8 iadc_count; u8 gain_val; + u8 burnout; bool global_chop; bool bipolar; int scale_available[ARRAY_SIZE(ads112c14_pga_gains_x10)][2]; @@ -460,7 +466,8 @@ static const struct regmap_config ads112c14_regmap_conf= ig =3D { }; =20 static int ads112c14_prepare_measurement_channel(struct ads112c14_data *da= ta, - const struct iio_chan_spec *chan) + const struct iio_chan_spec *chan, + bool en_burnout) { struct ads112c14_measurement *measurement =3D &data->measurements[chan->s= can_index]; u32 refp_buf_en, refn_buf_en, ref_val, ref_sel; @@ -514,7 +521,7 @@ static int ads112c14_prepare_measurement_channel(struct= ads112c14_data *data, ret =3D regmap_update_bits(data->regmap, ADS112C14_REG_DATA_RATE_CFG, ADS112C14_DATA_RATE_CFG_GC_EN, FIELD_PREP(ADS112C14_DATA_RATE_CFG_GC_EN, - measurement->global_chop)); + measurement->global_chop && !en_burnout)); if (ret) return ret; =20 @@ -612,10 +619,11 @@ static int ads112c14_prepare_sys_mon_channel(struct a= ds112c14_data *data, } =20 static int ads112c14_prepare_channel(struct ads112c14_data *data, - const struct iio_chan_spec *chan) + const struct iio_chan_spec *chan, + bool en_burnout) { if (chan->channel < ADS112C14_SYS_MON_CHANNEL_BASE) - return ads112c14_prepare_measurement_channel(data, chan); + return ads112c14_prepare_measurement_channel(data, chan, en_burnout); =20 return ads112c14_prepare_sys_mon_channel(data, chan); } @@ -673,14 +681,14 @@ static int ads112c14_wait_for_conversion_poll(struct = ads112c14_data *data) =20 static int ads112c14_single_conversion(struct ads112c14_data *data, const struct iio_chan_spec *chan, - u8 *buf, bool for_scan) + u8 *buf, bool en_burnout, bool for_scan) { struct i2c_client *client =3D to_i2c_client(regmap_get_device(data->regma= p)); int ret; =20 guard(mutex)(&data->lock); =20 - ret =3D ads112c14_prepare_channel(data, chan); + ret =3D ads112c14_prepare_channel(data, chan, en_burnout); if (ret) return ret; =20 @@ -734,7 +742,7 @@ static int ads112c14_read_raw(struct iio_dev *indio_dev, if (IIO_DEV_ACQUIRE_FAILED(claim)) return -EBUSY; =20 - ret =3D ads112c14_single_conversion(data, chan, buf, false); + ret =3D ads112c14_single_conversion(data, chan, buf, false, false); if (ret) return ret; =20 @@ -1009,7 +1017,7 @@ static irqreturn_t ads112c14_trigger_handler(int irq,= void *private) =20 ret =3D ads112c14_single_conversion(data, chan, (u8 *)&data->scan[offset++], - true); + false, true); if (ret) { dev_err_once(indio_dev->dev.parent, "failed to read channel %d: %pe; additional errors will be suppre= ssed\n", @@ -1066,7 +1074,7 @@ static int ads112c14_buffer_postenable(struct iio_dev= *indio_dev) =20 guard(mutex)(&data->lock); =20 - ret =3D ads112c14_prepare_channel(data, chan); + ret =3D ads112c14_prepare_channel(data, chan, false); if (ret) return ret; =20 @@ -1117,6 +1125,78 @@ static const struct iio_buffer_setup_ops ads112c14_b= uffer_setup_ops =3D { .validate_scan_mask =3D ads112c14_validate_scan_mask, }; =20 +static ssize_t ads112c14_read_burnout_raw(struct iio_dev *indio_dev, + uintptr_t private, + struct iio_chan_spec const *chan, + char *buf) +{ + struct ads112c14_data *data =3D iio_priv(indio_dev); + struct ads112c14_measurement *measurement; + int ret, ret2, val; + u8 raw_buf[3]; + + if (chan->channel >=3D ADS112C14_SYS_MON_CHANNEL_BASE) + return -EINVAL; + + measurement =3D &data->measurements[chan->scan_index]; + + if (!measurement->burnout) + return -EINVAL; + + IIO_DEV_ACQUIRE_DIRECT_MODE(indio_dev, claim); + if (IIO_DEV_ACQUIRE_FAILED(claim)) + return -EBUSY; + + ret =3D regmap_update_bits(data->regmap, ADS112C14_REG_DEVICE_CFG, + ADS112C14_DEVICE_CFG_BOCS, + FIELD_PREP(ADS112C14_DEVICE_CFG_BOCS, + measurement->burnout)); + if (ret) + return ret; + + ret =3D ads112c14_single_conversion(data, chan, raw_buf, true, false); + + /* + * Important to always turn off burnout current even if the conversion + * fails so that it does not affect subsequent measurements. This error + * also takes precedence over the conversion error since the device may + * be left in a bad state. + */ + ret2 =3D regmap_update_bits(data->regmap, ADS112C14_REG_DEVICE_CFG, + ADS112C14_DEVICE_CFG_BOCS, + FIELD_PREP(ADS112C14_DEVICE_CFG_BOCS, + ADS112C14_DEVICE_CFG_BOCS_DISABLED)); + if (ret2) + return ret2; + + if (ret < 0) + return ret; + + switch (data->chip_info->resolution_bits) { + case 16: + val =3D get_unaligned_be16(raw_buf); + break; + case 24: + val =3D get_unaligned_be24(raw_buf); + break; + default: + return -EINVAL; + } + + if (measurement->bipolar) + val =3D sign_extend32(val, data->chip_info->resolution_bits - 1); + + return sysfs_emit(buf, "%d\n", val); +} + +static const struct iio_chan_spec_ext_info ads112c14_ext_info_burnout[] = =3D { + { + .name =3D "burnoutraw", + .read =3D ads112c14_read_burnout_raw, + }, + { } +}; + static int ads112c14_populate_idac_mag(u32 current_nA, u8 *idac_mag) { u32 current_uA =3D current_nA / (NANO / MICRO); @@ -1285,6 +1365,34 @@ static int ads112c14_parse_channels(struct iio_dev *= indio_dev, measurement->global_chop =3D fwnode_property_read_bool(child, "input-chopping"); =20 + if (fwnode_property_present(child, "burn-out-current-nanoamp")) { + u32 burnout_nA; + + ret =3D fwnode_property_read_u32(child, "burn-out-current-nanoamp", + &burnout_nA); + if (ret) + return dev_err_probe(dev, ret, + "failed to read burn-out-current-nanoamp property\n"); + + switch (burnout_nA) { + case 200: + measurement->burnout =3D ADS112C14_DEVICE_CFG_BOCS_200_nA; + break; + case 1000: + measurement->burnout =3D ADS112C14_DEVICE_CFG_BOCS_1_uA; + break; + case 10000: + measurement->burnout =3D ADS112C14_DEVICE_CFG_BOCS_10_uA; + break; + default: + return dev_err_probe(dev, -EINVAL, + "invalid burn-out-current-nanoamp value\n"); + } + + if (measurement->burnout) + spec->ext_info =3D ads112c14_ext_info_burnout; + } + if (fwnode_property_present(child, "reference-sources")) { ret =3D fwnode_property_match_property_string(child, "reference-sources", ads112c14_vref_source_names, --=20 2.43.0 From nobody Sun Sep 27 00:37:00 2026 Received: from mail-oa1-f52.google.com (mail-oa1-f52.google.com [209.85.160.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1B5073CAA25 for ; Thu, 27 Aug 2026 22:27:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787869665; cv=none; b=nj06OHzMO1Ppgt5EA3bo0gpY9Qti+ygKfm7+d7TcX5J8RogbwJUvt7XX3ozzrhjbyV7lDsfTDD5O32LceerHLpdUJih+XmUiT1IxpWDShfXXy4B/Bpt3iiHDDnFU0TLnyzrYH77gket9myR8gl8iqjnH7lhP60p9++QsNYIgaS8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787869665; c=relaxed/simple; bh=+6NzsAXpxpUyYVYr7CrkYkFkcEajA1+j6cXX/jJG7dM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qaViTM7fN0KYcwvy1Q/FUooyGjghOu4dJZbXXe0GIVgGTC73ITPrdqDiZxjaS1KAdMSgmWNXiCQXHmzTBGHcKgy9MOUOEqI4Eo5Trf94ojFn3Dn9hDZVbsYT3sW6M7/7RMtyn1V74taMnlvKhLSzyaG94hgHs2sknbACfNfM0vQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b=nu3Fial1; arc=none smtp.client-ip=209.85.160.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre.com header.i=@baylibre.com header.b="nu3Fial1" Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-44856d185bcso453667fac.3 for ; Thu, 27 Aug 2026 15:27:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1787869652; x=1788474452; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=SDKoS7M6FWotXuFa/jW1tR0/zPrDl09a09em6cgDMYE=; b=nu3Fial1vggozbYaYq+p5EC4h4ifTPeUhRsAHdQXtlxfO2tvnY5S18FeL11RX+C+D8 WJrmFfWIHSQYNb5A5Elvxgzzoq+PN4E/+e6ohKKHF8qwjAu6ndwOso47vwvCXt9bk9Ux 3YPjUI9ZZw4bBpxAcxAJqZPn5WZ3ZU8LJ2pJACxrNzsUMsrAOV4UNyXXNB67Yw/6+uKx /a9vJMaePjFWH+4XzAywsfA0bI1ExfqPsxcj5r4ZezSz2jZ3FnaNu8sgQCf+3cb9i6Em 04vW9mBuuMFb/S9Al14x0aNfLjt9nI9H4DFBFRoEFKIhO2nIhi8n1bhgccOAipnTvClb ZCaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787869652; x=1788474452; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=SDKoS7M6FWotXuFa/jW1tR0/zPrDl09a09em6cgDMYE=; b=I0lmWcnxex+DFHP3sIAyZMcbMKSwXy3sGhU508MY8ZruKJtxh0qs8HzODv9TmeupPA t9wR2mztU1ZROOtRvJ0tRnE/+RFer+6Yei+t7/SNBlGnGhc3zklk0PIfXwSM+DCKZnMo JO9AJO+RoOBaPZ0Iyw3OHbMqTXz2b9FgtXJjpi8D5XR9g1TIddBFI6HVwnkrnxvfaF9E dShSHdqTXTvxuhrwe5IdvXcn/35Ob5wspHkbla3bJWeqWP0C0JF+QkisiyOyAukmHwgM kzXAJ16XSkMX2Zfx5NDLkxj4myYJ0Bb8JAAv6XxifAG0dvBX4FHd1rI7oxCSAHvNJx1t FhJg== X-Forwarded-Encrypted: i=1; AHgh+RqXB22oHY5ol2xkXF40vTQKZYOEQ2dF+3S8QmPnCJPFpeD2p0kPwYpMfRf2AXHt6eoPi9lHazvF6jYrb+Q=@vger.kernel.org X-Gm-Message-State: AFuF++kcn44OPBFlUPW12ZtC7kSqcxex6HQKJUgWhgJ+ZHBnZYQ69FYU tpdP6TBUTOXswPr3VlL1MLveyfgWadrAtzR2TWNHUDZNELDgt2PUCVvsDG72W7/681k= X-Gm-Gg: AR+sD10KWreCYWyDlDEqQKRehc+qr9IfkJ7AyQvd3me/0mzBVDlpCaETPqVFdj4lOcI VQDHVQ91QzsFzen9rFXeW+O0ji4y5iE50E4qKHlx/FjCuB7AavZ6aT3ltWlFU+aEwMlG0TMLk/S jPPCPk0HzeHuO32AAahA41CKx2eJvv5l/AqPGkoTzoYxXANhb/YwbTe3UYPb2gdkFIpYW4QJFss jb0mivWiXlWjqtYQDZME/zSrxM77fY/tQM1SK4T/Exb175Clraty7txzV0f+O0Y4bKa6T3RtZOj ZAfCpSxWjNCDt7A8/TILR1jH7pXhwTgDEVa+7OblWTKUoclU9cosZx0NfnSRRb574pK89p0fCC4 f8L1kgZvpxeTvfD4hQTKVX/0tzK7y/ch1PqBUUYNsHW+Eo9aOt3Dmw7a8V8G8cVCh45CqPHOFsf kYtMNScpJCsY4hMbd0LTFaRFKDTmz8PckDAMEpqCFM/mKwgQ005Ab9QlsN/ePEm0PgXw== X-Received: by 2002:a05:6870:b2d3:b0:447:4e49:37e2 with SMTP id 586e51a60fabf-46837782b60mr3021180fac.13.1787869652003; Thu, 27 Aug 2026 15:27:32 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:500:d288:6f77:e285:6925]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-46736444b99sm3336392fac.3.2026.08.27.15.27.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 15:27:30 -0700 (PDT) From: "David Lechner (TI)" Date: Thu, 27 Aug 2026 17:27:03 -0500 Subject: [PATCH v2 2/2] iio: ABI: add sysfs attribute for _burnoutraw Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260827-iio-adc-ti-ads112c14-burnout-v2-2-00a1fab9e2d1@baylibre.com> References: <20260827-iio-adc-ti-ads112c14-burnout-v2-0-00a1fab9e2d1@baylibre.com> In-Reply-To: <20260827-iio-adc-ti-ads112c14-burnout-v2-0-00a1fab9e2d1@baylibre.com> To: Jonathan Cameron , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: Chris Hall , Patrick Edwards , Kurt Borja , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, "David Lechner (TI)" X-Mailer: b4 0.17-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=1104; i=dlechner@baylibre.com; h=from:subject:message-id; bh=+6NzsAXpxpUyYVYr7CrkYkFkcEajA1+j6cXX/jJG7dM=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBqkLnGmxf+CrV5k1AlvvJi8t46iy3xM2Sfrm6T7 5/6V5r8qdmJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCapC5xgAKCRDCzCAB/wGP wK0XB/9iUk+UGF5DSBenOyxqCbqnLobSCsEfm2xuQtEwAwBtnBRLUGJHvoqGIK0x01faaTCiZjh daqbamjp3CgItjaDoqyz4+RpU4W1MiRSCBFD7OAe7EUlxgh5Z1jGLP9jwxIyrOo9u9fNPIn+FWj QoAmckzNGKtVBpnHAkRGrUwiMXPP0m3xSEnVhRCt0RbHVBndP2Mvq8HlWe9NmMtf/rCGxpXJHv2 iwey3z7PgdwbrEU0kSn3mrIa3VwHSIuC/AvrZSF0Ial+wcoZIwgbxu78LphnDOuD8M6dCiLdGK9 tlIOTpgEj3dsMF2fxf0iCcf1J67HLjnKxlhuRmR1XxWHoR60 X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Add a new _burnoutraw attribute to the IIO ADC ABI. This is likely only applicable to ADCs (but is seen on multiple chips and vendors) so it gets its own file instead of being added to the main IIO ABI file. Signed-off-by: David Lechner (TI) --- Documentation/ABI/testing/sysfs-bus-iio-adc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-bus-iio-adc b/Documentation/AB= I/testing/sysfs-bus-iio-adc new file mode 100644 index 000000000000..d45f0a4eb18e --- /dev/null +++ b/Documentation/ABI/testing/sysfs-bus-iio-adc @@ -0,0 +1,9 @@ +What: /sys/bus/iio/devices/iio:deviceX/in_resistanceY_burnoutraw +What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_burnoutraw +What: /sys/bus/iio/devices/iio:deviceX/in_voltageY-voltageZ_burnoutraw +KernelVersion: 7.3 +Contact: linux-iio@vger.kernel.org +Description: + Raw value from channel Y read using a single conversion with + the channel burnout current enabled. This is typically used + for diagnostic purposes to detect an open or shorted input. --=20 2.43.0