From patchwork Mon Jun 17 18:28:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Charkov X-Patchwork-Id: 13701236 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 55AA3C2BA1A for ; Mon, 17 Jun 2024 18:29:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=V2D0sfXo14WBHkyJgg6lemvLW7XlmDwtnd9Z0WSUCfQ=; b=4NTAYAJPMAjS74 ozQbcBOSuuSFIhBvoPbmQP5RIBv9chHhc4kWMLHUxCO4Mpzu42uWzbnwbYUOKdEfqnsg95rttD+nq N/gH2xDXoPJnKpK9p1XK+ZrohLxSaBPcyaYmjrbeVu9ccR559uCYwsFs5JCateCrWBOBnb5MPeLFC hSZSCO17fN4WKyfAJabIZ6ZyOk44ZNuBJqDGNDSDLQGZhrSkS/DmoDXHuloJUiPvWRzTCmYfeNG3r YgYueiVxs7I9y4rF7Lkb5ajYRQjzBUf61FPBml5uASPv9OAkpfF5NDM3+easN5rsWC/XTfxn4hpSj hiLe/ZbIyREjoANdXqYg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH6q-0000000CAwJ-22Na; Mon, 17 Jun 2024 18:29:40 +0000 Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH6f-0000000CAsA-2c6N; Mon, 17 Jun 2024 18:29:34 +0000 Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-57c714a1e24so5259908a12.2; Mon, 17 Jun 2024 11:29:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718648968; x=1719253768; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=2X2WIsak2atiEiHDdvF6RWJsXkV1zq+NhgYFvPOjT68=; b=I4F9oO1BEfh4YnKL/Vk2q1MQ854NPXXxXYUuh81z7qzM6jv4Hj9nxlHV6Ua8i40AcN RCUIjYQ9uYhvfCXAh2vEKHGtJhvftE5bvaLZ+BtVqTyIlD4ozFtqbBWTk6CL82imJMxl HX08KRu/r2bvil5xOeZnR6Qafjth/Q6VIzQO5QSAsJp5jEX4udS+62BtvVO8WrXBD8zi 6WdIWU9nMB9+dLfDI66efScT12onuCbx1mxXT7yTYGqH96oEYAgcMwxgCrIrkmB5mkaZ ezfwUIgoiEMNKGZCz1c0ff9NrDxUzPM9+iBYBNoMIZvLC1kfvhB9okWznZqc/SzPCIel 4kWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718648968; x=1719253768; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2X2WIsak2atiEiHDdvF6RWJsXkV1zq+NhgYFvPOjT68=; b=id+sXu8o4bQ0+T8d84WFB3q8FoWQbH+d+eoq5ybWNF/jT24l/Jid1Xa1gqwqpcrbN+ oeDLROAEu00oljUJ6qx791iHVY28re8HXbWyVHL/iKnlmOr46dGzP48BhAUPhenyjzx2 /LNud+ps6OZL8BH2bHltv4HrnmLbl+oO9IZZryaLNL2wtPsoSbMEpcfVfIXFIpbG3Cg5 b/0cEgtmpddmX3hJ5wtjPew46oG2EupVtvIN4K6bXFD8sh/BGoKaKxSrTlZhvCC0l7Hh kJh0QXUWwDTppTIHTDjvxL2F5UHXJv9gFPiH+lhFZWp7F9991ArrO75rlP8U6Nedx0L2 kUrQ== X-Forwarded-Encrypted: i=1; AJvYcCUQHggwFPheKCePUq9PPDSBbK5WI8DXOY2tI4csaoJih8ocj3/O2q8xJ3GkZMi57fOlzAZ0LaegGc1GDzH7pS24Oa/NSW41L0JaKFvIjOS2KuN60lpTWJzqwDq8CJZKZRlsoYwAOgp22dpSUgkeiW7/Zuu/jfU45Uo= X-Gm-Message-State: AOJu0YyTmul+VKL4/QzbCjgWHH/plWq5y3qxS7bvxiC50pwlfg9O0jrJ CiX7j19+e+QALalj/6fp36Mg5Zp2HwKz6zQ8Irm+oVZGzjpPdJVt X-Google-Smtp-Source: AGHT+IEcKf9ojnPn5YIlp3N2ikFO56e3roYuTKmZx16sk9mDhWUzy5UpZZ7PtHOykON1A5MyEIXOeQ== X-Received: by 2002:a17:906:6889:b0:a6c:8b01:3f78 with SMTP id a640c23a62f3a-a6f60cf3871mr665133566b.9.1718648967677; Mon, 17 Jun 2024 11:29:27 -0700 (PDT) Received: from latitude-fedora.lan ([2001:8f8:183b:6864::d35]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6f8a6e58bdsm115397666b.187.2024.06.17.11.29.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 11:29:27 -0700 (PDT) From: Alexey Charkov Date: Mon, 17 Jun 2024 22:28:51 +0400 Subject: [PATCH v5 1/8] arm64: dts: rockchip: add thermal zones information on RK3588 MIME-Version: 1.0 Message-Id: <20240617-rk-dts-additions-v5-1-c1f5f3267f1e@gmail.com> References: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> In-Reply-To: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: Daniel Lezcano , Dragan Simic , Viresh Kumar , Chen-Yu Tsai , Diederik de Haas , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Alexey Charkov X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1718648960; l=4812; i=alchark@gmail.com; s=20240125; h=from:subject:message-id; bh=RcpwIjmnR3ZB6lo2LEJCkEMEywnrfAp8940slGy+YX8=; b=t0aimbVHoYZS+Tv6Rzg+QZCtIdY2IvOFNcU16ePc3fJvrwMLGRHzh65G5oZ7/UWW3XGtZhs6q xzrMfFXQdCeD94mc8Moc+eLIfTzcOBvkx1I4S7yuqqK37c19baZKRg/ X-Developer-Key: i=alchark@gmail.com; a=ed25519; pk=xRO8VeD3J5jhwe0za0aHt2LDumQr8cm0Ls7Jz3YGimk= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_112929_718910_53C7B789 X-CRM114-Status: GOOD ( 12.44 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org This includes the necessary device tree data to allow thermal monitoring on RK3588(s) using the on-chip TSADC device, along with trip points for automatic thermal management. Each of the CPU clusters (one for the little cores and two for the big cores) get a passive cooling trip point at 85C, which will trigger DVFS throttling of the respective cluster upon reaching a high temperature condition. All zones also have a critical trip point at 115C, which will trigger a reset. Signed-off-by: Alexey Charkov --- arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 147 ++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi index 629049f3dc16..574359279867 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi @@ -10,6 +10,7 @@ #include #include #include +#include / { compatible = "rockchip,rk3588"; @@ -2368,6 +2369,152 @@ pwm15: pwm@febf0030 { status = "disabled"; }; + thermal_zones: thermal-zones { + /* sensor near the center of the SoC */ + package_thermal: package-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsadc 0>; + + trips { + package_crit: package-crit { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + }; + }; + + /* sensor between A76 cores 0 and 1 */ + bigcore0_thermal: bigcore0-thermal { + polling-delay-passive = <100>; + polling-delay = <0>; + thermal-sensors = <&tsadc 1>; + + trips { + bigcore0_alert: bigcore0-alert { + temperature = <85000>; + hysteresis = <2000>; + type = "passive"; + }; + bigcore0_crit: bigcore0-crit { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + }; + cooling-maps { + map0 { + trip = <&bigcore0_alert>; + cooling-device = + <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu_b1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; + }; + + /* sensor between A76 cores 2 and 3 */ + bigcore2_thermal: bigcore2-thermal { + polling-delay-passive = <100>; + polling-delay = <0>; + thermal-sensors = <&tsadc 2>; + + trips { + bigcore2_alert: bigcore2-alert { + temperature = <85000>; + hysteresis = <2000>; + type = "passive"; + }; + bigcore2_crit: bigcore2-crit { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + }; + cooling-maps { + map0 { + trip = <&bigcore2_alert>; + cooling-device = + <&cpu_b2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu_b3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; + }; + + /* sensor between the four A55 cores */ + little_core_thermal: littlecore-thermal { + polling-delay-passive = <100>; + polling-delay = <0>; + thermal-sensors = <&tsadc 3>; + + trips { + littlecore_alert: littlecore-alert { + temperature = <85000>; + hysteresis = <2000>; + type = "passive"; + }; + littlecore_crit: littlecore-crit { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + }; + cooling-maps { + map0 { + trip = <&littlecore_alert>; + cooling-device = + <&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu_l1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu_l2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu_l3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; + }; + + /* sensor near the PD_CENTER power domain */ + center_thermal: center-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsadc 4>; + + trips { + center_crit: center-crit { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + }; + }; + + gpu_thermal: gpu-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsadc 5>; + + trips { + gpu_crit: gpu-crit { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + }; + }; + + npu_thermal: npu-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsadc 6>; + + trips { + npu_crit: npu-crit { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + }; + }; + }; + tsadc: tsadc@fec00000 { compatible = "rockchip,rk3588-tsadc"; reg = <0x0 0xfec00000 0x0 0x400>; From patchwork Mon Jun 17 18:28:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Charkov X-Patchwork-Id: 13701237 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 27BB7C2BA1A for ; Mon, 17 Jun 2024 18:29:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=82RSKTu6oa6L6GiIFhtqb4aQuib2QeWiwM9REcAs1xg=; b=inhMBsIH5b17TP N+H1yeAQYCbaMgw361Y2DSGKosXmlp7I6b/YPKehvUT/teQq6HtSGa04pCUXfkHAnblDC8OClG7b1 L75RHg7rljAORptSr0j0VBIVn1XYGI8r8u1X89tt3/r2kAyGHzVNKe2vNMO/kB9H3nVO68O8WERAj RdrNqFu/gneALuQLTUD0CZ/6hCRl8AJqzGfS0IEsdWlaQsrUCaOi350+tSPgA9Ko78OEVvFNXt4wB aG5+6K5Wc3IZzzttpiF18P23df1LqzrS9uw43Fvf8s3jjpbVqgoGryZr5D32sgH28IxrQFrcu6uH4 n5cWcrQL7ex4UV6KShAw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH6x-0000000CB0j-1SwA; Mon, 17 Jun 2024 18:29:47 +0000 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH6j-0000000CAtJ-0T8Q; Mon, 17 Jun 2024 18:29:37 +0000 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-a6f21ff4e6dso636241966b.3; Mon, 17 Jun 2024 11:29:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718648971; x=1719253771; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=nVonfiq4f59IHUKUAX8AnKpc2cNQELA1mct+qJNl1Vw=; b=LT3QEQGDrHswAfGJEBSj1pLgNDZ4T3XUuMbCw+TD58he3vdRbguvuqP/XZ5ILxZJ3r bti8zNqq9g3JrD7DlwRyu7ghuvqTAngrPcFWr1FRP4ON2lJLwq58enYxs3nKJqwzF+QX 64VTtQ3+n7gdR7e4w3+YCj+nevxsw6nOURtMFTpfG1Q+NJysBfkGfwAew91daWbQcv2p aqwQdC3TlhVVvzGcY+Hjcf/BSx7yaV0YQxDVnBREqmAg1mrYr4KshBqn9cNODr1MmMfb 0OfSTiuXNbKY9rw71X6QLyjG7zryzBPrN8gSashjjxsWLAcIRhpQmHMrPOP+vizpuHIm HPWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718648971; x=1719253771; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nVonfiq4f59IHUKUAX8AnKpc2cNQELA1mct+qJNl1Vw=; b=VpJ3PRNvkNUmc/5NqU7PpbzjQmGB7Q8R6l+9FXATKMzDAVsf693suqYwPI94KNvKro 7XFfQRREAcQKvLcfDdQkRalzbpdVZ57PncrYKnZ8fk+1ZMbVJId4BOARLlN39PFO3L2Q SENdGNhtpotQQLBiNv2xA5uVgLcz5ZQeHIlyb8kfcnGFWg58GcCpKa8HGkLkyr1569oh 7iJNwZ8slCbIAd/JjXSncyXezF2Zn6L7te3kgjaqSUDFxSNHvmCsAJeLEvLpaFYTtD3g l6WV0ZjenuzLpR6ilGGmE+qaTmTxA++w2bvwcnh+y2aTTOhRacWuHpeYEacTG9SnAmRL bhyA== X-Forwarded-Encrypted: i=1; AJvYcCUzdkX2tzL4XVIN0Pv44fQ+CvKsZkIUVtOXcdttIUqi+abHcD7ymqwAReLNWt4K17+kjRg35G77WKQbo0CR8WgYYPzy1EchRR5GuEey4DPB/0v4Waf3Zalvuy3MmtBVs883cWQJFWP56vqAoJWECZw6Yxb/TtKSVgI= X-Gm-Message-State: AOJu0Yz5cpRHmyQ5Jwf/SOoZCBNPperXbT0YejmIT5l0N8mHQbiu9rUQ NH+Z9un0GwPJSxGNReaxP6fHIJNBe9f8uRu1gACDo1f7r2nSPDns X-Google-Smtp-Source: AGHT+IGvPp2igZrxUodZ9RzzYGZfSWNMZ2rzakrVZ7pVDh231IomqTQnvW9THxLEd9ZKvJIiM6mMlQ== X-Received: by 2002:a17:906:a20a:b0:a6f:27e2:812c with SMTP id a640c23a62f3a-a6f60d20ec2mr656510666b.22.1718648971388; Mon, 17 Jun 2024 11:29:31 -0700 (PDT) Received: from latitude-fedora.lan ([2001:8f8:183b:6864::d35]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6f8a6e58bdsm115397666b.187.2024.06.17.11.29.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 11:29:31 -0700 (PDT) From: Alexey Charkov Date: Mon, 17 Jun 2024 22:28:52 +0400 Subject: [PATCH v5 2/8] arm64: dts: rockchip: enable thermal management on all RK3588 boards MIME-Version: 1.0 Message-Id: <20240617-rk-dts-additions-v5-2-c1f5f3267f1e@gmail.com> References: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> In-Reply-To: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: Daniel Lezcano , Dragan Simic , Viresh Kumar , Chen-Yu Tsai , Diederik de Haas , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Alexey Charkov X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1718648960; l=4390; i=alchark@gmail.com; s=20240125; h=from:subject:message-id; bh=GLoGqcAXYJtVZt3gd8x4dkalr9Ohm0Jc46GDbBCQXL8=; b=AANNJutcxjEk0OT/3bKc+ECgHkNcB0/TnaPQghhnxpHUZnLdd/9VW8l4besJnSFB7Ck3IE/5H 8+a24TQ9dkMA4pGhjkN66HooFFAmJHXNSPYT7agM+Yma6JTmTLMlGHH X-Developer-Key: i=alchark@gmail.com; a=ed25519; pk=xRO8VeD3J5jhwe0za0aHt2LDumQr8cm0Ls7Jz3YGimk= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_112933_222335_F96A6F7D X-CRM114-Status: UNSURE ( 9.72 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org This enables the on-chip thermal monitoring sensor (TSADC) on all RK3588(s) boards that don't have it enabled yet. It provides temperature monitoring for the SoC and emergency thermal shutdowns, and is thus important to have in place before CPU DVFS is enabled, as high CPU operating performance points can overheat the chip quickly in the absence of thermal management. Signed-off-by: Alexey Charkov --- arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts | 4 ++++ arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6a-common.dtsi | 4 ++++ arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts | 4 ++++ arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts | 4 ++++ arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 4 ++++ arch/arm64/boot/dts/rockchip/rk3588-toybrick-x0.dts | 4 ++++ arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi | 4 ++++ arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts | 4 ++++ 8 files changed, 32 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts b/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts index 98c622b27647..c667704ba985 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts @@ -673,6 +673,10 @@ regulator-state-mem { }; }; +&tsadc { + status = "okay"; +}; + &u2phy0 { status = "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6a-common.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6a-common.dtsi index 709d348cf06b..03fd193be253 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6a-common.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6a-common.dtsi @@ -466,3 +466,7 @@ regulator-state-mem { }; }; }; + +&tsadc { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts index 7be2190244ba..7c3696a3ad3a 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts @@ -1131,6 +1131,10 @@ &sata0 { status = "okay"; }; +&tsadc { + status = "okay"; +}; + &u2phy0 { status = "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts b/arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts index 009566d881f3..230e630820b4 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts @@ -376,6 +376,10 @@ &sdmmc { status = "okay"; }; +&tsadc { + status = "okay"; +}; + &u2phy2 { status = "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts index 4e2bf4eaef2b..afcc38a5bed8 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts @@ -749,6 +749,10 @@ regulator-state-mem { }; }; +&tsadc { + status = "okay"; +}; + &uart2 { pinctrl-0 = <&uart2m0_xfer>; status = "okay"; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-toybrick-x0.dts b/arch/arm64/boot/dts/rockchip/rk3588-toybrick-x0.dts index 9090c5c99f2a..d0021524e7f9 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-toybrick-x0.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-toybrick-x0.dts @@ -648,6 +648,10 @@ regulator-state-mem { }; }; +&tsadc { + status = "okay"; +}; + &u2phy2 { status = "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi index 6b9206ce4a03..77bcf0f6b028 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi @@ -601,6 +601,10 @@ regulator-state-mem { }; }; +&tsadc { + status = "okay"; +}; + &uart2 { pinctrl-0 = <&uart2m0_xfer>; status = "okay"; diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts index 8e2a07612d17..c671a61d3aef 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts @@ -697,6 +697,10 @@ regulator-state-mem { }; }; +&tsadc { + status = "okay"; +}; + &u2phy0 { status = "okay"; }; From patchwork Mon Jun 17 18:28:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Charkov X-Patchwork-Id: 13701238 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E555FC27C79 for ; Mon, 17 Jun 2024 18:30:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=QEXzsrkO7tSu8dmeaWNLWgbqVPb4zDTW6W3DyJ1ZjoA=; b=IQ8Ou01eDwcHH+ Qn62VpEg+uMppWMmUr0eY/iyXugHMSpgmTdStFad6Ji65z8SSSFlksd2pAmWT1xwyc0t32E3drYkJ oR7Mk5NwcTTRM4CmmzOQJ2oTj+gbxNAnz9bQ1PTcQ1KkS32juOj04jLczy0w8Cf+/MDro+v2uyZNV 9aBnSFGxp04fz/k/Hy4pTNIB+XY5O4O98J6VBJ5nAQcdaLpm9gvcU53tAU7DKvhKXFJuG2l9RUOHz Vt4P6/ol3OmaW5X99i29UEBcnaVGos4szkSVViP7xLoN1zAwNr4N90BRwvXEESjMxGyfOnPmqW3sx tLHJv7WXDLwQD6ah+VLA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH7A-0000000CBAJ-0QVE; Mon, 17 Jun 2024 18:30:00 +0000 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH6n-0000000CAuV-1RvT; Mon, 17 Jun 2024 18:29:43 +0000 Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-a6f7720e6e8so195461866b.3; Mon, 17 Jun 2024 11:29:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718648976; x=1719253776; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=MU+B7r1roWhCC53/0w9lcVlxSyXhmtFcjHMLXN2RUmE=; b=KIixMLLvthxI3bUmQXVJdkCYO09dQKUB3SumTJ0ChHu2JzAn0R78mUln0bnN+k0ti2 NrB2nErERNEa46zNeQy3EiMUlvxmpe3phftqca4rPyps2dKECvgnjCX0COSTlS3mCFKj iM6Yix0mx3Kb+qWzMcMzcXK0ZEUD7gQI0j/OIFrfwBKrUfZESKEGh9Yj0dpdv4P4KCGe QNj7lXOszWTCRQ2GJksHaCIncl+7qwNbLgqV3K8gE37MuSzFawEuL1hJEUSCoWqNaXIL bIWJKTWsMzs/xw027JvUD7umFPe78PQS4zhU9Cfp/Cb+jDCfuwHCwlXUn9PgzETbYaAu DMaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718648976; x=1719253776; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MU+B7r1roWhCC53/0w9lcVlxSyXhmtFcjHMLXN2RUmE=; b=RMs9PROk6C6BMpgas989AxKOlxVJiKMWLYj3B9xpb/1RgAwPoYvzmwuuiL25nUT34g UFn06G7ZXvtbCKz09e0H1Xh8lHVMj5/2o9bMi6W9g4tsUJVQkFgCUTmU+7L5uKoqVcZ5 4R9UG6jmb89Rl6ikxRboBLVmzDFaAD2R426k8w4CSNGFelBHSnCPaTvya3i1+f8Fnv4Z LODB0bnpBxiSu6sRzZx1zaGx1m/YKLguoMWsUubuwFLkAkohP/K62g8vEWs+JxVKwfvu xFgwKpD9afDFh5jdnVNG32ereYJ6DD4D3mWH3ptWSDfPLspIdws+a7ZHAf4eCpznqp/9 0zrw== X-Forwarded-Encrypted: i=1; AJvYcCUuSCgVkJxwJKful4r93txsfvmK0Pp/mSbIHfuDiQY+2aWs1TitMd0clSO1ruTEbyx4vlsoa1oM3MqtrOSCvASPMbOMfgE/WRBe4o4QYHHSlB20U9m8dX15ms38W12t6cr1fgz0UMOJYgsp5EZc83lNvCiAd9P7dFU= X-Gm-Message-State: AOJu0YzWwwT9G6oX6n0j5Md3EzH5kkzth60aKSDeWYTdLCtwBSfvAc0T r6c3NXZ+gKepdcZny7sJlcNy2cy2Mh2njAqkiWJtTTOkeAX1XFno X-Google-Smtp-Source: AGHT+IHkpZcSAkDTfYa+4J9rdwDgw8EyCrZ88JhFCy8q4cRrxJtlYkExbYxfQTReGkkcw3FRZ9JpNA== X-Received: by 2002:a17:906:a45a:b0:a6f:5f26:4d91 with SMTP id a640c23a62f3a-a6f60de27c5mr743717166b.69.1718648975302; Mon, 17 Jun 2024 11:29:35 -0700 (PDT) Received: from latitude-fedora.lan ([2001:8f8:183b:6864::d35]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6f8a6e58bdsm115397666b.187.2024.06.17.11.29.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 11:29:34 -0700 (PDT) From: Alexey Charkov Date: Mon, 17 Jun 2024 22:28:53 +0400 Subject: [PATCH v5 3/8] arm64: dts: rockchip: add passive GPU cooling on RK3588 MIME-Version: 1.0 Message-Id: <20240617-rk-dts-additions-v5-3-c1f5f3267f1e@gmail.com> References: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> In-Reply-To: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: Daniel Lezcano , Dragan Simic , Viresh Kumar , Chen-Yu Tsai , Diederik de Haas , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Alexey Charkov X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1718648960; l=1275; i=alchark@gmail.com; s=20240125; h=from:subject:message-id; bh=tR+zU5R22K0toTXTcO/PbvJto65bjcz/hgek1oodBZY=; b=UPyTLJFVwLauiOTlYWLbLMzDwMdWePM1iup7rFrqrBm60G1h1262CZ5HG0ZKTZrBeJby32q0u BOGYLSXVUvRAPJKUxRh+CyFsyf3/zZU1hBPdyHr3LYzJXCeiEqn+NyI X-Developer-Key: i=alchark@gmail.com; a=ed25519; pk=xRO8VeD3J5jhwe0za0aHt2LDumQr8cm0Ls7Jz3YGimk= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_112937_653797_D9622290 X-CRM114-Status: GOOD ( 11.23 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org As the GPU support on RK3588 has been merged upstream, along with OPP values, add a corresponding cooling map for passive cooling using the GPU. Signed-off-by: Alexey Charkov --- arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi index 574359279867..758aff5e040b 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi @@ -2487,17 +2487,29 @@ center_crit: center-crit { }; gpu_thermal: gpu-thermal { - polling-delay-passive = <0>; + polling-delay-passive = <100>; polling-delay = <0>; thermal-sensors = <&tsadc 5>; trips { + gpu_alert: gpu-alert { + temperature = <85000>; + hysteresis = <2000>; + type = "passive"; + }; gpu_crit: gpu-crit { temperature = <115000>; hysteresis = <0>; type = "critical"; }; }; + cooling-maps { + map0 { + trip = <&gpu_alert>; + cooling-device = + <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; }; npu_thermal: npu-thermal { From patchwork Mon Jun 17 18:28:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Charkov X-Patchwork-Id: 13701239 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A03B8C2BB85 for ; Mon, 17 Jun 2024 18:30:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=vkUaCiQDTKjIJ+sgNLaVuwniEVwbZEfYGynPajZV5vk=; b=d0vBH+QpofY2Wy w6h+HvnI1CsEZTIUTsixJP65BYm05E1t0ESvF5mBx+iJa5lwgoGalQjcF82p1O9nTvXXdTj2QWRm9 tx82HrtiqWhUYPymSWbyRlceoduwbkDpHcUuiebVa+CKuAYvkbLVntf7r7P93EEx340Vcg3fhmwtA KGk6buImjiaUphvepF59ZoZYaceZuNYC5i+ek0j8eE9ClZkTGxn5/tlBL3RzGJoWrel01c812eLWI Wqvpge7hIPfWjqM5fqax9uJtoMtxSHb6CyVmyeG2JZyqIuj3SvQnKDbE4yrMhFBtNwFACtSFBlQg5 SnH+SWLnwb/fFGtg3JLg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH7I-0000000CBGk-3qoC; Mon, 17 Jun 2024 18:30:08 +0000 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH6r-0000000CAw2-00pC; Mon, 17 Jun 2024 18:29:48 +0000 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-57cad4475e0so7928345a12.1; Mon, 17 Jun 2024 11:29:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718648979; x=1719253779; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=qxV0+CNtkdVYH1x9kSCG5RzOw/h70yxEWn9Ic920/Ik=; b=LGP30juE+xHLEep4wf05xIPY46lUNJ5wzstkjmgwYn/fBLvOK+lbC9rHjcrmlGy166 xsC+oNug74MImekfjuw64oHx3Rd7ci1ruipHLNDGbjwvENW62Y6qonQHusscMIOp8+IN I+vmxU+w1J+JPPKjO6/FkxGqmuONWeFuuzI2/yXrqE/DSp1DNG2jJw1cauwvAPQWfqtA MsaGP7Qkw0xhL4qpFkuBKpwHFWay5tQ9/zUG2i1rxwKYx8B9dGljbTQwGOMdz5yxBo8b O9HxMsAwzDXyQ244RofVWGjI8aNWdYXx2oBzX1XDrloERU0tZ9jbIKyunRGlVvF8zO6B pk7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718648979; x=1719253779; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qxV0+CNtkdVYH1x9kSCG5RzOw/h70yxEWn9Ic920/Ik=; b=vpy1qyEy/gmdIMnzcSF5n+BgI9H4xhZ0yW9iIKwXbkmTvwwt4p0RvssRmSfwmGdxfZ Vkbs2xYQqMqEXxEERz10tF48hX+WtN+3TxyCLTTEbNDr0xEjEOV2YN2X6mHMVOQF77Po ZKnbpGrGJ0sjMvpglDOPHD8a/7g0hAW6mLLpwlZWQ0cu/123dkcgt35GPLeGx6ZamcX7 RioFv/70NdSXyAeONQW6qnz7DwtmSc+IUUx6q8JBnEK1eVSB96Rw+f6EnNL7resU+D2D p0Rc9ZYPKnbgPMJ3sXlQ7MPAQYdbx4ukxRYmQVlVXC+rj6cZZBuHXKxwRWPxpU6mekKx WC0Q== X-Forwarded-Encrypted: i=1; AJvYcCWWtHpf3HN0XkDKtJIpYKr9umHi2ROa2yjldRS1PO3DlvttgKLLm/lzNNelpFmShPB/gm6yFdWFsGq1uQPXSqRv1BBLJwmUeronuHzhqeYsMshd5pQeUYZ0zHJLAooQqTaG5U4uW5w+EDmvZc155bG5SBfHHtwwL0U= X-Gm-Message-State: AOJu0YyomfXwapJqzSdj01ksMquNqjih1KQ75oSfgTyenkm9ghovfDaW 6Vt3bKywygMbB7+NzQwdC+T51gwat4rfw1wcurDjck0IpNw8oq8n X-Google-Smtp-Source: AGHT+IEZlfgBaA7udUA6Yyx+6kNVUdF3NhrpH2DNXQq9GPGhbSiujY7u3ln3Ha5DervXVTuQnyQ12g== X-Received: by 2002:a17:907:c00b:b0:a6f:9643:e8b8 with SMTP id a640c23a62f3a-a6f96444968mr13704466b.32.1718648979243; Mon, 17 Jun 2024 11:29:39 -0700 (PDT) Received: from latitude-fedora.lan ([2001:8f8:183b:6864::d35]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6f8a6e58bdsm115397666b.187.2024.06.17.11.29.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 11:29:38 -0700 (PDT) From: Alexey Charkov Date: Mon, 17 Jun 2024 22:28:54 +0400 Subject: [PATCH v5 4/8] arm64: dts: rockchip: enable automatic fan control on Rock 5B MIME-Version: 1.0 Message-Id: <20240617-rk-dts-additions-v5-4-c1f5f3267f1e@gmail.com> References: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> In-Reply-To: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: Daniel Lezcano , Dragan Simic , Viresh Kumar , Chen-Yu Tsai , Diederik de Haas , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Alexey Charkov X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1718648960; l=1732; i=alchark@gmail.com; s=20240125; h=from:subject:message-id; bh=x+wPPy/GT45CFx+KMeVvr+U8rd4Mn9UoMyfj4WLHlu0=; b=NJUPm95L+pz2C2VM8nrMIvvzzMyFYQ0HF7Hm/4dFduLIvCnrJxE+w1acYjyMZ7+punC5bsaWC DP9TpxoR6b5DYXVG3Vb5k7kv4TVEehg2rEy4zUHGPGml6l+Dzux0cOv X-Developer-Key: i=alchark@gmail.com; a=ed25519; pk=xRO8VeD3J5jhwe0za0aHt2LDumQr8cm0Ls7Jz3YGimk= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_112941_088165_5467C189 X-CRM114-Status: GOOD ( 10.46 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org This links the PWM fan on Radxa Rock 5B as an active cooling device managed automatically by the thermal subsystem, with a target SoC temperature of 65C and a minimum-spin interval from 55C to 65C to ensure airflow when the system gets warm Helped-by: Dragan Simic Reviewed-by: Dragan Simic Signed-off-by: Alexey Charkov --- arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 30 ++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts index afcc38a5bed8..27dd95f92f33 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts @@ -52,7 +52,7 @@ led_rgb_b { fan: pwm-fan { compatible = "pwm-fan"; - cooling-levels = <0 95 145 195 255>; + cooling-levels = <0 120 150 180 210 240 255>; fan-supply = <&vcc5v0_sys>; pwms = <&pwm1 0 50000 0>; #cooling-cells = <2>; @@ -286,6 +286,34 @@ i2s0_8ch_p0_0: endpoint { }; }; +&package_thermal { + polling-delay = <1000>; + + trips { + package_fan0: package-fan0 { + temperature = <55000>; + hysteresis = <2000>; + type = "active"; + }; + package_fan1: package-fan1 { + temperature = <65000>; + hysteresis = <2000>; + type = "active"; + }; + }; + + cooling-maps { + map1 { + trip = <&package_fan0>; + cooling-device = <&fan THERMAL_NO_LIMIT 1>; + }; + map2 { + trip = <&package_fan1>; + cooling-device = <&fan 2 THERMAL_NO_LIMIT>; + }; + }; +}; + &pcie2x1l0 { pinctrl-names = "default"; pinctrl-0 = <&pcie2_0_rst>; From patchwork Mon Jun 17 18:28:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Charkov X-Patchwork-Id: 13701240 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CF469C2BA1A for ; Mon, 17 Jun 2024 18:30:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=TkxUy/5lC8B4EHt3jUU6t2bACBlLZbsq1+k9d7XvKAE=; b=oAgRQehFMJLnMD +O+WhQcrML/VHYqn1y1HlpTdChylThomMEY7l54U6Drz+j4SIvL5GCBVeeaoobi5dIXeI9RylqOE3 XMPj8qjqmZfu1k3YN+TVTjotfg4VPKcKQsYOQexaN8tK13eBOQQ0DkShmYvqUY6EOqlVCwZG8vqqp BgYkmkcGgWIZEq4H6ddY3MBJr9hDfw3dmlvHg6Y1pzCqfvPa3ibB4p5cqN5kwOy2XscEx/gXymi+e 2S/lUWf6ZT3nGpJu7GKX/3tNwbE5Xjq35B9Llj+9hac1+i227EW1BKBQr462Vs8GUXVQRMspMHXIz d45OTW6O3gml/JYVRiDg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH7U-0000000CBNQ-00K9; Mon, 17 Jun 2024 18:30:20 +0000 Received: from mail-lj1-x229.google.com ([2a00:1450:4864:20::229]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH6v-0000000CAyO-0i1r; Mon, 17 Jun 2024 18:29:51 +0000 Received: by mail-lj1-x229.google.com with SMTP id 38308e7fff4ca-2ec002caf3eso77783061fa.1; Mon, 17 Jun 2024 11:29:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718648983; x=1719253783; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=bdw9hr2E9oUOwrjNMHx+TgoMIxb4y1m0pUnscfpkFu0=; b=YIXR+XvKpqW5gDumR632gvt261PCgME0n9uUqp0wy0NNl+M6R5BsQpERu8Dul85fNk 5t8p9QAS0zbQ1VVzEdOgaMhVuh+WMHK5wAL9QKGSrR6niaSh5Jup9oeoJz3uVG2+9JWX X2PR+RlDxK6a+/4v2dq54ukFJ+pIG8P0GvJKr/v4En+UGEApZkjYbjrpPKB80bp1XEu+ uMLCEsxIX5nsZAFpiNZD5QgyM0a30JpHtZprYXFEH6CQ9Enl/lf67neorYj78MPlCcFQ +AQtuFobK/vjmqCpInQLdl5uBGh4CivS5Td2JkiMxDsUPUiRwvHeLJr02MgBLF+0+hFM YbvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718648983; x=1719253783; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bdw9hr2E9oUOwrjNMHx+TgoMIxb4y1m0pUnscfpkFu0=; b=QSmh8heTG9R1pALh63mw8hVKx+WrYCQnTmQA/HGumY9WK81GyRrBeg9UqGkAVQX0Bn vg0CgQIrhBo2Xnr5YnOZFQbjLlqM3oBeJDe9juR7Aez6mEX6UAm9HuvLkIL36D2e3Ymj tb0Oe6aI0S2PXzeF56k2rQVOAqv8/B4Ux3puJqGCxlhkdvjRToP1MPRO3OPJb7RVY2Ae VuBLzCQV+co780y6DbCq5m8GnLiuxheL68WUn2GsT37uBO02hBQNRXlzRcw5LNLU49S3 mZQGQVSJBAM8yuQ9TuL892SJM9b67SPzchU1QLEHb1OgoIRd3SS6nbMS0ReFOTB3z0bU ICNQ== X-Forwarded-Encrypted: i=1; AJvYcCW8IbRaRcl8x8L+ObYd2EXa+wkDAS8k7RNrkemRRPPfUkx2/Wb+elOyRlPJmhkmRY3tggk9SH9XgJxBV1w9SJHV8oZj1TEPMPBSsctQ8tvdllaU4BFu/m2NP4A5iC0yWaa1QS7pZqzQmD6SK93ZODNaPDxRlfFsvB8= X-Gm-Message-State: AOJu0YxYh1tfAUHM8xPgbGNMY0Xizx3EyhmKTvuopFdptETGezHMWlKm U2cBlfBRN1Bgx5xAll+V6AxlIfOZXHnCVeDse7fGkQz86wea4RKd X-Google-Smtp-Source: AGHT+IFmxp/6V4QXIWhNMCK24m/K84kyHPGSSNIJ/eXuISr4o3JyAQAFAvwChhtA+6vFzZy1ZH4S/A== X-Received: by 2002:a19:690b:0:b0:52c:8304:db31 with SMTP id 2adb3069b0e04-52ca6e67c17mr7849875e87.27.1718648983021; Mon, 17 Jun 2024 11:29:43 -0700 (PDT) Received: from latitude-fedora.lan ([2001:8f8:183b:6864::d35]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6f8a6e58bdsm115397666b.187.2024.06.17.11.29.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 11:29:42 -0700 (PDT) From: Alexey Charkov Date: Mon, 17 Jun 2024 22:28:55 +0400 Subject: [PATCH v5 5/8] arm64: dts: rockchip: Add CPU/memory regulator coupling for RK3588 MIME-Version: 1.0 Message-Id: <20240617-rk-dts-additions-v5-5-c1f5f3267f1e@gmail.com> References: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> In-Reply-To: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: Daniel Lezcano , Dragan Simic , Viresh Kumar , Chen-Yu Tsai , Diederik de Haas , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Alexey Charkov X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1718648960; l=5927; i=alchark@gmail.com; s=20240125; h=from:subject:message-id; bh=Lw6cvt6e5TFSBzp/kko3I8KOLayecFMagWIlbMmvaMY=; b=QfA4GQWUTiwN1V7Ur5GD7HfKSzVBRXt2ENXTozT4AWKRGyFMO65b44VPlh7M5224KRGomKrcV mNfqhWvuQV0A8KZRhS8g0xLKAmrJjAr0Sin1g6LNQ3ywZ88nhRUBecG X-Developer-Key: i=alchark@gmail.com; a=ed25519; pk=xRO8VeD3J5jhwe0za0aHt2LDumQr8cm0Ls7Jz3YGimk= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_112945_370439_C553489C X-CRM114-Status: GOOD ( 12.62 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org RK3588 chips allow for their CPU cores to be powered by a different supply vs. their corresponding memory interfaces, and two of the boards currently upstream do that (EVB1 and QuartzPro64). The voltage of the memory interface though has to match that of the CPU cores that use it, which downstream kernels achieve by the means of a custom cpufreq driver which adjusts both at the same time. It seems that regulator coupling is a more appropriate generic interface for it, so this patch introduces coupling to affected device trees to ensure that memory interface voltage is also updated whenever cpufreq switches between CPU OPPs. Note that other boards, such as Radxa Rock 5B, define both the CPU and memory interface regulators as aliases to the same DT node, so this doesn't apply there. Signed-off-by: Alexey Charkov --- arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts | 12 ++++++++++++ arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts b/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts index 7c3696a3ad3a..00f660d50127 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts @@ -878,6 +878,8 @@ regulators { vdd_cpu_big1_s0: dcdc-reg1 { regulator-always-on; regulator-boot-on; + regulator-coupled-with = <&vdd_cpu_big1_mem_s0>; + regulator-coupled-max-spread = <10000>; regulator-min-microvolt = <550000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <12500>; @@ -890,6 +892,8 @@ regulator-state-mem { vdd_cpu_big0_s0: dcdc-reg2 { regulator-always-on; regulator-boot-on; + regulator-coupled-with = <&vdd_cpu_big0_mem_s0>; + regulator-coupled-max-spread = <10000>; regulator-min-microvolt = <550000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <12500>; @@ -902,6 +906,8 @@ regulator-state-mem { vdd_cpu_lit_s0: dcdc-reg3 { regulator-always-on; regulator-boot-on; + regulator-coupled-with = <&vdd_cpu_lit_mem_s0>; + regulator-coupled-max-spread = <10000>; regulator-min-microvolt = <550000>; regulator-max-microvolt = <950000>; regulator-ramp-delay = <12500>; @@ -926,6 +932,8 @@ regulator-state-mem { vdd_cpu_big1_mem_s0: dcdc-reg5 { regulator-always-on; regulator-boot-on; + regulator-coupled-with = <&vdd_cpu_big1_s0>; + regulator-coupled-max-spread = <10000>; regulator-min-microvolt = <675000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <12500>; @@ -939,6 +947,8 @@ regulator-state-mem { vdd_cpu_big0_mem_s0: dcdc-reg6 { regulator-always-on; regulator-boot-on; + regulator-coupled-with = <&vdd_cpu_big0_s0>; + regulator-coupled-max-spread = <10000>; regulator-min-microvolt = <675000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <12500>; @@ -963,6 +973,8 @@ regulator-state-mem { vdd_cpu_lit_mem_s0: dcdc-reg8 { regulator-always-on; regulator-boot-on; + regulator-coupled-with = <&vdd_cpu_lit_s0>; + regulator-coupled-max-spread = <10000>; regulator-min-microvolt = <675000>; regulator-max-microvolt = <950000>; regulator-ramp-delay = <12500>; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts b/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts index b4f22d95ac0e..baeb08d665c7 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts @@ -832,6 +832,8 @@ vdd_cpu_big1_s0: dcdc-reg1 { regulator-name = "vdd_cpu_big1_s0"; regulator-always-on; regulator-boot-on; + regulator-coupled-with = <&vdd_cpu_big1_mem_s0>; + regulator-coupled-max-spread = <10000>; regulator-min-microvolt = <550000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <12500>; @@ -845,6 +847,8 @@ vdd_cpu_big0_s0: dcdc-reg2 { regulator-name = "vdd_cpu_big0_s0"; regulator-always-on; regulator-boot-on; + regulator-coupled-with = <&vdd_cpu_big0_mem_s0>; + regulator-coupled-max-spread = <10000>; regulator-min-microvolt = <550000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <12500>; @@ -858,6 +862,8 @@ vdd_cpu_lit_s0: dcdc-reg3 { regulator-name = "vdd_cpu_lit_s0"; regulator-always-on; regulator-boot-on; + regulator-coupled-with = <&vdd_cpu_lit_mem_s0>; + regulator-coupled-max-spread = <10000>; regulator-min-microvolt = <550000>; regulator-max-microvolt = <950000>; regulator-ramp-delay = <12500>; @@ -884,6 +890,8 @@ vdd_cpu_big1_mem_s0: dcdc-reg5 { regulator-name = "vdd_cpu_big1_mem_s0"; regulator-always-on; regulator-boot-on; + regulator-coupled-with = <&vdd_cpu_big1_s0>; + regulator-coupled-max-spread = <10000>; regulator-min-microvolt = <675000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <12500>; @@ -898,6 +906,8 @@ vdd_cpu_big0_mem_s0: dcdc-reg6 { regulator-name = "vdd_cpu_big0_mem_s0"; regulator-always-on; regulator-boot-on; + regulator-coupled-with = <&vdd_cpu_big0_s0>; + regulator-coupled-max-spread = <10000>; regulator-min-microvolt = <675000>; regulator-max-microvolt = <1050000>; regulator-ramp-delay = <12500>; @@ -924,6 +934,8 @@ vdd_cpu_lit_mem_s0: dcdc-reg8 { regulator-name = "vdd_cpu_lit_mem_s0"; regulator-always-on; regulator-boot-on; + regulator-coupled-with = <&vdd_cpu_lit_s0>; + regulator-coupled-max-spread = <10000>; regulator-min-microvolt = <675000>; regulator-max-microvolt = <950000>; regulator-ramp-delay = <12500>; From patchwork Mon Jun 17 18:28:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Charkov X-Patchwork-Id: 13701241 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CE326C2BA1A for ; Mon, 17 Jun 2024 18:30:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=utLMxQ2NIV7usoLLw4I7+lYkp2ohb0O8W2sUPZxEYb8=; b=TOCvCbsoaN+gO+ jD8+6ommUnwYIEZCR7T+Pnz101Mp/nTSYNot00Vc1lICoi3f2WKfY5i5850Z42JDTemCak84pnE56 rnTyaCDwyqAsUuCUDhT5wO1zmz7J4G52Bc4abA1U1AKx8VldMrT/RHzHQLv4rYaXkb+lmpezz2QZw rqqUGAW2Aw5kMdIRLQSkAwIlKSu59d5Zpr/Xj6jnerwMhbPHrP/D+NBxk0rY42VYWc0demLn99paq SgUtg/Iob46ImVpjmMiVKo6wr1uQOQBaGxZDsztLSn6j8gZIdeIeddoxo90uen1N4xXnlRrD3/UyN o1zuhZuPF1A/D5f9Blfg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH7e-0000000CBUC-35RC; Mon, 17 Jun 2024 18:30:30 +0000 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH6z-0000000CB10-1y75; Mon, 17 Jun 2024 18:29:55 +0000 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-57cb9efd8d1so2230880a12.0; Mon, 17 Jun 2024 11:29:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718648987; x=1719253787; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=KKQczdLEOKiZY5ksbDm+uWKIxh3GrP7H2rbcDsplBLE=; b=YbGnFrTE1jvp/KjWmVdmSNqtpEed5AZWQ6GUlTwajBQSBd/S6g+DSS2UjM9YPbC6ih hWrfh2qQaY7EEvxbYRxx7/M84LiElcBpHdFDKpbnqd957Om0UU//tdATiNAwe4wd9b6S Uplf4fnVSkiR1XECmwBGxfgd8OAllwEvoDbQVzJg02Qi0VdAy5kyB2vkpVhmAv6T5FSK 9rCrqsw/BrDScRug/q+GK09iYAiH+w7xnTLeFNHaBit2Kyw/eG2U3ZdaZA8AwEB5HqZh 5BoCipZoGZlySL1WSREYYgHLrPf7X17JCJIEIO2mYVHnhtv7A7jfaT2KdHcx3bOU4nZa fy/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718648987; x=1719253787; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KKQczdLEOKiZY5ksbDm+uWKIxh3GrP7H2rbcDsplBLE=; b=IxsKDzpI4AtiYk9QCSBYHXrg4DOMSUMReiTuy4ZgBIOMIn+btbIeb3NgSpwqw4xdzY ez6WCloz7+32npEkP+gT6Zh0kDCF+4qcojE/4BWW4aA2FFMLqWZeKkJ5Ha+mhBja7sTB KQqG/4NlQdkZTDUqyJ9yePh86+aTWkmPNGg93uGqUa8ZMh1+FIeqM/4ed0ghCJ2eaUwj tc1awn5oy4IkG5zozlNHUWQbnqKptXaSfqrzgIGpFXX0yP/4pqmWWksw3s4ncDUKDMXK BkZvlSGk2RibqJo+2KpxOhWmaxwCOPqp71d3zuWEAfgclhXl5XrEunm/KO2Cie7uOhmz A8jA== X-Forwarded-Encrypted: i=1; AJvYcCXB7GZn6XXUH3SUVGBlBNZxVA4qF+ZVr+YAeKgyz0nZH8sZW4u3FhSPxTkHhuzOhMfewNBKe6buzFoZJImREcwpGmHikpzhi09qbd7gsojubCfBrXgzOTJ/R061RQjteTz3UPqDXdDRFjn435nkknr2n4fp+UNj/eY= X-Gm-Message-State: AOJu0Yx+ZauxQbSKZTD9Ocb7OLrwfnl0a3RwAmv8kGzsNKLYgqBykyRH iU0mNID1S+pQ09XylEIFbMafG7w1xXj0oLSIxJx/H6E7YZlJTU3JezOM8XheQxr6wg== X-Google-Smtp-Source: AGHT+IGmWbahDJPDjyV8+kQptapzHcWa85iX57RgFcz6qMDU6c0xaMiQttmChlLXgAzjRXUEraObFw== X-Received: by 2002:a17:906:3643:b0:a6f:6bad:b5a9 with SMTP id a640c23a62f3a-a6f94c047c4mr29901466b.7.1718648986800; Mon, 17 Jun 2024 11:29:46 -0700 (PDT) Received: from latitude-fedora.lan ([2001:8f8:183b:6864::d35]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6f8a6e58bdsm115397666b.187.2024.06.17.11.29.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 11:29:46 -0700 (PDT) From: Alexey Charkov Date: Mon, 17 Jun 2024 22:28:56 +0400 Subject: [PATCH v5 6/8] arm64: dts: rockchip: Add OPP data for CPU cores on RK3588 MIME-Version: 1.0 Message-Id: <20240617-rk-dts-additions-v5-6-c1f5f3267f1e@gmail.com> References: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> In-Reply-To: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: Daniel Lezcano , Dragan Simic , Viresh Kumar , Chen-Yu Tsai , Diederik de Haas , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Alexey Charkov X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1718648960; l=6206; i=alchark@gmail.com; s=20240125; h=from:subject:message-id; bh=FnSNCV3/dY8Km0myfhW8fZDwqPdlrAVPS2pOSSMxu0E=; b=NSfEjqlSUm3OIowcgGHMo+o9tFxYS2NjNAH5PvVTjFVqj4xfZ8uqiB/bGBy4tNb42b3PJ/FMu tqeYJL5KUQWCA+VAI+O9+/OeQxYWSrwBRQu2I7U6D0CUG7O7elFsnjA X-Developer-Key: i=alchark@gmail.com; a=ed25519; pk=xRO8VeD3J5jhwe0za0aHt2LDumQr8cm0Ls7Jz3YGimk= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_112949_820033_62F8B2C5 X-CRM114-Status: GOOD ( 17.62 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org By default the CPUs on RK3588 start up in a conservative performance mode. Add frequency and voltage mappings to the device tree to enable dynamic scaling via cpufreq. OPP values are adapted from Radxa's downstream kernel for Rock 5B [1], stripping them down to the minimum frequency and voltage combinations as expected by the generic upstream cpufreq-dt driver, and also dropping those OPPs that don't differ in voltage but only in frequency (keeping the top frequency OPP in each case). Note that this patch ignores voltage scaling for the CPU memory interface which the downstream kernel does through a custom cpufreq driver, and which is why the downstream version has two sets of voltage values for each OPP (the second one being meant for the memory interface supply regulator). This is done instead via regulator coupling between CPU and memory interface supplies on affected boards. This has been tested on Rock 5B with u-boot 2023.11 compiled from Collabora's integration tree [2] with binary bl31 and appears to be stable both under active cooling and passive cooling (with throttling) [1] https://github.com/radxa/kernel/blob/stable-5.10-rock5/arch/arm64/boot/dts/rockchip/rk3588s.dtsi [2] https://gitlab.collabora.com/hardware-enablement/rockchip-3588/u-boot Signed-off-by: Alexey Charkov --- arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi | 149 +++++++++++++++++++++++++++ arch/arm64/boot/dts/rockchip/rk3588.dtsi | 1 + arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 1 + 3 files changed, 151 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi new file mode 100644 index 000000000000..35bbc3c2134f --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi @@ -0,0 +1,149 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + +/ { + cluster0_opp_table: opp-table-cluster0 { + compatible = "operating-points-v2"; + opp-shared; + + opp-1008000000 { + opp-hz = /bits/ 64 <1008000000>; + opp-microvolt = <675000 675000 950000>; + clock-latency-ns = <40000>; + }; + opp-1200000000 { + opp-hz = /bits/ 64 <1200000000>; + opp-microvolt = <712500 712500 950000>; + clock-latency-ns = <40000>; + }; + opp-1416000000 { + opp-hz = /bits/ 64 <1416000000>; + opp-microvolt = <762500 762500 950000>; + clock-latency-ns = <40000>; + opp-suspend; + }; + opp-1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <850000 850000 950000>; + clock-latency-ns = <40000>; + }; + opp-1800000000 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <950000 950000 950000>; + clock-latency-ns = <40000>; + }; + }; + + cluster1_opp_table: opp-table-cluster1 { + compatible = "operating-points-v2"; + opp-shared; + + opp-1200000000 { + opp-hz = /bits/ 64 <1200000000>; + opp-microvolt = <675000 675000 1000000>; + clock-latency-ns = <40000>; + }; + opp-1416000000 { + opp-hz = /bits/ 64 <1416000000>; + opp-microvolt = <725000 725000 1000000>; + clock-latency-ns = <40000>; + }; + opp-1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <762500 762500 1000000>; + clock-latency-ns = <40000>; + }; + opp-1800000000 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <850000 850000 1000000>; + clock-latency-ns = <40000>; + }; + opp-2016000000 { + opp-hz = /bits/ 64 <2016000000>; + opp-microvolt = <925000 925000 1000000>; + clock-latency-ns = <40000>; + }; + opp-2208000000 { + opp-hz = /bits/ 64 <2208000000>; + opp-microvolt = <987500 987500 1000000>; + clock-latency-ns = <40000>; + }; + opp-2400000000 { + opp-hz = /bits/ 64 <2400000000>; + opp-microvolt = <1000000 1000000 1000000>; + clock-latency-ns = <40000>; + }; + }; + + cluster2_opp_table: opp-table-cluster2 { + compatible = "operating-points-v2"; + opp-shared; + + opp-1200000000 { + opp-hz = /bits/ 64 <1200000000>; + opp-microvolt = <675000 675000 1000000>; + clock-latency-ns = <40000>; + }; + opp-1416000000 { + opp-hz = /bits/ 64 <1416000000>; + opp-microvolt = <725000 725000 1000000>; + clock-latency-ns = <40000>; + }; + opp-1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <762500 762500 1000000>; + clock-latency-ns = <40000>; + }; + opp-1800000000 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <850000 850000 1000000>; + clock-latency-ns = <40000>; + }; + opp-2016000000 { + opp-hz = /bits/ 64 <2016000000>; + opp-microvolt = <925000 925000 1000000>; + clock-latency-ns = <40000>; + }; + opp-2208000000 { + opp-hz = /bits/ 64 <2208000000>; + opp-microvolt = <987500 987500 1000000>; + clock-latency-ns = <40000>; + }; + opp-2400000000 { + opp-hz = /bits/ 64 <2400000000>; + opp-microvolt = <1000000 1000000 1000000>; + clock-latency-ns = <40000>; + }; + }; +}; + +&cpu_b0 { + operating-points-v2 = <&cluster1_opp_table>; +}; + +&cpu_b1 { + operating-points-v2 = <&cluster1_opp_table>; +}; + +&cpu_b2 { + operating-points-v2 = <&cluster2_opp_table>; +}; + +&cpu_b3 { + operating-points-v2 = <&cluster2_opp_table>; +}; + +&cpu_l0 { + operating-points-v2 = <&cluster0_opp_table>; +}; + +&cpu_l1 { + operating-points-v2 = <&cluster0_opp_table>; +}; + +&cpu_l2 { + operating-points-v2 = <&cluster0_opp_table>; +}; + +&cpu_l3 { + operating-points-v2 = <&cluster0_opp_table>; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3588.dtsi b/arch/arm64/boot/dts/rockchip/rk3588.dtsi index 0bbeee399a63..7462cc1e1007 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588.dtsi @@ -5,3 +5,4 @@ */ #include "rk3588-extra.dtsi" +#include "rk3588-opp.dtsi" diff --git a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi index a379269147c4..c7fecf8fe7ec 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi @@ -5,3 +5,4 @@ */ #include "rk3588-base.dtsi" +#include "rk3588-opp.dtsi" From patchwork Mon Jun 17 18:28:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Charkov X-Patchwork-Id: 13701242 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3377AC27C79 for ; Mon, 17 Jun 2024 18:30:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=sqUgBwzEkmr0NZLL51Yp/mlfSPIzHZiS7s5BvGNKT5c=; b=4Y7CBfMFJKTUgE bVkCqE+/WXG+GU696kw5Wk9Enu2hHLHHtIPRPWfY0nDV1Rk0uGH8mPBaHbv+Ri32VZIqoT4DoE8JZ PlqLEKsOMoTrcNeNOeDau4OyWAjwDl1maGuOj/zaSq7CzVg5S5S9L2gCnWrZqvWLBLITKs7BahxZ0 AfNXsoMPZwRcLuXoXfj+dy4Olz36zSESH1Ho+gFcoFhvoiptwv6v+Spoh03rc9lS+sJy0vY7GmmVv J2GLeajdQSYqQ917SazTSXbMzqpMI7kif8aSLDW/45IXnzeN/ThXb9vMtajvbr9XZKwmH5N+mQNC7 hZRPtoQS2bQ1OEDoj8Ag==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH7p-0000000CBcA-0jYo; Mon, 17 Jun 2024 18:30:41 +0000 Received: from mail-ej1-x630.google.com ([2a00:1450:4864:20::630]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH73-0000000CB45-0lBk; Mon, 17 Jun 2024 18:30:01 +0000 Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-a6f13dddf7eso565780966b.0; Mon, 17 Jun 2024 11:29:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718648991; x=1719253791; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=/gIdEIvbMDrmnrZNpEG2mYTheifxVrjfELjOF2EAXlQ=; b=I6URnQzxRQhHjmDxH1SfZT5D9f6HsVySt6v9EYNM4MrNvgHvOFiZbYJuBfuWbhIxCm uj6mcLXX/tiT33IjhV9dAF8LmPVpWS5pzJttnKQ5QXY7Tui9suxshhaMcAP7o3TqN0LG QqxfertL5P/KrEOsi+fQTfYMWkUGxhRNetUWo+Dph6DMQtSZ2Z64mGV3TLqnEOekL/if qkt/e6Pj/BfxoeytF+wkw2HCO+DIjX0kmscIxnkj4a6pYjhoQvTz506Wb3k2Zn7rpnTP dgVAEb3h2gaUi3ZSjPJKNpOwdi3WyB5U+SpuzN3oqgKmD3TD6+RGL+8ALRWhpd7J9fjo b7cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718648991; x=1719253791; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/gIdEIvbMDrmnrZNpEG2mYTheifxVrjfELjOF2EAXlQ=; b=Oc9w4YByDPE7+f/Y31urkjY6f0dvgyV8DQsyDJjlduP4+vip6AiaOflPtJWu8GdaOS J2cjXixCbVVDgN4bk+iY1xPCcgiwpH2WzFoDON8RaYsYU1G4pjRm1Fe4uMyNZ0h5JF6I AUWPmljIKjU32DDp0KeQLEr2ttiPJyP7Kx1LFP3C6zJcnziyz0RTUgZZWOfURSuye0e8 wWVT/0vVmkhi1TEPFPliDztTukl5FW3V4WOBVZUIL0Yzr4Sesc+8xWX/PDiIezmL/Ean UbLsnDReqipiRT/SFnb0Q3A/FkgeKrx8bVQklVoWiEDMF5p+cblLeIUoZCozIsWod371 vBhw== X-Forwarded-Encrypted: i=1; AJvYcCV1SWItKNlZJl0b787xL/8mcSIn2Sv8sq07uAyjDFaxYSytvItovlkTqjBO5CB+f0woaxd2eU/DXtruTlVdysLMwtyoBAM7VMhL7mA+NAMKbgtbI8aVlUmmJvweubWNXgZBhd+y8bZMvo3pWkMB+QurJzPsrchiRyk= X-Gm-Message-State: AOJu0YzuVLbSp44m5SSlEXkfTO5T4vR7dag/EL59V1096cD2L4Tm1TXE yqT+qinfGPj/Em2o4YELMs9Y3gz20FW8iiA2vKTgouASCHerSmTX X-Google-Smtp-Source: AGHT+IGxtlWZi7OlzUSA5/V0aa2jJMNFKKU21CTRD337ilM22mWB124cbV/KHSY2+Nr88qWjg9DCVQ== X-Received: by 2002:a17:906:3b46:b0:a6f:277c:d890 with SMTP id a640c23a62f3a-a6f60dc362amr688721966b.56.1718648990713; Mon, 17 Jun 2024 11:29:50 -0700 (PDT) Received: from latitude-fedora.lan ([2001:8f8:183b:6864::d35]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6f8a6e58bdsm115397666b.187.2024.06.17.11.29.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 11:29:50 -0700 (PDT) From: Alexey Charkov Date: Mon, 17 Jun 2024 22:28:57 +0400 Subject: [PATCH v5 7/8] arm64: dts: rockchip: Add OPP data for CPU cores on RK3588j MIME-Version: 1.0 Message-Id: <20240617-rk-dts-additions-v5-7-c1f5f3267f1e@gmail.com> References: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> In-Reply-To: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: Daniel Lezcano , Dragan Simic , Viresh Kumar , Chen-Yu Tsai , Diederik de Haas , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Alexey Charkov X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1718648960; l=3675; i=alchark@gmail.com; s=20240125; h=from:subject:message-id; bh=9usg1860HeLN2D86kwAGVsch0yxyMQiUOvKvhiX96F0=; b=7qkTQpuDo2mnr2AksYS5eW7EJtXMddKluUT3j2BIeU1VziywewZDKtSMHT8+bGsuRwNzNZAFz b/X7C7+JSK/DwNleZDa/3++SYYeZ4QAj5dZ6D+I/8RWiDgsuLhaJa81 X-Developer-Key: i=alchark@gmail.com; a=ed25519; pk=xRO8VeD3J5jhwe0za0aHt2LDumQr8cm0Ls7Jz3YGimk= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_112953_656831_3AAE6B59 X-CRM114-Status: UNSURE ( 9.97 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org RK3588j is the 'industrial' variant of RK3588, and it uses a different set of OPPs both in terms of allowed frequencies and in terms of applicable voltages at each frequency setpoint. Add the OPPs that apply to RK3588j (and apparently RK3588m too) to enable dynamic CPU frequency scaling. OPP values are derived from Rockchip downstream sources [1] by taking only those OPPs which have the highest frequency for a given voltage level and dropping the rest (if they are included, the kernel complains at boot time about them being inefficient) [1] https://github.com/rockchip-linux/kernel/blob/604cec4004abe5a96c734f2fab7b74809d2d742f/arch/arm64/boot/dts/rockchip/rk3588s.dtsi Signed-off-by: Alexey Charkov --- arch/arm64/boot/dts/rockchip/rk3588j.dtsi | 108 ++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3588j.dtsi b/arch/arm64/boot/dts/rockchip/rk3588j.dtsi index 0bbeee399a63..b7e69553857b 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588j.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588j.dtsi @@ -5,3 +5,111 @@ */ #include "rk3588-extra.dtsi" + +/ { + cluster0_opp_table: opp-table-cluster0 { + compatible = "operating-points-v2"; + opp-shared; + + opp-1416000000 { + opp-hz = /bits/ 64 <1416000000>; + opp-microvolt = <750000 750000 950000>; + clock-latency-ns = <40000>; + opp-suspend; + }; + opp-1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <887500 887500 950000>; + clock-latency-ns = <40000>; + }; + opp-1704000000 { + opp-hz = /bits/ 64 <1704000000>; + opp-microvolt = <937500 937500 950000>; + clock-latency-ns = <40000>; + }; + }; + + cluster1_opp_table: opp-table-cluster1 { + compatible = "operating-points-v2"; + opp-shared; + + opp-1416000000 { + opp-hz = /bits/ 64 <1416000000>; + opp-microvolt = <750000 750000 950000>; + clock-latency-ns = <40000>; + }; + opp-1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <787500 787500 950000>; + clock-latency-ns = <40000>; + }; + opp-1800000000 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <875000 875000 950000>; + clock-latency-ns = <40000>; + }; + opp-2016000000 { + opp-hz = /bits/ 64 <2016000000>; + opp-microvolt = <950000 950000 950000>; + clock-latency-ns = <40000>; + }; + }; + + cluster2_opp_table: opp-table-cluster2 { + compatible = "operating-points-v2"; + opp-shared; + + opp-1416000000 { + opp-hz = /bits/ 64 <1416000000>; + opp-microvolt = <750000 750000 950000>; + clock-latency-ns = <40000>; + }; + opp-1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <787500 787500 950000>; + clock-latency-ns = <40000>; + }; + opp-1800000000 { + opp-hz = /bits/ 64 <1800000000>; + opp-microvolt = <875000 875000 950000>; + clock-latency-ns = <40000>; + }; + opp-2016000000 { + opp-hz = /bits/ 64 <2016000000>; + opp-microvolt = <950000 950000 950000>; + clock-latency-ns = <40000>; + }; + }; +}; + +&cpu_b0 { + operating-points-v2 = <&cluster1_opp_table>; +}; + +&cpu_b1 { + operating-points-v2 = <&cluster1_opp_table>; +}; + +&cpu_b2 { + operating-points-v2 = <&cluster2_opp_table>; +}; + +&cpu_b3 { + operating-points-v2 = <&cluster2_opp_table>; +}; + +&cpu_l0 { + operating-points-v2 = <&cluster0_opp_table>; +}; + +&cpu_l1 { + operating-points-v2 = <&cluster0_opp_table>; +}; + +&cpu_l2 { + operating-points-v2 = <&cluster0_opp_table>; +}; + +&cpu_l3 { + operating-points-v2 = <&cluster0_opp_table>; +}; From patchwork Mon Jun 17 18:28:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Charkov X-Patchwork-Id: 13701243 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E7A6BC27C79 for ; Mon, 17 Jun 2024 18:30:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=1jCb45XWKc6hbPaSiycS6kHiCZJcs4IPBh+fty2t2cI=; b=m8HBB1UCDA7DZ1 Yri7qpHbP1QmwAL+NI826HaNDo9lAqlM3T5AsU1e7TNBwTorVUj5XRoet0o58xwLUTcJAnCfK95Fg rLiwj0B+0QRQrISB0TqEhT7a9rmeLdveJjqfci8pY4mHH46AIdspYqHim9uWqFnrihF5UWFP2X8ZO lerv8WV/4ixIeut1866DDSnPYSnEogFWt+1jLUG6HegLF4gMF73MokblgXFJl+PY3ME4NHStMX9G9 /KnbgXW1u+CFDgY57CbebSP44rwsA8IJBu0qXsBj2dRIoS4QyHmqzC0+m5lVgAXtlzOaY7INvxuM9 WeNRxbHM51IvkhDQASRw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH7w-0000000CBiw-3Tz4; Mon, 17 Jun 2024 18:30:48 +0000 Received: from mail-ej1-x630.google.com ([2a00:1450:4864:20::630]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sJH75-0000000CB6p-3hqm; Mon, 17 Jun 2024 18:30:03 +0000 Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-a6f8ebbd268so127632566b.0; Mon, 17 Jun 2024 11:29:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718648994; x=1719253794; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=mi6aVHL3QaHHJ3tI7hDY8xFdrO8LAbtMSLI9IrukgKs=; b=DllaKyQEAWmyRVaflt/kfSYg/WFPQoqI7s6IgUfp2qaj4kBtHE2tO2rcfV80bMoGK1 y8dmQleQ/daxnsTVhZH2Arld27wMP1M07iftsEjm0xdprN5YUhE3MDxVv27In0kbmNbF WPPDssWkF2nzjY8SdB9p4Z52Wbpni/eO1NzSwVaU6YeDqQ1XSwWfzyb/8wPAln7s/kO3 9LRsng/y9epeTLoUtrIo8LzFLP2AhMhWAdbtZqYEiOi0Gjg23WNXPnZtrMYH1VbmvnVG ppSyz1nIx098Bk/0hC8J4xZqdB8XNR6QUeGqRQNcR1HlXVqyfD47+RASBDw2PEjpw1Yk N8og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718648994; x=1719253794; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mi6aVHL3QaHHJ3tI7hDY8xFdrO8LAbtMSLI9IrukgKs=; b=YhhxZWaGE4rlhLnlnRj5/zBpixdxU/DAaeeKvB3vBZqfIVM6O9IbArsoFjKOJSuTGq erlymWx+Avy+LvKy2JFMkNsPmBq9m7vz0J0+cTx4Cn11iB62oc6tbH//iikgXLX0CB1Y /bPLixMvlzcNCl+4gxQ+BF1M/LGyfie6jw7ic4XqrJZdSGSB6leNhtFfF5TK/+xsZWx5 ar4jnD5t28cWtRDhCIBSeudRVztqkAKhYNR7IqUuAPfN977fCVz7IZVSxljMIqGsLtg9 Uy6Z+2hSVOdVKf2in9SOcxnFB2PxLKiVf6B6XqdxUzT3rE7jlpUHoK7aB5cNeWz3CqnC mxww== X-Forwarded-Encrypted: i=1; AJvYcCXb+EchkRiu9A5lwRfy18xVgELPsBHUu/TEcOs6DiX0rmgCRTAJU56mu/XelNjXYpt7Zh0HcT6T7CxBSsb4YErY5KMGHz+y2dQeGVjJctHDp5BEiSAkec1JN0CcSGioAyttfLw+V73/NhDw5KPUIp0MrN1fU2fyMGE= X-Gm-Message-State: AOJu0YzTnke10T9fG3/shYuG2L+Te1LjBJwcAGS6NaWGIH/RDKYCyFIi AXEH5jSS0+WAAz1qjiMGL5q3q+3BmUKHyFJFv7fMZ5DdPyYtUlZS X-Google-Smtp-Source: AGHT+IFSSaODbqGau5beLtfxdks8DVDSeWiXWQ1UwtzXba87HIcD1jrRNMLASa7svvdJxgKgZlzToQ== X-Received: by 2002:a17:906:1d0f:b0:a6f:1e1b:f9ea with SMTP id a640c23a62f3a-a6f95054920mr23742566b.31.1718648994301; Mon, 17 Jun 2024 11:29:54 -0700 (PDT) Received: from latitude-fedora.lan ([2001:8f8:183b:6864::d35]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6f8a6e58bdsm115397666b.187.2024.06.17.11.29.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 11:29:53 -0700 (PDT) From: Alexey Charkov Date: Mon, 17 Jun 2024 22:28:58 +0400 Subject: [PATCH v5 8/8] arm64: dts: rockchip: Split GPU OPPs of RK3588 and RK3588j MIME-Version: 1.0 Message-Id: <20240617-rk-dts-additions-v5-8-c1f5f3267f1e@gmail.com> References: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> In-Reply-To: <20240617-rk-dts-additions-v5-0-c1f5f3267f1e@gmail.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: Daniel Lezcano , Dragan Simic , Viresh Kumar , Chen-Yu Tsai , Diederik de Haas , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Alexey Charkov X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1718648960; l=5293; i=alchark@gmail.com; s=20240125; h=from:subject:message-id; bh=cu+UhDK5oOLgPtUwnbvA8VAbLQ3CEl/qKKmthR966F0=; b=Iq78YcGu6PRbj8M7jUOSV+GJvF6MJXQR89ZqGUZvfYky+6DBrijA5RY/wW0J84sIVnfWYtxCZ //IhTsdQgWkBA3n9buJjiMSdZhSv/EG5BXyaHQOAdqrE8yf/6UsUwqT X-Developer-Key: i=alchark@gmail.com; a=ed25519; pk=xRO8VeD3J5jhwe0za0aHt2LDumQr8cm0Ls7Jz3YGimk= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240617_112956_085328_EDD27F77 X-CRM114-Status: GOOD ( 12.47 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org RK3588j uses a different set of OPPs for its GPU, both in terms of allowed frequencies and in terms of voltages. Move the GPU OPPs table into per-variant .dtsi files to accommodate for this difference. The table for RK3588j is adapted from Rockchip downstream sources [1], while RK3588 one is moved verbatim into the per-variant .dtsi file. The values provided for RK3588 in the downstream sources match those in the original commit. [1] https://github.com/rockchip-linux/kernel/blob/604cec4004abe5a96c734f2fab7b74809d2d742f/arch/arm64/boot/dts/rockchip/rk3588s.dtsi Fixes: 6fca4edb93d3 ("arm64: dts: rockchip: Add rk3588 GPU node") Signed-off-by: Alexey Charkov --- arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 38 ------------------------- arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi | 41 +++++++++++++++++++++++++++ arch/arm64/boot/dts/rockchip/rk3588j.dtsi | 33 +++++++++++++++++++++ 3 files changed, 74 insertions(+), 38 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi index 758aff5e040b..3d918874aa02 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi @@ -451,46 +451,8 @@ gpu: gpu@fb000000 { , ; interrupt-names = "job", "mmu", "gpu"; - operating-points-v2 = <&gpu_opp_table>; power-domains = <&power RK3588_PD_GPU>; status = "disabled"; - - gpu_opp_table: opp-table { - compatible = "operating-points-v2"; - - opp-300000000 { - opp-hz = /bits/ 64 <300000000>; - opp-microvolt = <675000 675000 850000>; - }; - opp-400000000 { - opp-hz = /bits/ 64 <400000000>; - opp-microvolt = <675000 675000 850000>; - }; - opp-500000000 { - opp-hz = /bits/ 64 <500000000>; - opp-microvolt = <675000 675000 850000>; - }; - opp-600000000 { - opp-hz = /bits/ 64 <600000000>; - opp-microvolt = <675000 675000 850000>; - }; - opp-700000000 { - opp-hz = /bits/ 64 <700000000>; - opp-microvolt = <700000 700000 850000>; - }; - opp-800000000 { - opp-hz = /bits/ 64 <800000000>; - opp-microvolt = <750000 750000 850000>; - }; - opp-900000000 { - opp-hz = /bits/ 64 <900000000>; - opp-microvolt = <800000 800000 850000>; - }; - opp-1000000000 { - opp-hz = /bits/ 64 <1000000000>; - opp-microvolt = <850000 850000 850000>; - }; - }; }; usb_host0_xhci: usb@fc000000 { diff --git a/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi index 35bbc3c2134f..0f1a77697351 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi @@ -114,6 +114,43 @@ opp-2400000000 { clock-latency-ns = <40000>; }; }; + + gpu_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-300000000 { + opp-hz = /bits/ 64 <300000000>; + opp-microvolt = <675000 675000 850000>; + }; + opp-400000000 { + opp-hz = /bits/ 64 <400000000>; + opp-microvolt = <675000 675000 850000>; + }; + opp-500000000 { + opp-hz = /bits/ 64 <500000000>; + opp-microvolt = <675000 675000 850000>; + }; + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; + opp-microvolt = <675000 675000 850000>; + }; + opp-700000000 { + opp-hz = /bits/ 64 <700000000>; + opp-microvolt = <700000 700000 850000>; + }; + opp-800000000 { + opp-hz = /bits/ 64 <800000000>; + opp-microvolt = <750000 750000 850000>; + }; + opp-900000000 { + opp-hz = /bits/ 64 <900000000>; + opp-microvolt = <800000 800000 850000>; + }; + opp-1000000000 { + opp-hz = /bits/ 64 <1000000000>; + opp-microvolt = <850000 850000 850000>; + }; + }; }; &cpu_b0 { @@ -147,3 +184,7 @@ &cpu_l2 { &cpu_l3 { operating-points-v2 = <&cluster0_opp_table>; }; + +&gpu { + operating-points-v2 = <&gpu_opp_table>; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3588j.dtsi b/arch/arm64/boot/dts/rockchip/rk3588j.dtsi index b7e69553857b..bce72bac4503 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588j.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588j.dtsi @@ -80,6 +80,35 @@ opp-2016000000 { clock-latency-ns = <40000>; }; }; + + gpu_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-300000000 { + opp-hz = /bits/ 64 <300000000>; + opp-microvolt = <750000 750000 850000>; + }; + opp-400000000 { + opp-hz = /bits/ 64 <400000000>; + opp-microvolt = <750000 750000 850000>; + }; + opp-500000000 { + opp-hz = /bits/ 64 <500000000>; + opp-microvolt = <750000 750000 850000>; + }; + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; + opp-microvolt = <750000 750000 850000>; + }; + opp-700000000 { + opp-hz = /bits/ 64 <700000000>; + opp-microvolt = <750000 750000 850000>; + }; + opp-850000000 { + opp-hz = /bits/ 64 <800000000>; + opp-microvolt = <787500 787500 850000>; + }; + }; }; &cpu_b0 { @@ -113,3 +142,7 @@ &cpu_l2 { &cpu_l3 { operating-points-v2 = <&cluster0_opp_table>; }; + +&gpu { + operating-points-v2 = <&gpu_opp_table>; +};