{"id":2225217,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2225217/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pwm/patch/20260420-rk3576-pwm-v4-5-421738c7bf28@collabora.com/","project":{"id":38,"url":"http://patchwork.ozlabs.org/api/1.1/projects/38/?format=json","name":"Linux PWM development","link_name":"linux-pwm","list_id":"linux-pwm.vger.kernel.org","list_email":"linux-pwm@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260420-rk3576-pwm-v4-5-421738c7bf28@collabora.com>","date":"2026-04-20T13:35:23","name":"[v4,5/5] arm64: dts: rockchip: Add cooling fan to ROCK 4D","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"45f4094731118f8be4bff80ff3bcf6c88fe9de63","submitter":{"id":90188,"url":"http://patchwork.ozlabs.org/api/1.1/people/90188/?format=json","name":"Nicolas Frattaroli","email":"nicolas.frattaroli@collabora.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-pwm/patch/20260420-rk3576-pwm-v4-5-421738c7bf28@collabora.com/mbox/","series":[{"id":500618,"url":"http://patchwork.ozlabs.org/api/1.1/series/500618/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pwm/list/?series=500618","date":"2026-04-20T13:35:22","name":"Add Rockchip RK3576 PWM Support Through MFPWM","version":4,"mbox":"http://patchwork.ozlabs.org/series/500618/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2225217/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2225217/checks/","tags":{},"headers":{"Return-Path":"\n <linux-pwm+bounces-8648-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pwm@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=collabora.com header.i=nicolas.frattaroli@collabora.com\n header.a=rsa-sha256 header.s=zohomail header.b=InYFRTRA;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-pwm+bounces-8648-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=collabora.com\n header.i=nicolas.frattaroli@collabora.com header.b=\"InYFRTRA\"","smtp.subspace.kernel.org;\n arc=pass smtp.client-ip=136.143.188.112","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=collabora.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=collabora.com"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fzrXN13WHz1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 02:28:52 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id A731F37FC9FB\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 14:42:04 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 66B2C3D332B;\n\tMon, 20 Apr 2026 13:36:48 +0000 (UTC)","from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com\n [136.143.188.112])\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 06E1B3D330A;\n\tMon, 20 Apr 2026 13:36:46 +0000 (UTC)","by mx.zohomail.com with SMTPS id 1776692179968971.7932449042802;\n\tMon, 20 Apr 2026 06:36:19 -0700 (PDT)"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776692208; cv=pass;\n b=n/OdDaYtMtjjV2co5jvIL41mp66KeR03sMCpY0CBTI35QyN4UyVima+perTHk/0d9wmoc0b4H84PMIl4GYKdHeQR2MWw75KOqbEP0tkB+BrZ/YuuzWBMhBuSiFDBImHE7a08qEU90r2L7IHIekjkp7+SE6cA4qz4LrHbQZoCHnk=","i=1; a=rsa-sha256; t=1776692180; cv=none;\n\td=zohomail.com; s=zohoarc;\n\tb=dMCjGhbR9aL0m2Hr5/6pq/LsUNproLKCvMtyhAwwTS9GLzUq95T1PSET4xJ4kxD5ZvPYOcYh4Nfjloqh0pXFmASaKDT/291MPvRMbstwYJLQ0Tbner3Sgym8eTNCjiJY2u5xZZm1o8tQWQyMQ8rsV44l3fR0wl6eUTjpUUx4L2A="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776692208; c=relaxed/simple;\n\tbh=7nxH65M+nVV6F8JGySK3S8PzTWwDQbriCEZGH0kEsio=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=cLsQY3S71hamvv5a5bYj4uQwsH6Moz1LdVouwWuWBtUykb+rQU/LQFtyGwEJMIYAfcHx5mUXusDLyes69exM2zrizSDtBx/6dRjV6DZiCPha8flS7DNKStTS27buCqtO/AhT/MjskVbPjcWE8HjpV4lBKB8ZEHsOiMSqA3QxdAY=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;\n s=zohoarc;\n\tt=1776692180;\n h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To;\n\tbh=r4cDyWh6L3sYfjSwYgHFLsyc+ptcJlt/BspUsjzlPPc=;\n\tb=Xj98ACgrxiJTuzXSkE89Nhrie3e4lQLMTlmkUDaDyPmMG4Cc6LOXIYzk5HrDZjx5kekgD4vW4z/TaRIFBi6IP8rUeEdnCZBppz6W8Z0YZBpjTrldwkwtmvnjtAzzqj1qfLCUiJGF21+VXPLUv6D4v8BIFRIc6BClvcW5AFwSQPk="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=collabora.com;\n spf=pass smtp.mailfrom=collabora.com;\n dkim=pass (1024-bit key) header.d=collabora.com\n header.i=nicolas.frattaroli@collabora.com header.b=InYFRTRA;\n arc=pass smtp.client-ip=136.143.188.112","i=1; mx.zohomail.com;\n\tdkim=pass  header.i=collabora.com;\n\tspf=pass  smtp.mailfrom=nicolas.frattaroli@collabora.com;\n\tdmarc=pass header.from=<nicolas.frattaroli@collabora.com>"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1776692180;\n\ts=zohomail; d=collabora.com; i=nicolas.frattaroli@collabora.com;\n\th=From:From:Date:Date:Subject:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Message-Id:References:In-Reply-To:To:To:Cc:Cc:Reply-To;\n\tbh=r4cDyWh6L3sYfjSwYgHFLsyc+ptcJlt/BspUsjzlPPc=;\n\tb=InYFRTRABZr0jk73RLjturvnnXWdAaoxZkOhSjrQ97nxw5qCDCRJYBP9gmYISZvN\n\t1yl4QK0Za9yhmcsC75d/Sr1BnJR8ipXjMfyFZCOhh3motVIc+t8Ox2dBcDHEVptmG09\n\tslN7H24isRna1G+Q4IUqNca4Q1mm4eO944bbMp6g=","From":"Nicolas Frattaroli <nicolas.frattaroli@collabora.com>","Date":"Mon, 20 Apr 2026 15:35:23 +0200","Subject":"[PATCH v4 5/5] arm64: dts: rockchip: Add cooling fan to ROCK 4D","Precedence":"bulk","X-Mailing-List":"linux-pwm@vger.kernel.org","List-Id":"<linux-pwm.vger.kernel.org>","List-Subscribe":"<mailto:linux-pwm+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pwm+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Message-Id":"<20260420-rk3576-pwm-v4-5-421738c7bf28@collabora.com>","References":"<20260420-rk3576-pwm-v4-0-421738c7bf28@collabora.com>","In-Reply-To":"<20260420-rk3576-pwm-v4-0-421738c7bf28@collabora.com>","To":"=?utf-8?q?Uwe_Kleine-K=C3=B6nig?= <ukleinek@kernel.org>,\n  Rob Herring <robh@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>,\n  Conor Dooley <conor+dt@kernel.org>, Heiko Stuebner <heiko@sntech.de>,\n  Lee Jones <lee@kernel.org>, William Breathitt Gray <wbg@kernel.org>,\n  Damon Ding <damon.ding@rock-chips.com>","Cc":"Nicolas Frattaroli <nicolas.frattaroli@collabora.com>,\n kernel@collabora.com, Jonas Karlman <jonas@kwiboo.se>,\n Alexey Charkov <alchark@gmail.com>, linux-rockchip@lists.infradead.org,\n linux-pwm@vger.kernel.org, devicetree@vger.kernel.org,\n linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org,\n linux-iio@vger.kernel.org","X-Mailer":"b4 0.15.2"},"content":"The ROCK 4D has a header to connect a small cooling fan. This fan is\ndriven by one of the SoC's PWM outputs driving a transistor, that in\nturn controls the fan's power.\n\nWith the introduction of PWM support, add a description of this cooling\nfan, as well as the additional trips and cooling-maps for it.\n\nSigned-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>\n---\n arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts | 50 +++++++++++++++++++++++++\n 1 file changed, 50 insertions(+)","diff":"diff --git a/arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts b/arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts\nindex 899a84b1fbf9..2d5ede010ad0 100644\n--- a/arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts\n+++ b/arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts\n@@ -45,6 +45,14 @@ rfkill {\n \t\tshutdown-gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_HIGH>;\n \t};\n \n+\tfan: pwm-fan {\n+\t\tcompatible = \"pwm-fan\";\n+\t\tcooling-levels = <0 180 205 230 255>;\n+\t\tfan-supply = <&vcc_5v0_sys>;\n+\t\tpwms = <&pwm2_8ch_5 0 60000 0>;\n+\t\t#cooling-cells = <2>;\n+\t};\n+\n \tleds: leds {\n \t\tcompatible = \"gpio-leds\";\n \t\tpinctrl-names = \"default\";\n@@ -711,6 +719,36 @@ rgmii_phy0: ethernet-phy@1 {\n \t};\n };\n \n+&package_thermal {\n+\tpolling-delay = <100>;\n+\n+\ttrips {\n+\t\tpackage_fan0: package-fan0 {\n+\t\t\ttemperature = <50000>;\n+\t\t\thysteresis = <2000>;\n+\t\t\ttype = \"active\";\n+\t\t};\n+\n+\t\tpackage_fan1: package-fan1 {\n+\t\t\ttemperature = <60000>;\n+\t\t\thysteresis = <2000>;\n+\t\t\ttype = \"active\";\n+\t\t};\n+\t};\n+\n+\tcooling-maps {\n+\t\tmap1 {\n+\t\t\ttrip = <&package_fan0>;\n+\t\t\tcooling-device = <&fan THERMAL_NO_LIMIT 1>;\n+\t\t};\n+\n+\t\tmap2 {\n+\t\t\ttrip = <&package_fan1>;\n+\t\t\tcooling-device = <&fan 2 THERMAL_NO_LIMIT>;\n+\t\t};\n+\t};\n+};\n+\n &pcie0 {\n \tpinctrl-names = \"default\";\n \tpinctrl-0 = <&pcie_reset>;\n@@ -720,6 +758,13 @@ &pcie0 {\n };\n \n &pinctrl {\n+\tfan {\n+\t\tfan_pwm: fan-pwm {\n+\t\t\trockchip,pins =\n+\t\t\t\t<4 RK_PC5 14 &pcfg_pull_down_drv_level_5>;\n+\t\t};\n+\t};\n+\n \thym8563 {\n \t\thym8563_int: hym8563-int {\n \t\t\trockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;\n@@ -770,6 +815,11 @@ wifi_en_h: wifi-en-h {\n \t};\n };\n \n+&pwm2_8ch_5 {\n+\tpinctrl-0 = <&fan_pwm>;\n+\tstatus = \"okay\";\n+};\n+\n &sai6 {\n \tstatus = \"okay\";\n };\n","prefixes":["v4","5/5"]}