From nobody Fri Dec 19 06:01:31 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27C3F3E49D; Mon, 13 Jan 2025 14:02:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736776923; cv=none; b=SicYAl0kLgmMzFUAmYlxD6uYaYwEJUU1ior0MuIglEwTRYBE4oTSfSavYugiChK0NCJwBhSFfQZOgOwtYlqWi16+poABg2A4px8ZC2DySjy3ZPyEBQ18tvbexqx46nR1klaYbpR4oj5lkt+sPu2u1ju2pK44Iu/389f3l8uwcxI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736776923; c=relaxed/simple; bh=y4ngFRv0AOBNbmFrZkhBTx2rszuk5J+ukbqnUzzOgZM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mSFXWozWBoDqki0ZS4DH5XgVcQMFowEyHoJGPXKO+aTivPz6Vc3mESxFOlblyGCBD9V/uyBYteNdQ5183XHPh2cSvXLtl3Whyg1t7Fz0Bl/hgwlf0wQDosudcMoID+7CxzcYrP0RrKDhiG0T2BO5uJ4D9OYNEsHdTq6hTcxKNys= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GVvCha9m; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="GVvCha9m" Received: by smtp.kernel.org (Postfix) with ESMTPS id C3739C4CEE2; Mon, 13 Jan 2025 14:02:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736776922; bh=y4ngFRv0AOBNbmFrZkhBTx2rszuk5J+ukbqnUzzOgZM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=GVvCha9mdczE2AVtIICDzZqQ0VvlqANXZvChje0JLzJeTt7jESZ/HigmDKCttgRgS KLSiya0Gy4KK5Bopy+yPzkwTIYUrfltCbANnYRCw0q04XQrDEM3+/CnYqZD4fU1vCN rl1AXSFyJhrTjvUQK63gwVL+u7n29o6vNFPyAAK18mkN9QzWI14qmsAF//L/Bx9XtY 6cza5sHE1EQhHHpKiAkmXGxTWqaMPRH4B8p7npP+s2l7QddDxtvKR5TjlApIXxItrX HJsnVbiLKlSCT6M02kZcOFGtADDj1CZh+jzCzQ7Wf3vU37H4/RevcGxYSsrTvJgM/O n3Ym72sq+V2xw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id AFCBDC02183; Mon, 13 Jan 2025 14:02:02 +0000 (UTC) From: Vasiliy Doylov via B4 Relay Date: Mon, 13 Jan 2025 17:02:00 +0300 Subject: [PATCH v4 1/5] dt-bindings: iio: accel: mc3230: document mc3510c 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: <20250113-mainlining-mc3510c-v4-1-4118411ef569@gmail.com> References: <20250113-mainlining-mc3510c-v4-0-4118411ef569@gmail.com> In-Reply-To: <20250113-mainlining-mc3510c-v4-0-4118411ef569@gmail.com> To: Jonathan Cameron , Lars-Peter Clausen , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Vasiliy Doylov , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1123; i=nekodevelopper@gmail.com; h=from:subject:message-id; bh=QPSsNqso95qPWrSIr5ihfDk9Bwjnpi3oQpu3J2o7Ics=; b=owGbwMvMwCW2fZ/SFZeSpU2Mp9WSGNJbZW5s8YlUjBEOM5Kdv/Zk8uWOt25xVvN/G128v5k77 +T2CQtUO0pZGMS4GGTFFFlsNnrMFssPl5w07akCzBxWJpAhDFycAjCRnwEM/7NCL2YHMt8LMd62 eYdo9+S2Rl7pjHtdgWJfRCOj59np2zH8T8lQrVpY6uipnjnlgqz9pCWi/R3qQSHiDE1ZuxRXBu5 hAwA= X-Developer-Key: i=nekodevelopper@gmail.com; a=openpgp; fpr=3CB1489B166F57199296E520B7BE22D44474A582 X-Endpoint-Received: by B4 Relay for nekodevelopper@gmail.com/default with auth_id=314 X-Original-From: Vasiliy Doylov Reply-To: nekodevelopper@gmail.com From: Vasiliy Doylov The MC3510C is a 3 asix digital accelerometer. It handled by the same driver as MC3230. Document it as a trivial device. Acked-by: Krzysztof Kozlowski Signed-off-by: Vasiliy Doylov --- Documentation/devicetree/bindings/trivial-devices.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Docum= entation/devicetree/bindings/trivial-devices.yaml index fadbd3c041c8c39faedfe62874d4eba25a0bf30e..6c34e4c0dcc6df5a4d8edc5effb= 80980de820db9 100644 --- a/Documentation/devicetree/bindings/trivial-devices.yaml +++ b/Documentation/devicetree/bindings/trivial-devices.yaml @@ -187,6 +187,8 @@ properties: - maxim,max6621 # mCube 3-axis 8-bit digital accelerometer - mcube,mc3230 + # mCube 3-axis 8-bit digital accelerometer + - mcube,mc3510c # Measurement Specialities I2C temperature and humidity sensor - meas,htu21 # Measurement Specialities I2C pressure and temperature sensor --=20 2.47.1 From nobody Fri Dec 19 06:01:31 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27CBD40BE5; Mon, 13 Jan 2025 14:02:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736776923; cv=none; b=iI5UGF2G5GmDtttGT/YL2uffeaNt2y4g4YB8rck8xnrLexdBv8KX05oWV3P9w6/BXgC0eDTT38xx206D6aA4z5MihahO3m5UcirTB8d/t6a6FRckldD259aBnPSrC77jGQgUXObqJfb3valpA1xlJ/PILHAbHgAlwzZpsCwIVGA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736776923; c=relaxed/simple; bh=2oIyvdA5lqjySX8l2Deg9R7DWN66uRbrlcnGgKpRqro=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PpDhBBxBhDDxJx0ua7eqLqNiu6t9/kYlKSfM72o+Ru/2qvYL1hSMCi7OhMmgorwGJPBmuXdqyW8DWG0Bf1DPonhS+bHzffBUbATgQVU51fex1vi9LDRIGTcx01OIDi5bKGzxQgRgia9ENk3rFKw4l+7+h9TiEu9ws/wc6Lvpdqg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=e3IluTOu; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="e3IluTOu" Received: by smtp.kernel.org (Postfix) with ESMTPS id CF64FC4CEE3; Mon, 13 Jan 2025 14:02:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736776922; bh=2oIyvdA5lqjySX8l2Deg9R7DWN66uRbrlcnGgKpRqro=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=e3IluTOuK5aYFAwRr1mIQ3oYYc2yqAnsEhdHPsg+5dusCfxpDW2IYgRsqNMFjlyJu 8hV2DkIcr+V70zIcpfkfM4paPzNOqs3GYxcWRWgOdZWLhdHrwGx8AKOHWO54tUVCFi usZiRCf/ytxX2MVUCtNnTXexscqC3VzNrJsKl30LjLvfbqp1FPygWCqKlOqt5FI3Ms JkyCwDo2oI4xnjzB14YDl/F7g2zSoaBq8ExvDr5ke9gms013oxamo6klYDnHQPOFTt FOU9yx7AiItOHDgMr4SyHm5bFlrLb6LWlt7JulG6LVBdJxcr0Ozfd7ax3pgJPNLRSd 6ON7CIV84zriQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id BDB69C02184; Mon, 13 Jan 2025 14:02:02 +0000 (UTC) From: Vasiliy Doylov via B4 Relay Date: Mon, 13 Jan 2025 17:02:01 +0300 Subject: [PATCH v4 2/5] iio: accel: mc3230: add mount matrix 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: <20250113-mainlining-mc3510c-v4-2-4118411ef569@gmail.com> References: <20250113-mainlining-mc3510c-v4-0-4118411ef569@gmail.com> In-Reply-To: <20250113-mainlining-mc3510c-v4-0-4118411ef569@gmail.com> To: Jonathan Cameron , Lars-Peter Clausen , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Vasiliy Doylov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1923; i=nekodevelopper@gmail.com; h=from:subject:message-id; bh=d1xov0qHxHQE7DYG5yJ4wuLkWhZ9BJAbb56t/my19Lo=; b=owGbwMvMwCW2fZ/SFZeSpU2Mp9WSGNJbZW4s2bfsZnP7FSv3RcssZxXIrOw0LSmX1l4kdF/T9 3DQS4WHHaUsDGJcDLJiiiw2Gz1mi+WHS06a9lQBZg4rE8gQBi5OAZjInnOMDOe7+i0fTPp4WSnP YsmEA2bf7gVt0mtO1I5XVtfWrljWtIHhf2aCsLVputzZ09tWbdPyea5TuTpM7GM+263QbbOyP1/ p4gcA X-Developer-Key: i=nekodevelopper@gmail.com; a=openpgp; fpr=3CB1489B166F57199296E520B7BE22D44474A582 X-Endpoint-Received: by B4 Relay for nekodevelopper@gmail.com/default with auth_id=314 X-Original-From: Vasiliy Doylov Reply-To: nekodevelopper@gmail.com From: Vasiliy Doylov This patch allows to read a mount-matrix device tree property and report to user-space or in-kernel iio clients. Signed-off-by: Vasiliy Doylov --- drivers/iio/accel/mc3230.c | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/drivers/iio/accel/mc3230.c b/drivers/iio/accel/mc3230.c index caa40a14a6316acae3a972f0ebe0b325db96eb44..48787c0494ae6f0ef1d4d22bc5a= 4608035cbe123 100644 --- a/drivers/iio/accel/mc3230.c +++ b/drivers/iio/accel/mc3230.c @@ -44,18 +44,34 @@ static const int mc3230_nscale =3D 115411765; .channel2 =3D IIO_MOD_##axis, \ .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), \ .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ + .ext_info =3D mc3230_ext_info, \ } =20 +struct mc3230_data { + struct i2c_client *client; + struct iio_mount_matrix orientation; +}; + +static const struct iio_mount_matrix * +mc3230_get_mount_matrix(const struct iio_dev *indio_dev, + const struct iio_chan_spec *chan) +{ + struct mc3230_data *data =3D iio_priv(indio_dev); + + return &data->orientation; +} + +static const struct iio_chan_spec_ext_info mc3230_ext_info[] =3D { + IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, mc3230_get_mount_matrix), + { } +}; + static const struct iio_chan_spec mc3230_channels[] =3D { MC3230_CHANNEL(MC3230_REG_XOUT, X), MC3230_CHANNEL(MC3230_REG_YOUT, Y), MC3230_CHANNEL(MC3230_REG_ZOUT, Z), }; =20 -struct mc3230_data { - struct i2c_client *client; -}; - static int mc3230_set_opcon(struct mc3230_data *data, int opcon) { int ret; @@ -141,6 +157,10 @@ static int mc3230_probe(struct i2c_client *client) if (ret < 0) return ret; =20 + ret =3D iio_read_mount_matrix(&client->dev, &data->orientation); + if (ret) + return ret; + ret =3D iio_device_register(indio_dev); if (ret < 0) { dev_err(&client->dev, "device_register failed\n"); --=20 2.47.1 From nobody Fri Dec 19 06:01:31 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 514C6482DD; Mon, 13 Jan 2025 14:02:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736776923; cv=none; b=dyffu9GN1lmFqybSO16U+WB6wU2I6ibJ6AN4Vc7sGwhvDknyDrLLZtkxLttmnQJqBmu4+qVst8zpMs6L0QzIytqolLTFtEWXLXFhILkRtKFUza1tTRVHnvE3J3ghAeGFDlQ/KBSzYPPXyAgJ9IVqII+eMqEEFRKPcIS7WL/TNOw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736776923; c=relaxed/simple; bh=zTv1Z1EQPs9ebNg8jRjW1X2ohO4Uqa0O6o0M3vjRIZ4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JHOt5rIr8NNJM3zP6/2aOiyGcKt7t64O3J75qkLhXcFJAhaN3VtTVUnOSc4QqNRuBxhgn68c7i5W3P+24anMsmrh65iryFi65xYsSh24PiXbgtu/S9r8jYioEjWUuTotQ0i3sl/cH36+KhQKW9p0ebia0eSkAEh7XwUCRqo8uys= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rTzqvH5g; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rTzqvH5g" Received: by smtp.kernel.org (Postfix) with ESMTPS id DF017C4CEE5; Mon, 13 Jan 2025 14:02:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736776922; bh=zTv1Z1EQPs9ebNg8jRjW1X2ohO4Uqa0O6o0M3vjRIZ4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=rTzqvH5gca8c5NjGhMs1C9iC30qc9sWQBVTkGP/oHMIOLSNbYKPIZ6XD3Nzu+5A3I 2Oo+CbMUiJIuixYSGQoCtNF/2My+JBLm30pdAI8xJ6UPDa7j+BnDXfqkPhWtdaM9IY TcKdjiACI9RbtOC7i2DgIAmYPAVV+oO6sem2fx4ML6u0935deM07MFc7t1OCta9IWp D09wYZTBuPO9QEvCAMU4If2vC/4LyL3hj21BkkW7S6Kxrgxh7Q+FAKmQYYXcKGDPwj WnP8MCnaJesWzH3ENLUvs6lFdmRRb+d8xcT/okGy+2Q2aALaJd4X2ueH1XhbpeIx8k B3D8sPRNqRukA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id CCA03C02180; Mon, 13 Jan 2025 14:02:02 +0000 (UTC) From: Vasiliy Doylov via B4 Relay Date: Mon, 13 Jan 2025 17:02:02 +0300 Subject: [PATCH v4 3/5] iio: accel: mc3230: add OF match table 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: <20250113-mainlining-mc3510c-v4-3-4118411ef569@gmail.com> References: <20250113-mainlining-mc3510c-v4-0-4118411ef569@gmail.com> In-Reply-To: <20250113-mainlining-mc3510c-v4-0-4118411ef569@gmail.com> To: Jonathan Cameron , Lars-Peter Clausen , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Vasiliy Doylov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=922; i=nekodevelopper@gmail.com; h=from:subject:message-id; bh=Eg7uHGOE8j/UlALdyIln75Y0DBThMlnXhDZzImwRew8=; b=owGbwMvMwCW2fZ/SFZeSpU2Mp9WSGNJbZW482/q6febp6SdK70+9n6y/fs/p0t3fi34cknhzQ FLu5DLJ+R2lLAxiXAyyYoosNhs9Zovlh0tOmvZUAWYOKxPIEAYuTgGYSP85hv/FV2Y6XLKZwfHq vW5O/a/0oCuVv1levn1gZfp+3byWdRPWM/wzdS9RTTK3iOw9zi/0N8rk+l/bHca1zrXJ/w7UxsX e+8EMAA== X-Developer-Key: i=nekodevelopper@gmail.com; a=openpgp; fpr=3CB1489B166F57199296E520B7BE22D44474A582 X-Endpoint-Received: by B4 Relay for nekodevelopper@gmail.com/default with auth_id=314 X-Original-From: Vasiliy Doylov Reply-To: nekodevelopper@gmail.com From: Vasiliy Doylov This will make the driver auto loaded via device-tree. Signed-off-by: Vasiliy Doylov --- drivers/iio/accel/mc3230.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/iio/accel/mc3230.c b/drivers/iio/accel/mc3230.c index 48787c0494ae6f0ef1d4d22bc5a4608035cbe123..443b5b30c83144478c27a86dbdc= 12e4e944a34df 100644 --- a/drivers/iio/accel/mc3230.c +++ b/drivers/iio/accel/mc3230.c @@ -205,9 +205,16 @@ static const struct i2c_device_id mc3230_i2c_id[] =3D { }; MODULE_DEVICE_TABLE(i2c, mc3230_i2c_id); =20 +static const struct of_device_id mc3230_of_match[] =3D { + { .compatible =3D "mcube,mc3230" }, + { } +}; +MODULE_DEVICE_TABLE(of, mc3230_of_match); + static struct i2c_driver mc3230_driver =3D { .driver =3D { .name =3D "mc3230", + .of_match_table =3D mc3230_of_match, .pm =3D pm_sleep_ptr(&mc3230_pm_ops), }, .probe =3D mc3230_probe, --=20 2.47.1 From nobody Fri Dec 19 06:01:31 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 61EFC237A38; Mon, 13 Jan 2025 14:02:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736776923; cv=none; b=oOKzAAf+7RdtRHsKUrXJU16EUid2Au54K+ChSjyHsjh8hbe5RO0sm3bDnsPEqUcd3v2tX1DlOAaDn2qR5WowN9pS99x2IGXGVHB8y+hJG1S+SV00xzr4wrR2zy6tz/ojyTSWu2zmtuiNhYEi3y16qe3pS1xRV4ySFil4KWpHwSY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736776923; c=relaxed/simple; bh=GHBGvpnYHAvgR5QdMdS42bx3vhlkuBWS2kC6em2zrsk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ddO6CoyTHUR3abQndmI+MCOtdpi4t90PjOOFuB9YwLrawKCS+zr3M1FcQM4/m7Jei3FfEf6p14H0TqGI7W5KxzZ8fewTy9pl/dxvcZetRTTPvVbkJM+kSZjHdDBEPDZHCYZCxgnAdhpsXHBhMauArvFLicrNDmFY665ve1ESpZQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=FbuCBEOx; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="FbuCBEOx" Received: by smtp.kernel.org (Postfix) with ESMTPS id 01AD3C4CEEB; Mon, 13 Jan 2025 14:02:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736776923; bh=GHBGvpnYHAvgR5QdMdS42bx3vhlkuBWS2kC6em2zrsk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=FbuCBEOxvMzQBXzdzGCYKwiRvZBSllGU06Dji9ZnoZIdZ5qoY6kvT53g7lNy2Fh3+ kWcgCBCyTxsl7IDJpp2AwxbhK/5PNPxZn1+sNorW/qjtxQgoQNWAa6UF/krsmSLs7Q stcN9xoHD42P4e1Wz69sEN88faCdfBfEbh6JsjHxApUBSlNPRDX7Px8QGUX9UBuCQu us2LtcvgJSCf8Obp/yP9XiFlwzAuSbxYdznadhtbJifHN0hTHtmvE4f9DdzbgC568t Cxl+73mR7LcbCBJESP45iSSWjExFJaiCGU7d9jFJc7d3+I3kf1hwGByEASP5E7FMXE Z4aHAG70MkUPQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E982BC02183; Mon, 13 Jan 2025 14:02:02 +0000 (UTC) From: Vasiliy Doylov via B4 Relay Date: Mon, 13 Jan 2025 17:02:03 +0300 Subject: [PATCH v4 4/5] iio: accel: mc3230: add multiple devices 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: <20250113-mainlining-mc3510c-v4-4-4118411ef569@gmail.com> References: <20250113-mainlining-mc3510c-v4-0-4118411ef569@gmail.com> In-Reply-To: <20250113-mainlining-mc3510c-v4-0-4118411ef569@gmail.com> To: Jonathan Cameron , Lars-Peter Clausen , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Vasiliy Doylov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3965; i=nekodevelopper@gmail.com; h=from:subject:message-id; bh=u0GLxDIqXOpHS5sTxKMtGQzMSlmbBkvPdn0nmTqe/ag=; b=owGbwMvMwCW2fZ/SFZeSpU2Mp9WSGNJbZW5eE1gTGZaharxW9XNpgtOzaUuneNdzPL9hwaigy pogdKCho5SFQYyLQVZMkcVmo8dssfxwyUnTnirAzGFlAhnCwMUpABMJ2s/w311brVV61Z2DRpMz mV6syVx3YedPq2WOBybN8fh7zDZRi42R4bOa7l8b4wyxjw1PWA8u3tfxMVb736vYHa8e76i77sT hzw4A X-Developer-Key: i=nekodevelopper@gmail.com; a=openpgp; fpr=3CB1489B166F57199296E520B7BE22D44474A582 X-Endpoint-Received: by B4 Relay for nekodevelopper@gmail.com/default with auth_id=314 X-Original-From: Vasiliy Doylov Reply-To: nekodevelopper@gmail.com From: Vasiliy Doylov Refactor code to support multiple generations of MCUBE devices by defining name, chip id and product code in mc3230_chip_info struct. Signed-off-by: Vasiliy Doylov --- drivers/iio/accel/mc3230.c | 52 +++++++++++++++++++++++++++++++++---------= ---- 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/drivers/iio/accel/mc3230.c b/drivers/iio/accel/mc3230.c index 443b5b30c83144478c27a86dbdc12e4e944a34df..c8d394c3ecf08fad60f0f2ae7be= 6fd992327d843 100644 --- a/drivers/iio/accel/mc3230.c +++ b/drivers/iio/accel/mc3230.c @@ -22,20 +22,29 @@ #define MC3230_MODE_OPCON_STANDBY 0x03 =20 #define MC3230_REG_CHIP_ID 0x18 -#define MC3230_CHIP_ID 0x01 - #define MC3230_REG_PRODUCT_CODE 0x3b -#define MC3230_PRODUCT_CODE 0x19 =20 /* * The accelerometer has one measurement range: * * -1.5g - +1.5g (8-bit, signed) * - * scale =3D (1.5 + 1.5) * 9.81 / (2^8 - 1) =3D 0.115411765 */ =20 -static const int mc3230_nscale =3D 115411765; +struct mc3230_chip_info { + const char *name; + const u8 chip_id; + const u8 product_code; + const int scale; +}; + +static const struct mc3230_chip_info mc3230_chip_info =3D { + .name =3D "mc3230", + .chip_id =3D 0x01, + .product_code =3D 0x19, + /* (1.5 + 1.5) * 9.81 / (2^8 - 1) =3D 0.115411765 */ + .scale =3D 115411765, +}; =20 #define MC3230_CHANNEL(reg, axis) { \ .type =3D IIO_ACCEL, \ @@ -48,6 +57,7 @@ static const int mc3230_nscale =3D 115411765; } =20 struct mc3230_data { + const struct mc3230_chip_info *chip_info; struct i2c_client *client; struct iio_mount_matrix orientation; }; @@ -111,7 +121,7 @@ static int mc3230_read_raw(struct iio_dev *indio_dev, return IIO_VAL_INT; case IIO_CHAN_INFO_SCALE: *val =3D 0; - *val2 =3D mc3230_nscale; + *val2 =3D data->chip_info->scale; return IIO_VAL_INT_PLUS_NANO; default: return -EINVAL; @@ -127,15 +137,28 @@ static int mc3230_probe(struct i2c_client *client) int ret; struct iio_dev *indio_dev; struct mc3230_data *data; + const struct mc3230_chip_info *chip_info; + + chip_info =3D i2c_get_match_data(client); + if (chip_info =3D=3D NULL) { + dev_err(&client->dev, "failed to get match data"); + return -ENODATA; + } =20 /* First check chip-id and product-id */ ret =3D i2c_smbus_read_byte_data(client, MC3230_REG_CHIP_ID); - if (ret !=3D MC3230_CHIP_ID) - return (ret < 0) ? ret : -ENODEV; + if (ret !=3D chip_info->chip_id) { + dev_info(&client->dev, + "chip id check fail: 0x%x !=3D 0x%x !\n", + ret, chip_info->chip_id); + } =20 ret =3D i2c_smbus_read_byte_data(client, MC3230_REG_PRODUCT_CODE); - if (ret !=3D MC3230_PRODUCT_CODE) - return (ret < 0) ? ret : -ENODEV; + if (ret !=3D chip_info->product_code) { + dev_info(&client->dev, + "product code check fail: 0x%x !=3D 0x%x !\n", + ret, chip_info->product_code); + } =20 indio_dev =3D devm_iio_device_alloc(&client->dev, sizeof(*data)); if (!indio_dev) { @@ -144,11 +167,12 @@ static int mc3230_probe(struct i2c_client *client) } =20 data =3D iio_priv(indio_dev); + data->chip_info =3D chip_info; data->client =3D client; i2c_set_clientdata(client, indio_dev); =20 indio_dev->info =3D &mc3230_info; - indio_dev->name =3D "mc3230"; + indio_dev->name =3D chip_info->name; indio_dev->modes =3D INDIO_DIRECT_MODE; indio_dev->channels =3D mc3230_channels; indio_dev->num_channels =3D ARRAY_SIZE(mc3230_channels); @@ -200,13 +224,13 @@ static int mc3230_resume(struct device *dev) static DEFINE_SIMPLE_DEV_PM_OPS(mc3230_pm_ops, mc3230_suspend, mc3230_resu= me); =20 static const struct i2c_device_id mc3230_i2c_id[] =3D { - { "mc3230" }, - {} + { "mc3230", (kernel_ulong_t)&mc3230_chip_info }, + { } }; MODULE_DEVICE_TABLE(i2c, mc3230_i2c_id); =20 static const struct of_device_id mc3230_of_match[] =3D { - { .compatible =3D "mcube,mc3230" }, + { .compatible =3D "mcube,mc3230", &mc3230_chip_info }, { } }; MODULE_DEVICE_TABLE(of, mc3230_of_match); --=20 2.47.1 From nobody Fri Dec 19 06:01:31 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 82A8423A565; Mon, 13 Jan 2025 14:02:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736776923; cv=none; b=HB1Ydw0lWs8Fs7Ll4zXCob1dzY4EJkNQga9IKP+E4O2FXdJhxUXUqkM5NtTq3G2I56LDipEl5PHVIW8OFh8TX3sdsb11WWar77rAb8vo/DO6uO2gVHSb4CpjBnkCIsQ7wo8RMbrAtpIPlXL5io5Mi8+pV7vNyd8tfITmLx5YQqQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736776923; c=relaxed/simple; bh=KZRoP5Cjgcq1f45YrvRYeCZ9m1rJx7lSPGLRnbbpDFo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nviTFgp0vw5O/ck5EuA2Qcx+9IK3BzQV7y0yMl0bz5+4wDyjAT4eGW5I+pfwSrr4nixu/88EJKs8/pokeWCQ+m5rbO9mR1wVUz9ODq8Uk2iJQFEQ8uyeoN+XsnLMnxbyOIwpHY9rkRTmaboCh6PKCs+qXJQvcAD1yGmMMQjLb6E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dqBAsdB7; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dqBAsdB7" Received: by smtp.kernel.org (Postfix) with ESMTPS id 0BB54C4CEEF; Mon, 13 Jan 2025 14:02:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736776923; bh=KZRoP5Cjgcq1f45YrvRYeCZ9m1rJx7lSPGLRnbbpDFo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=dqBAsdB799qMb/aGV7yniTEJfR5vfHk5bhyJUwOQr9TXU1RyKqJzykHbj38lx64KO 58yzqD7LwMDoqVn/eEnPPASL7UEoC2vVNhmsmN7PDxEnXYnGwzE1B2fe5lt5uCYNOw ulR2KdxGbs5AoQ1keS1js+hXBi2e18uvl3NkguR8sfh+v+vhOf2kY3pBdxy6QY9Rwt Re30/RQplCeng5xwf24APcuENmfzrX1jgKi97IxPakTE2IP9TeM9hsMouik2LrdC/z nG/tBNIoxuE6/ZCxAJ3T3BfEyn8CKBk+E5bMq6ysOWM1rEWavqamDfsJH1onBRoT4N 2NtqFt7BrAHJg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 03CE6C02185; Mon, 13 Jan 2025 14:02:03 +0000 (UTC) From: Vasiliy Doylov via B4 Relay Date: Mon, 13 Jan 2025 17:02:04 +0300 Subject: [PATCH v4 5/5] iio: accel: mc3230: add mc3510c 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: <20250113-mainlining-mc3510c-v4-5-4118411ef569@gmail.com> References: <20250113-mainlining-mc3510c-v4-0-4118411ef569@gmail.com> In-Reply-To: <20250113-mainlining-mc3510c-v4-0-4118411ef569@gmail.com> To: Jonathan Cameron , Lars-Peter Clausen , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Vasiliy Doylov X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1524; i=nekodevelopper@gmail.com; h=from:subject:message-id; bh=9Z3q0OsDzL5ZwgOvYT7Efze32gsUcd3XbTfzqI4bFbA=; b=owGbwMvMwCW2fZ/SFZeSpU2Mp9WSGNJbZW62HspgljvdcPioaZXF+7O2v5NFLJ+2pYjsyVtX6 /HEzMSro5SFQYyLQVZMkcVmo8dssfxwyUnTnirAzGFlAhnCwMUpABPhO83IcOnLNvlDb4qNpiuw b9hS8vMv7/umBsWDt/LOb1GxY9StfcTIcGZ67jmB2PWHj8/9+9h/97kV65Z4Prs75e/VQ2XdB0M qNrAAAA== X-Developer-Key: i=nekodevelopper@gmail.com; a=openpgp; fpr=3CB1489B166F57199296E520B7BE22D44474A582 X-Endpoint-Received: by B4 Relay for nekodevelopper@gmail.com/default with auth_id=314 X-Original-From: Vasiliy Doylov Reply-To: nekodevelopper@gmail.com From: Vasiliy Doylov This change integrates mc3510c support into the mc3230 driver. MC3510C uses the same registers as MC3230, but a different value scale. Tested on Huawei MediaPad T3 10 (huawei-agassi) Signed-off-by: Vasiliy Doylov --- drivers/iio/accel/mc3230.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/iio/accel/mc3230.c b/drivers/iio/accel/mc3230.c index c8d394c3ecf08fad60f0f2ae7be6fd992327d843..e2853090fa6e15f4dd74e996fae= 8520b30471d3b 100644 --- a/drivers/iio/accel/mc3230.c +++ b/drivers/iio/accel/mc3230.c @@ -46,6 +46,14 @@ static const struct mc3230_chip_info mc3230_chip_info = =3D { .scale =3D 115411765, }; =20 +static const struct mc3230_chip_info mc3510c_chip_info =3D { + .name =3D "mc3510c", + .chip_id =3D 0x23, + .product_code =3D 0x10, + /* Was obtained empirically */ + .scale =3D 625000000, +}; + #define MC3230_CHANNEL(reg, axis) { \ .type =3D IIO_ACCEL, \ .address =3D reg, \ @@ -225,12 +233,14 @@ static DEFINE_SIMPLE_DEV_PM_OPS(mc3230_pm_ops, mc3230= _suspend, mc3230_resume); =20 static const struct i2c_device_id mc3230_i2c_id[] =3D { { "mc3230", (kernel_ulong_t)&mc3230_chip_info }, + { "mc3510c", (kernel_ulong_t)&mc3510c_chip_info }, { } }; MODULE_DEVICE_TABLE(i2c, mc3230_i2c_id); =20 static const struct of_device_id mc3230_of_match[] =3D { { .compatible =3D "mcube,mc3230", &mc3230_chip_info }, + { .compatible =3D "mcube,mc3510c", &mc3510c_chip_info }, { } }; MODULE_DEVICE_TABLE(of, mc3230_of_match); --=20 2.47.1