From: Farouk Bouabid <farouk.bouabid@cherry.de>
To: Jean Delvare <jdelvare@suse.com>,
Guenter Roeck <linux@roeck-us.net>,
Andi Shyti <andi.shyti@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, Lee Jones <lee@kernel.org>,
Farouk Bouabid <farouk.bouabid@cherry.de>,
Quentin Schulz <quentin.schulz@cherry.de>,
Peter Rosin <peda@axentia.se>, Heiko Stuebner <heiko@sntech.de>
Cc: linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-i2c@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org
Subject: [PATCH v4 3/9] dt-bindings: mfd: add support for mule
Date: Tue, 18 Jun 2024 18:06:45 +0200 [thread overview]
Message-ID: <20240618-dev-mule-i2c-mux-v4-3-5462d28354c8@cherry.de> (raw)
In-Reply-To: <20240618-dev-mule-i2c-mux-v4-0-5462d28354c8@cherry.de>
Mule is an MCU that emulates a set of I2C devices, among which an amc6821
device and an I2C mux that exposes more emulated devices. These two devices
share the same I2C address. Only the I2C mux uses register (0xff) as a
config register.
Add dt-binding support for the Mule I2C multi-function device.
Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
---
.../devicetree/bindings/i2c/tsd,mule-i2c-mux.yaml | 48 +++++++++++++
.../devicetree/bindings/mfd/tsd,mule.yaml | 82 ++++++++++++++++++++++
2 files changed, 130 insertions(+)
diff --git a/Documentation/devicetree/bindings/i2c/tsd,mule-i2c-mux.yaml b/Documentation/devicetree/bindings/i2c/tsd,mule-i2c-mux.yaml
new file mode 100644
index 000000000000..ac9dfc936272
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/tsd,mule-i2c-mux.yaml
@@ -0,0 +1,48 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i2c/tsd,mule-i2c-mux.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Mule I2C multiplexer
+
+maintainers:
+ - Farouk Bouabid <farouk.bouabid@cherry.de>
+ - Quentin Schulz <quentin.schulz@cherry.de>
+
+description: |
+ This module is part of the Mule I2C multi-function device. For more
+ details see ../mfd/tsd,mule.yaml.
+
+ Mule I2C-mux configures the active device that can be accessed on address
+ 0x6f through the config register.
+
+ +--------------------------------------------------+
+ | Mule |
+ 0x18| +---------------+ |
+ -------->|Config register|----+ |
+ | +---------------+ | |
+ | V_ |
+ | | \ +--------+ |
+ | | \-------->| dev #0 | |
+ | | | +--------+ |
+ 0x6f| | M |-------->| dev #1 | |
+ ---------------------------->| U | +--------+ |
+ | | X |-------->| dev #2 | |
+ | | | +--------+ |
+ | | /-------->| dev #3 | |
+ | |__/ +--------+ |
+ +--------------------------------------------------+
+
+
+allOf:
+ - $ref: /schemas/i2c/i2c-mux.yaml#
+
+properties:
+ compatible:
+ const: tsd,mule-i2c-mux
+
+required:
+ - compatible
+
+unevaluatedProperties: false
diff --git a/Documentation/devicetree/bindings/mfd/tsd,mule.yaml b/Documentation/devicetree/bindings/mfd/tsd,mule.yaml
new file mode 100644
index 000000000000..ab532340a17c
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/tsd,mule.yaml
@@ -0,0 +1,82 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/tsd,mule.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Mule I2C multi function device
+
+maintainers:
+ - Farouk Bouabid <farouk.bouabid@cherry.de>
+ - Quentin Schulz <quentin.schulz@cherry.de>
+
+description:
+ Mule is an MCU that emulates a set of I2C devices, among which an amc6821
+ device and an I2C mux that exposes more emulated devices. These two devices
+ share the same I2C address. Only the I2C mux uses register (0xff) as a config
+ register.
+
+properties:
+ compatible:
+ const: tsd,mule
+
+ reg:
+ maxItems: 1
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+patternProperties:
+ "^fan(@[0-9a-f]+)?$":
+ $ref: /schemas/trivial-devices.yaml
+
+ "^i2c-mux(@[0-9a-f]+)?$":
+ $ref: /schemas/i2c/tsd,mule-i2c-mux.yaml
+
+required:
+ - "#address-cells"
+ - "#size-cells"
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mule@18 {
+ compatible = "tsd,mule";
+ reg = <0x18>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ fan@18 {
+ compatible = "ti,amc6821";
+ reg = <0x18>;
+ };
+
+ i2c-mux {
+ compatible = "tsd,mule-i2c-mux";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c@0 {
+ reg = <0x0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ rtc@6f {
+ compatible = "isil,isl1208";
+ reg = <0x6f>;
+ };
+ };
+ };
+ };
+ };
+...
--
2.34.1
next prev parent reply other threads:[~2024-06-18 16:10 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-18 16:06 [PATCH v4 0/9] Add Mule MFD support Farouk Bouabid
2024-06-18 16:06 ` [PATCH v4 1/9] hwmon: (amc6821) add platform driver probe Farouk Bouabid
2024-06-18 16:06 ` [PATCH v4 2/9] hwmon: (amc6821) dev_err using amc6821 device struct Farouk Bouabid
2024-06-18 16:06 ` Farouk Bouabid [this message]
2024-06-27 20:52 ` [PATCH v4 3/9] dt-bindings: mfd: add support for mule Rob Herring
2024-06-18 16:06 ` [PATCH v4 4/9] i2c: muxes: add support for mule i2c multiplexer Farouk Bouabid
2024-06-18 16:06 ` [PATCH v4 5/9] mfd: simple-mfd-i2c: Add support for tsd,mule Farouk Bouabid
2024-06-18 16:06 ` [PATCH v4 6/9] arm64: dts: rockchip: add mule mfd (0x18) on rk3588-jaguar Farouk Bouabid
2024-06-18 16:06 ` [PATCH v4 7/9] arm64: dts: rockchip: add mule mfd (0x18) on rk3399-puma Farouk Bouabid
2024-06-18 16:06 ` [PATCH v4 8/9] arm64: dts: rockchip: add mule mfd (0x18) on rk3588-tiger Farouk Bouabid
2024-06-18 16:06 ` [PATCH v4 9/9] arm64: dts: rockchip: add mule mfd (0x18) on px30-ringneck Farouk Bouabid
2024-06-18 16:29 ` [PATCH v4 0/9] Add Mule MFD support Guenter Roeck
2024-06-18 16:51 ` Quentin Schulz
2024-06-18 17:30 ` Guenter Roeck
2024-06-19 7:45 ` Farouk Bouabid
2024-06-19 13:31 ` Guenter Roeck
2024-06-24 16:13 ` Farouk Bouabid
2024-06-28 0:05 ` Guenter Roeck
2024-06-28 9:03 ` Farouk Bouabid
2024-06-28 15:05 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240618-dev-mule-i2c-mux-v4-3-5462d28354c8@cherry.de \
--to=farouk.bouabid@cherry.de \
--cc=andi.shyti@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=heiko@sntech.de \
--cc=jdelvare@suse.com \
--cc=krzk+dt@kernel.org \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux@roeck-us.net \
--cc=peda@axentia.se \
--cc=quentin.schulz@cherry.de \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).