From patchwork Wed Sep 11 08:41:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nick Chan X-Patchwork-Id: 13800077 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 44A8EEE021F for ; Wed, 11 Sep 2024 09:12: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:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=skKJu76OJxOTwD1xlwFtFFTVKvyWq0V0wXx6JaBgBBg=; b=Sa1qZ5qqawMPoa9O+6cPZCBe/e KnjyWUsfW8pNBOTP8sYEhGazyTVoM3G5D2UBGr8M23/eWfeNBUXTb/lq0LLDgpCrWIi9y/7DXBpUA /dr7XndTVEKNm+i37h/fN6XMyKzbSwxwerphRQn8dAbHUcsinCdkc6pzAFN6rwBxMcE+/0rO/5iNG /AmQZ0VHz5DVbmC7nCrjKvmndIA4RX5C7cXjfIAbJDkbuQJcCm0/6S6/cvmI3UNk30nDdSn5PtDGG FihpQkBCh6Q2u+rcA+oBwry4vvW90HYEnsu9ViTeG/UOylBV87Po3Th+qbtIJ5R22XIHKPSd3K3SJ us/uo19Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1soJOV-00000008r7l-2Mwr; Wed, 11 Sep 2024 09:12:11 +0000 Received: from mail-pg1-x535.google.com ([2607:f8b0:4864:20::535]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1soJ1c-00000008klc-1G8Q for linux-arm-kernel@lists.infradead.org; Wed, 11 Sep 2024 08:48:33 +0000 Received: by mail-pg1-x535.google.com with SMTP id 41be03b00d2f7-7db174f9050so76370a12.3 for ; Wed, 11 Sep 2024 01:48:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726044512; x=1726649312; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=skKJu76OJxOTwD1xlwFtFFTVKvyWq0V0wXx6JaBgBBg=; b=C0A3t5C6TxUiseNMCpugLBintA9EEjC0eZkVjt5lWtPe0T6FXf7SlZYu5kRT7bobuj FT12SkuNPeCG6ZV2H9bQ1tOwV8BZMIz+trWwHI8mlKO2fRQ/LOg+/bY58K6slIyjDgEF BjZqisgvVcb69EaefS/4XZGN+1QbjhvleSH16TN91HG4MVQqUn8b3jHTd+BRSY970i8Q zqaEs3D5gB/RghBVNCNfNf/PKGKZd1tIf/cYCeTLWWVU/3TcIiN/pGqytyhOh037vEeR aqHH2N+9HAIHjow2WHGpkWhKBPLCZm/HCRAEy2RmwEMAARMi2HInVI+oslu7Fq8f8pxf Wdxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726044512; x=1726649312; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=skKJu76OJxOTwD1xlwFtFFTVKvyWq0V0wXx6JaBgBBg=; b=aQMcbKrk/RWyRj9xz/2dn2dBxHA10psq1B1HX6JHkX2cHfUgpcqkknG2YV4/AGW9so /W90VcijykVh2mHdtyQDwd7hJv/wEI8LbToocK5QZyVXNdzajvQAtfxouzwDmls9k8xF DiMAU4kGfZU9nY7wvMGRD11Xi8AZM+wTK0tz9d1VT6Zcc1sJAql3/61zBnVvs+g3ry4r RAGKacqWbaM0x6mLYdOy0iPoPGupBLVg0Gth/wFzbrAzo7g2Up6/z08mHT3MTuX3A9a8 KQBYclsWeAHcvLo2KqcxSsLxOBaG6vuiM7dopfJ3mUzTPbrGe97J8JxhUEsNexbggudG pEmQ== X-Forwarded-Encrypted: i=1; AJvYcCX/9mMyMC8fcJXCRA282B0ftB9aVAZLQmebxLs5q5SaDPK/PU0dutTie9Qk2WZpjuHM3TWxMOSSK71kDOtAs0bJ@lists.infradead.org X-Gm-Message-State: AOJu0YznTyPuqYebfldlxSibq+yXzs7MZcSbvc/nvd4Jxgu7BCEGgDks wo2J9xi+y3W7l7f5fSvJjn9Slc5J5otzkJ0XsghU/bpgXquFEf+n X-Google-Smtp-Source: AGHT+IF1nFu+Ec2ol7ZDJZAlfGyY2LqUQPYWowStBXV/GRNQbWDVUTiE7+BLbu8tGFNbScsr7voaSA== X-Received: by 2002:a05:6a21:a4c1:b0:1cf:4422:d18b with SMTP id adf61e73a8af0-1cf5e079ecdmr5131512637.14.1726044511757; Wed, 11 Sep 2024 01:48:31 -0700 (PDT) Received: from nick-mbp.ust.hk (wf121-022.ust.hk. [175.159.121.22]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-71909095177sm2530125b3a.112.2024.09.11.01.48.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Sep 2024 01:48:31 -0700 (PDT) From: Nick Chan To: Hector Martin , Sven Peter , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Conor Dooley , "Rafael J . Wysocki" , Viresh Kumar , Linus Walleij , Wim Van Sebroeck , Guenter Roeck , Catalin Marinas , Will Deacon , Lorenzo Pieralisi , Mark Kettenis , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-gpio@vger.kernel.org, linux-watchdog@vger.kernel.org Cc: Konrad Dybcio , Ivaylo Ivanov , Nick Chan Subject: [PATCH 21/22] arm64: dts: apple: t8010: Add cpufreq nodes Date: Wed, 11 Sep 2024 16:41:11 +0800 Message-ID: <20240911084353.28888-23-towinchenmi@gmail.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240911084353.28888-2-towinchenmi@gmail.com> References: <20240911084353.28888-2-towinchenmi@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240911_014832_362928_133854B7 X-CRM114-Status: GOOD ( 14.78 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add cpufreq nodes for the A10 SoC. The Apple iPod touch 7 can only go up to 1.64 GHz, so the higher operating points are in t8010-fast.dtsi. A10 consists of logical cores that switches between E-mode and P-mode depending on the current p-state. Each mode have different capacities so the E-mode frequencies are adjusted to make performance scale linearly with clock speed. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t8010-fast.dtsi | 19 +++++++ arch/arm64/boot/dts/apple/t8010.dtsi | 60 +++++++++++++++++++++++ 2 files changed, 79 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8010-fast.dtsi b/arch/arm64/boot/dts/apple/t8010-fast.dtsi index 4bdf1c3eccfe..9a263eadc776 100644 --- a/arch/arm64/boot/dts/apple/t8010-fast.dtsi +++ b/arch/arm64/boot/dts/apple/t8010-fast.dtsi @@ -6,3 +6,22 @@ */ #include "t8010.dtsi" + +/ { + opp: opp-table-0 { + opp08 { + opp-hz = /bits/ 64 <1944000000>; + opp-level = <8>; + }; + + opp09 { + opp-hz = /bits/ 64 <2244000000>; + opp-level = <9>; + }; + + opp10 { + opp-hz = /bits/ 64 <2340000000>; + opp-level = <10>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8010.dtsi b/arch/arm64/boot/dts/apple/t8010.dtsi index 926a0f501477..e7d7194b412c 100644 --- a/arch/arm64/boot/dts/apple/t8010.dtsi +++ b/arch/arm64/boot/dts/apple/t8010.dtsi @@ -50,6 +50,8 @@ cpu0: cpu@0 { compatible = "apple,hurricane-zephyr"; reg = <0x0 0x0>; cpu-release-addr = <0 0>; /* To be filled by loader */ + operating-points-v2 = <&opp>; + performance-domains = <&cpufreq>; enable-method = "spin-table"; device_type = "cpu"; }; @@ -58,11 +60,63 @@ cpu1: cpu@1 { compatible = "apple,hurricane-zephyr"; reg = <0x0 0x1>; cpu-release-addr = <0 0>; /* To be filled by loader */ + operating-points-v2 = <&opp>; + performance-domains = <&cpufreq>; enable-method = "spin-table"; device_type = "cpu"; }; }; + opp: opp-table-0 { + compatible = "operating-points-v2"; + + /* + * The E-core frequencies are adjusted so performance scales + * linearly with reported clock speed. + */ + + opp01 { + opp-hz = /bits/ 64 <149000000>; /* 396 MHz, E-core */ + opp-level = <1>; + }; + + opp02 { + opp-hz = /bits/ 64 <275000000>; /* 732 MHz, E-core */ + opp-level = <2>; + }; + + opp03 { + opp-hz = /bits/ 64 <410000000>; /* 1092 MHz, E-core */ + opp-level = <3>; + }; + + /* The following operating points are handled by the P-cores */ + opp04 { + opp-hz = /bits/ 64 <756000000>; + opp-level = <4>; + }; + + opp05 { + opp-hz = /bits/ 64 <1056000000>; + opp-level = <5>; + }; + + opp06 { + opp-hz = /bits/ 64 <1356000000>; + opp-level = <6>; + }; + + opp07 { + opp-hz = /bits/ 64 <1644000000>; + opp-level = <7>; + }; + + /* + * The iPod Touch 7 supports up to 1.6 GHz, faster operating + * points for other devices are in t8010-fast.dtsi + */ + }; + memory@800000000 { device_type = "memory"; reg = <0x8 0 0 0>; /* To be filled by loader */ @@ -86,6 +140,12 @@ soc { nonposted-mmio; ranges; + cpufreq: performance-controller@202f20000 { + compatible = "apple,t8010-cluster-cpufreq", "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq"; + reg = <0x2 0x2f20000 0 0x1000>; + #performance-domain-cells = <0>; + }; + serial0: serial@20a0c0000 { compatible = "apple,s5l-uart"; reg = <0x2 0x0a0c0000 0x0 0x4000>;