* [PATCH v8 1/8] dt-bindings: i2c: add support for tsd,mule-i2c-mux
2024-09-06 15:54 [PATCH v8 0/8] Add tsd,mule-i2c-mux support Farouk Bouabid
@ 2024-09-06 15:54 ` Farouk Bouabid
2024-09-06 15:54 ` [PATCH v8 2/8] i2c: muxes: add support for tsd,mule-i2c multiplexer Farouk Bouabid
` (8 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Farouk Bouabid @ 2024-09-06 15:54 UTC (permalink / raw)
To: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Farouk Bouabid, Quentin Schulz, Peter Rosin, Jean Delvare,
Guenter Roeck, Heiko Stuebner
Cc: linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip, Wolfram Sang
Theobroma Systems Mule is an MCU that emulates a set of I2C devices,
among which devices that are reachable through an I2C-mux. The devices
on the mux can be selected by writing the appropriate device number to
an I2C config register.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
---
.../devicetree/bindings/i2c/tsd,mule-i2c-mux.yaml | 69 ++++++++++++++++++++++
1 file changed, 69 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..28139b676661
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/tsd,mule-i2c-mux.yaml
@@ -0,0 +1,69 @@
+# 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: Theobroma Systems Mule I2C multiplexer
+
+maintainers:
+ - Farouk Bouabid <farouk.bouabid@cherry.de>
+ - Quentin Schulz <quentin.schulz@cherry.de>
+
+description: |
+ Theobroma Systems Mule is an MCU that emulates a set of I2C devices, among
+ which devices that are reachable through an I2C-mux. The devices on the mux
+ can be selected by writing the appropriate device number to an I2C 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
+
+examples:
+ - |
+ 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
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH v8 2/8] i2c: muxes: add support for tsd,mule-i2c multiplexer
2024-09-06 15:54 [PATCH v8 0/8] Add tsd,mule-i2c-mux support Farouk Bouabid
2024-09-06 15:54 ` [PATCH v8 1/8] dt-bindings: i2c: add support for tsd,mule-i2c-mux Farouk Bouabid
@ 2024-09-06 15:54 ` Farouk Bouabid
2024-09-28 16:56 ` Christophe JAILLET
2024-09-06 15:54 ` [PATCH v8 3/8] dt-bindings: hwmon: add support for ti,amc6821 Farouk Bouabid
` (7 subsequent siblings)
9 siblings, 1 reply; 17+ messages in thread
From: Farouk Bouabid @ 2024-09-06 15:54 UTC (permalink / raw)
To: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Farouk Bouabid, Quentin Schulz, Peter Rosin, Jean Delvare,
Guenter Roeck, Heiko Stuebner
Cc: linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip, Wolfram Sang
Theobroma Systems Mule is an MCU that emulates a set of I2C devices,
among which an amc6821 and devices that are reachable through an I2C-mux.
The devices on the mux can be selected by writing the appropriate device
number to an I2C config register (amc6821 reg 0xff).
This driver is expected to be probed as a platform device with amc6821
as its parent i2c device.
Add support for the mule-i2c-mux platform driver. The amc6821 driver
support for the mux will be added in a later commit.
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
---
drivers/i2c/muxes/Kconfig | 16 +++++
drivers/i2c/muxes/Makefile | 1 +
drivers/i2c/muxes/i2c-mux-mule.c | 148 +++++++++++++++++++++++++++++++++++++++
3 files changed, 165 insertions(+)
diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig
index db1b9057612a..6d2f66810cdc 100644
--- a/drivers/i2c/muxes/Kconfig
+++ b/drivers/i2c/muxes/Kconfig
@@ -119,4 +119,20 @@ config I2C_MUX_MLXCPLD
This driver can also be built as a module. If so, the module
will be called i2c-mux-mlxcpld.
+config I2C_MUX_MULE
+ tristate "Theobroma Systems Mule I2C device multiplexer"
+ depends on OF && SENSORS_AMC6821
+ help
+ Mule is an MCU that emulates a set of I2C devices, among which
+ devices that are reachable through an I2C-mux. The devices on the mux
+ can be selected by writing the appropriate device number to an I2C
+ configuration register.
+
+ If you say yes to this option, support will be included for a
+ Theobroma Systems Mule I2C multiplexer. This driver provides access to
+ I2C devices connected on this mux.
+
+ This driver can also be built as a module. If so, the module
+ will be called i2c-mux-mule.
+
endmenu
diff --git a/drivers/i2c/muxes/Makefile b/drivers/i2c/muxes/Makefile
index 6d9d865e8518..4b24f49515a7 100644
--- a/drivers/i2c/muxes/Makefile
+++ b/drivers/i2c/muxes/Makefile
@@ -10,6 +10,7 @@ obj-$(CONFIG_I2C_MUX_GPIO) += i2c-mux-gpio.o
obj-$(CONFIG_I2C_MUX_GPMUX) += i2c-mux-gpmux.o
obj-$(CONFIG_I2C_MUX_LTC4306) += i2c-mux-ltc4306.o
obj-$(CONFIG_I2C_MUX_MLXCPLD) += i2c-mux-mlxcpld.o
+obj-$(CONFIG_I2C_MUX_MULE) += i2c-mux-mule.o
obj-$(CONFIG_I2C_MUX_PCA9541) += i2c-mux-pca9541.o
obj-$(CONFIG_I2C_MUX_PCA954x) += i2c-mux-pca954x.o
obj-$(CONFIG_I2C_MUX_PINCTRL) += i2c-mux-pinctrl.o
diff --git a/drivers/i2c/muxes/i2c-mux-mule.c b/drivers/i2c/muxes/i2c-mux-mule.c
new file mode 100644
index 000000000000..8e942470b35f
--- /dev/null
+++ b/drivers/i2c/muxes/i2c-mux-mule.c
@@ -0,0 +1,148 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Theobroma Systems Mule I2C device multiplexer
+ *
+ * Copyright (C) 2024 Theobroma Systems Design und Consulting GmbH
+ */
+
+#include <linux/i2c-mux.h>
+#include <linux/i2c.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+#include <linux/property.h>
+#include <linux/regmap.h>
+
+#define MULE_I2C_MUX_CONFIG_REG 0xff
+#define MULE_I2C_MUX_DEFAULT_DEV 0x0
+
+struct mule_i2c_reg_mux {
+ struct regmap *regmap;
+};
+
+static int mule_i2c_mux_select(struct i2c_mux_core *muxc, u32 dev)
+{
+ struct mule_i2c_reg_mux *mux = muxc->priv;
+
+ return regmap_write(mux->regmap, MULE_I2C_MUX_CONFIG_REG, dev);
+}
+
+static int mule_i2c_mux_deselect(struct i2c_mux_core *muxc, u32 dev)
+{
+ return mule_i2c_mux_select(muxc, MULE_I2C_MUX_DEFAULT_DEV);
+}
+
+static void mule_i2c_mux_remove(void *data)
+{
+ struct i2c_mux_core *muxc = data;
+
+ i2c_mux_del_adapters(muxc);
+
+ mule_i2c_mux_deselect(muxc, MULE_I2C_MUX_DEFAULT_DEV);
+}
+
+static int mule_i2c_mux_probe(struct platform_device *pdev)
+{
+ struct device *mux_dev = &pdev->dev;
+ struct mule_i2c_reg_mux *priv;
+ struct i2c_client *client;
+ struct i2c_mux_core *muxc;
+ struct device_node *dev;
+ unsigned int readback;
+ int ndev, ret;
+ bool old_fw;
+
+ /* Count devices on the mux */
+ ndev = of_get_child_count(mux_dev->of_node);
+ dev_dbg(mux_dev, "%d devices on the mux\n", ndev);
+
+ client = to_i2c_client(mux_dev->parent);
+
+ muxc = i2c_mux_alloc(client->adapter, mux_dev, ndev, sizeof(*priv),
+ I2C_MUX_LOCKED, mule_i2c_mux_select, mule_i2c_mux_deselect);
+ if (!muxc)
+ return -ENOMEM;
+
+ priv = i2c_mux_priv(muxc);
+
+ priv->regmap = dev_get_regmap(mux_dev->parent, NULL);
+ if (IS_ERR(priv->regmap))
+ return dev_err_probe(mux_dev, PTR_ERR(priv->regmap),
+ "No parent i2c register map\n");
+
+ platform_set_drvdata(pdev, muxc);
+
+ /*
+ * MULE_I2C_MUX_DEFAULT_DEV is guaranteed to exist on all old and new
+ * mule fw. Mule fw without mux support will accept write ops to the
+ * config register, but readback returns 0xff (register not updated).
+ */
+ ret = mule_i2c_mux_select(muxc, MULE_I2C_MUX_DEFAULT_DEV);
+ if (ret)
+ return dev_err_probe(mux_dev, ret,
+ "Failed to write config register\n");
+
+ ret = regmap_read(priv->regmap, MULE_I2C_MUX_CONFIG_REG, &readback);
+ if (ret)
+ return dev_err_probe(mux_dev, ret,
+ "Failed to read config register\n");
+
+ old_fw = (readback != MULE_I2C_MUX_DEFAULT_DEV);
+
+ ret = devm_add_action_or_reset(mux_dev, mule_i2c_mux_remove, muxc);
+ if (ret)
+ return dev_err_probe(mux_dev, ret,
+ "Failed to register mux remove\n");
+
+ /* Create device adapters */
+ for_each_child_of_node(mux_dev->of_node, dev) {
+ u32 reg;
+
+ ret = of_property_read_u32(dev, "reg", ®);
+ if (ret)
+ return dev_err_probe(mux_dev, ret,
+ "No reg property found for %s\n",
+ of_node_full_name(dev));
+
+ if (old_fw && reg != 0) {
+ dev_warn(mux_dev,
+ "Mux is not supported, please update Mule FW\n");
+ continue;
+ }
+
+ ret = mule_i2c_mux_select(muxc, reg);
+ if (ret) {
+ dev_warn(mux_dev,
+ "Device %d not supported, please update Mule FW\n", reg);
+ continue;
+ }
+
+ ret = i2c_mux_add_adapter(muxc, 0, reg);
+ if (ret)
+ return ret;
+ }
+
+ mule_i2c_mux_deselect(muxc, MULE_I2C_MUX_DEFAULT_DEV);
+
+ return 0;
+}
+
+static const struct of_device_id mule_i2c_mux_of_match[] = {
+ { .compatible = "tsd,mule-i2c-mux", },
+ {},
+};
+MODULE_DEVICE_TABLE(of, mule_i2c_mux_of_match);
+
+static struct platform_driver mule_i2c_mux_driver = {
+ .driver = {
+ .name = "mule-i2c-mux",
+ .of_match_table = mule_i2c_mux_of_match,
+ },
+ .probe = mule_i2c_mux_probe,
+};
+
+module_platform_driver(mule_i2c_mux_driver);
+
+MODULE_AUTHOR("Farouk Bouabid <farouk.bouabid@cherry.de>");
+MODULE_DESCRIPTION("I2C mux driver for Theobroma Systems Mule");
+MODULE_LICENSE("GPL");
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [PATCH v8 2/8] i2c: muxes: add support for tsd,mule-i2c multiplexer
2024-09-06 15:54 ` [PATCH v8 2/8] i2c: muxes: add support for tsd,mule-i2c multiplexer Farouk Bouabid
@ 2024-09-28 16:56 ` Christophe JAILLET
2024-09-28 17:00 ` Guenter Roeck
0 siblings, 1 reply; 17+ messages in thread
From: Christophe JAILLET @ 2024-09-28 16:56 UTC (permalink / raw)
To: Farouk Bouabid, Andi Shyti, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Quentin Schulz, Peter Rosin, Jean Delvare,
Guenter Roeck, Heiko Stuebner
Cc: linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip, Wolfram Sang
Le 06/09/2024 à 17:54, Farouk Bouabid a écrit :
> Theobroma Systems Mule is an MCU that emulates a set of I2C devices,
> among which an amc6821 and devices that are reachable through an I2C-mux.
> The devices on the mux can be selected by writing the appropriate device
> number to an I2C config register (amc6821 reg 0xff).
>
> This driver is expected to be probed as a platform device with amc6821
> as its parent i2c device.
>
> Add support for the mule-i2c-mux platform driver. The amc6821 driver
> support for the mux will be added in a later commit.
>
> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
> ---
Hi,
> +static const struct of_device_id mule_i2c_mux_of_match[] = {
> + { .compatible = "tsd,mule-i2c-mux", },
> + {},
Nitpick (in case of v9): usually, a comma is not added after a terminator.
> +};
...
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: [PATCH v8 2/8] i2c: muxes: add support for tsd,mule-i2c multiplexer
2024-09-28 16:56 ` Christophe JAILLET
@ 2024-09-28 17:00 ` Guenter Roeck
0 siblings, 0 replies; 17+ messages in thread
From: Guenter Roeck @ 2024-09-28 17:00 UTC (permalink / raw)
To: Christophe JAILLET, Farouk Bouabid, Andi Shyti, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Quentin Schulz, Peter Rosin,
Jean Delvare, Heiko Stuebner
Cc: linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip, Wolfram Sang
On 9/28/24 09:56, Christophe JAILLET wrote:
> Le 06/09/2024 à 17:54, Farouk Bouabid a écrit :
>> Theobroma Systems Mule is an MCU that emulates a set of I2C devices,
>> among which an amc6821 and devices that are reachable through an I2C-mux.
>> The devices on the mux can be selected by writing the appropriate device
>> number to an I2C config register (amc6821 reg 0xff).
>>
>> This driver is expected to be probed as a platform device with amc6821
>> as its parent i2c device.
>>
>> Add support for the mule-i2c-mux platform driver. The amc6821 driver
>> support for the mux will be added in a later commit.
>>
>> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
>> Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
>> ---
>
> Hi,
>
>> +static const struct of_device_id mule_i2c_mux_of_match[] = {
>> + { .compatible = "tsd,mule-i2c-mux", },
>> + {},
>
> Nitpick (in case of v9): usually, a comma is not added after a terminator.
>
That is a bit late. The patch is already in the upstream kernel.
Guenter
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v8 3/8] dt-bindings: hwmon: add support for ti,amc6821
2024-09-06 15:54 [PATCH v8 0/8] Add tsd,mule-i2c-mux support Farouk Bouabid
2024-09-06 15:54 ` [PATCH v8 1/8] dt-bindings: i2c: add support for tsd,mule-i2c-mux Farouk Bouabid
2024-09-06 15:54 ` [PATCH v8 2/8] i2c: muxes: add support for tsd,mule-i2c multiplexer Farouk Bouabid
@ 2024-09-06 15:54 ` Farouk Bouabid
2024-09-27 14:58 ` Farouk Bouabid
2024-09-29 23:52 ` Guenter Roeck
2024-09-06 15:54 ` [PATCH v8 4/8] hwmon: (amc6821) add support for tsd,mule Farouk Bouabid
` (6 subsequent siblings)
9 siblings, 2 replies; 17+ messages in thread
From: Farouk Bouabid @ 2024-09-06 15:54 UTC (permalink / raw)
To: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Farouk Bouabid, Quentin Schulz, Peter Rosin, Jean Delvare,
Guenter Roeck, Heiko Stuebner
Cc: linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip
Add dt-bindings for amc6821 intelligent temperature monitor and
pulse-width modulation (PWM) fan controller.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
---
Notes:
Merge after patch 1
.../devicetree/bindings/hwmon/ti,amc6821.yaml | 86 ++++++++++++++++++++++
.../devicetree/bindings/trivial-devices.yaml | 2 -
2 files changed, 86 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/hwmon/ti,amc6821.yaml b/Documentation/devicetree/bindings/hwmon/ti,amc6821.yaml
new file mode 100644
index 000000000000..5d33f1a23d03
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/ti,amc6821.yaml
@@ -0,0 +1,86 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hwmon/ti,amc6821.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: AMC6821 Intelligent Temperature Monitor and PWM Fan Controller
+
+maintainers:
+ - Farouk Bouabid <farouk.bouabid@cherry.de>
+ - Quentin Schulz <quentin.schulz@cherry.de>
+
+description:
+ Intelligent temperature monitor and pulse-width modulation (PWM) fan
+ controller.
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - const: tsd,mule
+ - const: ti,amc6821
+ - const: ti,amc6821
+
+ reg:
+ maxItems: 1
+
+ i2c-mux:
+ type: object
+
+required:
+ - compatible
+ - reg
+
+if:
+ properties:
+ compatible:
+ contains:
+ const: tsd,mule
+
+then:
+ required:
+ - i2c-mux
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ fan@18 {
+ compatible = "ti,amc6821";
+ reg = <0x18>;
+ };
+ };
+
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ fan@18 {
+ compatible = "tsd,mule", "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>;
+ };
+ };
+ };
+ };
+ };
+...
diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml
index 7913ca9b6b54..8ba53cc2672b 100644
--- a/Documentation/devicetree/bindings/trivial-devices.yaml
+++ b/Documentation/devicetree/bindings/trivial-devices.yaml
@@ -370,8 +370,6 @@ properties:
- swir,mangoh-iotport-spi
# Ambient Light Sensor with SMBUS/Two Wire Serial Interface
- taos,tsl2550
- # Temperature Monitoring and Fan Control
- - ti,amc6821
# Temperature and humidity sensor with i2c interface
- ti,hdc1000
# Temperature and humidity sensor with i2c interface
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [PATCH v8 3/8] dt-bindings: hwmon: add support for ti,amc6821
2024-09-06 15:54 ` [PATCH v8 3/8] dt-bindings: hwmon: add support for ti,amc6821 Farouk Bouabid
@ 2024-09-27 14:58 ` Farouk Bouabid
2024-09-28 16:39 ` Guenter Roeck
2024-09-29 23:52 ` Guenter Roeck
1 sibling, 1 reply; 17+ messages in thread
From: Farouk Bouabid @ 2024-09-27 14:58 UTC (permalink / raw)
To: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Quentin Schulz, Peter Rosin, Jean Delvare, Guenter Roeck,
Heiko Stuebner
Cc: linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip
Hi,
On 06.09.24 17:54, Farouk Bouabid wrote:
> Add dt-bindings for amc6821 intelligent temperature monitor and
> pulse-width modulation (PWM) fan controller.
>
> Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
> Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
> ---
>
> Notes:
> Merge after patch 1
Patch 1 is merged in next-20240910 and it represents the dependency
required for patches 3. I guess we should be ready to merge patches 3
and 4 through the hwmon subsystem.
Thanks,
Farouk
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v8 3/8] dt-bindings: hwmon: add support for ti,amc6821
2024-09-27 14:58 ` Farouk Bouabid
@ 2024-09-28 16:39 ` Guenter Roeck
0 siblings, 0 replies; 17+ messages in thread
From: Guenter Roeck @ 2024-09-28 16:39 UTC (permalink / raw)
To: Farouk Bouabid, Andi Shyti, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Quentin Schulz, Peter Rosin, Jean Delvare,
Heiko Stuebner
Cc: linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip
On 9/27/24 07:58, Farouk Bouabid wrote:
> Hi,
>
> On 06.09.24 17:54, Farouk Bouabid wrote:
>> Add dt-bindings for amc6821 intelligent temperature monitor and
>> pulse-width modulation (PWM) fan controller.
>>
>> Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
>> Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
>> ---
>>
>> Notes:
>> Merge after patch 1
>
> Patch 1 is merged in next-20240910 and it represents the dependency required for patches 3. I guess we should be ready to merge patches 3 and 4 through the hwmon subsystem.
>
I'll do that after the commit window closes.
Guenter
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v8 3/8] dt-bindings: hwmon: add support for ti,amc6821
2024-09-06 15:54 ` [PATCH v8 3/8] dt-bindings: hwmon: add support for ti,amc6821 Farouk Bouabid
2024-09-27 14:58 ` Farouk Bouabid
@ 2024-09-29 23:52 ` Guenter Roeck
1 sibling, 0 replies; 17+ messages in thread
From: Guenter Roeck @ 2024-09-29 23:52 UTC (permalink / raw)
To: Farouk Bouabid
Cc: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Quentin Schulz, Peter Rosin, Jean Delvare, Heiko Stuebner,
linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip
On Fri, Sep 06, 2024 at 05:54:14PM +0200, Farouk Bouabid wrote:
> Add dt-bindings for amc6821 intelligent temperature monitor and
> pulse-width modulation (PWM) fan controller.
>
> Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
> Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
Applied to hwmon-next.
Thanks,
Guenter
> ---
>
> Notes:
> Merge after patch 1
>
> .../devicetree/bindings/hwmon/ti,amc6821.yaml | 86 ++++++++++++++++++++++
> .../devicetree/bindings/trivial-devices.yaml | 2 -
> 2 files changed, 86 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/hwmon/ti,amc6821.yaml b/Documentation/devicetree/bindings/hwmon/ti,amc6821.yaml
> new file mode 100644
> index 000000000000..5d33f1a23d03
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/hwmon/ti,amc6821.yaml
> @@ -0,0 +1,86 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/hwmon/ti,amc6821.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: AMC6821 Intelligent Temperature Monitor and PWM Fan Controller
> +
> +maintainers:
> + - Farouk Bouabid <farouk.bouabid@cherry.de>
> + - Quentin Schulz <quentin.schulz@cherry.de>
> +
> +description:
> + Intelligent temperature monitor and pulse-width modulation (PWM) fan
> + controller.
> +
> +properties:
> + compatible:
> + oneOf:
> + - items:
> + - const: tsd,mule
> + - const: ti,amc6821
> + - const: ti,amc6821
> +
> + reg:
> + maxItems: 1
> +
> + i2c-mux:
> + type: object
> +
> +required:
> + - compatible
> + - reg
> +
> +if:
> + properties:
> + compatible:
> + contains:
> + const: tsd,mule
> +
> +then:
> + required:
> + - i2c-mux
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + fan@18 {
> + compatible = "ti,amc6821";
> + reg = <0x18>;
> + };
> + };
> +
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + fan@18 {
> + compatible = "tsd,mule", "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>;
> + };
> + };
> + };
> + };
> + };
> +...
> diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml
> index 7913ca9b6b54..8ba53cc2672b 100644
> --- a/Documentation/devicetree/bindings/trivial-devices.yaml
> +++ b/Documentation/devicetree/bindings/trivial-devices.yaml
> @@ -370,8 +370,6 @@ properties:
> - swir,mangoh-iotport-spi
> # Ambient Light Sensor with SMBUS/Two Wire Serial Interface
> - taos,tsl2550
> - # Temperature Monitoring and Fan Control
> - - ti,amc6821
> # Temperature and humidity sensor with i2c interface
> - ti,hdc1000
> # Temperature and humidity sensor with i2c interface
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v8 4/8] hwmon: (amc6821) add support for tsd,mule
2024-09-06 15:54 [PATCH v8 0/8] Add tsd,mule-i2c-mux support Farouk Bouabid
` (2 preceding siblings ...)
2024-09-06 15:54 ` [PATCH v8 3/8] dt-bindings: hwmon: add support for ti,amc6821 Farouk Bouabid
@ 2024-09-06 15:54 ` Farouk Bouabid
2024-09-29 23:53 ` Guenter Roeck
2024-09-06 15:54 ` [PATCH v8 5/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3588-jaguar Farouk Bouabid
` (5 subsequent siblings)
9 siblings, 1 reply; 17+ messages in thread
From: Farouk Bouabid @ 2024-09-06 15:54 UTC (permalink / raw)
To: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Farouk Bouabid, Quentin Schulz, Peter Rosin, Jean Delvare,
Guenter Roeck, Heiko Stuebner
Cc: linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip
Theobroma Systems Mule is an MCU that emulates a set of I2C devices,
among which is an amc6821 and other devices that are reachable through
an I2C-mux.
The devices on the mux can be selected by writing the appropriate device
number to an I2C config register (amc6821: reg 0xff)
Implement "tsd,mule" compatible to instantiate the I2C-mux platform device
when probing the amc6821.
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
---
drivers/hwmon/amc6821.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/hwmon/amc6821.c b/drivers/hwmon/amc6821.c
index ec94392fcb65..a3fdbcf01ecd 100644
--- a/drivers/hwmon/amc6821.c
+++ b/drivers/hwmon/amc6821.c
@@ -22,6 +22,7 @@
#include <linux/minmax.h>
#include <linux/module.h>
#include <linux/mutex.h>
+#include <linux/of_platform.h>
#include <linux/regmap.h>
#include <linux/slab.h>
@@ -897,7 +898,6 @@ static bool amc6821_volatile_reg(struct device *dev, unsigned int reg)
static const struct regmap_config amc6821_regmap_config = {
.reg_bits = 8,
.val_bits = 8,
- .max_register = AMC6821_REG_CONF3,
.volatile_reg = amc6821_volatile_reg,
.cache_type = REGCACHE_MAPLE,
};
@@ -924,6 +924,13 @@ static int amc6821_probe(struct i2c_client *client)
if (err)
return err;
+ if (of_device_is_compatible(dev->of_node, "tsd,mule")) {
+ err = devm_of_platform_populate(dev);
+ if (err)
+ return dev_err_probe(dev, err,
+ "Failed to create sub-devices\n");
+ }
+
hwmon_dev = devm_hwmon_device_register_with_info(dev, client->name,
data, &amc6821_chip_info,
amc6821_groups);
@@ -941,6 +948,9 @@ static const struct of_device_id __maybe_unused amc6821_of_match[] = {
{
.compatible = "ti,amc6821",
},
+ {
+ .compatible = "tsd,mule",
+ },
{ }
};
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [PATCH v8 4/8] hwmon: (amc6821) add support for tsd,mule
2024-09-06 15:54 ` [PATCH v8 4/8] hwmon: (amc6821) add support for tsd,mule Farouk Bouabid
@ 2024-09-29 23:53 ` Guenter Roeck
0 siblings, 0 replies; 17+ messages in thread
From: Guenter Roeck @ 2024-09-29 23:53 UTC (permalink / raw)
To: Farouk Bouabid
Cc: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Quentin Schulz, Peter Rosin, Jean Delvare, Heiko Stuebner,
linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip
On Fri, Sep 06, 2024 at 05:54:15PM +0200, Farouk Bouabid wrote:
> Theobroma Systems Mule is an MCU that emulates a set of I2C devices,
> among which is an amc6821 and other devices that are reachable through
> an I2C-mux.
>
> The devices on the mux can be selected by writing the appropriate device
> number to an I2C config register (amc6821: reg 0xff)
>
> Implement "tsd,mule" compatible to instantiate the I2C-mux platform device
> when probing the amc6821.
>
> Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
Applied to hwmon-next.
Thanks,
Guenter
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v8 5/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3588-jaguar
2024-09-06 15:54 [PATCH v8 0/8] Add tsd,mule-i2c-mux support Farouk Bouabid
` (3 preceding siblings ...)
2024-09-06 15:54 ` [PATCH v8 4/8] hwmon: (amc6821) add support for tsd,mule Farouk Bouabid
@ 2024-09-06 15:54 ` Farouk Bouabid
2024-09-06 15:54 ` [PATCH v8 6/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3399-puma Farouk Bouabid
` (4 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Farouk Bouabid @ 2024-09-06 15:54 UTC (permalink / raw)
To: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Farouk Bouabid, Quentin Schulz, Peter Rosin, Jean Delvare,
Guenter Roeck, Heiko Stuebner
Cc: linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip
Add the tsd,mule-i2c-mux alongside with the amc6821 (tsd,mule) and isl1208
as a default device on the mux.
Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
---
Notes:
Merge after patches 1,2,3,4
arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
index 31d2f8994f85..56f87a603581 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
@@ -32,6 +32,7 @@ button-bios-disable {
aliases {
ethernet0 = &gmac0;
+ i2c10 = &i2c10;
mmc0 = &sdhci;
mmc1 = &sdmmc;
rtc0 = &rtc_twi;
@@ -276,8 +277,25 @@ &i2c0 {
status = "okay";
fan@18 {
- compatible = "ti,amc6821";
+ compatible = "tsd,mule", "ti,amc6821";
reg = <0x18>;
+
+ i2c-mux {
+ compatible = "tsd,mule-i2c-mux";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c10: i2c@0 {
+ reg = <0x0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ rtc_twi: rtc@6f {
+ compatible = "isil,isl1208";
+ reg = <0x6f>;
+ };
+ };
+ };
};
vdd_npu_s0: regulator@42 {
@@ -313,11 +331,6 @@ regulator-state-mem {
regulator-off-in-suspend;
};
};
-
- rtc_twi: rtc@6f {
- compatible = "isil,isl1208";
- reg = <0x6f>;
- };
};
&i2c1 {
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH v8 6/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3399-puma
2024-09-06 15:54 [PATCH v8 0/8] Add tsd,mule-i2c-mux support Farouk Bouabid
` (4 preceding siblings ...)
2024-09-06 15:54 ` [PATCH v8 5/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3588-jaguar Farouk Bouabid
@ 2024-09-06 15:54 ` Farouk Bouabid
2024-09-06 15:54 ` [PATCH v8 7/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3588-tiger Farouk Bouabid
` (3 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Farouk Bouabid @ 2024-09-06 15:54 UTC (permalink / raw)
To: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Farouk Bouabid, Quentin Schulz, Peter Rosin, Jean Delvare,
Guenter Roeck, Heiko Stuebner
Cc: linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip
Add the tsd,mule-i2c-mux alongside with the amc6821 (tsd,mule) and isl1208
as a default device on the mux.
Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
---
Notes:
Merge after patches 1,2,3,4
arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
index ccbe3a7a1d2c..72a0bca57385 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
@@ -10,6 +10,7 @@
/ {
aliases {
ethernet0 = &gmac;
+ i2c10 = &i2c10;
mmc0 = &sdhci;
};
@@ -378,14 +379,25 @@ &i2c7 {
clock-frequency = <400000>;
fan: fan@18 {
- compatible = "ti,amc6821";
+ compatible = "tsd,mule", "ti,amc6821";
reg = <0x18>;
- #cooling-cells = <2>;
- };
- rtc_twi: rtc@6f {
- compatible = "isil,isl1208";
- reg = <0x6f>;
+ i2c-mux {
+ compatible = "tsd,mule-i2c-mux";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c10: i2c@0 {
+ reg = <0x0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ rtc_twi: rtc@6f {
+ compatible = "isil,isl1208";
+ reg = <0x6f>;
+ };
+ };
+ };
};
};
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH v8 7/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3588-tiger
2024-09-06 15:54 [PATCH v8 0/8] Add tsd,mule-i2c-mux support Farouk Bouabid
` (5 preceding siblings ...)
2024-09-06 15:54 ` [PATCH v8 6/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3399-puma Farouk Bouabid
@ 2024-09-06 15:54 ` Farouk Bouabid
2024-09-06 15:54 ` [PATCH v8 8/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on px30-ringneck Farouk Bouabid
` (2 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Farouk Bouabid @ 2024-09-06 15:54 UTC (permalink / raw)
To: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Farouk Bouabid, Quentin Schulz, Peter Rosin, Jean Delvare,
Guenter Roeck, Heiko Stuebner
Cc: linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip
Add the tsd,mule-i2c-mux alongside with the amc6821 (tsd,mule) and isl1208
as a default device on the mux.
Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
---
Notes:
Merge after patches 1,2,3,4
arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
index 615094bb8ba3..a02f1178c60c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
@@ -12,6 +12,7 @@ / {
compatible = "tsd,rk3588-tiger", "rockchip,rk3588";
aliases {
+ i2c10 = &i2c10;
mmc0 = &sdhci;
rtc0 = &rtc_twi;
};
@@ -224,13 +225,25 @@ &i2c6 {
status = "okay";
fan@18 {
- compatible = "ti,amc6821";
+ compatible = "tsd,mule", "ti,amc6821";
reg = <0x18>;
- };
- rtc_twi: rtc@6f {
- compatible = "isil,isl1208";
- reg = <0x6f>;
+ i2c-mux {
+ compatible = "tsd,mule-i2c-mux";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c10: i2c@0 {
+ reg = <0x0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ rtc_twi: rtc@6f {
+ compatible = "isil,isl1208";
+ reg = <0x6f>;
+ };
+ };
+ };
};
};
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* [PATCH v8 8/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on px30-ringneck
2024-09-06 15:54 [PATCH v8 0/8] Add tsd,mule-i2c-mux support Farouk Bouabid
` (6 preceding siblings ...)
2024-09-06 15:54 ` [PATCH v8 7/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3588-tiger Farouk Bouabid
@ 2024-09-06 15:54 ` Farouk Bouabid
2024-09-07 8:34 ` [PATCH v8 0/8] Add tsd,mule-i2c-mux support Andi Shyti
2024-09-30 10:55 ` (subset) " Heiko Stuebner
9 siblings, 0 replies; 17+ messages in thread
From: Farouk Bouabid @ 2024-09-06 15:54 UTC (permalink / raw)
To: Andi Shyti, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Farouk Bouabid, Quentin Schulz, Peter Rosin, Jean Delvare,
Guenter Roeck, Heiko Stuebner
Cc: linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip
Add the tsd,mule-i2c-mux alongside with the amc6821 (tsd,mule) and isl1208
as a default device on the mux.
Signed-off-by: Farouk Bouabid <farouk.bouabid@cherry.de>
---
Notes:
Merge after patches 1,2,3,4
arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi b/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
index bb1aea82e666..a683ed3e2fce 100644
--- a/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
@@ -9,6 +9,7 @@
/ {
aliases {
+ i2c10 = &i2c10;
mmc0 = &emmc;
mmc1 = &sdio;
rtc0 = &rtc_twi;
@@ -292,14 +293,25 @@ &i2c1 {
clock-frequency = <400000>;
fan: fan@18 {
- compatible = "ti,amc6821";
+ compatible = "tsd,mule", "ti,amc6821";
reg = <0x18>;
- #cooling-cells = <2>;
- };
- rtc_twi: rtc@6f {
- compatible = "isil,isl1208";
- reg = <0x6f>;
+ i2c-mux {
+ compatible = "tsd,mule-i2c-mux";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c10: i2c@0 {
+ reg = <0x0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ rtc_twi: rtc@6f {
+ compatible = "isil,isl1208";
+ reg = <0x6f>;
+ };
+ };
+ };
};
};
--
2.34.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [PATCH v8 0/8] Add tsd,mule-i2c-mux support
2024-09-06 15:54 [PATCH v8 0/8] Add tsd,mule-i2c-mux support Farouk Bouabid
` (7 preceding siblings ...)
2024-09-06 15:54 ` [PATCH v8 8/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on px30-ringneck Farouk Bouabid
@ 2024-09-07 8:34 ` Andi Shyti
2024-09-30 10:55 ` (subset) " Heiko Stuebner
9 siblings, 0 replies; 17+ messages in thread
From: Andi Shyti @ 2024-09-07 8:34 UTC (permalink / raw)
To: Farouk Bouabid
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Quentin Schulz,
Peter Rosin, Jean Delvare, Guenter Roeck, Heiko Stuebner,
linux-i2c, devicetree, linux-kernel, linux-hwmon,
linux-arm-kernel, linux-rockchip, Wolfram Sang
Hi Farouk,
> Farouk Bouabid (8):
> dt-bindings: i2c: add support for tsd,mule-i2c-mux
> i2c: muxes: add support for tsd,mule-i2c multiplexer
Patch 1 and 2 merged to i2c/i2c-host.
Thanks for following up on the reviews.
Andi
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: (subset) [PATCH v8 0/8] Add tsd,mule-i2c-mux support
2024-09-06 15:54 [PATCH v8 0/8] Add tsd,mule-i2c-mux support Farouk Bouabid
` (8 preceding siblings ...)
2024-09-07 8:34 ` [PATCH v8 0/8] Add tsd,mule-i2c-mux support Andi Shyti
@ 2024-09-30 10:55 ` Heiko Stuebner
9 siblings, 0 replies; 17+ messages in thread
From: Heiko Stuebner @ 2024-09-30 10:55 UTC (permalink / raw)
To: Krzysztof Kozlowski, Rob Herring, Quentin Schulz, Andi Shyti,
Guenter Roeck, Jean Delvare, Peter Rosin, Farouk Bouabid,
Conor Dooley
Cc: Heiko Stuebner, linux-arm-kernel, linux-i2c, linux-kernel,
linux-rockchip, linux-hwmon, Wolfram Sang, devicetree
On Fri, 06 Sep 2024 17:54:11 +0200, Farouk Bouabid wrote:
> Theobroma Systems Mule is an MCU that emulates a set of I2C devices which
> are reachable through an I2C-mux.
>
> The devices on the mux can be selected by writing the appropriate
> device number to an I2C config register (0xff) that is not used by
> amc6821 logic. This required us to add a new compatible to the amc6821
> driver, from which, the new platform device "tsd,mule-i2c-mux" is probed.
>
> [...]
Applied, thanks!
[5/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3588-jaguar
commit: 08866412e325feb87ad70a6b19ff0d165f59b401
[6/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3399-puma
commit: 84a4e9bf4c1ebe5e71baa5a94b13e168f35e85f5
[7/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on rk3588-tiger
commit: 21b2e2365f1462d3dc8fddfd0703c2f675d55381
[8/8] arm64: dts: rockchip: add tsd,mule-i2c-mux on px30-ringneck
commit: 157707e00085083079cdc9f5014ac31cc3319128
Best regards,
--
Heiko Stuebner <heiko@sntech.de>
^ permalink raw reply [flat|nested] 17+ messages in thread