From nobody Sat Jul 25 06:03:40 2026 Received: from mail-oo1-f41.google.com (mail-oo1-f41.google.com [209.85.161.41]) (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 5A4BD3C2B8D for ; Fri, 24 Jul 2026 20:49:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784926190; cv=none; b=bltU+fgg1zJDA8GFcmOgRc4NpKCSKGoVuq6lFWJieBRtpVqTioSSngHmMcrnoOL3YWUnR9gO15xHr0FG8eP5fatMOPkzL0SjphPsnsIU6HHP34Xi7OocfxAyYzTknqyNi+NPnMl0CzC6PDo9O6LXEwKKFL4TR+Q6rgvrJQpDM8k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784926190; c=relaxed/simple; bh=/O3EoqcRViUtGjq6/YlifFOgEK+K/0YpuReVe3laA4c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aiH5XQFu8TuLCmeAQrq6YWlwVGZT/B9XghgsKu7VVEccqHJLJUv2g1gorJWw1ngd3oLAwofmfuB0xtkGyxd/b9HLVr1h2hB1UZeGyMohmrX4CitKqYqr+e79u//yIVaDrmMIE+vkp5HB5TonqVGwx59IOGt0+mflH4cCUXAjquw= 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=Hz+khpob; arc=none smtp.client-ip=209.85.161.41 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="Hz+khpob" Received: by mail-oo1-f41.google.com with SMTP id 006d021491bc7-6a375ba035eso495354eaf.3 for ; Fri, 24 Jul 2026 13:49:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1784926187; x=1785530987; 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=m5r3pErIIW+Ya7EvJ/0/SpArmGfZ5YLMNfVN/ifqXDI=; b=Hz+khpob2uaWNGlylsu+9FDavN8A6fCcLxIa5+HPZ49R33p3FBt8hCML7kvHe9svwA 9AdKlWX/nf6tbw9PbMd5vI401yzP/AmC3nqdsfIRbeAbMXjkXKOcDJ7ccxT+3z9Wxtj2 85B/NkCw8AoyJ+WyyBPer8oX2eZob8yXGQOxfErvPj89DevLxGjLt3njjgeLddD8Faj8 i9/K+67cXOc6+SNdHvT0rxWLccur8W3//t1jE9CqRCvoFAkezdbvI/JgKaH9v0ltLSNN PN/8FzMaC5ndWFgsdwWZjiIujBZ2QyRtV+eeJIGZKZIBmm8WFRgCkfQ1uxG8S6Lr45Qs XNDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784926187; x=1785530987; 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=m5r3pErIIW+Ya7EvJ/0/SpArmGfZ5YLMNfVN/ifqXDI=; b=pvCRQltGke+yBVUChL6dT10Jw+jM5T1DQe3Zr26Danv7sR9bDyon9cEbMUlVZW1tu5 l4aslqO2yuKDAf7AIUHWlM0LOH3poI8dKa8UPbCfouHCoJJNhtERrHG+MQ088a5cGCh1 Z2sx/9sttwD5B/ziKgzySTOTQ9/8ilJF7/vLwE9CF9au0yp3rcMDaLXD6J6GwIM4+phY 3T98wJQkOlElwqM0yB/L+8W33ASoj6DEfWkMCBCEk6uKSRdVbh7VdaiKYxOZerPQxQ30 kqM+rLg3mvoCRrYDjkDLEpP2YP0ZEzxt0GYzyrmVYj16hTh784V2WsZ1BE4Y7LHS+h6L wfnw== X-Forwarded-Encrypted: i=1; AHgh+RoNLrpEM6rslavP4Z2WebjtRln9vc9NTRbb8YAOLZFNmUNy/PQ8j1BRwob/hkWeB0Afw66skA5SJ19OvRU=@vger.kernel.org X-Gm-Message-State: AOJu0Yxs7PLnE3pyEbHmCY3FYJX+OC/VUuXJMDmPnYZneFhUySm/BBnE 6LZ/leDGNiy30QA5YhElqopfhwL5Wzk5QNUXfHCZFMvaefXQ/ffcswHpRzYppgKtix/ArDBZxQ+ rTJBP X-Gm-Gg: AR+sD13ZxzYLCcclS29tZH6OpV9dhwYse21qmot4gnK/SSDaPA0Vd8RrwFX37C7Gha+ T4wbC6rS+dcyNaoxc0kXknICk8POM0RHrl3xMOEd0O/aH9A4bfH6k51IuCg+LsLpcMrhRQhb706 2uYroJeL4K7+VWpsClsK6X6Jf3Ky12UgNU7Vu06+tRg3WQi0N/Tv67xhdRe+0GrOwEXqoFYO8qd x7eeKcEAN5PPi4uyr4UXckYfaAwqhB8mauP5uVoYD5S3lIPKMncD7lN11o5Gqv0EDMTPxcT+tMa yJYcPDEkjNLNZzoS52iwO1pG5CIUz6LVbhJE1AQCcUJWs//xTfjUA1Kd+gKjmGgaNy0M3iZJ+ex CUUNG5Sy1p3mr21ZiH0tCaamvhd0irJ5QYwLCXkBbijpq007I4nLyC/+geYPxTriIjAQk2TnLO1 ts1ejEbw== X-Received: by 2002:a4a:e84b:0:b0:6a3:7761:b50d with SMTP id 006d021491bc7-6aad4172a88mr5668843eaf.55.1784926186945; Fri, 24 Jul 2026 13:49:46 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:500:b635:d463:c98:cc75]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-45766e66674sm7255201fac.3.2026.07.24.13.49.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jul 2026 13:49:45 -0700 (PDT) From: "David Lechner (TI)" Date: Fri, 24 Jul 2026 15:49:17 -0500 Subject: [PATCH 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: <20260724-iio-adc-ti-ads112c14-burnout-v1-1-f0204cecbe3a@baylibre.com> References: <20260724-iio-adc-ti-ads112c14-burnout-v1-0-f0204cecbe3a@baylibre.com> In-Reply-To: <20260724-iio-adc-ti-ads112c14-burnout-v1-0-f0204cecbe3a@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.16-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=8042; i=dlechner@baylibre.com; h=from:subject:message-id; bh=/O3EoqcRViUtGjq6/YlifFOgEK+K/0YpuReVe3laA4c=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBqY8/XOWDlp56Ao1YvgihFXkVOYfQ6VZ6Dmemae ed9EE/96n+JATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCamPP1wAKCRDCzCAB/wGP wGprB/4sHjSpLYkgrqjHM3CSfkW678O2/strrdrxn7ACeRLyZWrSaSgmviY/26x83zUowYqp7Sr CZjTEgcg7chSJumamrBlcHEVWyyPYDbFYHTUr3iG+Vo5m1WZH2PfpkgRZLH+jh7ojZiN9vyQbox SZgO5titsB2VRSwEC4DVgG+eHYnfmHZAQAXI7yyH8EFL3FFL/Oh9ThsP+7pY2/7DDwGjWIEbIuW S9Wb4AgqGKoUajosQZdpoTho9QOYKXDG2sNM7Mr2bKY5mfJsD1FWe0UHAgBhp/F0oNI3FcGc+4/ kbEScY7i1wtRxTMGvxj6AeYx7aLTQdoZHUXm9Kz3IS2irXKy 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 f3a2eba55362..0c79bfc0607a 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]; @@ -474,7 +480,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; @@ -528,7 +535,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 @@ -626,10 +633,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); } @@ -653,7 +661,7 @@ static int ads112c14_scan_read(struct ads112c14_data *d= ata, u8 *buf) =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)); u32 reg_val; @@ -661,7 +669,7 @@ static int ads112c14_single_conversion(struct ads112c14= _data *data, =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 @@ -736,7 +744,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 @@ -999,7 +1007,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", @@ -1060,7 +1068,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 @@ -1109,6 +1117,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); @@ -1277,6 +1357,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 Sat Jul 25 06:03:40 2026 Received: from mail-oa1-f51.google.com (mail-oa1-f51.google.com [209.85.160.51]) (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 8D32BDF59 for ; Fri, 24 Jul 2026 20:49:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784926191; cv=none; b=BC+0OorXTJwdMtHusHGdoo1gJvYUABDtsoskRC8ma5HSyLMVg9SQsA1+qjRHF7Mu9WcHGrpfdJ40PHPfn4d+S+v0l5+FtdbDNcacUIXohtZZVlGPMYYicaMLskheJWnXdul0HLN9VogNvrKTll8U9AWfbzM4vDZkLICA3Qkd5i4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784926191; c=relaxed/simple; bh=+6NzsAXpxpUyYVYr7CrkYkFkcEajA1+j6cXX/jJG7dM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UixnWUP8R+dE+rzRLqJUFmwlmcLy+TwYw9pBUELCz0SPVB+9qqYs3o4E0AHIUTHGaEc5/aJT+wq77W+khMNQ8zoAzyHOYt3gjcaZVP/IWVfsubX5yBEqJ7moJ87BsesgAdnTyLHIjuECImqo3GgqujnIq+N2qXYIiNO47k3HTLk= 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=OuWac5/7; arc=none smtp.client-ip=209.85.160.51 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="OuWac5/7" Received: by mail-oa1-f51.google.com with SMTP id 586e51a60fabf-43b7e186a0cso346822fac.0 for ; Fri, 24 Jul 2026 13:49:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1784926188; x=1785530988; 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=OuWac5/7t0GMPJyzq6fBVPspdI16+xujmkjf1yVVM2kXyj23jXPn5fiQXfzZpm3wYG dj3bx2eDzUMf5HSsvihtyXGXBHCjUSAu8NkozKSCn1jZzbFB0zs8IUOTwuC5HOylY1ol cY1kMgR7SP38ONftkum1iZ+HB1Hdj2EnyRp9GF6lJ+cV5X267xqBd/dD7HSz8f2TqDwg ZlsmjXSi5a1ki4GeuTGMcHQA+GuOn/VahBoUqvTOdhm2hcveGGO0m4ZPEox7QioLzlRR R2SgxjasOs8ggPt7k8EAXsUibyi+7w9vHMS3e8iSB1yvREMQxp2HdCkEbO8ZEA806zl1 dynQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784926188; x=1785530988; 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=UmzXIbD67nrAIkrW4u/9Ya1CDn/UvNZbreBEA9hIrQzCPhNlzoO6HQ7Sek994da+/R hdZuf4SwJk+Yi13pAP3ef9mke66JCcF2SwxN/+LBln/A54x4VQfDHSuoNq6fV4QinbZt kqjmQGJRrOyPuX6j60mcSTlMi/6otdUM1GkYzQ6Igq0AQKlftmUTcIOy4BYNRpZ5ZOqj wJSkrpvuJfk11swoX6jbg+hxFXiUyqvLbZlWMmma8U62KhCISTufeQgfjuXRNbvaBjlI ci0jNvMbflSpzqOeE9VMofPMzpAOaqDAHRdKlNv6Oa+5DRYUJvYGww6eSLpEtqlzxzfp hCxw== X-Forwarded-Encrypted: i=1; AHgh+RqGOYzNdsiCWC4Gsz0UvnAVBG/jJWLOB+DbtxlVYAwHId2rlClKpTlPRIXa1bT+b0Up+Bdb3VO9yFqb/w0=@vger.kernel.org X-Gm-Message-State: AOJu0YwVEhs2KnlrwlgC0AVTXRBSg2tWQAo3xVINbC4ZAImK0Bi6FH5j pLpJbMtQ4hXwmrcE/16GWcLeoR7lYSZACUdkYvELZejzYgr8nLvZ3MkRqCatWfua/k0= X-Gm-Gg: AR+sD13Djd642Io6z/ab+wYBQIpGIzEktCWLEBTGNlk64lmGTSqH2DcrUQmlzsqn3bF zC36E0s71pfI9Jb6YJKAgI/9B1vt4daym5Ad0SkUIQ3/BtMn8ANrb441rwtZZTXJdJztrrASL1M x/MQssCPjQ6qG0RCgqLJXjxLAlbs25s9GCXvyivuwkFIsdLHYJ1jgdr6ZNd1k9V+nUobOBoJGw3 L6hcVdtFSNfHB12m/I4JhUVLgohLa/kiOjN/yfoS6zuWAKl2l29vpIZANqbt9LUFSPtl/MqAh+P SB/dScLw+Rw/HyhmZs88VbV5TPWa7rJcZprWiN5vnG9HN8q2llC9U5hTH6Ux8B6TFtMZNdKWJka 8aAAVr3mVefyP74HPSJz5peCrVjMrH2zdtfWygTkAZyvmw1vQ9OrUYLLtKYOmTnLnThv/bE3Dy4 NdWwKw9ZZ19a0OMhVh X-Received: by 2002:a05:6808:178a:b0:486:5466:e41f with SMTP id 5614622812f47-4ab6a190e23mr32272b6e.38.1784926187877; Fri, 24 Jul 2026 13:49:47 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:500:b635:d463:c98:cc75]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-45766e66674sm7255201fac.3.2026.07.24.13.49.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jul 2026 13:49:47 -0700 (PDT) From: "David Lechner (TI)" Date: Fri, 24 Jul 2026 15:49:18 -0500 Subject: [PATCH 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: <20260724-iio-adc-ti-ads112c14-burnout-v1-2-f0204cecbe3a@baylibre.com> References: <20260724-iio-adc-ti-ads112c14-burnout-v1-0-f0204cecbe3a@baylibre.com> In-Reply-To: <20260724-iio-adc-ti-ads112c14-burnout-v1-0-f0204cecbe3a@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.16-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/AAcsmYgBqY8/eVgHYVCXmvEb2EPRwTLgV/6VbeymHbE50t pJYxg8FW8yJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCamPP3gAKCRDCzCAB/wGP wJ5xB/0R1kB6mTw9e/dBjym6WUujDJHQ+RRrT1zfav9hdHDAyDlhdNHLgHYeH/zyVm7EbWO3YSi F/K+D3qx00eyTS++hxAN60SKYhqiWs9Ej34ybYYLLndVqRqDTKCxxTlosG0/O0OLG54rrJtfkF+ kGqielXIaLQR90VRaS8ZhIc4Yw/YDNqkXszHX1L6cNcDvOUQjozVcZfW7h3nc+Uay+vsl2kyCVY /notcd9KeRYi7cFTKuX75AGAwsckOxKIVO6AhV0LZJpzPwGRn0g5JfSLNRcgtvdz9WXrgJP6wOP urNnxi/73CDeRBnbcNTaTsCLk438i9BAt7oSqXdd04Fzoxol 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