From nobody Thu Dec 18 00:22:24 2025 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 961EA197A89; Mon, 17 Jun 2024 18:29:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648971; cv=none; b=nyjoKydtoTdzB2xTgf4nZDH5qChzU8C00ZLzQ+OTAcR1MmJkKdIXdpoiQKtpi2vfgYy3LHvr25WVcoaxPJNKNy+hA+mXxAHBldAdHeu4ykepL95z6mCkaZeZHq8EahyuIwguHckAYL2R9wkuJ18qImAcNXn2C0T0Lw8bWjNaQhk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648971; c=relaxed/simple; bh=RcpwIjmnR3ZB6lo2LEJCkEMEywnrfAp8940slGy+YX8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UVvkR9AfrlvzPDhOObXWIbTu6tCqIejokUzvxpJ9Lv4/bVq9DWZnkcsmgvodKeG5K+3R8DQim2EnfjF0g3lMDgY6XdZ/ZV+0kJBK6yB0K+4nrZjBWSYsW7nYRl8XIZnTl1bzqFf2jC1Dg/MrzXrR79RQZCEzbkfZDdZ1SmYpRqo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=O8LAbYWn; arc=none smtp.client-ip=209.85.218.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="O8LAbYWn" Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-a6f85f82ffeso169042666b.0; 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=vger.kernel.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=O8LAbYWnOlCvz7KL/xYTscOilcdLe4cObJvadWiNyz3wzDQPez8wT+B3coJKM49TPt 3lF1PE5f+83FfKsTwHQCBMwYIl0KYcXl0yJP5IpMUL+3DZMkB+DBnsve77CrofooxEIt le9bc0GZ2ZQzz8lYp1Sx7AJIO/IuukwwVs2DVqf9y5QEv8qK2spobV4esECJOE0bUAln 8IA09/R0RyZfgYZUPxfCA+uxjLECDGqQXI+LopxXxttapBPE3mdCcbROI8FnnaupREed cjP4YRCC5b1s9OfEAeblILuNRwe5hpDmE9Tj0SptyRSSSh8Tn/xynALL2uYoqgyt2A10 6J1Q== 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=DMY3VHRV4M4qM+CFzmFTsTW9eoj6VQEomj2tAH/Y+srfVtfVwu35iO6mB46+YzeObs lGyM9XKgJokP33F/7LoQNtk0k785BkPhH2vvJME8CPv3sCw0RGyAM+p75BKfJ1/J5siK OjMdQTYE/oufJujXRwtT57LzNkE5iqECsySrB9Nye7aO0IoGzI9Y+5ZGzblOMFv4shEH DoRwuu/hrE+pXrN/YZrtK41cQZt0W8k3oMxF6nc6iBfRsERvimW874IQiotwzs+rjCon ttmNnbg6t5d+uTFb4LIj5FOOr+c5iDsosiR2gmAmZSqNBETtNy+D6ro8pPH2MjC4v1h/ +NtA== X-Forwarded-Encrypted: i=1; AJvYcCVMkvVWOJ6dkzqHC385ZdI1JHm4GKdjEfd7yF738zYRJ46NKrCc+4x3A4oZpIvDB1wlWcqmA5MwuUufdBW8GnyqSy4lOOD883+QOz0tuBJNNgN7RcK2g/fSkVH36iVzKLxUyx8nmQ4KYA== X-Gm-Message-State: AOJu0YwNcZS+PdLzx8KyZrhgzkCpOTUk3sMSyxbDCoKKy7akJGYMpz9M h7mOt28VGVZYIv8BXsW9OZPN6XCP3MllMdcBm1fqjA0RU07vTyFJsPbecWPeUrTn7Q== 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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= 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/boo= t/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 =20 / { compatible =3D "rockchip,rk3588"; @@ -2368,6 +2369,152 @@ pwm15: pwm@febf0030 { status =3D "disabled"; }; =20 + thermal_zones: thermal-zones { + /* sensor near the center of the SoC */ + package_thermal: package-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsadc 0>; + + trips { + package_crit: package-crit { + temperature =3D <115000>; + hysteresis =3D <0>; + type =3D "critical"; + }; + }; + }; + + /* sensor between A76 cores 0 and 1 */ + bigcore0_thermal: bigcore0-thermal { + polling-delay-passive =3D <100>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsadc 1>; + + trips { + bigcore0_alert: bigcore0-alert { + temperature =3D <85000>; + hysteresis =3D <2000>; + type =3D "passive"; + }; + bigcore0_crit: bigcore0-crit { + temperature =3D <115000>; + hysteresis =3D <0>; + type =3D "critical"; + }; + }; + cooling-maps { + map0 { + trip =3D <&bigcore0_alert>; + cooling-device =3D + <&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 =3D <100>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsadc 2>; + + trips { + bigcore2_alert: bigcore2-alert { + temperature =3D <85000>; + hysteresis =3D <2000>; + type =3D "passive"; + }; + bigcore2_crit: bigcore2-crit { + temperature =3D <115000>; + hysteresis =3D <0>; + type =3D "critical"; + }; + }; + cooling-maps { + map0 { + trip =3D <&bigcore2_alert>; + cooling-device =3D + <&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 =3D <100>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsadc 3>; + + trips { + littlecore_alert: littlecore-alert { + temperature =3D <85000>; + hysteresis =3D <2000>; + type =3D "passive"; + }; + littlecore_crit: littlecore-crit { + temperature =3D <115000>; + hysteresis =3D <0>; + type =3D "critical"; + }; + }; + cooling-maps { + map0 { + trip =3D <&littlecore_alert>; + cooling-device =3D + <&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 =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsadc 4>; + + trips { + center_crit: center-crit { + temperature =3D <115000>; + hysteresis =3D <0>; + type =3D "critical"; + }; + }; + }; + + gpu_thermal: gpu-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsadc 5>; + + trips { + gpu_crit: gpu-crit { + temperature =3D <115000>; + hysteresis =3D <0>; + type =3D "critical"; + }; + }; + }; + + npu_thermal: npu-thermal { + polling-delay-passive =3D <0>; + polling-delay =3D <0>; + thermal-sensors =3D <&tsadc 6>; + + trips { + npu_crit: npu-crit { + temperature =3D <115000>; + hysteresis =3D <0>; + type =3D "critical"; + }; + }; + }; + }; + tsadc: tsadc@fec00000 { compatible =3D "rockchip,rk3588-tsadc"; reg =3D <0x0 0xfec00000 0x0 0x400>; --=20 2.45.2 From nobody Thu Dec 18 00:22:24 2025 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1CC06198A2C; Mon, 17 Jun 2024 18:29:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648974; cv=none; b=hV5pK+nJi36YRxJ94U6KqJM4LqFFC0kDiWq2aNrbu/kJhcg/c7GJnmtj/gbGsFGY34/8FJ1FUYJqv35q5xjXTJsJXef9pMAr8CA/Iq3g6NeUR4ol3pM7IeOWLlf14L5mHdfW/FNGVhDXqwf80ET8IbJTx0M9uIbN1zRihSp4IeI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648974; c=relaxed/simple; bh=GLoGqcAXYJtVZt3gd8x4dkalr9Ohm0Jc46GDbBCQXL8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZZwdUXQlb/dSddnE6bNXbwQHKDoup8n16scJBlGMAYKSy8juJIab7EnzjiZRqasiJRfP2XJ6wS8C3PQoJ+0P3ZWamP1TWMPGu5SyZ1dsmIeABZjWhbuWvi+rAI5i1TXGsEbJW9P4e5DtPXU0nsX7wBED3lQxSYLXBBYx4hcVspc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=X/DcRNKU; arc=none smtp.client-ip=209.85.218.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="X/DcRNKU" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-a6265d3ba8fso540003266b.0; 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=vger.kernel.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=X/DcRNKUZstWQ/yL/tAUFvOLSvmlV9oGbK+9ASqU/TZ9WM19A0T6w7GCpLK9yroP5h H4jUzUpYhn2LeV5shsAOQuLlj8wchtiMUimq0t+UPqRaJDFJZzWTpSLPYJfP9/L4bDWB 3fEmpwk9vWqbswKD1c2tK554Yv6sJXs9q1xaU1EUooVX901D30p0tYHSr3gBDPIsyexG 4KOrCQArp1O/7nvqB1Bty/FAuOjtCFtJu+Up6yvRywo2aDNiu/syUa3TdDw7rKjmgymc oeX216rCPEKeJq0p2J8f4UDrgZgenjLHv+rWctU2U3f/3CKlPuZ/0gaz16mTxWFfHdtd bV/g== 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=gWh7D13nW9f7auTN/HgwRh1NrpoYJh5hcKJOBAS1e3s/dPtkv98yxEMEvGg6rhFvRr gsxIJe9VPAYnGeqJz/XoFA5kSPOuooVbi+XcH9Ty1+cbDVoc5RxvfRQ0yOLwLXbYwZv/ 89qM0ABhiO8cWyAIsLwqGSGI8NeyCcPb65PES8XGvdn7by0SywYEbEEHoDmbJciwwC/0 3K+Dwcb74kFwhgz3qVOpf6jhCWBIlLVFtNwd9cg2ORepr2o+/pLwzv+MgUiHeWso+Dkk rcd6zezWQQXjZbTpfqmnWMfH23tjVcjVqVTHT/MZ7DlmcuHqGJMehbPgKLWFAOgTDNYM bzBw== X-Forwarded-Encrypted: i=1; AJvYcCWA/0lfLJsVT8JtKWnqhTouIN1AOdKYU8h7ju0CPtZNUKAQuZ7U717dqhdCzfumZ6Xy+Z0Gcrm16c+lf+n3byOlXidFRXelvOptaSc4rUKojn+vrOlbMVxuFH+ITdExlqBooswoizQyeA== X-Gm-Message-State: AOJu0YxG+1U5QfH6f9TijBls/NXe+/qUkwYK4yohmHrJfv6lbTPD/eUK H8x6/qaAdF/QkIiFAIA1lLILRJ6IhW86neAqbzz2I+unzc1aqwUw 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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= 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/ar= m64/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 { }; }; =20 +&tsadc { + status =3D "okay"; +}; + &u2phy0 { status =3D "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 =3D "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 =3D "okay"; }; =20 +&tsadc { + status =3D "okay"; +}; + &u2phy0 { status =3D "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 =3D "okay"; }; =20 +&tsadc { + status =3D "okay"; +}; + &u2phy2 { status =3D "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/b= oot/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 { }; }; =20 +&tsadc { + status =3D "okay"; +}; + &uart2 { pinctrl-0 =3D <&uart2m0_xfer>; status =3D "okay"; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-toybrick-x0.dts b/arch/arm= 64/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 { }; }; =20 +&tsadc { + status =3D "okay"; +}; + &u2phy2 { status =3D "okay"; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi b/arch/arm= 64/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 { }; }; =20 +&tsadc { + status =3D "okay"; +}; + &uart2 { pinctrl-0 =3D <&uart2m0_xfer>; status =3D "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 { }; }; =20 +&tsadc { + status =3D "okay"; +}; + &u2phy0 { status =3D "okay"; }; --=20 2.45.2 From nobody Thu Dec 18 00:22:24 2025 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 61AB4198E96; Mon, 17 Jun 2024 18:29:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648979; cv=none; b=RyU4R86u0cvoKbPM9jLfH/LGOK53iB0vrB4bxfKglebL9zTcHbmRrVaWAVpYYCD7WPIjgaDy6g/Cqsv/GSKHmvUfCVwh23MHkskNsROlwNo3/Gk7xJDnPf5BJN+OfsHshoN8pAlj2zmi6OCfWDhsdcy8GjkvI4piz1V88CRu4hA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648979; c=relaxed/simple; bh=tR+zU5R22K0toTXTcO/PbvJto65bjcz/hgek1oodBZY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Z077Sm6qJUtnM2W8TMKEptgofo+sLuMmtOQB2ssoiKFuJZudmBcVq+AxYFoggHri1mW6Aw3+85d3lPCh7eufYcDdYgw9c7RE0Ax26cR+GANcycjwTvD+724PpV8AYMdgT9VyvQW4pMdW5NZx+ZOYLB8qtRy0HCZygPcKVca/wTg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=enUZwLqC; arc=none smtp.client-ip=209.85.218.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="enUZwLqC" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-a6f253a06caso551799966b.1; 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=vger.kernel.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=enUZwLqCATsaIQX3IR123YGg9b08PwCV9mxlVUEH52B4qqg26SrKg4BACk8hLQUUcI QSVGAGnBQkyGEfqo7uDA8iupVekCQEr3D3ZLY7q5Is4zQPDfrAwXVNn8ewXGLI+Elfwq JH5MVfN3oxlpWigI+rpMaxbOdQXaETOppDB9qXkZ/xIlTCgyTBxaPlpXRbWBViAp5Aws 8VWxNND455adQcx5gzPSHZ5Vf+hgefJcKhlqSKvueczv+kzcCQWoJQ0OgQq15RASA1qD ASR4XI+piceN7J33M2WI2rxMT+SbrIQ6qT/U+gKjmf0mFe+N33mSuy0GVBI22a15SQli v3rA== 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=efrwHCPwllgD/HtINcQesApXcYYjYiUjgkKQ/GwTDV+623hqEIP0CIj+/QqOU9OXZL hRvJghrY9SashauAypFVhSyya6AZsxiODUkccH1yZC903y8fTarXDf86m8CbrA20D8VD EWEEQQEOTEACS1YUeYbED+z8z4W1k3DP3P5GuqCy0vi1/YVF4TVmspz+F3Hpd3vQUVcB DKwVUDq2fllT8k+W6xR1+r2O/3Z44Y85+0PHAPtIoZDod5/9l5GsqMnSX6IWPfp1ldyN KWmxukdvuj8SiU/4HhIAe7Vu9KlNgk7giwU2jS1g+0rMsVEl8QFkawVOEellr/XqkjNj u8BA== X-Forwarded-Encrypted: i=1; AJvYcCXr7SZBYdQWf7glqyHUcWzfRJHoGobik80T+PEs/eSDqKtHJu6RQOomccFTivDhPQLCgEXCJq2VmK6xQ/3EA/6pBfm/7FisBeE2UqbYwgCNQ1Vb1CzeKncVhkFkQKpjH/Nz7ZIphGdHLQ== X-Gm-Message-State: AOJu0Yw5gKYA6Ns9GPy8ZBpH7ih+wLf/YGDaRtI+XK+P0ZajENhwzKtl P9+HCo3yFUTBk2+W4E1laq3S5KO7i1nteOgZSCj4ukOgybjI2NzO 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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= 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/boo= t/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 { }; =20 gpu_thermal: gpu-thermal { - polling-delay-passive =3D <0>; + polling-delay-passive =3D <100>; polling-delay =3D <0>; thermal-sensors =3D <&tsadc 5>; =20 trips { + gpu_alert: gpu-alert { + temperature =3D <85000>; + hysteresis =3D <2000>; + type =3D "passive"; + }; gpu_crit: gpu-crit { temperature =3D <115000>; hysteresis =3D <0>; type =3D "critical"; }; }; + cooling-maps { + map0 { + trip =3D <&gpu_alert>; + cooling-device =3D + <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; }; =20 npu_thermal: npu-thermal { --=20 2.45.2 From nobody Thu Dec 18 00:22:24 2025 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2B1C51991A3; Mon, 17 Jun 2024 18:29:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648982; cv=none; b=flMGx7ajv36h6vmoDorz1tZuKWINqSuql5W5S2rXAhScDu0YTzpkwO/dT7xWGwv5tpGW2rfhLPWes0lX04ayE66iNu3dLxn2DCUVM3doYXSVXt0naUSIFgO5X8TjZYguLkCQmnhSrHXBk/4wJ5pBp1aA99VXtbMsU1pmb1LzRnI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648982; c=relaxed/simple; bh=x+wPPy/GT45CFx+KMeVvr+U8rd4Mn9UoMyfj4WLHlu0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lBzPcXQMCp2kpB/dP7iqMz48UPOWbMxTqz0L/o6pN75giP1FRGu8RCCJVqYwxgC3zw0lF9loh66/1B+wcSHgTZLO8z9wWgE1FCZlR2WWB+Pg9A/RggDYb5ntD/uRavTLgjNdC3EUDU4gSbMKafOSLi5cpTIBz8FS33w9gZiCugc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=SRQtJl4C; arc=none smtp.client-ip=209.85.218.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SRQtJl4C" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-a6269885572so972097366b.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=vger.kernel.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=SRQtJl4CjAsVLj0FQR8hEVgwJE5YWbiY62NOfxSlYjNTaezxtVc0oyp/nuvrFE+LrD zUuILIzo+Rhuu7Y4DiUVQZp5QpU8O/Xxs5lRKtGoju+HRVdGeVTgkQzMdbpZsxOqryI1 OyhaE5TJwo3ODLjrz3pv992uLc+3puEIS0kHGZUwgzp2V3Dh+cCnB3S6fnPXmRT3vJIr 2+Gq6CIvIBXXrKG075B5xo5wG7lNmxswULhjzHz/un0E+y3dse1TBIKmiDSvbzKD3+o3 oUUvDFjS5OypwH/HjVmUHNaRt8zPseWcRuYhnhZUsXrNP91bUWs8NEFK9liJhnirz7We YByg== 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=aJyGa6QZ/2HHxJd5mSD0AMyeNDgo2/uZOKumzzbEy0UD+ir8CRj+j6BHu4QAUeJl91 wwz/HsrbJ/w+Mk/z81teUGSzQVWKmcj4/p8STUhT+pDD5pxDLtGoQrYXFePjoWhyQzBV apD9n+GT9to0gE+ddn+YsbmjLiO7BUUnk+Yphq/O5gxYVIE/RPlVhRciFfMNbKjgMM+N IbromAxl/vjvKU+UxLQ3UUVS2T6tubxDbww6SRICHczoal2RfZGrEhUI3MP7yBm7HIhX ELHxFA/u0aflYvQRTHDver07JeiAM+ImZp3kgvuvqddGfRRb/WnBXRKk+14lVx4Ata6C db1w== X-Forwarded-Encrypted: i=1; AJvYcCVXTvRoH7bLScv/OHzzGPrClkrBbjTkzAPA/W4pBPn4xP1y8eQG478jQB92sMkGtk1DdpCYiyCuHEWo5a+mlF4+R4S2p0g1Ei83RTnvtiXl4AH2spiaS3S+jZQP8/uZgcxFdGXNgovdxA== X-Gm-Message-State: AOJu0YwYSRdmq35OemS0+tfciWWBh61WnrofbF5HqVB5FB2EPhaMZ+mO gnbzb9I2vwb8cRVf5eHb/lKzu5bqCjfVQteM86y21v9WbIMSWVGc 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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= 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/b= oot/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 { =20 fan: pwm-fan { compatible =3D "pwm-fan"; - cooling-levels =3D <0 95 145 195 255>; + cooling-levels =3D <0 120 150 180 210 240 255>; fan-supply =3D <&vcc5v0_sys>; pwms =3D <&pwm1 0 50000 0>; #cooling-cells =3D <2>; @@ -286,6 +286,34 @@ i2s0_8ch_p0_0: endpoint { }; }; =20 +&package_thermal { + polling-delay =3D <1000>; + + trips { + package_fan0: package-fan0 { + temperature =3D <55000>; + hysteresis =3D <2000>; + type =3D "active"; + }; + package_fan1: package-fan1 { + temperature =3D <65000>; + hysteresis =3D <2000>; + type =3D "active"; + }; + }; + + cooling-maps { + map1 { + trip =3D <&package_fan0>; + cooling-device =3D <&fan THERMAL_NO_LIMIT 1>; + }; + map2 { + trip =3D <&package_fan1>; + cooling-device =3D <&fan 2 THERMAL_NO_LIMIT>; + }; + }; +}; + &pcie2x1l0 { pinctrl-names =3D "default"; pinctrl-0 =3D <&pcie2_0_rst>; --=20 2.45.2 From nobody Thu Dec 18 00:22:24 2025 Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1345E199220; Mon, 17 Jun 2024 18:29:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648986; cv=none; b=XqLoPLboKc+e5Bv0AusFagFGPGradgcHMhR0Bb6tqsiJe2wrEgdFSd/NXxMEp6Q39waJXuoGMegSgzib2KbqSQOmF50eHjSordSERtLJpofezWbnLxPI2QSYpisqQ0d76cDYxzGgXx2Dn7jTpsDwJkUGEsO0UtMho3lAlgjm4To= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648986; c=relaxed/simple; bh=Lw6cvt6e5TFSBzp/kko3I8KOLayecFMagWIlbMmvaMY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aOmbuRSdV9mE30kjU2gLpf6g7583Cwo1iUOzZK2qgp/CO0urdjEMhUowvYRuOvM7SmhGYrO6bNcj11FMfpjmo0ylxeuJlZ+PMZhTRs7lfsozAmBc1uQSuLU3ZAg64Bic3B+Yg+Xw9kOvp79YtZCOT3YsQZxRaCsVvJzOwJfbnS4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=duVMtgfB; arc=none smtp.client-ip=209.85.208.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="duVMtgfB" Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2eaae2a6dc1so83419131fa.0; 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=vger.kernel.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=duVMtgfB7Lfd1LOxz9Uay9Kb10Sm71Zd/mx7L9IhhpCGHKZEy3yoMcKr4taxfB+SnO jpH5/LRW3YecMgKvUGwHJMZvrAHpeM2Q4EQELqAKyOAAgOfhoGj6n+Le88Imy5lb86Un tpChdojAV6dEzPS+yn6ou7DLup2UR1Zk+UQUl8bSJXTlQ/uzZO/0FFIBkGEs72q3FlRQ cAbGAWL9EgWKWnYcdibC1uqqG5Bi4ZlrGTFh6sJCdc5Esnyx7IWg3zpOpszrhMjWuiag Q4Fqsg+3Oqc9igAFg0YOcwdBHOsXHbotCy1CqkCEzok07GA8jLFCXTap07QROu/c5X/3 Ek1Q== 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=uzOusDg6UONuRgPAE41bt1V/zLhORhtGw1NBrvqCjet1RPMllWwWJBS2okYqodgQeb KvV8cpkeN4F61yH05qiScjTLOibpaNzz6WYOEbpz4ziVOXBiAxiE4nJinsdoP7efVlLa aHtBQUC/UmCi1VgQZmoT4G705ZSoXmhD1eFrZc2jd/4ZSwF2VwtRtR7H5fLSYlANFcC7 H7pLV/sCIJ1MVtOXBSbrep+92a2KfISqPNVJLka/biIIb3tf9fLHgqg68ecz0R+3NPwG PkffUW7yznEN5VL0vyid/nQR3Gya16vG0ek0n2oaa2aP7vM+W5SPbQE7a7GZaqczE1wg gicA== X-Forwarded-Encrypted: i=1; AJvYcCXTKFQbMgsVu68abfLch2or8cXIEUtWslV3KPwfIdehXrtbk0/wwDpLyeM93aLWzyo4nxwiWy6/m+X/zeGJbvQl85AZHj1sPsW9gsPIO+6wVh9rc1CO9D+G+Oy9BLxkPPH4bpaLp4TDFg== X-Gm-Message-State: AOJu0Yw7tnK627QnlqLMY9nnW1fxBSFvf6dm/5NMbR9NNo3H+UQeEpTV U4kcxFept4y8DY/ylU7NqpJxeBBvy0j24LDuz1QMAgjecEzJWkEk 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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= 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 =3D <&vdd_cpu_big1_mem_s0>; + regulator-coupled-max-spread =3D <10000>; regulator-min-microvolt =3D <550000>; regulator-max-microvolt =3D <1050000>; regulator-ramp-delay =3D <12500>; @@ -890,6 +892,8 @@ regulator-state-mem { vdd_cpu_big0_s0: dcdc-reg2 { regulator-always-on; regulator-boot-on; + regulator-coupled-with =3D <&vdd_cpu_big0_mem_s0>; + regulator-coupled-max-spread =3D <10000>; regulator-min-microvolt =3D <550000>; regulator-max-microvolt =3D <1050000>; regulator-ramp-delay =3D <12500>; @@ -902,6 +906,8 @@ regulator-state-mem { vdd_cpu_lit_s0: dcdc-reg3 { regulator-always-on; regulator-boot-on; + regulator-coupled-with =3D <&vdd_cpu_lit_mem_s0>; + regulator-coupled-max-spread =3D <10000>; regulator-min-microvolt =3D <550000>; regulator-max-microvolt =3D <950000>; regulator-ramp-delay =3D <12500>; @@ -926,6 +932,8 @@ regulator-state-mem { vdd_cpu_big1_mem_s0: dcdc-reg5 { regulator-always-on; regulator-boot-on; + regulator-coupled-with =3D <&vdd_cpu_big1_s0>; + regulator-coupled-max-spread =3D <10000>; regulator-min-microvolt =3D <675000>; regulator-max-microvolt =3D <1050000>; regulator-ramp-delay =3D <12500>; @@ -939,6 +947,8 @@ regulator-state-mem { vdd_cpu_big0_mem_s0: dcdc-reg6 { regulator-always-on; regulator-boot-on; + regulator-coupled-with =3D <&vdd_cpu_big0_s0>; + regulator-coupled-max-spread =3D <10000>; regulator-min-microvolt =3D <675000>; regulator-max-microvolt =3D <1050000>; regulator-ramp-delay =3D <12500>; @@ -963,6 +973,8 @@ regulator-state-mem { vdd_cpu_lit_mem_s0: dcdc-reg8 { regulator-always-on; regulator-boot-on; + regulator-coupled-with =3D <&vdd_cpu_lit_s0>; + regulator-coupled-max-spread =3D <10000>; regulator-min-microvolt =3D <675000>; regulator-max-microvolt =3D <950000>; regulator-ramp-delay =3D <12500>; diff --git a/arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts b/arch/arm= 64/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 =3D "vdd_cpu_big1_s0"; regulator-always-on; regulator-boot-on; + regulator-coupled-with =3D <&vdd_cpu_big1_mem_s0>; + regulator-coupled-max-spread =3D <10000>; regulator-min-microvolt =3D <550000>; regulator-max-microvolt =3D <1050000>; regulator-ramp-delay =3D <12500>; @@ -845,6 +847,8 @@ vdd_cpu_big0_s0: dcdc-reg2 { regulator-name =3D "vdd_cpu_big0_s0"; regulator-always-on; regulator-boot-on; + regulator-coupled-with =3D <&vdd_cpu_big0_mem_s0>; + regulator-coupled-max-spread =3D <10000>; regulator-min-microvolt =3D <550000>; regulator-max-microvolt =3D <1050000>; regulator-ramp-delay =3D <12500>; @@ -858,6 +862,8 @@ vdd_cpu_lit_s0: dcdc-reg3 { regulator-name =3D "vdd_cpu_lit_s0"; regulator-always-on; regulator-boot-on; + regulator-coupled-with =3D <&vdd_cpu_lit_mem_s0>; + regulator-coupled-max-spread =3D <10000>; regulator-min-microvolt =3D <550000>; regulator-max-microvolt =3D <950000>; regulator-ramp-delay =3D <12500>; @@ -884,6 +890,8 @@ vdd_cpu_big1_mem_s0: dcdc-reg5 { regulator-name =3D "vdd_cpu_big1_mem_s0"; regulator-always-on; regulator-boot-on; + regulator-coupled-with =3D <&vdd_cpu_big1_s0>; + regulator-coupled-max-spread =3D <10000>; regulator-min-microvolt =3D <675000>; regulator-max-microvolt =3D <1050000>; regulator-ramp-delay =3D <12500>; @@ -898,6 +906,8 @@ vdd_cpu_big0_mem_s0: dcdc-reg6 { regulator-name =3D "vdd_cpu_big0_mem_s0"; regulator-always-on; regulator-boot-on; + regulator-coupled-with =3D <&vdd_cpu_big0_s0>; + regulator-coupled-max-spread =3D <10000>; regulator-min-microvolt =3D <675000>; regulator-max-microvolt =3D <1050000>; regulator-ramp-delay =3D <12500>; @@ -924,6 +934,8 @@ vdd_cpu_lit_mem_s0: dcdc-reg8 { regulator-name =3D "vdd_cpu_lit_mem_s0"; regulator-always-on; regulator-boot-on; + regulator-coupled-with =3D <&vdd_cpu_lit_s0>; + regulator-coupled-max-spread =3D <10000>; regulator-min-microvolt =3D <675000>; regulator-max-microvolt =3D <950000>; regulator-ramp-delay =3D <12500>; --=20 2.45.2 From nobody Thu Dec 18 00:22:24 2025 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AFEEA19923F; Mon, 17 Jun 2024 18:29:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648990; cv=none; b=WwoJ23rkYJvvewEj6SbrogouHQOKeGLRaRE5ioTRaGr6Nrt8mhlESTDfgASuaT2v22J/gzZ2LrrBOtlL81NBwjFx4XBgNPKDF9l0geSKx+DSpjUduwoWtBeNIyW0qGStG8z4VACxGr3WEYr+QKVwg1cVzkSSJilA9vVhRREe/Cs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648990; c=relaxed/simple; bh=FnSNCV3/dY8Km0myfhW8fZDwqPdlrAVPS2pOSSMxu0E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=J1AdGA4W6+HRSeKhpChY7cMLxgHXLLOR+kwBigBOuTkK8nLVsWphwY+wc5B0zcU4kEM+wouu0WG9LCNFOzmaR1QAwZIQWp+IU/E+aJjIRsCFbEK05VzjCCcr9LA/xQRSrv6C+lofSb8WAodmew8pEqFBzKcRIyEa8fALFLxiCAM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QQdlLyXZ; arc=none smtp.client-ip=209.85.218.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QQdlLyXZ" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-a6e43dad8ecso808563066b.1; 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=vger.kernel.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=QQdlLyXZnuP5xx2tiYj00kohq95szmmwTSvXUe7OdcTy8SXdV+UAWlo1vgVvP8ZhyV FVKrfVt8LcJIrG2Q8eoOsZm/SqmNH1FhyTe/r6REbufmfGSKrU9YBRmF3NlxyNRBkX4e SuLsFfDg6fLIKb5ncqZa7ibAvV22HoF1HCV/B2XVFzC5kH4TNO3ZchGE/+O8rAxvnmV+ mcnDI5dK1q7/wTCxzSmoQFyrFFjbvn6qaalipGGme9wcohDUhLMXoaZPi2pmEl+Wpxy7 0HZG5v2BtmeficUbHWE5+Dwsid9N2ZjA03kbw1D3S7iUG9OU9vuHNfzQiYTB9/xCZ4Xa A3QA== 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=RmP1SiEH2qQZ2G30UcHgeJ8TPdyC0WiaUWfmUbmZfMvS3UwRV0KoAUjcjbEiG454nw N9g9KUFMgRoJ+41RpZiyWtXpLSpz7f0GXWvLgN5r98N0UoQ0Rrkx+cEMfPoF1BX3dFwy lKALnwM91YzAID29+BqS7Wan54kEBunArG7zB43+yCvKi6A25s79p6qLIEH+OqVPFuaC wEVEkc4s9OY5yYoQ+eH6F8j8uEaboAkEJYV0HE2H7HgcPpFc3uz0PPW/CEodyTbvZHsi AyRQKTPuthBekWmZXEhtl8zp2mnpWVcYj0ofA988/LceeSuxYMzF1vTnn/OMBSP6Gt8k 5HpQ== X-Forwarded-Encrypted: i=1; AJvYcCVzOgZTBixg/Ho7KTUXMuKuzVmhyZn6yzC51He2dnbhyR3WI0up9R4yxiSeDlRtuHdAVZERixhixghXazxe96iVySqJKktT7tzpVvc6W5TAohTIWZM7OjxGK5hqypsswe5S+EkcQNBU8w== X-Gm-Message-State: AOJu0Yzdm6jH/YkwGGpCTMKw4s3xgpq4BAhQQ5Pb8nFFcc/D4ZraEOgm A8FKJFdyqFH4eajI6T0Z/IBatCSoCEC8PGXbJEDpm/ewFFOerEEt 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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= 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 =3D "operating-points-v2"; + opp-shared; + + opp-1008000000 { + opp-hz =3D /bits/ 64 <1008000000>; + opp-microvolt =3D <675000 675000 950000>; + clock-latency-ns =3D <40000>; + }; + opp-1200000000 { + opp-hz =3D /bits/ 64 <1200000000>; + opp-microvolt =3D <712500 712500 950000>; + clock-latency-ns =3D <40000>; + }; + opp-1416000000 { + opp-hz =3D /bits/ 64 <1416000000>; + opp-microvolt =3D <762500 762500 950000>; + clock-latency-ns =3D <40000>; + opp-suspend; + }; + opp-1608000000 { + opp-hz =3D /bits/ 64 <1608000000>; + opp-microvolt =3D <850000 850000 950000>; + clock-latency-ns =3D <40000>; + }; + opp-1800000000 { + opp-hz =3D /bits/ 64 <1800000000>; + opp-microvolt =3D <950000 950000 950000>; + clock-latency-ns =3D <40000>; + }; + }; + + cluster1_opp_table: opp-table-cluster1 { + compatible =3D "operating-points-v2"; + opp-shared; + + opp-1200000000 { + opp-hz =3D /bits/ 64 <1200000000>; + opp-microvolt =3D <675000 675000 1000000>; + clock-latency-ns =3D <40000>; + }; + opp-1416000000 { + opp-hz =3D /bits/ 64 <1416000000>; + opp-microvolt =3D <725000 725000 1000000>; + clock-latency-ns =3D <40000>; + }; + opp-1608000000 { + opp-hz =3D /bits/ 64 <1608000000>; + opp-microvolt =3D <762500 762500 1000000>; + clock-latency-ns =3D <40000>; + }; + opp-1800000000 { + opp-hz =3D /bits/ 64 <1800000000>; + opp-microvolt =3D <850000 850000 1000000>; + clock-latency-ns =3D <40000>; + }; + opp-2016000000 { + opp-hz =3D /bits/ 64 <2016000000>; + opp-microvolt =3D <925000 925000 1000000>; + clock-latency-ns =3D <40000>; + }; + opp-2208000000 { + opp-hz =3D /bits/ 64 <2208000000>; + opp-microvolt =3D <987500 987500 1000000>; + clock-latency-ns =3D <40000>; + }; + opp-2400000000 { + opp-hz =3D /bits/ 64 <2400000000>; + opp-microvolt =3D <1000000 1000000 1000000>; + clock-latency-ns =3D <40000>; + }; + }; + + cluster2_opp_table: opp-table-cluster2 { + compatible =3D "operating-points-v2"; + opp-shared; + + opp-1200000000 { + opp-hz =3D /bits/ 64 <1200000000>; + opp-microvolt =3D <675000 675000 1000000>; + clock-latency-ns =3D <40000>; + }; + opp-1416000000 { + opp-hz =3D /bits/ 64 <1416000000>; + opp-microvolt =3D <725000 725000 1000000>; + clock-latency-ns =3D <40000>; + }; + opp-1608000000 { + opp-hz =3D /bits/ 64 <1608000000>; + opp-microvolt =3D <762500 762500 1000000>; + clock-latency-ns =3D <40000>; + }; + opp-1800000000 { + opp-hz =3D /bits/ 64 <1800000000>; + opp-microvolt =3D <850000 850000 1000000>; + clock-latency-ns =3D <40000>; + }; + opp-2016000000 { + opp-hz =3D /bits/ 64 <2016000000>; + opp-microvolt =3D <925000 925000 1000000>; + clock-latency-ns =3D <40000>; + }; + opp-2208000000 { + opp-hz =3D /bits/ 64 <2208000000>; + opp-microvolt =3D <987500 987500 1000000>; + clock-latency-ns =3D <40000>; + }; + opp-2400000000 { + opp-hz =3D /bits/ 64 <2400000000>; + opp-microvolt =3D <1000000 1000000 1000000>; + clock-latency-ns =3D <40000>; + }; + }; +}; + +&cpu_b0 { + operating-points-v2 =3D <&cluster1_opp_table>; +}; + +&cpu_b1 { + operating-points-v2 =3D <&cluster1_opp_table>; +}; + +&cpu_b2 { + operating-points-v2 =3D <&cluster2_opp_table>; +}; + +&cpu_b3 { + operating-points-v2 =3D <&cluster2_opp_table>; +}; + +&cpu_l0 { + operating-points-v2 =3D <&cluster0_opp_table>; +}; + +&cpu_l1 { + operating-points-v2 =3D <&cluster0_opp_table>; +}; + +&cpu_l2 { + operating-points-v2 =3D <&cluster0_opp_table>; +}; + +&cpu_l3 { + operating-points-v2 =3D <&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 @@ */ =20 #include "rk3588-extra.dtsi" +#include "rk3588-opp.dtsi" diff --git a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi b/arch/arm64/boot/dt= s/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 @@ */ =20 #include "rk3588-base.dtsi" +#include "rk3588-opp.dtsi" --=20 2.45.2 From nobody Thu Dec 18 00:22:24 2025 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A2AA6199259; Mon, 17 Jun 2024 18:29:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648994; cv=none; b=f7PvWk7MIUIQbKq8Bxi1Hu85kpVZvxvEelZyXGX9TcljQ0347Y9NFpwHAfm0M4z2KzMFCr6aV4zl9Xt3Yq+pOY9mqtjtcI5ymRj/7KNNqXXrOqMiyC2k4dz3/YyLdtfiN9zw1+sQBTAOycND4vjMsyxHtGuz/Pvfvh9sL0JC4L8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648994; c=relaxed/simple; bh=9usg1860HeLN2D86kwAGVsch0yxyMQiUOvKvhiX96F0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JRnrfwaMnd5qzb7sHF4q18j6h16V0G3sJsOCUhj5j1bKDOzTdKCAfOHH45ShyfR5aOnzqOEDS3jzqmbNupytWWi1THiFveG2cOpVnnSA7VJAv5pBXDvZ11tPBhLpKdu+fj/obCCjWYTCT9lAf6o9l69TdoC9ykgtZ2v0bDL5Yuc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IRNoWXuH; arc=none smtp.client-ip=209.85.218.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IRNoWXuH" Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-a6f958a3a69so12551966b.1; 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=vger.kernel.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=IRNoWXuH0GYK5yPfH1kZ57Z3Sx3NJD6MXo1OOa/EApNK1wEuk6LVIqc6JY5ieYY/dH beBqPj9r6L4KVYPNnClCJJCEt3HGH3VSsLSVuXTBZtX+edVkmQyIBhSqkn1ktsmJiItT DxpDopWWsbGXz5kROTKa9MSwyLm3FncbvkXtwyAAoIeLeND8Q5cDozatQexFrAslynxg 43rBmE77RElodgww3CpAyhnfJFbtUPMPwBxWU5qX1RhAxYb1D+jEypRpw6abhfANjPG4 FqN7xJjpqFfuWWC/0Z27XG5UFb1YKpUP620PfK8asUbcMbxUMTbNEQ5GqllseTeOBe7R v8zw== 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=bcz33RCsYpCdg4LJ6ulyh9gsR7fBpfAp1KKOaEKPcTZ/25qlHPOA705+H72ACVd2fy LAg/AbAqvB1iObSOrGB4jMHkXWCh6rRHWpBKmnqRNoxqJywx/yUG3qr8zw+rJTt+uwva XpyAiGEAWuSqUpRmaKH1tcXfCkIDahjcYloGE07BzPSTW8dHfgT1WizKYHg4XvCF+d5O stpAwFoqwYmNfmDSCJTHYFXpWmTNvW3Csu4K0jbA6PjHmx1Flsmt01SfllrDiXzkz9Xj tI4LfECiHn4GY2oNdavM055kVjhwfAUt33ijHSW1yWWbQhWJISDlRvwkw2ujOsTZH/pK /low== X-Forwarded-Encrypted: i=1; AJvYcCVVXBGEDfYUWAfpGc2z+ffWiqVj6Z7KcqCeACCXtLtLM6Tlc8TTJ412EflGxVllH8NsnB11xKC5kKbqAbcU8B1nrecApAiPqmsiJpqD3niuXBOG0d/Dfg3O+E3ToayEZSjbZmhuKz1Tbg== X-Gm-Message-State: AOJu0Yznd6nHKDRWl0JqEEjyWLvSu5nV3fUn98HMWIkq006hsM3Wg5xW JnpMnpuUTNa1+WsvYa16hC5lgCm4xW5SqzwfOajfLZ5iGcLxtTIt 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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= 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/604cec4004abe5a96c734f2fa= b7b74809d2d742f/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/dt= s/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 @@ */ =20 #include "rk3588-extra.dtsi" + +/ { + cluster0_opp_table: opp-table-cluster0 { + compatible =3D "operating-points-v2"; + opp-shared; + + opp-1416000000 { + opp-hz =3D /bits/ 64 <1416000000>; + opp-microvolt =3D <750000 750000 950000>; + clock-latency-ns =3D <40000>; + opp-suspend; + }; + opp-1608000000 { + opp-hz =3D /bits/ 64 <1608000000>; + opp-microvolt =3D <887500 887500 950000>; + clock-latency-ns =3D <40000>; + }; + opp-1704000000 { + opp-hz =3D /bits/ 64 <1704000000>; + opp-microvolt =3D <937500 937500 950000>; + clock-latency-ns =3D <40000>; + }; + }; + + cluster1_opp_table: opp-table-cluster1 { + compatible =3D "operating-points-v2"; + opp-shared; + + opp-1416000000 { + opp-hz =3D /bits/ 64 <1416000000>; + opp-microvolt =3D <750000 750000 950000>; + clock-latency-ns =3D <40000>; + }; + opp-1608000000 { + opp-hz =3D /bits/ 64 <1608000000>; + opp-microvolt =3D <787500 787500 950000>; + clock-latency-ns =3D <40000>; + }; + opp-1800000000 { + opp-hz =3D /bits/ 64 <1800000000>; + opp-microvolt =3D <875000 875000 950000>; + clock-latency-ns =3D <40000>; + }; + opp-2016000000 { + opp-hz =3D /bits/ 64 <2016000000>; + opp-microvolt =3D <950000 950000 950000>; + clock-latency-ns =3D <40000>; + }; + }; + + cluster2_opp_table: opp-table-cluster2 { + compatible =3D "operating-points-v2"; + opp-shared; + + opp-1416000000 { + opp-hz =3D /bits/ 64 <1416000000>; + opp-microvolt =3D <750000 750000 950000>; + clock-latency-ns =3D <40000>; + }; + opp-1608000000 { + opp-hz =3D /bits/ 64 <1608000000>; + opp-microvolt =3D <787500 787500 950000>; + clock-latency-ns =3D <40000>; + }; + opp-1800000000 { + opp-hz =3D /bits/ 64 <1800000000>; + opp-microvolt =3D <875000 875000 950000>; + clock-latency-ns =3D <40000>; + }; + opp-2016000000 { + opp-hz =3D /bits/ 64 <2016000000>; + opp-microvolt =3D <950000 950000 950000>; + clock-latency-ns =3D <40000>; + }; + }; +}; + +&cpu_b0 { + operating-points-v2 =3D <&cluster1_opp_table>; +}; + +&cpu_b1 { + operating-points-v2 =3D <&cluster1_opp_table>; +}; + +&cpu_b2 { + operating-points-v2 =3D <&cluster2_opp_table>; +}; + +&cpu_b3 { + operating-points-v2 =3D <&cluster2_opp_table>; +}; + +&cpu_l0 { + operating-points-v2 =3D <&cluster0_opp_table>; +}; + +&cpu_l1 { + operating-points-v2 =3D <&cluster0_opp_table>; +}; + +&cpu_l2 { + operating-points-v2 =3D <&cluster0_opp_table>; +}; + +&cpu_l3 { + operating-points-v2 =3D <&cluster0_opp_table>; +}; --=20 2.45.2 From nobody Thu Dec 18 00:22:24 2025 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1CA04199E87; Mon, 17 Jun 2024 18:29:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648997; cv=none; b=ayCc+7cerUH/Qh52+/zb2iW8DFR3KdC0wLr3xs+yYocm3FYps05Pu3sBYYiUtXTu18nGfy2sQD5aZmUQ75tvfRgQSPLJlqb34F1Ir7Ie6Ta2RMQjq/UGkflx/7uixXtGbWJgUxZQnziPDLNe+lBfij+uqAwkqj547otdcF2mQhc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718648997; c=relaxed/simple; bh=cu+UhDK5oOLgPtUwnbvA8VAbLQ3CEl/qKKmthR966F0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BSaZOUnXjBDCfpbmP4SN1uFPRAvn6+rvU0A6NfqkPywx9lJF44VUbXs0/BtptQcA/ykaR3YL4tPUyeYX/6xttlO0hp63j1u5AHdEPa1I8A8MRFCMKV2deLDSZRo1/SdFD5pMC9Z15xuWlo/KcfQhqBYWbKbhRPfCmcKDivPS/os= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Lr8jYaFi; arc=none smtp.client-ip=209.85.218.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Lr8jYaFi" Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-a6269885572so972137766b.1; 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=vger.kernel.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=Lr8jYaFiRZfQnTnZ+i8yg2IYMGPw7Bf8e9s1qUwC2HyVF7A7DjIgx9ZRR4ynJ68Fq1 cxyGuGUEN8tKoJK3grwRwLo2vqvRf+hM/ntVb14nYyewbaVwiCSbQwhoigxXm51I6Ick dGN+kndJB2YnOglg1nyXsmgicWKszEwRKvy7I3BtjdAezsz5YzW7kX4reZ0ZvT06JRk2 cU/Fg4MF+iW2RLxt9sMbI0rZ4P2UH95JkplBx92E1s+HwWklrE9bYvU1i0/boRok/oN9 YT5Di3W6xFrGx9arp7ReJBeZ+0vvCHFyQU4sbghCrCDy1Y8V+UYrFWXFkeCp/PYEMiXS gsTw== 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=OqqTnxceTlR61C9+BJ00akquOBs94lQDQ4XRaih+Z5LZhN7AiFaVDjZLG/A5Ke5Abv v8Y3hkGuiLbVYFrUrfRDKqwg4+S32ToQ4ar2bQEvBgLU58+v8pBLxaqWTMSukJ07IJWq oY6JfIh4HGmcuJK42bHDFBxv3rjs/UueKXJiHJAt2DYSLMmyHx99HRFOt0LZz5pcj3Y0 /jDJ6oD20a6UTCW2k4SboBrllLUltaYQZruWWT3R1Kg1IqTyFsCnSJ5l2YDVhNyQwsfx KI1AwV6cebuJnjVCqJXzoV2XTf458lwA5v6wXDkTUXSM0PPHsg2L4XVlqz8ln1Njl6jt sMEA== X-Forwarded-Encrypted: i=1; AJvYcCUWxwtvat83AwMJKepTPcfH3xpu7lxWTaB0uJe9Nub8phFaIle8ZDxKF2rLqWlotYrqxa/895tcARvtfeRh7Id6z7Dm8420vDXjgjKmPdnCtmZ2FzKCMcQNWWNRKpFzwvLo1cnPPU8fCA== X-Gm-Message-State: AOJu0Yxwgwh4OnyPf8yCDo73EnE0B+/EwjEzaN+hGxnAToucV3Zzwpu6 mK3DaW1jsCu9c4vM5+oj+R4byEolcplmc+3vCAqvjuNg/0b25brafyhIvtcuqlPA+g== 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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= 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/604cec4004abe5a96c734f2fa= b7b74809d2d742f/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/boo= t/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 =3D "job", "mmu", "gpu"; - operating-points-v2 =3D <&gpu_opp_table>; power-domains =3D <&power RK3588_PD_GPU>; status =3D "disabled"; - - gpu_opp_table: opp-table { - compatible =3D "operating-points-v2"; - - opp-300000000 { - opp-hz =3D /bits/ 64 <300000000>; - opp-microvolt =3D <675000 675000 850000>; - }; - opp-400000000 { - opp-hz =3D /bits/ 64 <400000000>; - opp-microvolt =3D <675000 675000 850000>; - }; - opp-500000000 { - opp-hz =3D /bits/ 64 <500000000>; - opp-microvolt =3D <675000 675000 850000>; - }; - opp-600000000 { - opp-hz =3D /bits/ 64 <600000000>; - opp-microvolt =3D <675000 675000 850000>; - }; - opp-700000000 { - opp-hz =3D /bits/ 64 <700000000>; - opp-microvolt =3D <700000 700000 850000>; - }; - opp-800000000 { - opp-hz =3D /bits/ 64 <800000000>; - opp-microvolt =3D <750000 750000 850000>; - }; - opp-900000000 { - opp-hz =3D /bits/ 64 <900000000>; - opp-microvolt =3D <800000 800000 850000>; - }; - opp-1000000000 { - opp-hz =3D /bits/ 64 <1000000000>; - opp-microvolt =3D <850000 850000 850000>; - }; - }; }; =20 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 =3D <40000>; }; }; + + gpu_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-300000000 { + opp-hz =3D /bits/ 64 <300000000>; + opp-microvolt =3D <675000 675000 850000>; + }; + opp-400000000 { + opp-hz =3D /bits/ 64 <400000000>; + opp-microvolt =3D <675000 675000 850000>; + }; + opp-500000000 { + opp-hz =3D /bits/ 64 <500000000>; + opp-microvolt =3D <675000 675000 850000>; + }; + opp-600000000 { + opp-hz =3D /bits/ 64 <600000000>; + opp-microvolt =3D <675000 675000 850000>; + }; + opp-700000000 { + opp-hz =3D /bits/ 64 <700000000>; + opp-microvolt =3D <700000 700000 850000>; + }; + opp-800000000 { + opp-hz =3D /bits/ 64 <800000000>; + opp-microvolt =3D <750000 750000 850000>; + }; + opp-900000000 { + opp-hz =3D /bits/ 64 <900000000>; + opp-microvolt =3D <800000 800000 850000>; + }; + opp-1000000000 { + opp-hz =3D /bits/ 64 <1000000000>; + opp-microvolt =3D <850000 850000 850000>; + }; + }; }; =20 &cpu_b0 { @@ -147,3 +184,7 @@ &cpu_l2 { &cpu_l3 { operating-points-v2 =3D <&cluster0_opp_table>; }; + +&gpu { + operating-points-v2 =3D <&gpu_opp_table>; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3588j.dtsi b/arch/arm64/boot/dt= s/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 =3D <40000>; }; }; + + gpu_opp_table: opp-table { + compatible =3D "operating-points-v2"; + + opp-300000000 { + opp-hz =3D /bits/ 64 <300000000>; + opp-microvolt =3D <750000 750000 850000>; + }; + opp-400000000 { + opp-hz =3D /bits/ 64 <400000000>; + opp-microvolt =3D <750000 750000 850000>; + }; + opp-500000000 { + opp-hz =3D /bits/ 64 <500000000>; + opp-microvolt =3D <750000 750000 850000>; + }; + opp-600000000 { + opp-hz =3D /bits/ 64 <600000000>; + opp-microvolt =3D <750000 750000 850000>; + }; + opp-700000000 { + opp-hz =3D /bits/ 64 <700000000>; + opp-microvolt =3D <750000 750000 850000>; + }; + opp-850000000 { + opp-hz =3D /bits/ 64 <800000000>; + opp-microvolt =3D <787500 787500 850000>; + }; + }; }; =20 &cpu_b0 { @@ -113,3 +142,7 @@ &cpu_l2 { &cpu_l3 { operating-points-v2 =3D <&cluster0_opp_table>; }; + +&gpu { + operating-points-v2 =3D <&gpu_opp_table>; +}; --=20 2.45.2