{"id":2219192,"url":"http://patchwork.ozlabs.org/api/1.2/covers/2219192/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-i2c/cover/20260402-add-mcu-fan-khadas-vim4-v1-0-2b12eb4ac7b0@aliel.fr/","project":{"id":35,"url":"http://patchwork.ozlabs.org/api/1.2/projects/35/?format=json","name":"Linux I2C development","link_name":"linux-i2c","list_id":"linux-i2c.vger.kernel.org","list_email":"linux-i2c@vger.kernel.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260402-add-mcu-fan-khadas-vim4-v1-0-2b12eb4ac7b0@aliel.fr>","list_archive_url":null,"date":"2026-04-02T14:27:00","name":"[0/8] Add VIM4 MCU/FAN support","submitter":{"id":93040,"url":"http://patchwork.ozlabs.org/api/1.2/people/93040/?format=json","name":"Ronald Claveau","email":"linux-kernel-dev@aliel.fr"},"mbox":"http://patchwork.ozlabs.org/project/linux-i2c/cover/20260402-add-mcu-fan-khadas-vim4-v1-0-2b12eb4ac7b0@aliel.fr/mbox/","series":[{"id":498492,"url":"http://patchwork.ozlabs.org/api/1.2/series/498492/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-i2c/list/?series=498492","date":"2026-04-02T14:27:02","name":"Add VIM4 MCU/FAN support","version":1,"mbox":"http://patchwork.ozlabs.org/series/498492/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2219192/comments/","headers":{"Return-Path":"\n <linux-i2c+bounces-16935-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-i2c@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n secure) header.d=aliel.fr header.i=@aliel.fr header.a=rsa-sha256\n header.s=courrier-s1 header.b=hv/0fkok;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-i2c+bounces-16935-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=aliel.fr header.i=@aliel.fr\n header.b=\"hv/0fkok\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=65.21.61.41","smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=aliel.fr","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=aliel.fr"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fmkqs48K1z1yGH\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 03 Apr 2026 01:33:45 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 5EBAF30BDE2A\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  2 Apr 2026 14:27:58 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 0FDC23EE1E3;\n\tThu,  2 Apr 2026 14:27:44 +0000 (UTC)","from courrier.aliel.fr (courrier.aliel.fr [65.21.61.41])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 04CA72E0B58;\n\tThu,  2 Apr 2026 14:27:39 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775140063; cv=none;\n b=Scrv+u0dFFd7umcSqOX3F4vMSJsS7uYg5WVS5AnmPpeXs/jkBe9m8rUtdUR7pmo+IIIT/KbqENqJ6STUEhRPoKfMZ4D0MpMZGtW3vN0I9U2CZbcjTrKpnyanQ7LswWM9CzeHdyhBCv/Tc8bXe0JztBFQJYUZC4jhgskoB0m2wB4=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775140063; c=relaxed/simple;\n\tbh=jtFDzNTESkvMwz+pOZUUTieD6Qiq+MAcYIEdMuIWcKY=;\n\th=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc;\n b=R57aZdJw1C6AHRcf3J0uIqXWvL5uSPxmQCLTzMHuP5ntyxxldz8pF2266Z4nEWjeOkFo6006YXcgeQI3r0w97g7b3hEKDlJvXHgwwDBJup4bxoXSBnVN5C1ojzNEmcSiV/1zYC2t3EGb/oRjoYUBjQhLym8KjVaQ9LKO4Nf0QAc=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=aliel.fr;\n spf=pass smtp.mailfrom=aliel.fr;\n dkim=pass (1024-bit key) header.d=aliel.fr header.i=@aliel.fr\n header.b=hv/0fkok; arc=none smtp.client-ip=65.21.61.41","From":"Ronald Claveau <linux-kernel-dev@aliel.fr>","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=aliel.fr;\n\ts=courrier-s1; t=1775140052;\n\tbh=jtFDzNTESkvMwz+pOZUUTieD6Qiq+MAcYIEdMuIWcKY=;\n\th=From:Subject:Date:To:Cc;\n\tb=hv/0fkokS0N5Iq7GrMrzENCE9ejCYujOWJ/4QJLab+j5/+2KfG8BgMH+3iF8zZqIo\n\t EoacrE/qQYxgDQGoe9rK6iQdVx6W0/8QacsR5RYrgbNq1eRhqklCnzGy+wM6Wtv2fE\n\t dZoZfEMrimONiKz1nyXJ1zUUMosNTjJ8qwarG74k=","Subject":"[PATCH 0/8] Add VIM4 MCU/FAN support","Date":"Thu, 02 Apr 2026 16:27:00 +0200","Message-Id":"<20260402-add-mcu-fan-khadas-vim4-v1-0-2b12eb4ac7b0@aliel.fr>","Precedence":"bulk","X-Mailing-List":"linux-i2c@vger.kernel.org","List-Id":"<linux-i2c.vger.kernel.org>","List-Subscribe":"<mailto:linux-i2c+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-i2c+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"8bit","X-B4-Tracking":"v=1; b=H4sIAAAAAAAC/22RzW7bMBCEX8XQuWvwn6JQFH2PIodd7jJmI8muJ\n Bspgrx7GcWHGu1xlpj5uLNv3SpLlbUbDm/dIre61vPchP5y6PIJ52eByk13RpmgnDKAzDDlKxS\n c4eWEjCvc6uQAs84k3tucqGvuyyKlvu7JP54+9SK/rg2wfQ47wlUgn6epbsNhltcNdog18cM/y\n brijh8OX+8PQSUTnD9q5ZvQoOFnxfl4un7HaTw/13xscd92Om75tHuDR88xlMLUfmYRydreEwW\n fSZmolMtWSZRHl7HRhNQr3ZvAbJFjIR2EHEcO7ATJK2di/+jyURKpHlPoUbh4Z9myYh9y0Rkdk\n 1FkUIfu73Yb7L7d3i3lydnozUczLbnSKCBta3QlpmhxuJlHKEWrihdnSDT3iXWyEiy2TO+Sz0z\n F5MiR/gu1CtqVoM43HCvDZTlfZNl+A7VTOk7WlqjvxH+9eve26mGLMF/HERZZpZ2RguqFSmJ0w\n 013T+/vfwBtlS6VaAIAAA==","X-Change-ID":"20260402-add-mcu-fan-khadas-vim4-ac1cbe553c9b","To":"Neil Armstrong <neil.armstrong@linaro.org>, Lee Jones <lee@kernel.org>,\n Rob Herring <robh@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>,\n Conor Dooley <conor+dt@kernel.org>, Andi Shyti <andi.shyti@kernel.org>,\n Kevin Hilman <khilman@baylibre.com>, Jerome Brunet <jbrunet@baylibre.com>,\n Martin Blumenstingl <martin.blumenstingl@googlemail.com>,\n Beniamino Galvani <b.galvani@gmail.com>,\n \"Rafael J. Wysocki\" <rafael@kernel.org>,\n Daniel Lezcano <daniel.lezcano@kernel.org>, Zhang Rui <rui.zhang@intel.com>,\n Lukasz Luba <lukasz.luba@arm.com>, Liam Girdwood <lgirdwood@gmail.com>,\n Mark Brown <broonie@kernel.org>","Cc":"linux-amlogic@lists.infradead.org, devicetree@vger.kernel.org,\n linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org,\n linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org,\n Ronald Claveau <linux-kernel-dev@aliel.fr>","X-Mailer":"b4 0.14.3","X-Developer-Signature":"v=1; a=openssh-sha256; t=1775140049; l=3865;\n i=linux-kernel-dev@aliel.fr; s=id_ed25519; h=from:subject:message-id;\n bh=jtFDzNTESkvMwz+pOZUUTieD6Qiq+MAcYIEdMuIWcKY=;\n b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgMGec55oxeeisqykQiUedekMYyOnR9\n BG9E/7rDWyqdNoAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA\n QHhQfM84O7Qdhtmr/i231zPtmXx+1HTy2L1MbrbpFpoeFBPywqt1V/u8ZJWsYDro/fWIbYmgZUV\n /QFyEKCBPUwk=","X-Developer-Key":"i=linux-kernel-dev@aliel.fr; a=openssh;\n fpr=SHA256:kch4osYZ6A1BrPps5AUs6KnfdE2wm4ocMtyTc8TmZMs"},"content":"The Khadas VIM4 board features a different MCU variant compared to\nprevious VIM boards.\nWhile it shares the same I2C-based communication model,\nit differs in some ways:\n\n  - A distinct register map with its own volatile/writeable register set\n  - A fan control with 0–100 levels instead of the 0–3 levels previously\n  - A fan power supply gated through a regulator\n\nThis series adds support for this new variant by:\n\n  1. Refactoring the khadas-mcu MFD driver to use per-variant data\n     structures (regmap config, cells, fan platform data),\n     and adding the khadas,vim4-mcu compatible string.\n\n  2. Extending the fan thermal driver to retrieve the fan register\n     and maximum level from platform_data,\n     and to optionally manage a power regulator for the fan supply.\n\n  3. Adding the corresponding DTS node for the VIM4, wiring the MCU to\n     the I2C AO_A bus and exposing it as a thermal cooling device.\n\nSigned-off-by: Ronald Claveau <linux-kernel-dev@aliel.fr>\n---\nRonald Claveau (8):\n      dt-bindings: mfd: khadas: Add new compatible for Khadas VIM4 MCU\n      dt-bindings: i2c: amlogic: Add compatible for T7 SOC\n      mfd: khadas-mcu: Add per-variant configuration infrastructure and VIM4 support\n      mfd: khadas-mcu: Add support for VIM4 MCU variant\n      thermal: khadas-mcu-fan: Add fan config from platform data Add regulator support\n      arm64: dts: amlogic: t7: Add i2c pinctrl node\n      arm64: dts: amlogic: t7: Add i2c controller node\n      arm64: dts: amlogic: t7: khadas-vim4: Add i2c MCU fan node\n\n .../bindings/i2c/amlogic,meson6-i2c.yaml           |  13 ++-\n .../devicetree/bindings/mfd/khadas,mcu.yaml        |   5 +\n .../dts/amlogic/amlogic-t7-a311d2-khadas-vim4.dts  |  13 +++\n arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi        |  20 ++++\n drivers/mfd/khadas-mcu.c                           | 106 ++++++++++++++++++---\n drivers/thermal/khadas_mcu_fan.c                   |  43 +++++++--\n include/linux/mfd/khadas-mcu.h                     |  39 +++++++-\n 7 files changed, 216 insertions(+), 23 deletions(-)\n---\nbase-commit: f7b64ed948718290209074a50bb0df17e5944873\nchange-id: 20260402-add-mcu-fan-khadas-vim4-ac1cbe553c9b\nprerequisite-message-id: <20260326092645.1053261-1-jian.hu@amlogic.com>\nprerequisite-patch-id: f03a086b4137158412b2d47b3de793b858de8dde\nprerequisite-patch-id: 123970c9b29c2090440f2fd71c85d3c6fd8e36de\nprerequisite-patch-id: 3e2e56b0926ba327b520f935df4ced5089bbe503\nprerequisite-patch-id: 65a5d76ffdbc9b3aab3385bb65cb027004c30e7e\nprerequisite-patch-id: 237269801826dd3ad7fb16eb4d7d6d4eab504278\nprerequisite-patch-id: 57e9b08a968aedf543d3d0d56cf1ca4db20b2a16\nprerequisite-change-id: 20260326-add-bcm43752-compatible-e264a4f7973a:v2\nprerequisite-patch-id: cd98b74fa56af72af2553f391c400981d83cd4f4\nprerequisite-patch-id: b730f5e42be1d89d193e63a0265495cdbf2c7d7b\nprerequisite-change-id: 20260330-fix-invalid-property-bbe54d933f71:v2\nprerequisite-patch-id: 8d675e7a239985c762843515b241f0a2f45f9c92\nprerequisite-change-id: 20260331-fix-aml-t7-null-reset-2b608ebf9da4:v1\nprerequisite-patch-id: 5b5de77af11747ce964404fb827d2ee2bff47ea5\nprerequisite-patch-id: 1e37fc75fed1e533adee0f3e7e6ead1f8ff3c55c\nprerequisite-patch-id: 65a5d76ffdbc9b3aab3385bb65cb027004c30e7e\nprerequisite-patch-id: 2daf583fb5e7449a02bd217d8aca330171b598aa\nprerequisite-patch-id: 237269801826dd3ad7fb16eb4d7d6d4eab504278\nprerequisite-patch-id: d1ddf9b7710e91f8062de83bd7ba55afb2c4c112\nprerequisite-patch-id: 57e9b08a968aedf543d3d0d56cf1ca4db20b2a16\nprerequisite-patch-id: cd98b74fa56af72af2553f391c400981d83cd4f4\nprerequisite-patch-id: b730f5e42be1d89d193e63a0265495cdbf2c7d7b\nprerequisite-patch-id: 9debd88fa60febed9cd7208f86603b4c2d270520\nprerequisite-patch-id: 314ef9ff0c4d1d15dab1dea9d92aa065f1eac3e9\n\nBest regards,"}