From nobody Sat Feb 7 03:58:54 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C1FFAC004C0 for ; Mon, 23 Oct 2023 12:36:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233543AbjJWMgK (ORCPT ); Mon, 23 Oct 2023 08:36:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47394 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231370AbjJWMgH (ORCPT ); Mon, 23 Oct 2023 08:36:07 -0400 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 38153D6E; Mon, 23 Oct 2023 05:36:05 -0700 (PDT) Received: from pps.filterd (m0167089.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 39NB8ExR021705; Mon, 23 Oct 2023 08:36:02 -0400 Received: from nwd2mta4.analog.com ([137.71.173.58]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 3tvugj7ftc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 23 Oct 2023 08:36:02 -0400 (EDT) Received: from ASHBMBX9.ad.analog.com (ASHBMBX9.ad.analog.com [10.64.17.10]) by nwd2mta4.analog.com (8.14.7/8.14.7) with ESMTP id 39NCZx54012918 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 23 Oct 2023 08:36:00 -0400 Received: from ASHBMBX9.ad.analog.com (10.64.17.10) by ASHBMBX9.ad.analog.com (10.64.17.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Mon, 23 Oct 2023 08:35:59 -0400 Received: from zeus.spd.analog.com (10.66.68.11) by ashbmbx9.ad.analog.com (10.64.17.10) with Microsoft SMTP Server id 15.2.986.14 via Frontend Transport; Mon, 23 Oct 2023 08:35:59 -0400 Received: from rbolboac.ad.analog.com ([10.48.65.174]) by zeus.spd.analog.com (8.15.1/8.15.1) with ESMTP id 39NCZjdu025089; Mon, 23 Oct 2023 08:35:51 -0400 From: Ramona Gradinariu To: , , , , , , , CC: Ramona Gradinariu Subject: [PATCH 1/3] iio: imu: adis: Use spi cs inactive delay Date: Mon, 23 Oct 2023 15:35:40 +0300 Message-ID: <20231023123542.582392-2-ramona.gradinariu@analog.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231023123542.582392-1-ramona.gradinariu@analog.com> References: <20231023123542.582392-1-ramona.gradinariu@analog.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ADIRuleOP-NewSCL: Rule Triggered X-Proofpoint-ORIG-GUID: B_RqpLKz7ZpU8hEXjaRE3QD91StcXUCG X-Proofpoint-GUID: B_RqpLKz7ZpU8hEXjaRE3QD91StcXUCG X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-23_10,2023-10-19_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 suspectscore=0 phishscore=0 malwarescore=0 spamscore=0 impostorscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 clxscore=1015 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2310170000 definitions=main-2310230109 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" A delay is needed each time the chip selected becomes inactive, even after burst data readings are performed. Currently, there is no delay added after a burst reading and in case a new SPI transfer is performed before the needed delay, the adis device becomes unresponsive until reset. This commit is adding the needed delay directly to the spi driver, using the cs_inactive parameter, in case it is not set and is removing the additional chip select change delay present in adis APIs to remove the double delay. Signed-off-by: Ramona Gradinariu --- drivers/iio/imu/adis.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/drivers/iio/imu/adis.c b/drivers/iio/imu/adis.c index bc40240b29e2..495caf4ce87a 100644 --- a/drivers/iio/imu/adis.c +++ b/drivers/iio/imu/adis.c @@ -44,8 +44,6 @@ int __adis_write_reg(struct adis *adis, unsigned int reg,= unsigned int value, .cs_change =3D 1, .delay.value =3D adis->data->write_delay, .delay.unit =3D SPI_DELAY_UNIT_USECS, - .cs_change_delay.value =3D adis->data->cs_change_delay, - .cs_change_delay.unit =3D SPI_DELAY_UNIT_USECS, }, { .tx_buf =3D adis->tx + 2, .bits_per_word =3D 8, @@ -53,8 +51,6 @@ int __adis_write_reg(struct adis *adis, unsigned int reg,= unsigned int value, .cs_change =3D 1, .delay.value =3D adis->data->write_delay, .delay.unit =3D SPI_DELAY_UNIT_USECS, - .cs_change_delay.value =3D adis->data->cs_change_delay, - .cs_change_delay.unit =3D SPI_DELAY_UNIT_USECS, }, { .tx_buf =3D adis->tx + 4, .bits_per_word =3D 8, @@ -62,8 +58,6 @@ int __adis_write_reg(struct adis *adis, unsigned int reg,= unsigned int value, .cs_change =3D 1, .delay.value =3D adis->data->write_delay, .delay.unit =3D SPI_DELAY_UNIT_USECS, - .cs_change_delay.value =3D adis->data->cs_change_delay, - .cs_change_delay.unit =3D SPI_DELAY_UNIT_USECS, }, { .tx_buf =3D adis->tx + 6, .bits_per_word =3D 8, @@ -144,8 +138,6 @@ int __adis_read_reg(struct adis *adis, unsigned int reg= , unsigned int *val, .cs_change =3D 1, .delay.value =3D adis->data->write_delay, .delay.unit =3D SPI_DELAY_UNIT_USECS, - .cs_change_delay.value =3D adis->data->cs_change_delay, - .cs_change_delay.unit =3D SPI_DELAY_UNIT_USECS, }, { .tx_buf =3D adis->tx + 2, .bits_per_word =3D 8, @@ -153,8 +145,6 @@ int __adis_read_reg(struct adis *adis, unsigned int reg= , unsigned int *val, .cs_change =3D 1, .delay.value =3D adis->data->read_delay, .delay.unit =3D SPI_DELAY_UNIT_USECS, - .cs_change_delay.value =3D adis->data->cs_change_delay, - .cs_change_delay.unit =3D SPI_DELAY_UNIT_USECS, }, { .tx_buf =3D adis->tx + 4, .rx_buf =3D adis->rx, @@ -163,8 +153,6 @@ int __adis_read_reg(struct adis *adis, unsigned int reg= , unsigned int *val, .cs_change =3D 1, .delay.value =3D adis->data->read_delay, .delay.unit =3D SPI_DELAY_UNIT_USECS, - .cs_change_delay.value =3D adis->data->cs_change_delay, - .cs_change_delay.unit =3D SPI_DELAY_UNIT_USECS, }, { .rx_buf =3D adis->rx + 2, .bits_per_word =3D 8, @@ -524,6 +512,12 @@ int adis_init(struct adis *adis, struct iio_dev *indio= _dev, } =20 mutex_init(&adis->state_lock); + + if (!spi->cs_inactive.value) { + spi->cs_inactive.value =3D data->cs_change_delay; + spi->cs_inactive.unit =3D SPI_DELAY_UNIT_USECS; + } + adis->spi =3D spi; adis->data =3D data; iio_device_set_drvdata(indio_dev, adis); --=20 2.34.1 From nobody Sat Feb 7 03:58:54 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3176DC001E0 for ; Mon, 23 Oct 2023 12:36:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233612AbjJWMgR (ORCPT ); Mon, 23 Oct 2023 08:36:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47378 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231671AbjJWMgH (ORCPT ); Mon, 23 Oct 2023 08:36:07 -0400 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B59FB102; Mon, 23 Oct 2023 05:36:04 -0700 (PDT) Received: from pps.filterd (m0167089.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 39NC5WYC026150; Mon, 23 Oct 2023 08:36:00 -0400 Received: from nwd2mta4.analog.com ([137.71.173.58]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 3tvugj7ft7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 23 Oct 2023 08:36:00 -0400 (EDT) Received: from ASHBMBX8.ad.analog.com (ASHBMBX8.ad.analog.com [10.64.17.5]) by nwd2mta4.analog.com (8.14.7/8.14.7) with ESMTP id 39NCZxrf012915 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 23 Oct 2023 08:35:59 -0400 Received: from ASHBMBX8.ad.analog.com (10.64.17.5) by ASHBMBX8.ad.analog.com (10.64.17.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Mon, 23 Oct 2023 08:35:58 -0400 Received: from zeus.spd.analog.com (10.66.68.11) by ashbmbx8.ad.analog.com (10.64.17.5) with Microsoft SMTP Server id 15.2.986.14 via Frontend Transport; Mon, 23 Oct 2023 08:35:58 -0400 Received: from rbolboac.ad.analog.com ([10.48.65.174]) by zeus.spd.analog.com (8.15.1/8.15.1) with ESMTP id 39NCZjdv025089; Mon, 23 Oct 2023 08:35:52 -0400 From: Ramona Gradinariu To: , , , , , , , CC: Ramona Gradinariu Subject: [PATCH 2/3] dt-bindings: adis16475: Add 'spi-cs-inactive-delay-ns' property Date: Mon, 23 Oct 2023 15:35:41 +0300 Message-ID: <20231023123542.582392-3-ramona.gradinariu@analog.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231023123542.582392-1-ramona.gradinariu@analog.com> References: <20231023123542.582392-1-ramona.gradinariu@analog.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ADIRuleOP-NewSCL: Rule Triggered X-Proofpoint-ORIG-GUID: lc5bRhMMn2xsc_RT2Ca6xbrdw6SNR5t6 X-Proofpoint-GUID: lc5bRhMMn2xsc_RT2Ca6xbrdw6SNR5t6 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-23_10,2023-10-19_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 suspectscore=0 phishscore=0 malwarescore=0 spamscore=0 impostorscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 clxscore=1011 mlxlogscore=973 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2310170000 definitions=main-2310230109 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add 'spi-cs-inactive-delay-ns' property. Signed-off-by: Ramona Gradinariu --- Documentation/devicetree/bindings/iio/imu/adi,adis16475.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/iio/imu/adi,adis16475.yaml b= /Documentation/devicetree/bindings/iio/imu/adi,adis16475.yaml index c73533c54588..f01bf0ada0e8 100644 --- a/Documentation/devicetree/bindings/iio/imu/adi,adis16475.yaml +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16475.yaml @@ -47,6 +47,11 @@ properties: spi-max-frequency: maximum: 2000000 =20 + spi-cs-inactive-delay-ns: + minimum: 16000 + description: + If not explicitly set in the device tree, the driver will set it to = 16us. + interrupts: maxItems: 1 =20 --=20 2.34.1 From nobody Sat Feb 7 03:58:54 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 07CD9CDB474 for ; Mon, 23 Oct 2023 12:36:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233608AbjJWMgW (ORCPT ); Mon, 23 Oct 2023 08:36:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54200 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233507AbjJWMgJ (ORCPT ); Mon, 23 Oct 2023 08:36:09 -0400 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D0E8B103; Mon, 23 Oct 2023 05:36:07 -0700 (PDT) Received: from pps.filterd (m0167088.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 39NBfTAS018126; Mon, 23 Oct 2023 08:36:03 -0400 Received: from nwd2mta4.analog.com ([137.71.173.58]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 3tvuseydrc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 23 Oct 2023 08:36:03 -0400 (EDT) Received: from ASHBMBX9.ad.analog.com (ASHBMBX9.ad.analog.com [10.64.17.10]) by nwd2mta4.analog.com (8.14.7/8.14.7) with ESMTP id 39NCa1Gb012929 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 23 Oct 2023 08:36:01 -0400 Received: from ASHBCASHYB5.ad.analog.com (10.64.17.133) by ASHBMBX9.ad.analog.com (10.64.17.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Mon, 23 Oct 2023 08:36:01 -0400 Received: from ASHBMBX8.ad.analog.com (10.64.17.5) by ASHBCASHYB5.ad.analog.com (10.64.17.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Mon, 23 Oct 2023 08:36:00 -0400 Received: from zeus.spd.analog.com (10.66.68.11) by ashbmbx8.ad.analog.com (10.64.17.5) with Microsoft SMTP Server id 15.2.986.14 via Frontend Transport; Mon, 23 Oct 2023 08:36:00 -0400 Received: from rbolboac.ad.analog.com ([10.48.65.174]) by zeus.spd.analog.com (8.15.1/8.15.1) with ESMTP id 39NCZjdw025089; Mon, 23 Oct 2023 08:35:54 -0400 From: Ramona Gradinariu To: , , , , , , , CC: Ramona Gradinariu Subject: [PATCH 3/3] dt-bindings: adis16460: Add 'spi-cs-inactive-delay-ns' property Date: Mon, 23 Oct 2023 15:35:42 +0300 Message-ID: <20231023123542.582392-4-ramona.gradinariu@analog.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231023123542.582392-1-ramona.gradinariu@analog.com> References: <20231023123542.582392-1-ramona.gradinariu@analog.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ADIRuleOP-NewSCL: Rule Triggered X-Proofpoint-GUID: kDawZ7TmKAsyvuJMglLC3ARE-F6KYtk4 X-Proofpoint-ORIG-GUID: kDawZ7TmKAsyvuJMglLC3ARE-F6KYtk4 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-23_10,2023-10-19_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 phishscore=0 priorityscore=1501 impostorscore=0 bulkscore=0 mlxscore=0 mlxlogscore=903 adultscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2310170000 definitions=main-2310230109 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add 'spi-cs-inactive-delay-ns' property. Signed-off-by: Ramona Gradinariu --- Documentation/devicetree/bindings/iio/imu/adi,adis16460.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/iio/imu/adi,adis16460.yaml b= /Documentation/devicetree/bindings/iio/imu/adi,adis16460.yaml index 4e43c80e5119..3691c0be4f9d 100644 --- a/Documentation/devicetree/bindings/iio/imu/adi,adis16460.yaml +++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16460.yaml @@ -25,6 +25,11 @@ properties: =20 spi-cpol: true =20 + spi-cs-inactive-delay-ns: + minimum: 16000 + description: + If not explicitly set in the device tree, the driver will set it to = 16us. + interrupts: maxItems: 1 =20 --=20 2.34.1