From nobody Sun Nov 24 19:36:48 2024 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (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 C89BD158A00; Sun, 3 Nov 2024 07:33:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619225; cv=none; b=Cc8uohMmSsS8K35QbJqvMV/m4vRmxEi3wm5o7AD7ARmGl/qw8qSpy8QPcsDpkRP1mEYZxmio6C4Et27B5sfe8M9UvchTLGQzgCVOszPedzW7Ikz2S6TTX++47TbFAnJaApSH6x9Yrd/tq+dNnglvZG4PII6yetbWyQiZg2ocF6U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619225; c=relaxed/simple; bh=XEarR1V/wSScu1ltyWhNi5l0HHJogogwRXsmiHTLBfs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GN08GuGbNK0LgaMfXXaENGYDSEvoetCz3XGoC3iSVQnlSw2Hrzb564mJFtyQuxcxhcFep7tyW6G+2+MQ01c260s/x60xkgaX9iNEzdLbIwDAwOQ00ib/4Rrps6IqlkTBrLsO0aELq2ZQQyMK96HjFC1/YXuLo98QB4+affSIC6I= 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=GLcjcv/m; arc=none smtp.client-ip=209.85.210.174 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="GLcjcv/m" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-71e8235f0b6so2850116b3a.3; Sun, 03 Nov 2024 00:33:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730619223; x=1731224023; darn=vger.kernel.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=f7y+F0NAVhdE2hhGdAP0Oqd3utvxnAK6BbO2jtHkbzc=; b=GLcjcv/mPwJNO2URgXsoo8aVAo491zSLfjp15ZChzAU/n04S1b4QfkkUbJsy62hVE0 4gR7DdqB0fZRMZkDsmXK6pESzDseoZMpj1hW7IYGpbTsGszljknF1HgtVF9Gx3E+5rvp 9PIg7toqAzqkjEWr2uk6Y8x5484mb2A/3duOFTE02aI4xeDB67cq3E+QoLFTrYUtPKSF mJ5+CFbNdgMvxpoAVsJ6zSHFiS18r9X0pcJy7g45WNoMF0lTxseumedV+7ceXtkZza+x eKfcHJtxB/O/QVyCzyirrEB319ljSnm2NqiMLqOuMQxjrcyh8VJ5sV6pEilLmiPwYIy3 h8PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730619223; x=1731224023; 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=f7y+F0NAVhdE2hhGdAP0Oqd3utvxnAK6BbO2jtHkbzc=; b=KHZubV+h61JknlQsf7ZL/wSLYyjSmVTZD5k4OfgpU/dLMu/klI9vksN2hxxQrZdbvT +dEZbvr0wVb7Jag4p47oeKxn/0Ok18+tnc4YCFTOSW+WXuRNJ0YjnY9gv2QZBaSbux0+ nf28SExQLCJZqjAr33QNF33ILmS3Yitvki2f8StcBL4FTVuQ8JO2VGndE0AmlDCRlUr4 DWI/9CRTrxWkR8MsS0MIou7NFagiUuW4N9PUhay12PVC6cmo1rLBIvX2PTgn4Vvw/K6k JnWa4ZrpcGdqUHRIf3oLqKydvbzLHm0mOPokuLwVUyGO0cT1uGWQimPosFuPT2NaeOO+ SEiw== X-Forwarded-Encrypted: i=1; AJvYcCWl1208phQwarA3jebSWznrQIrPHH+Cy9kccJMeFBySiX0KOZBppB1IWwfeEgq81q9xXaON3Px4eZ5l@vger.kernel.org, AJvYcCX94+yVSf4+4p95OVdYvG9tuoDLFTvPkYkCCZkbFmyWsOnoxwk9j+3O0O+uJ+kW8PxjjNP/kM7RuWZxGPt8@vger.kernel.org X-Gm-Message-State: AOJu0YxUDwon+JUpRX4GST9KV9Mzkwqk534CmLYXoTFNKH1neyXIMPjr zhpbxnd6zpsvzqi5GlxKvgg8oXn5LXELjo6Y4ZfEdMOeqcyUgtLn X-Google-Smtp-Source: AGHT+IE6qDUt9+yFC13+4w0ALhboEGJDjMA6yvBceFpgkq25mvQ/surgMUyOnPPCDOEl/rb4VKy2Hw== X-Received: by 2002:a17:90b:4c0b:b0:2db:2939:d9c0 with SMTP id 98e67ed59e1d1-2e93c15bf3emr17260428a91.2.1730619223097; Sun, 03 Nov 2024 00:33:43 -0700 (PDT) Received: from localhost.localdomain ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2e93da983f9sm5353443a91.5.2024.11.03.00.33.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Nov 2024 00:33:42 -0700 (PDT) From: Nick Chan To: Hector Martin , Sven Peter , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Conor Dooley , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Nick Chan , Krzysztof Kozlowski Subject: [PATCH asahi-soc/dt v3 01/10] dt-bindings: arm: apple: apple,pmgr: Add A7-A11 compatibles Date: Sun, 3 Nov 2024 15:31:12 +0800 Message-ID: <20241103073319.30672-2-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241103073319.30672-1-towinchenmi@gmail.com> References: <20241103073319.30672-1-towinchenmi@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The blocks found on Apple A7-A11 SoCs are compatible with the existing driver so add their per-SoC compatibles. Acked-by: Krzysztof Kozlowski Acked-by: Hector Martin Signed-off-by: Nick Chan --- Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml b/= Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml index 673277a7a224..5001f4d5a0dc 100644 --- a/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml +++ b/Documentation/devicetree/bindings/arm/apple/apple,pmgr.yaml @@ -22,6 +22,11 @@ properties: compatible: items: - enum: + - apple,s5l8960x-pmgr + - apple,t7000-pmgr + - apple,s8000-pmgr + - apple,t8010-pmgr + - apple,t8015-pmgr - apple,t8103-pmgr - apple,t8112-pmgr - apple,t6000-pmgr --=20 2.47.0 From nobody Sun Nov 24 19:36:48 2024 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (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 85C3A15D5CF; Sun, 3 Nov 2024 07:33:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619228; cv=none; b=MD8qxptjIBDZNnAQEEb5c4So9NgR92pYrfYki0L3gi7gwZ7HGf72E7NZWZlQPpB+S8WzG2Y/jUVWASlvNP4HKFgZSBgwHYPUhJs9buzWMAtK7+wBlkmKra3Oonmcp1LdqV35O4b/Q5/e95qsf5pC2bzkk3wX/xYGpW5eyMbGt10= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619228; c=relaxed/simple; bh=hDRg0YaHnMb/3mj2Hdxk7ZixHZuwBUovjfJTVCdFUAw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Sua/BWX/CQAymbTzqoaNnD8Z8Ta3iFqFgPPuYapZg4023upXzOcMiSxqVnnpmkfM0W5GBXtGg72xKPLC+kV/y0/HKJc9jVSnUA68MgQD0EeJhqoc6xntsTO/AUPj4JCUB21ZjPk3A0i86FoNPG3IBDowd4XvQ1Qg07DXgJpiKWc= 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=C8wZYeR0; arc=none smtp.client-ip=209.85.215.179 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="C8wZYeR0" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-7ee6edc47abso745651a12.3; Sun, 03 Nov 2024 00:33:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730619227; x=1731224027; darn=vger.kernel.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=cAhPP1Ue2Iis5GJtsj6WYVFqMLGyqRg1DOrYPcB4peg=; b=C8wZYeR0wqYSEAAvtIPwOAR6DCLkqR1pbN/bU/Cxwf2wYnGEpn+t+qyl6Azw1BUYzk cMTX8MCjuO2xUGF+PbtN29Yocgp5zl9wtj4s3tcZU9J0l45WWPD3/N1VRwIQkZnDLF7+ gQ0nGe9mp5WIXB+yuO3N9hKv+bSOjmmOoeJKKLzpUzwBbrzJsvhGrJus/GJL783gTlQb nFLJgG696q1ZGWqipreMRcrZSdlanJgzLetRsqCbabl7Rpk+vFf9NmrL8mcEHYhecptM jsqrMD/pBN2jZz6KCPt8O50Sws546mIWMN1SyQ9o+3s+IadN6wXvEmZ6UXd1sxnDbdZv cYug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730619227; x=1731224027; 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=cAhPP1Ue2Iis5GJtsj6WYVFqMLGyqRg1DOrYPcB4peg=; b=GqQ/GI299Q+xs7rALL4AUOWfWFR3ZDY4UdLDkMMrsw5h2eamWUXBtFbJbc6/JXBI59 2kR+25QqAqdOHK77f2qkembXFFiloNC+4Fn3v7nBvKZRCoLL0vqdzc2pO1x+tTJGwW0Z XT0ksbGnfI9ipXnPwUUmssCsp3Nx0V8X47n8yZux7FJycu/wbwrXe2Ez7A12o/eY9LMG GXG1eCgMESZ9vg4sT8g6Ub4DhB4lEWQd1EUiSD8TAY7jct6FWhq4W2MILyoHGuVMfdp0 9I+heSmWnSqUtdbS0flYBzkfmrGNzRrvntN9Fg2M3RC5Vm2I4UtmDmZok4cRffUHRMGI Ti+w== X-Forwarded-Encrypted: i=1; AJvYcCUs7tU905j6+VqLKWZmeGI7r5vxJJWvYqM2LDa5HSPcGJ9753d9SIpfH+uQXJsn8Ssp/1nwmSH9EriKyQPT@vger.kernel.org, AJvYcCVS5QGdf18M3G4KJV+cbUarErXRa/tlCepaPI97QOoZtTLdik7fMIcUp1VtDNd/Z+Yk294xfNmPxZjF@vger.kernel.org X-Gm-Message-State: AOJu0Yy17KQR1MiNKOZU0OJg9/b4Gt6g9dcsRs0PJpV+N3zJ/5BnGYFR +EXEA8tZRlKq17VgLqMsCGm/qTEjOe2D/6YEeLspZQThMNGwvogE X-Google-Smtp-Source: AGHT+IGImwWeyY3Moiafe2fkJOaFyS7i3wOq6EzM2uCFlnPu6zaavprp4mJQyKnYQAczv96ouYNN6g== X-Received: by 2002:a17:90b:4ad2:b0:2e2:d175:5f8d with SMTP id 98e67ed59e1d1-2e94c2ac593mr13732559a91.10.1730619226771; Sun, 03 Nov 2024 00:33:46 -0700 (PDT) Received: from localhost.localdomain ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2e93da983f9sm5353443a91.5.2024.11.03.00.33.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Nov 2024 00:33:45 -0700 (PDT) From: Nick Chan To: Hector Martin , Sven Peter , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Conor Dooley , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Nick Chan , Krzysztof Kozlowski Subject: [PATCH asahi-soc/dt v3 02/10] dt-bindings: arm: apple: apple,pmgr-pwrstate: Add A7-A11 compatibles Date: Sun, 3 Nov 2024 15:31:13 +0800 Message-ID: <20241103073319.30672-3-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241103073319.30672-1-towinchenmi@gmail.com> References: <20241103073319.30672-1-towinchenmi@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The blocks found on Apple A7-A11 SoCs are compatible with the existing driver so add their per-SoC compatible. Acked-by: Krzysztof Kozlowski Acked-by: Hector Martin Signed-off-by: Nick Chan --- .../devicetree/bindings/power/apple,pmgr-pwrstate.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.ya= ml b/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml index 59a6af735a21..6e9a670eaf56 100644 --- a/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml +++ b/Documentation/devicetree/bindings/power/apple,pmgr-pwrstate.yaml @@ -31,6 +31,11 @@ properties: compatible: items: - enum: + - apple,s5l8960x-pmgr-pwrstate + - apple,t7000-pmgr-pwrstate + - apple,s8000-pmgr-pwrstate + - apple,t8010-pmgr-pwrstate + - apple,t8015-pmgr-pwrstate - apple,t8103-pmgr-pwrstate - apple,t8112-pmgr-pwrstate - apple,t6000-pmgr-pwrstate --=20 2.47.0 From nobody Sun Nov 24 19:36:48 2024 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (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 5ECFC157494; Sun, 3 Nov 2024 07:33:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619232; cv=none; b=vCE0ZnN1DF9x/4hFEjg+4In/dxW1rcum+qtuX4tNO+sw6wfsgjfMwMymFN1l6xWYOhvSDJbZx1u66PE7XoAZV1hDeoniVMGUT3wMRgnMgEpw3ItxqGqMQ1wkXQZ5NZacH1vf4c9fhYZvq12TkQjvzgeF9hHelVWPZhyNxdacyH0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619232; c=relaxed/simple; bh=ztOkG1l9yjVcr2pfAMEkRwns7DNCI2dI76C/ri/QF58=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=itdYw371JspGtC0FRaTkcpN45saUKfDPLNXqQyuGMS0c96xfg+7lQ1w336+WtcbF0gq2RLrCWu/NP8u//6mGXDQX810/qo2/cisWtb6f5Dd15PdDbpx64eIVsIviLeyQmOQ0JAyfGH1ai2QoOYbCwOALf9n4G+HQ2oit9H2rZKg= 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=iLHdWTY4; arc=none smtp.client-ip=209.85.214.173 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="iLHdWTY4" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-207115e3056so29947895ad.2; Sun, 03 Nov 2024 00:33:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730619230; x=1731224030; darn=vger.kernel.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=AmFdBAmyPJlGFUTTlreUxBYzIDgdjp64ciz7CA5AoGc=; b=iLHdWTY43c4iZIFNjTxwvFy04yEcQXo3Bj3B09XTVQr8kroWmAZEPP2f5+RKrxEqcZ bIpJ8irwBPDmd6q1eQ2xeFp/i3qcR+2lV/SPEJqu17fImVSxdhpt46d5GC2bCxmOj926 gIFvgJBjrBFeCYR0fSvet7Ui7Ik7lA9lm0wko+Vu3jc5HVA9gxNXJJSpCNRTKlfnnn7C 99jDAlj8MRO1TBqx1qwsQBSkr0fugpebgkc+BJoifft6skvEJi6bvL3I/V8ixXBf1Ctf 8oLZC62Yej3Q0Hf1Szv36Fa8QsvQQj0NHwkmLUr4vxffKkvJIvKgFvCPdsxeAhcBysJE gOYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730619230; x=1731224030; 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=AmFdBAmyPJlGFUTTlreUxBYzIDgdjp64ciz7CA5AoGc=; b=ASz0qxy7sgwmT9nUVOpSEmXf8qjpTZRIRMdo7wB03V8/Q9O+tiQAxo5QO1QfaIstPf EmkNoNSc+fOOuQVBhDv48TqWmgujr0EIWN5uXG6Zufn2O+4FKRhiJGhAq9FF8sGpALV5 RXDO00N5EIvKBVoCvNdhbdOSIOTDSsl+JGdUwqOl6GoeKZvVX7m1HZAYLdyAgxhnhvKp 8xwVorZ3yiXkkNheJn+wt4Q0pSXA8h0bRTPwecSxHAxP2uOReX/UKgJnBTTpLHLvY9Sl H3lgLCXnYpS5HTCC0EF4hjBejDhwjUTovA0TPUmFxOjuaUXNWSiraviCZErjNKzTRt3W bgsQ== X-Forwarded-Encrypted: i=1; AJvYcCWJuSeEVSyPh60CQTxvgQEEVc3aYDHeIOtLxD+OJKbzJEaSe3fsjZUTbTlup0ZxSvB/OuJRfxlV8/o03VHk@vger.kernel.org, AJvYcCWXEqsCTM6WxaOBEov6zo6YalgwTN8iVZqTp3mdVdTjBzB4fVzDko9zokCES7C4DKZyMsRgjfJ6qJzC@vger.kernel.org X-Gm-Message-State: AOJu0Yz1FO12tOiZIHKQ69jd+Pt15Zzj6xWUF8vjIIGuLn344GSbWdUO 7WpLqA0s1JDW26iEEBBmUd0wrxF5XZ6apBOdKhDmwqk4H39ZeGx+ X-Google-Smtp-Source: AGHT+IGE54AXa7tDBmmvmCIKaZnNqrMfVZcsLnG/TAFfZD8iAYRiNrWfiqMFMiLwOfDDNAUE5kUKBA== X-Received: by 2002:a17:902:ccc6:b0:20c:fb47:5c1c with SMTP id d9443c01a7336-210c68917e5mr389335605ad.14.1730619229413; Sun, 03 Nov 2024 00:33:49 -0700 (PDT) Received: from localhost.localdomain ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2e93da983f9sm5353443a91.5.2024.11.03.00.33.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Nov 2024 00:33:49 -0700 (PDT) From: Nick Chan To: Hector Martin , Sven Peter , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Conor Dooley , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Nick Chan Subject: [PATCH asahi-soc/dt v3 03/10] arm64: dts: apple: s5l8960x: Add PMGR node Date: Sun, 3 Nov 2024 15:31:14 +0800 Message-ID: <20241103073319.30672-4-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241103073319.30672-1-towinchenmi@gmail.com> References: <20241103073319.30672-1-towinchenmi@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This adds the PMGR node and all known power state subnodes. Since there are a large number of them, let's put them in a separate file to include. Acked-by: Hector Martin Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi | 4 + arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi | 4 + arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi | 4 + arch/arm64/boot/dts/apple/s5l8960x-pmgr.dtsi | 610 ++++++++++++++++++ arch/arm64/boot/dts/apple/s5l8960x.dtsi | 13 + 5 files changed, 635 insertions(+) create mode 100644 arch/arm64/boot/dts/apple/s5l8960x-pmgr.dtsi diff --git a/arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi b/arch/arm64/boot/d= ts/apple/s5l8960x-5s.dtsi index 0b16adf07f79..51c081923657 100644 --- a/arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi +++ b/arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi @@ -49,3 +49,7 @@ switch-mute { }; }; }; + +&framebuffer0 { + power-domains =3D <&ps_disp0 &ps_mipi_dsi>; +}; diff --git a/arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi b/arch/arm64/boot= /dts/apple/s5l8960x-air1.dtsi index 741c5a9f21dd..7d6e799c933a 100644 --- a/arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi +++ b/arch/arm64/boot/dts/apple/s5l8960x-air1.dtsi @@ -49,3 +49,7 @@ switch-mute { }; }; }; + +&framebuffer0 { + power-domains =3D <&ps_disp0 &ps_dp>; +}; diff --git a/arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi b/arch/arm64/boo= t/dts/apple/s5l8960x-mini2.dtsi index b27ef5680626..2ba846db2266 100644 --- a/arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi +++ b/arch/arm64/boot/dts/apple/s5l8960x-mini2.dtsi @@ -49,3 +49,7 @@ switch-mute { }; }; }; + +&framebuffer0 { + power-domains =3D <&ps_disp0 &ps_dp>; +}; diff --git a/arch/arm64/boot/dts/apple/s5l8960x-pmgr.dtsi b/arch/arm64/boot= /dts/apple/s5l8960x-pmgr.dtsi new file mode 100644 index 000000000000..da265f484307 --- /dev/null +++ b/arch/arm64/boot/dts/apple/s5l8960x-pmgr.dtsi @@ -0,0 +1,610 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * PMGR Power domains for the Apple S5L8960X "A7" SoC + * + * Copyright (c) 2024 Nick Chan + */ + +&pmgr { + ps_cpu0: power-controller@20000 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu0"; + apple,always-on; /* Core device */ + }; + + ps_cpu1: power-controller@20008 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu1"; + apple,always-on; /* Core device */ + }; + + ps_secuart0: power-controller@200f0 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x200f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "secuart0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_secuart1: power-controller@200f8 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x200f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "secuart1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_cpm: power-controller@20010 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpm"; + apple,always-on; /* Core device */ + }; + + ps_lio: power-controller@20018 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20018 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "lio"; + apple,always-on; /* Core device */ + }; + + ps_iomux: power-controller@20020 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20020 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "iomux"; + apple,always-on; /* Core device */ + }; + + ps_aic: power-controller@20028 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20028 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aic"; + apple,always-on; /* Core device */ + }; + + ps_debug: power-controller@20030 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20030 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "debug"; + }; + + ps_dwi: power-controller@20038 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20038 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dwi"; + }; + + ps_gpio: power-controller@20040 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20040 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gpio"; + }; + + ps_mca0: power-controller@20048 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20048 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca1: power-controller@20050 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20050 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca2: power-controller@20058 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20058 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca3: power-controller@20060 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20060 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca4: power-controller@20068 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20068 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_pwm0: power-controller@20070 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20070 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pwm0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c0: power-controller@20078 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20078 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c1: power-controller@20080 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20080 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c2: power-controller@20088 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20088 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c3: power-controller@20090 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20090 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi0: power-controller@20098 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20098 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi1: power-controller@200a0 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x200a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi2: power-controller@200a8 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x200a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi3: power-controller@200b0 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x200b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart0: power-controller@200b8 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x200b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart1: power-controller@200c0 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x200c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart2: power-controller@200c8 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x200c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart3: power-controller@200d0 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x200d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart4: power-controller@200d8 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x200d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart5: power-controller@200e0 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x200e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart5"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart6: power-controller@200e8 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x200e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart6"; + power-domains =3D <&ps_sio_p>; + }; + + ps_sio_p: power-controller@20110 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20110 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_p"; + }; + + ps_usb: power-controller@20158 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20158 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb"; + }; + + ps_usbctrl: power-controller@20160 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20160 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbctrl"; + power-domains =3D <&ps_usb>; + }; + + ps_usb2host0: power-controller@20170 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20170 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb2host1: power-controller@20180 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20180 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host1"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_disp_busmux: power-controller@201a8 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp_busmux"; + }; + + ps_media: power-controller@201d8 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "media"; + }; + + ps_isp: power-controller@201d0 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp"; + }; + + ps_msr: power-controller@201e0 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "msr"; + power-domains =3D <&ps_media>; + }; + + ps_jpg: power-controller@201e8 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "jpg"; + power-domains =3D <&ps_media>; + }; + + ps_disp0: power-controller@201b0 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0"; + power-domains =3D <&ps_disp_busmux>; + }; + + ps_aes0: power-controller@20100 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20100 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aes0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_sio: power-controller@20108 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20108 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio"; + power-domains =3D <&ps_sio_p>; + apple,always-on; /* Core device */ + }; + + ps_hsic0_phy: power-controller@20118 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20118 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsic0_phy"; + power-domains =3D <&ps_usb2host0>; + }; + + ps_hsic1_phy: power-controller@20120 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20120 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsic1_phy"; + power-domains =3D <&ps_usb2host0>; + }; + + ps_hsic2_phy: power-controller@20128 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20128 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsic2_phy"; + power-domains =3D <&ps_usb2host1>; + }; + + ps_ispsens0: power-controller@20130 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20130 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ispsens0"; + }; + + ps_ispsens1: power-controller@20138 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20138 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ispsens1"; + }; + + ps_mcc: power-controller@20140 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20140 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mcc"; + apple,always-on; /* Core device */ + }; + + ps_mcu: power-controller@20148 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20148 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mcu"; + apple,always-on; /* Core device */ + }; + + ps_amp: power-controller@20150 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20150 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "amp"; + apple,always-on; /* Core device */ + }; + + ps_usb2host0_ohci: power-controller@20168 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20168 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0_ohci"; + power-domains =3D <&ps_usb2host0>; + }; + + ps_usb2host1_ohci: power-controller@20178 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20178 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host1_ohci"; + power-domains =3D <&ps_usb2host1>; + }; + + ps_usbotg: power-controller@20188 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20188 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbotg"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_smx: power-controller@20190 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20190 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smx"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_sf: power-controller@20198 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20198 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sf"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_cp: power-controller@201a0 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cp"; + apple,always-on; /* Core device */ + }; + + ps_mipi_dsi: power-controller@201b8 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mipi_dsi"; + power-domains =3D <&ps_disp_busmux>; + }; + + ps_dp: power-controller@201c0 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dp"; + power-domains =3D <&ps_disp0>; + }; + + ps_disp1: power-controller@201c8 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp1"; + power-domains =3D <&ps_disp_busmux>; + }; + + ps_vdec: power-controller@201f0 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "vdec"; + power-domains =3D <&ps_media>; + }; + + ps_venc: power-controller@201f8 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc"; + power-domains =3D <&ps_media>; + }; + + ps_ans: power-controller@20200 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20200 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ans"; + }; + + ps_ans_dll: power-controller@20208 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20208 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ans_dll"; + power-domains =3D <&ps_ans>; + }; + + ps_gfx: power-controller@20218 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20218 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gfx"; + }; + + ps_sep: power-controller@20268 { + compatible =3D "apple,s5l8960x-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20268 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sep"; + power-domains =3D <&ps_secuart1>, <&ps_secuart0>; + apple,always-on; /* Locked on */ + }; +}; diff --git a/arch/arm64/boot/dts/apple/s5l8960x.dtsi b/arch/arm64/boot/dts/= apple/s5l8960x.dtsi index 0218ecac1d83..7705215fbdc7 100644 --- a/arch/arm64/boot/dts/apple/s5l8960x.dtsi +++ b/arch/arm64/boot/dts/apple/s5l8960x.dtsi @@ -62,9 +62,18 @@ serial0: serial@20a0a0000 { /* Use the bootloader-enabled clocks for now. */ clocks =3D <&clkref>, <&clkref>; clock-names =3D "uart", "clk_uart_baud0"; + power-domains =3D <&ps_uart0>; status =3D "disabled"; }; =20 + pmgr: power-management@20e000000 { + compatible =3D "apple,s5l8960x-pmgr", "apple,pmgr", "syscon", "simple-m= fd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0xe000000 0 0x24000>; + }; + wdt: watchdog@20e027000 { compatible =3D "apple,s5l8960x-wdt", "apple,wdt"; reg =3D <0x2 0x0e027000 0x0 0x1000>; @@ -78,11 +87,13 @@ aic: interrupt-controller@20e100000 { reg =3D <0x2 0x0e100000 0x0 0x100000>; #interrupt-cells =3D <3>; interrupt-controller; + power-domains =3D <&ps_aic>; }; =20 pinctrl: pinctrl@20e300000 { compatible =3D "apple,s5l8960x-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x0e300000 0x0 0x100000>; + power-domains =3D <&ps_gpio>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -111,3 +122,5 @@ timer { ; }; }; + +#include "s5l8960x-pmgr.dtsi" --=20 2.47.0 From nobody Sun Nov 24 19:36:48 2024 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.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 CE62015854D; Sun, 3 Nov 2024 07:33:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619234; cv=none; b=kPGHMyfuryd/Gb6tb7HrTj8VrknWNtHuxpm1ae2mpo9ILP40wkf+Hk81nTOz7mKeuEHp5sK9oBEFzyf1tSjbS1ihJU7OeGMjJ0HXJpIs+cd71F/Fap5/MtnfDxQjlOWoDt8vrpaMEvbd61g2rXZQg2fOcbbWV2VqWX3OARIA8f4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619234; c=relaxed/simple; bh=SzS/hp6ZTSc4CXveKcb+F3wOdEtvm7HPi7hP+3Vuxds=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SkDxkBnilAe1L5PEeFG6p7E2IhnLQhSCYXB+V/8GD5RJyu8fg9rD0zhFxpIdH3dIXCp9FEVdq3Fm5Qv/J5IuaR27ehW8mlzg4qzY9OjQJ3MofYpDG3JFx5iI3JpUu25Kex/beNPveTqfzcdNITVGxJCzZ8NyCVSDAYuVqFCx+nI= 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=Gdy3aSL6; arc=none smtp.client-ip=209.85.216.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="Gdy3aSL6" Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-2e30116efc9so2599095a91.2; Sun, 03 Nov 2024 00:33:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730619232; x=1731224032; darn=vger.kernel.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=h29fXuXIIZCeKG22Kvh4EAzKydaTzTD6caajZ+GKEeQ=; b=Gdy3aSL6uwiK0qz5PGOzah3/7BC8UxISwrpiSp5CLtZni5ecH0Ma/n2jb9pqxB5vu6 /VT4bVHwOqjKIjudPaQqkcizBm6U6kJE4oIRkCjV0X96xXCdtq2UeyV6Bb9ydemnZcVc 53tAS8vECFtvipfTeBTl2hq23Vep6/srwhGdaLtKpLu+YCndVUgLtIKfzmCrFRsZvDPI MN48c/3MGVdhjRr43YqD27qxCSJJwtC3U90jBvbhIF2PuryDyp2+j9L6ef7urEYXCwLg nBJLUXXOeJmBx43ThmJ41mEDFG4iwT+vjkuChAM8tppwzhRxg1b3bMtQDLaskSzTl6X7 alkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730619232; x=1731224032; 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=h29fXuXIIZCeKG22Kvh4EAzKydaTzTD6caajZ+GKEeQ=; b=j4MuhqE3MaO3T/QtHCfPRmjGS8JefsXYt+usflzQDmf5FKp0hL+vbWAVcwmJ49oECy gB1A1ETPSN81kxACkW+nLrzxo8/0T8f407NSi9DOlw3EbWzQX/dxXieVex3DEjwEvsVI SXPQSeqMf9XG/lfN8zQIq5jIZn8L5D9ajJ9US+/YD8nQ47gwdmM6JALY1nggQt7NMzIy GyVEpVaJt6Ap20dgjDALf7mCvPLMe2vt9R+XvlSKNjJTbciWUGYL7Tgy/uRK/kCpGz+R cRXjRP3rrGfElPCTQCi2N7AZ7jJYrOrF7COtOlCMtqpNLjqHzDiXcta83XCbAelvSgB+ 5ltg== X-Forwarded-Encrypted: i=1; AJvYcCXG571obHm0EGhmGD0ERkeBmn6QauHhflnfdKqk9c/Bn82sxrEaIVsgcE8wU9NjC6SHItyzJ7rsz9N6@vger.kernel.org, AJvYcCXnvZRexu0fNtpnFL/YxCpZ2QQlBy6jh77kG14ez5SCxhGhVzeCLyivh30LhCgud4CsLSUWzVXQGdTnoctJ@vger.kernel.org X-Gm-Message-State: AOJu0YyaorFmHu8jEL5nejghVCaFKCzUWpZIsiMdV2YZWucsROWw9Uq6 7DrQVMI8RYoEDL5rb7PSwkPizeX6YU+bYDWy5NNi8MoHa417ueIl X-Google-Smtp-Source: AGHT+IGTxwZIpnzCGM6cjlD04aXGw3lcOe9F8XPbivUf3G9E5CWTPQyGaenJH56Or540vWNkoLBJBQ== X-Received: by 2002:a17:90a:e154:b0:2e2:e148:3d30 with SMTP id 98e67ed59e1d1-2e8f107354amr33406578a91.23.1730619232004; Sun, 03 Nov 2024 00:33:52 -0700 (PDT) Received: from localhost.localdomain ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2e93da983f9sm5353443a91.5.2024.11.03.00.33.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Nov 2024 00:33:51 -0700 (PDT) From: Nick Chan To: Hector Martin , Sven Peter , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Conor Dooley , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Nick Chan Subject: [PATCH asahi-soc/dt v3 04/10] arm64: dts: apple: t7000: Add PMGR node Date: Sun, 3 Nov 2024 15:31:15 +0800 Message-ID: <20241103073319.30672-5-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241103073319.30672-1-towinchenmi@gmail.com> References: <20241103073319.30672-1-towinchenmi@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This adds the PMGR node and all known power state subnodes. Since there are a large number of them, let's put them in a separate file to include. Acked-by: Hector Martin Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t7000-6.dtsi | 4 + arch/arm64/boot/dts/apple/t7000-j42d.dts | 1 + arch/arm64/boot/dts/apple/t7000-mini4.dtsi | 4 + arch/arm64/boot/dts/apple/t7000-n102.dts | 4 + arch/arm64/boot/dts/apple/t7000-pmgr.dtsi | 641 +++++++++++++++++++++ arch/arm64/boot/dts/apple/t7000.dtsi | 14 + 6 files changed, 668 insertions(+) create mode 100644 arch/arm64/boot/dts/apple/t7000-pmgr.dtsi diff --git a/arch/arm64/boot/dts/apple/t7000-6.dtsi b/arch/arm64/boot/dts/a= pple/t7000-6.dtsi index f60ea4a4a387..77d74d6af1c4 100644 --- a/arch/arm64/boot/dts/apple/t7000-6.dtsi +++ b/arch/arm64/boot/dts/apple/t7000-6.dtsi @@ -48,3 +48,7 @@ switch-mute { }; }; }; + +&framebuffer0 { + power-domains =3D <&ps_disp0 &ps_mipi_dsi>; +}; diff --git a/arch/arm64/boot/dts/apple/t7000-j42d.dts b/arch/arm64/boot/dts= /apple/t7000-j42d.dts index 2231db6a739d..4de5e6a3f230 100644 --- a/arch/arm64/boot/dts/apple/t7000-j42d.dts +++ b/arch/arm64/boot/dts/apple/t7000-j42d.dts @@ -20,6 +20,7 @@ chosen { framebuffer0: framebuffer@0 { compatible =3D "apple,simple-framebuffer", "simple-framebuffer"; reg =3D <0 0 0 0>; /* To be filled by loader */ + power-domains =3D <&ps_disp0 &ps_dp>; /* Format properties will be added by loader */ status =3D "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/t7000-mini4.dtsi b/arch/arm64/boot/d= ts/apple/t7000-mini4.dtsi index c64ddc402fda..e5a9656045f2 100644 --- a/arch/arm64/boot/dts/apple/t7000-mini4.dtsi +++ b/arch/arm64/boot/dts/apple/t7000-mini4.dtsi @@ -49,3 +49,7 @@ switch-mute { }; }; }; + +&framebuffer0 { + power-domains =3D <&ps_disp0 &ps_dp>; +}; diff --git a/arch/arm64/boot/dts/apple/t7000-n102.dts b/arch/arm64/boot/dts= /apple/t7000-n102.dts index 9c55d339ba4e..99eb8a2b8c73 100644 --- a/arch/arm64/boot/dts/apple/t7000-n102.dts +++ b/arch/arm64/boot/dts/apple/t7000-n102.dts @@ -46,3 +46,7 @@ button-volup { }; }; }; + +&framebuffer0 { + power-domains =3D <&ps_disp0 &ps_mipi_dsi>; +}; diff --git a/arch/arm64/boot/dts/apple/t7000-pmgr.dtsi b/arch/arm64/boot/dt= s/apple/t7000-pmgr.dtsi new file mode 100644 index 000000000000..5948fa7afffc --- /dev/null +++ b/arch/arm64/boot/dts/apple/t7000-pmgr.dtsi @@ -0,0 +1,641 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * PMGR Power domains for the Apple T7000 "A8" SoC + * + * Copyright (c) 2024, Nick Chan + */ +&pmgr { + ps_cpu0: power-controller@20000 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu0"; + apple,always-on; /* Core device */ + }; + + ps_cpu1: power-controller@20008 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu1"; + apple,always-on; /* Core device */ + }; + + ps_cpm: power-controller@20040 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20040 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpm"; + apple,always-on; /* Core device */ + }; + + ps_sio_p: power-controller@201f8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_p"; + }; + + ps_lio: power-controller@20100 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20100 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "lio"; + apple,always-on; /* Core device */ + }; + + ps_iomux: power-controller@20108 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20108 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "iomux"; + apple,always-on; /* Core device */ + }; + + ps_aic: power-controller@20110 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20110 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aic"; + apple,always-on; /* Core device */ + }; + + ps_debug: power-controller@20118 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20118 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "debug"; + }; + + ps_dwi: power-controller@20120 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20120 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dwi"; + }; + + ps_gpio: power-controller@20128 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20128 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gpio"; + }; + + ps_mca0: power-controller@20130 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20130 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca1: power-controller@20138 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20138 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca2: power-controller@20140 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20140 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca3: power-controller@20148 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20148 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca4: power-controller@20150 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20150 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_pwm0: power-controller@20158 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20158 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pwm0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c0: power-controller@20160 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20160 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c1: power-controller@20168 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20168 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c2: power-controller@20170 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20170 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c3: power-controller@20178 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20178 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi0: power-controller@20180 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20180 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi1: power-controller@20188 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20188 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi2: power-controller@20190 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20190 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi3: power-controller@20198 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20198 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart0: power-controller@201a0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart1: power-controller@201a8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart2: power-controller@201b0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart3: power-controller@201b8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart4: power-controller@201c0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart5: power-controller@201c8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart5"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart6: power-controller@201d0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart6"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart7: power-controller@201d8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart7"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart8: power-controller@201e0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart8"; + power-domains =3D <&ps_sio_p>; + }; + + ps_aes0: power-controller@201e8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aes0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_sio: power-controller@201f0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio"; + power-domains =3D <&ps_sio_p>; + apple,always-on; /* Core device */ + }; + + ps_usb: power-controller@20248 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20248 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb"; + }; + + ps_usbctrl: power-controller@20250 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20250 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbctrl"; + power-domains =3D <&ps_usb>; + }; + + ps_usb2host0: power-controller@20258 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20258 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb2host1: power-controller@20268 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20268 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host1"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb2host2: power-controller@20278 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20278 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host2"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_disp_busmux: power-controller@202a8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp_busmux"; + }; + + ps_media: power-controller@202d8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "media"; + }; + + ps_isp: power-controller@202d0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp"; + }; + + ps_msr: power-controller@202e0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "msr"; + power-domains =3D <&ps_media>; + }; + + ps_jpg: power-controller@202e8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "jpg"; + power-domains =3D <&ps_media>; + }; + + ps_disp0: power-controller@202b0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0"; + power-domains =3D <&ps_disp_busmux>; + }; + + ps_disp1: power-controller@202c8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp1"; + power-domains =3D <&ps_disp_busmux>; + }; + + ps_pcie_ref: power-controller@20220 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20220 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_ref"; + }; + + ps_hsic0_phy: power-controller@20200 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20200 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsic0_phy"; + power-domains =3D <&ps_usb2host1>; + }; + + ps_hsic1_phy: power-controller@20208 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20208 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsic1_phy"; + power-domains =3D <&ps_usb2host2>; + }; + + ps_ispsens0: power-controller@20210 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20210 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ispsens0"; + }; + + ps_ispsens1: power-controller@20218 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20218 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ispsens1"; + }; + + ps_mcc: power-controller@20230 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20230 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mcc"; + apple,always-on; /* Memory cache controller */ + }; + + ps_mcu: power-controller@20238 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20238 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mcu"; + apple,always-on; /* Core device */ + }; + + ps_amp: power-controller@20240 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20240 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "amp"; + apple,always-on; /* Core device */ + }; + + ps_usb2host0_ohci: power-controller@20260 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20260 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0_ohci"; + power-domains =3D <&ps_usb2host0>; + }; + + ps_usbotg: power-controller@20288 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20288 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbotg"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_smx: power-controller@20290 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20290 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smx"; + apple,always-on; /* Apple Fabric, critical block */ + }; + + ps_sf: power-controller@20298 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20298 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sf"; + apple,always-on; /* Apple Fabric, critical block */ + }; + + ps_cp: power-controller@202a0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cp"; + apple,always-on; /* Core device */ + }; + + ps_mipi_dsi: power-controller@202b8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mipi_dsi"; + power-domains =3D <&ps_disp_busmux>; + }; + + ps_dp: power-controller@202c0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dp"; + power-domains =3D <&ps_disp0>; + }; + + ps_vdec: power-controller@202f0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "vdec"; + power-domains =3D <&ps_media>; + }; + + ps_ans: power-controller@20318 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20318 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ans"; + }; + + ps_venc: power-controller@20300 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20300 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc"; + power-domains =3D <&ps_media>; + }; + + ps_pcie: power-controller@20308 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20308 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie"; + }; + + ps_pcie_aux: power-controller@20310 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20310 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_aux"; + }; + + ps_gfx: power-controller@20320 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20320 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gfx"; + }; + + ps_sep: power-controller@20400 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20400 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sep"; + apple,always-on; /* Locked on */ + }; + + ps_venc_pipe: power-controller@21000 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x21000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_pipe"; + power-domains =3D <&ps_venc>; + }; + + ps_venc_me0: power-controller@21008 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x21008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me0"; + power-domains =3D <&ps_venc>; + }; + + ps_venc_me1: power-controller@21010 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x21010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me1"; + power-domains =3D <&ps_venc>; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t7000.dtsi b/arch/arm64/boot/dts/app= le/t7000.dtsi index a7cc29e84c84..ed1e9a62ba05 100644 --- a/arch/arm64/boot/dts/apple/t7000.dtsi +++ b/arch/arm64/boot/dts/apple/t7000.dtsi @@ -62,6 +62,7 @@ serial0: serial@20a0c0000 { /* Use the bootloader-enabled clocks for now. */ clocks =3D <&clkref>, <&clkref>; clock-names =3D "uart", "clk_uart_baud0"; + power-domains =3D <&ps_uart0>; status =3D "disabled"; }; =20 @@ -74,9 +75,18 @@ serial6: serial@20a0d8000 { /* Use the bootloader-enabled clocks for now. */ clocks =3D <&clkref>, <&clkref>; clock-names =3D "uart", "clk_uart_baud0"; + power-domains =3D <&ps_uart6>; status =3D "disabled"; }; =20 + pmgr: power-management@20e000000 { + compatible =3D "apple,t7000-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0xe000000 0 0x24000>; + }; + wdt: watchdog@20e027000 { compatible =3D "apple,t7000-wdt", "apple,wdt"; reg =3D <0x2 0x0e027000 0x0 0x1000>; @@ -90,11 +100,13 @@ aic: interrupt-controller@20e100000 { reg =3D <0x2 0x0e100000 0x0 0x100000>; #interrupt-cells =3D <3>; interrupt-controller; + power-domains =3D <&ps_aic>; }; =20 pinctrl: pinctrl@20e300000 { compatible =3D "apple,t7000-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x0e300000 0x0 0x100000>; + power-domains =3D <&ps_gpio>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -123,3 +135,5 @@ timer { ; }; }; + +#include "t7000-pmgr.dtsi" --=20 2.47.0 From nobody Sun Nov 24 19:36:48 2024 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) (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 69AB71632EE; Sun, 3 Nov 2024 07:33:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619237; cv=none; b=oAGcjV/sUF+ZaP4q24w/OQjsSIxIDhofyz02UZAi6ZCk0aXD62QI9EM+Bdq9+8GirvFYu6MUVtUFOxwev7DA5trtWClFVXjXFbmxnxbXBTb7BjfnJJa7baVEW2Yrfo/gA+1vEa1KNeG2V/yLw/+4dA4CrAuMNAlIVPivkobFFeY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619237; c=relaxed/simple; bh=Wqum4+2DlKwXPJfGBhEHgIowTNVYGsF7gXpmJi2mZCs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FwL8+9CBGRY8vvDUP8PoGda6DRzrLAFfiT3Xohn7OyytSgRpbUTpDcyI7qCSI9y1gWcDcRNnApHqJtX00Fm5DG2Hp0O/PPniTiIkgEcGg5/1xLdyeSNAoyhQe+sjgFGb2DYIMVeXXEmHnHR1VaKZXsYUj6AVNNEUzxGi6ZM//Iw= 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=cqXHDfTo; arc=none smtp.client-ip=209.85.216.43 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="cqXHDfTo" Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-2e2e050b1c3so3127368a91.0; Sun, 03 Nov 2024 00:33:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730619235; x=1731224035; darn=vger.kernel.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=dZj8MLvtC5u5/G8dsckvO4061YfoeeWz6Ah03C4dE/Y=; b=cqXHDfTo00uVsOwoxCbJMT8w3SF3wXDojTSb0KxFuLtvR51RZfEu7rqhj9TOtW/4d2 NPq3WMh8dabxf/V7UB4Sz9z1MO3v+wXmInP/7bsdL5cDiYRvlyolbAzL76S3YC6DaarW eGg+NYof7cprvZKHpp9vH/hrKygqWOLZCkG31WXQjAGlfwW/yX5MsPU4YDn/vdQBpfmf 2v82xMJOmPSjAyWeSFQCGCCau1GFFujEU/brHsuqU69vl++5i47W+/QaowjDhpnIGMpj X2sHCTzWHchewks4zQDE78f7joKagVugYpqWHbC76iXe9wykXElrIsuJobFKSa27p1zJ HjDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730619235; x=1731224035; 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=dZj8MLvtC5u5/G8dsckvO4061YfoeeWz6Ah03C4dE/Y=; b=Bo9qouyNksLsgfupHEWF06Q1rnJ9w2qIoVNQ6ub4ddk155fmrDg4t2dXgAEzcvgElM HeDpud2PNwIk8Lb0BTQaArlqt516XZLbFVYkei4UQ6k8z+IUJy6Cs+xvL8LrWdOmVDXu p3bWXVqdTBF0SSb/CNe7G397Z4P9IaR6nU2pihhJvT2dR/kDQIidgTdfyRCJNNBjCzQg Jk8JiJUG8DDkCjpprB3LYZZOaVpFA+qbLZXMrmoERuwXpC3pwhcOKp6gijwq1SJYx+kb aFwAzSyDTglKAkwxSVhVpSGLAnJgQZ0o+OvWZzHH3TbpirFunaemiUp8pMRMgytfRFGP AKuw== X-Forwarded-Encrypted: i=1; AJvYcCVu279+PJj1kKSuMu4JI+ID03zQhFlRChtlDZAW+F3d68Vs0Ve8mNRqcSk+9q0Y9uYTWIf53eQJBhvP@vger.kernel.org, AJvYcCX4lyxFH9Tdmz07cdH8CFMK1iqUsftAbZvxq/y0c8i8QOjzUs/4VuQ+72n72JwCKfX1KLsfV64qIfXITHNz@vger.kernel.org X-Gm-Message-State: AOJu0YxHb+9Ghp1YjClVfLzBvJ3W9PV4UqPHK2BuJxzOFv+J0mYgSJxk iNz2KWY3Y+M0zL3hUq8D5FR69WUQ4YsoEnZSjZHA/Tmk9kCXKBwGH0ahG5Ej X-Google-Smtp-Source: AGHT+IExyN34n0BDky+C6cCrIjJDqC5MTmzKUVH85RmwASxU21/ED2GRq5JGCIB6HwhYq6pztsacdg== X-Received: by 2002:a17:90b:1a8f:b0:2da:82d4:c63c with SMTP id 98e67ed59e1d1-2e94bcb6255mr13487071a91.4.1730619234566; Sun, 03 Nov 2024 00:33:54 -0700 (PDT) Received: from localhost.localdomain ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2e93da983f9sm5353443a91.5.2024.11.03.00.33.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Nov 2024 00:33:54 -0700 (PDT) From: Nick Chan To: Hector Martin , Sven Peter , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Conor Dooley , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Nick Chan Subject: [PATCH asahi-soc/dt v3 05/10] arm64: dts: apple: t7001: Add PMGR node Date: Sun, 3 Nov 2024 15:31:16 +0800 Message-ID: <20241103073319.30672-6-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241103073319.30672-1-towinchenmi@gmail.com> References: <20241103073319.30672-1-towinchenmi@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This adds the PMGR node and all known power state subnodes. Since there are a large number of them, let's put them in a separate file to include. Acked-by: Hector Martin Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t7001-air2.dtsi | 1 + arch/arm64/boot/dts/apple/t7001-pmgr.dtsi | 650 ++++++++++++++++++++++ arch/arm64/boot/dts/apple/t7001.dtsi | 13 + 3 files changed, 664 insertions(+) create mode 100644 arch/arm64/boot/dts/apple/t7001-pmgr.dtsi diff --git a/arch/arm64/boot/dts/apple/t7001-air2.dtsi b/arch/arm64/boot/dt= s/apple/t7001-air2.dtsi index 19fabd425c52..e4ec8c1977de 100644 --- a/arch/arm64/boot/dts/apple/t7001-air2.dtsi +++ b/arch/arm64/boot/dts/apple/t7001-air2.dtsi @@ -20,6 +20,7 @@ chosen { framebuffer0: framebuffer@0 { compatible =3D "apple,simple-framebuffer", "simple-framebuffer"; reg =3D <0 0 0 0>; /* To be filled by loader */ + power-domains =3D <&ps_disp0 &ps_dp>; /* Format properties will be added by loader */ status =3D "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/t7001-pmgr.dtsi b/arch/arm64/boot/dt= s/apple/t7001-pmgr.dtsi new file mode 100644 index 000000000000..7321cfdcd189 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t7001-pmgr.dtsi @@ -0,0 +1,650 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * PMGR Power domains for the Apple T7001 "A8X" SoC + * + * Copyright (c) 2024, Nick Chan + */ + +&pmgr { + ps_cpu0: power-controller@20000 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu0"; + apple,always-on; /* Core device */ + }; + + ps_cpu1: power-controller@20008 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu1"; + apple,always-on; /* Core device */ + }; + + ps_cpu2: power-controller@20010 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu2"; + apple,always-on; /* Core device */ + }; + + ps_cpm: power-controller@20040 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20040 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpm"; + apple,always-on; /* Core device */ + }; + + ps_sio_p: power-controller@201f8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_p"; + }; + + ps_lio: power-controller@20100 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20100 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "lio"; + apple,always-on; /* Core device */ + }; + + ps_iomux: power-controller@20108 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20108 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "iomux"; + apple,always-on; /* Core device */ + }; + + ps_aic: power-controller@20110 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20110 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aic"; + apple,always-on; /* Core device */ + }; + + ps_debug: power-controller@20118 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20118 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "debug"; + }; + + ps_dwi: power-controller@20120 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20120 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dwi"; + }; + + ps_gpio: power-controller@20128 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20128 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gpio"; + }; + + ps_mca0: power-controller@20130 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20130 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca1: power-controller@20138 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20138 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca2: power-controller@20140 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20140 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca3: power-controller@20148 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20148 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca4: power-controller@20150 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20150 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_pwm0: power-controller@20158 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20158 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pwm0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c0: power-controller@20160 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20160 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c1: power-controller@20168 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20168 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c2: power-controller@20170 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20170 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c3: power-controller@20178 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20178 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi0: power-controller@20180 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20180 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi1: power-controller@20188 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20188 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi2: power-controller@20190 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20190 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi3: power-controller@20198 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20198 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart0: power-controller@201a0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart1: power-controller@201a8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart2: power-controller@201b0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart3: power-controller@201b8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart4: power-controller@201c0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart5: power-controller@201c8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart5"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart6: power-controller@201d0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart6"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart7: power-controller@201d8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart7"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart8: power-controller@201e0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart8"; + power-domains =3D <&ps_sio_p>; + }; + + ps_aes0: power-controller@201e8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aes0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_sio: power-controller@201f0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x201f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio"; + power-domains =3D <&ps_sio_p>; + apple,always-on; /* Core device */ + }; + + ps_usb: power-controller@20248 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20248 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb"; + }; + + ps_usbctrl: power-controller@20250 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20250 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbctrl"; + power-domains =3D <&ps_usb>; + }; + + ps_usb2host0: power-controller@20258 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20258 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb2host1: power-controller@20268 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20268 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host1"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb2host2: power-controller@20278 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20278 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host2"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_disp_busmux: power-controller@202a8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp_busmux"; + }; + + ps_disp1_busmux: power-controller@202c0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp1_busmux"; + }; + + ps_media: power-controller@202d8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "media"; + }; + + ps_isp: power-controller@202d0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp"; + }; + + ps_msr: power-controller@202e0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "msr"; + power-domains =3D <&ps_media>; + }; + + ps_jpg: power-controller@202e8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "jpg"; + power-domains =3D <&ps_media>; + }; + + ps_disp0: power-controller@202b0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0"; + power-domains =3D <&ps_disp_busmux>; + }; + + ps_disp1: power-controller@202c8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp1"; + power-domains =3D <&ps_disp1_busmux>; + }; + + ps_pcie_ref: power-controller@20220 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20220 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_ref"; + }; + + ps_hsic0_phy: power-controller@20200 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20200 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsic0_phy"; + power-domains =3D <&ps_usb2host1>; + }; + + ps_hsic1_phy: power-controller@20208 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20208 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsic1_phy"; + power-domains =3D <&ps_usb2host2>; + }; + + ps_ispsens0: power-controller@20210 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20210 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ispsens0"; + }; + + ps_ispsens1: power-controller@20218 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20218 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ispsens1"; + }; + + ps_mcc: power-controller@20230 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20230 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mcc"; + apple,always-on; /* Memory cache controller */ + }; + + ps_mcu: power-controller@20238 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20238 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mcu"; + apple,always-on; /* Core device */ + }; + + ps_amp: power-controller@20240 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20240 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "amp"; + apple,always-on; /* Core device */ + }; + + ps_usb2host0_ohci: power-controller@20260 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20260 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0_ohci"; + power-domains =3D <&ps_usb2host0>; + }; + + ps_usbotg: power-controller@20288 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20288 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbotg"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_smx: power-controller@20290 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20290 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smx"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_sf: power-controller@20298 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20298 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sf"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_cp: power-controller@202a0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cp"; + apple,always-on; /* Core device */ + }; + + ps_dp: power-controller@202b8 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dp"; + power-domains =3D <&ps_disp0>; + }; + + ps_vdec: power-controller@202f0 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x202f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "vdec"; + power-domains =3D <&ps_media>; + }; + + ps_ans: power-controller@20318 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20318 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ans"; + }; + + ps_venc: power-controller@20300 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20300 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc"; + power-domains =3D <&ps_media>; + }; + + ps_pcie: power-controller@20308 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20308 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie"; + }; + + ps_pcie_aux: power-controller@20310 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20310 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_aux"; + }; + + ps_gfx: power-controller@20320 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20320 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gfx"; + }; + + ps_sep: power-controller@20400 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x20400 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sep"; + apple,always-on; /* Locked on */ + }; + + ps_venc_pipe: power-controller@21000 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x21000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_pipe"; + power-domains =3D <&ps_venc>; + }; + + ps_venc_me0: power-controller@21008 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x21008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me0"; + power-domains =3D <&ps_venc>; + }; + + ps_venc_me1: power-controller@21010 { + compatible =3D "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x21010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me1"; + power-domains =3D <&ps_venc>; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t7001.dtsi b/arch/arm64/boot/dts/app= le/t7001.dtsi index a76e034c85e3..c471f57cca0e 100644 --- a/arch/arm64/boot/dts/apple/t7001.dtsi +++ b/arch/arm64/boot/dts/apple/t7001.dtsi @@ -72,9 +72,18 @@ serial0: serial@20a0c0000 { /* Use the bootloader-enabled clocks for now. */ clocks =3D <&clkref>, <&clkref>; clock-names =3D "uart", "clk_uart_baud0"; + power-domains =3D <&ps_uart0>; status =3D "disabled"; }; =20 + pmgr: power-management@20e000000 { + compatible =3D "apple,t7000-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0xe000000 0 0x24000>; + }; + wdt: watchdog@20e027000 { compatible =3D "apple,t7000-wdt", "apple,wdt"; reg =3D <0x2 0x0e027000 0x0 0x1000>; @@ -88,11 +97,13 @@ aic: interrupt-controller@20e100000 { reg =3D <0x2 0x0e100000 0x0 0x100000>; #interrupt-cells =3D <3>; interrupt-controller; + power-domains =3D <&ps_aic>; }; =20 pinctrl: pinctrl@20e300000 { compatible =3D "apple,t7000-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x0e300000 0x0 0x100000>; + power-domains =3D <&ps_gpio>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -121,3 +132,5 @@ timer { ; }; }; + +#include "t7001-pmgr.dtsi" --=20 2.47.0 From nobody Sun Nov 24 19:36:48 2024 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.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 1DEA1167D80; Sun, 3 Nov 2024 07:33:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619240; cv=none; b=pyZcSBj3X2bpFeWd52+pTou16qIXNEj+zlWXD4lMi4g8NenyxJaoNjQP5KAR+aBu4N8+iLZZCEMw5EE6Lyr/ovGe8PHtYipawMyJaGfrgkSDG3oR709KgPFPyscL2F6HEMXCsIYtmWri0uGP3ezqgjulv9R/SksHbNQKkkQ4FSI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619240; c=relaxed/simple; bh=AEq7qjLHJCvyNxWhUpmqMZ/nrTrCzFGoFB0eYGKsCwg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uu+7Cl0lB8boJ2vvJfbqvYOEirsVF3B8Mw6A04TVfTTxCagJTtf/n9Sqo01GQadI4uduzsDmH9OuLsfdbzAD6z9jMe2D5LxlSRbyrFksku9CmeQMf1e3CmiXuG/Ajadv3g/8qXW/KVexFtWJYD0A626aXdOwBBrUrbXersZHlR4= 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=fS/33SUz; arc=none smtp.client-ip=209.85.216.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="fS/33SUz" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-2e3fca72a41so2695098a91.1; Sun, 03 Nov 2024 00:33:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730619237; x=1731224037; darn=vger.kernel.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=z2meNdNC9JbNEg9CNY+T8XUwE3GU9HHBANjwUjn+JKM=; b=fS/33SUzEdXZqn0a9J3jDnsXFcP8JBkHasOAowYOKcEkUjF7pSE5bCp3bJ6H4Q9jwq oJn0oHenwWiAS2OFQscJJu/5Jml5J21jzBTUD4+MDhpyFnG3rB2+2jPuc+xN49qH3kzN RLBjRiRZhPvbN9e9WKbtmk6QtJpjzrmsE5rfxsEmufkLIr5kigd8A09NPjL/7jyWf8+L MIkf3aOi76e/daJ3TddVnNM/MgY/qRvB/LZw1gMbJ9qqEpRxPhzNQNcRlv921l72b5ej 2P57LUawKkHW2ECifJ7qoE3ca3oAVBg2GWQw1qzc4AfeQYBc0tNharLuxh2siX+/VpZE zMTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730619237; x=1731224037; 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=z2meNdNC9JbNEg9CNY+T8XUwE3GU9HHBANjwUjn+JKM=; b=lJtXDI4nsAhSDJT957126MdHhB+k3TUX31ajXyjp8iUF1JJSQD9QX2E9c2fvD3RJqo 7xI3zeQbwP0suZJ/Gi+H5Cd9CqJ8viXe9Xh/5fdHp6IxS2RhuRM5slQgPam0SpNE/DMa CubYuqdRRS9etY4bOBknSDfJDgNggorGEy5wcuzl29qdq2gTRCqNZKI781VdOJWBSgL8 tAg7kt1AWkaKgdnFDS4fPRA3/lBPBRwA2xuxE8CkI9pID5FeklqjDw98ey+voeJvm/CU A20PWDKlFLCejfNJuTYTaWIjqJH+bykXO7A+kSoUbqMi84u/RUTEkwrnArWZcJ4S4IJ2 51lA== X-Forwarded-Encrypted: i=1; AJvYcCUScqLpWRc1voq8tIaC/WunyvjGR86RVZTJbSz1B3iaI+ncyd05V0U902zHfhk/xs74llEYC1Alr+X4Vd3y@vger.kernel.org, AJvYcCUSvBMc4W/n7s5h61mIYUqxIJ9KqDzSK0KfrEMcmWZTslhxW0Vb94jfjNZ195LvSvY1krpaPRlm47vH@vger.kernel.org X-Gm-Message-State: AOJu0YyKVpZzX656iEZk8LrB+roOf1Prm7qVCoAvp3jXtsmmKL2ANvVj 6twCx4Dd675VD9h2r+GMif+2/feVovLoL1Y/k1B0JHwByImKcq8Z2v0eolfq X-Google-Smtp-Source: AGHT+IHMQ8iF2O/mfxNiVYaG//sAi7F2yeZ1k3DzpExo9LS0HKTwdMriJsnxxISuveSiL9fknFnkYg== X-Received: by 2002:a17:90b:5242:b0:2e2:d879:7cfc with SMTP id 98e67ed59e1d1-2e93c1a6337mr16274771a91.21.1730619237189; Sun, 03 Nov 2024 00:33:57 -0700 (PDT) Received: from localhost.localdomain ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2e93da983f9sm5353443a91.5.2024.11.03.00.33.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Nov 2024 00:33:56 -0700 (PDT) From: Nick Chan To: Hector Martin , Sven Peter , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Conor Dooley , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Nick Chan Subject: [PATCH asahi-soc/dt v3 06/10] arm64: dts: apple: s8000: Add PMGR nodes Date: Sun, 3 Nov 2024 15:31:17 +0800 Message-ID: <20241103073319.30672-7-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241103073319.30672-1-towinchenmi@gmail.com> References: <20241103073319.30672-1-towinchenmi@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This adds the two PMGR nodes and all known power state subnodes. Since there are a large number of them, let's put them in a separate file to include. Acked-by: Hector Martin Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/s8000-pmgr.dtsi | 757 +++++++++++++++++++++ arch/arm64/boot/dts/apple/s8000.dtsi | 22 + arch/arm64/boot/dts/apple/s800x-6s.dtsi | 4 + arch/arm64/boot/dts/apple/s800x-ipad5.dtsi | 4 + arch/arm64/boot/dts/apple/s800x-se.dtsi | 4 + 5 files changed, 791 insertions(+) create mode 100644 arch/arm64/boot/dts/apple/s8000-pmgr.dtsi diff --git a/arch/arm64/boot/dts/apple/s8000-pmgr.dtsi b/arch/arm64/boot/dt= s/apple/s8000-pmgr.dtsi new file mode 100644 index 000000000000..196b8e745a95 --- /dev/null +++ b/arch/arm64/boot/dts/apple/s8000-pmgr.dtsi @@ -0,0 +1,757 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * PMGR Power domains for the Apple S8000/3 "A9" SoC + * + * Copyright (c) 2024 Nick Chan + */ + +&pmgr { + ps_cpu0: power-controller@80000 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu0"; + apple,always-on; /* Core device */ + }; + + ps_cpu1: power-controller@80008 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu1"; + apple,always-on; /* Core device */ + }; + + ps_cpm: power-controller@80040 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80040 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpm"; + apple,always-on; /* Core device */ + }; + + ps_sio_busif: power-controller@80150 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80150 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_busif"; + }; + + ps_sio_p: power-controller@80158 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80158 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_p"; + power-domains =3D <&ps_sio_busif>; + }; + + ps_sbr: power-controller@80100 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80100 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sbr"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_aic: power-controller@80108 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80108 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aic"; + apple,always-on; /* Core device */ + }; + + ps_dwi: power-controller@80110 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80110 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dwi"; + }; + + ps_gpio: power-controller@80118 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80118 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gpio"; + }; + + ps_pms: power-controller@80120 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80120 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pms"; + apple,always-on; /* Core device */ + }; + + ps_pcie_ref: power-controller@80148 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80148 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_ref"; + }; + + ps_mca0: power-controller@80168 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80168 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca1: power-controller@80170 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80170 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca2: power-controller@80178 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80178 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca3: power-controller@80180 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80180 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca4: power-controller@80188 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80188 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_pwm0: power-controller@80190 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80190 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pwm0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c0: power-controller@80198 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80198 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c1: power-controller@801a0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c2: power-controller@801a8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c3: power-controller@801b0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi0: power-controller@801b8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi1: power-controller@801c0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi2: power-controller@801c8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi3: power-controller@801d0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart0: power-controller@801d8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart1: power-controller@801e0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart2: power-controller@801e8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart3: power-controller@801f0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart4: power-controller@801f8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_sio: power-controller@80160 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80160 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio"; + power-domains =3D <&ps_sio_p>; + apple,always-on; /* Core device */ + }; + + ps_hsic0_phy: power-controller@80128 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80128 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsic0_phy"; + power-domains =3D <&ps_usb2host1>; + }; + + ps_hsic1_phy: power-controller@80130 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80130 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsic1_phy"; + power-domains =3D <&ps_usb2host2>; + }; + + ps_isp_sens0: power-controller@80138 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80138 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sens0"; + }; + + ps_isp_sens1: power-controller@80140 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80140 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sens1"; + }; + + ps_usb: power-controller@80250 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80250 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb"; + }; + + ps_usbctrl: power-controller@80258 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80258 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbctrl"; + power-domains =3D <&ps_usb>; + }; + + ps_usb2host0: power-controller@80260 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80260 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb2host1: power-controller@80270 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80270 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host1"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb2host2: power-controller@80280 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80280 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host2"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_rtmux: power-controller@802a8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "rtmux"; + }; + + ps_media: power-controller@802d0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "media"; + }; + + ps_isp: power-controller@802c8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp"; + power-domains =3D <&ps_rtmux>; + }; + + ps_msr: power-controller@802e0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "msr"; + power-domains =3D <&ps_media>; + }; + + ps_jpg: power-controller@802d8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "jpg"; + power-domains =3D <&ps_media>; + }; + + ps_disp0: power-controller@802b0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0"; + power-domains =3D <&ps_rtmux>; + }; + + ps_pmp: power-controller@802e8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pmp"; + }; + + ps_pms_sram: power-controller@802f0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pms_sram"; + }; + + ps_uart5: power-controller@80200 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80200 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart5"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart6: power-controller@80208 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80208 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart6"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart7: power-controller@80210 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80210 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart7"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart8: power-controller@80218 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80218 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart8"; + power-domains =3D <&ps_sio_p>; + }; + + ps_aes0: power-controller@80220 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80220 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aes0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mcc: power-controller@80228 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80228 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mcc"; + apple,always-on; /* Memory cache controller */ + }; + + ps_dcs0: power-controller@80230 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80230 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs0"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs1: power-controller@80238 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80238 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs1"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs2: power-controller@80240 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80240 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs2"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs3: power-controller@80248 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80248 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs3"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_usb2host0_ohci: power-controller@80268 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80268 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0_ohci"; + power-domains =3D <&ps_usb2host0>; + }; + + ps_usb2host1_ohci: power-controller@80278 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80278 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host1_ohci"; + power-domains =3D <&ps_usb2host1>; + }; + + ps_usb2host2_ohci: power-controller@80288 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80288 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host2_ohci"; + power-domains =3D <&ps_usb2host2>; + }; + + ps_usbotg: power-controller@80290 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80290 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbotg"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_smx: power-controller@80298 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80298 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smx"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_sf: power-controller@802a0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sf"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_mipi_dsi: power-controller@802b8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mipi_dsi"; + power-domains =3D <&ps_rtmux>; + }; + + ps_dp: power-controller@802c0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dp"; + power-domains =3D <&ps_disp0>; + }; + + ps_vdec: power-controller@802f8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "vdec"; + power-domains =3D <&ps_media>; + }; + + ps_venc: power-controller@80308 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80308 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc"; + power-domains =3D <&ps_media>; + }; + + ps_pcie: power-controller@80310 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80310 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie"; + }; + + ps_pcie_aux: power-controller@80318 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80318 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_aux"; + }; + + ps_pcie_link0: power-controller@80320 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80320 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_link0"; + power-domains =3D <&ps_pcie>; + }; + + ps_pcie_link1: power-controller@80328 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80328 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_link1"; + power-domains =3D <&ps_pcie>; + }; + + ps_pcie_link2: power-controller@80330 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80330 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_link2"; + power-domains =3D <&ps_pcie>; + }; + + ps_pcie_link3: power-controller@80338 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80338 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_link3"; + power-domains =3D <&ps_pcie>; + }; + + ps_gfx: power-controller@80340 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80340 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gfx"; + }; + + ps_sep: power-controller@80400 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80400 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sep"; + apple,always-on; /* Locked on */ + }; + + ps_venc_pipe: power-controller@88000 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_pipe"; + power-domains =3D <&ps_venc>; + }; + + ps_venc_me0: power-controller@88008 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me0"; + }; + + ps_venc_me1: power-controller@88010 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me1"; + }; +}; + +&pmgr_mini { + ps_aop: power-controller@80000 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop"; + power-domains =3D <&ps_aop_busif &ps_aop_cpu &ps_aop_filter>; + apple,always-on; /* Always on processor */ + }; + + ps_debug: power-controller@80008 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "debug"; + }; + + ps_aop_gpio: power-controller@80010 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_gpio"; + power-domains =3D <&ps_aop>; + }; + + ps_aop_cpu: power-controller@80040 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80040 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_cpu"; + }; + + ps_aop_filter: power-controller@80048 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80048 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_filter"; + }; + + ps_aop_busif: power-controller@80050 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80050 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_busif"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/s8000.dtsi b/arch/arm64/boot/dts/app= le/s8000.dtsi index 6e9046ea106c..84d6b4939ac4 100644 --- a/arch/arm64/boot/dts/apple/s8000.dtsi +++ b/arch/arm64/boot/dts/apple/s8000.dtsi @@ -61,19 +61,30 @@ serial0: serial@20a0c0000 { /* Use the bootloader-enabled clocks for now. */ clocks =3D <&clkref>, <&clkref>; clock-names =3D "uart", "clk_uart_baud0"; + power-domains =3D <&ps_uart0>; status =3D "disabled"; }; =20 + pmgr: power-management@20e000000 { + compatible =3D "apple,s8000-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0xe000000 0 0x8c000>; + }; + aic: interrupt-controller@20e100000 { compatible =3D "apple,s8000-aic", "apple,aic"; reg =3D <0x2 0x0e100000 0x0 0x100000>; #interrupt-cells =3D <3>; interrupt-controller; + power-domains =3D <&ps_aic>; }; =20 pinctrl_ap: pinctrl@20f100000 { compatible =3D "apple,s8000-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x0f100000 0x0 0x100000>; + power-domains =3D <&ps_gpio>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -95,6 +106,7 @@ pinctrl_ap: pinctrl@20f100000 { pinctrl_aop: pinctrl@2100f0000 { compatible =3D "apple,s8000-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x100f0000 0x0 0x100000>; + power-domains =3D <&ps_aop_gpio>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -113,6 +125,14 @@ pinctrl_aop: pinctrl@2100f0000 { ; }; =20 + pmgr_mini: power-management@210200000 { + compatible =3D "apple,s8000-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0x10200000 0 0x84000>; + }; + wdt: watchdog@2102b0000 { compatible =3D "apple,s8000-wdt", "apple,wdt"; reg =3D <0x2 0x102b0000 0x0 0x4000>; @@ -132,6 +152,8 @@ timer { }; }; =20 +#include "s8000-pmgr.dtsi" + /* * The A9 was made by two separate fabs on two different process * nodes: Samsung made the S8000 (APL0898) on 14nm and TSMC made diff --git a/arch/arm64/boot/dts/apple/s800x-6s.dtsi b/arch/arm64/boot/dts/= apple/s800x-6s.dtsi index 49b04db310c6..1dcf80cc2920 100644 --- a/arch/arm64/boot/dts/apple/s800x-6s.dtsi +++ b/arch/arm64/boot/dts/apple/s800x-6s.dtsi @@ -47,3 +47,7 @@ switch-mute { }; }; }; + +&framebuffer0 { + power-domains =3D <&ps_disp0 &ps_mipi_dsi>; +}; diff --git a/arch/arm64/boot/dts/apple/s800x-ipad5.dtsi b/arch/arm64/boot/d= ts/apple/s800x-ipad5.dtsi index 32570ed3cdf0..c1701e81f0c1 100644 --- a/arch/arm64/boot/dts/apple/s800x-ipad5.dtsi +++ b/arch/arm64/boot/dts/apple/s800x-ipad5.dtsi @@ -41,3 +41,7 @@ button-volup { }; }; }; + +&framebuffer0 { + power-domains =3D <&ps_disp0 &ps_dp>; +}; diff --git a/arch/arm64/boot/dts/apple/s800x-se.dtsi b/arch/arm64/boot/dts/= apple/s800x-se.dtsi index a1a5690e8371..deb7c7cc90f6 100644 --- a/arch/arm64/boot/dts/apple/s800x-se.dtsi +++ b/arch/arm64/boot/dts/apple/s800x-se.dtsi @@ -47,3 +47,7 @@ switch-mute { }; }; }; + +&framebuffer0 { + power-domains =3D <&ps_disp0 &ps_mipi_dsi>; +}; --=20 2.47.0 From nobody Sun Nov 24 19:36:48 2024 Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) (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 C1B11166302; Sun, 3 Nov 2024 07:34:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619244; cv=none; b=EvaN7m79MzLkfWObIrZO/YtkKiSlFPtmxs7uuaAHc9v0DqwhDAyAh0wRct3JbWRS7WBWOA+kYj0Zh8dM/+hRVcwijSHPGsvn/LJJWp2r6WdJISGLKQwye2paYTr8WGBvDJFKfa46cfw0PvBHpMLqfkw9aQrbhIISGZcDdpsTb6A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619244; c=relaxed/simple; bh=I91VvFzPAQ/Zx1c1+di+QnLRSJTu6reh4cILL95Vhy4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CXxsW/W5XQMO8eOxTTdsiOTOp2UF/ydTBimi9kam8TzlvD22ZWUk23l0k0wqDggF21wZAiFzNF00B9Nx82mO3s3rxPnXD1cb0eE8z7/nSRe1FsgZbV4IQfsC9aC5nDQRr2ysYTHbv6m5dMNhbnboGHHF/Px5V7eP8WWRA/yQadk= 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=Z2nVoZS0; arc=none smtp.client-ip=209.85.210.176 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="Z2nVoZS0" Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-71e49ad46b1so2758013b3a.1; Sun, 03 Nov 2024 00:34:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730619241; x=1731224041; darn=vger.kernel.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=rSuU39vOJYtf9VtmpOzMUCozYFfB9Bn62QzyUlAKjkI=; b=Z2nVoZS0Li3vWY2ctnq7mQz56VPXVLx4yArp2Dj6ojyeQisUiqnppo9oS5q4ds4I/O sjcScI/4k7Mlgg4MNwheGaKdwE88SBYQ9w/DdVBSZ8pRdKH7iaqExnMfoso5daBgyfjz yG06u1mGST3FLgNHc8l0MH58wO0IVMxa71PkN1cQ1SsaE/wUNKQo4//GFMTmxHWUbTgQ q9featCBwxODjriBfePYG1XaFBq86TUnxesqgoOoNex9Yn0YCdLBcZRjJUh8+ajc2+ry qByvQvAIBDiEcXwiR7U92QLq37/4ITupEDZ5l3Eghb92rjWaq9/TqbOWz2n4mIsB97Qm 45Tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730619241; x=1731224041; 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=rSuU39vOJYtf9VtmpOzMUCozYFfB9Bn62QzyUlAKjkI=; b=pBKninJJ75sySKVRWzS98lSHcG3bNfkVbCTiDgsAtxn7goMjiaB4dMuxZeKq4GBruB jQCOFhYZxldDdt+zYvuEcNb+8Ebtt6D0/iGOjdhtJ6whPKrMUq5Ah6jWmw+0I8y08N3G UaGtn8JOsf7ATPg/b7Je5sht1R2CmwgbPYze83fNkKWp35qQq34ilc6a8vCp0MsQv1Tm 1p6YIhjZ28DXtjyKx35BURhciUn5s6lT5xz7x1pr1Ss/5hsaBq5hwy4himwjxixjpHkZ X8B0+U7BI47qxlRiAGG5DNqMe5QnXOPMHSQY0ZZ+JKbeZ9X0yHo3mhUVt8/nD7eRmqhV J1pA== X-Forwarded-Encrypted: i=1; AJvYcCVdGQPWF/q0CSiF78DdTHHkNo1kY9t4Yg76jyt6T5khmHM3H6ciBw+oUJmjChKNfdr8u3hrLKjapxzy@vger.kernel.org, AJvYcCXw4JfB4EClPgQjFk6oFUuxYgmKWJtISKoRTC2LyKcT6SRgBcf4wl9vCOIthLS9EzXx8Lvxmq3qsgdF4U05@vger.kernel.org X-Gm-Message-State: AOJu0Yy7jzmF+x/Pz3SI12MdmxPG++gYd4J4J1VDxBgpV+fWoIgIG3Of SAYyOMmW8zcY5DecpSTkifz1Ijs7GAs8ZbP7hxAXamhrcKeg2CTO X-Google-Smtp-Source: AGHT+IEEjmWiahrOkaOdPhFWacpTTbR3ePw76dovl8dqFqHPwrHCQJ7pWRB/n+VhOrvTXhOJATYiMw== X-Received: by 2002:a17:902:e80f:b0:20c:9e9b:9614 with SMTP id d9443c01a7336-210c689bd32mr373637645ad.15.1730619240757; Sun, 03 Nov 2024 00:34:00 -0700 (PDT) Received: from localhost.localdomain ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2e93da983f9sm5353443a91.5.2024.11.03.00.33.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Nov 2024 00:34:00 -0700 (PDT) From: Nick Chan To: Hector Martin , Sven Peter , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Conor Dooley , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Nick Chan Subject: [PATCH asahi-soc/dt v3 07/10] arm64: dts: apple: s8001: Add PMGR nodes Date: Sun, 3 Nov 2024 15:31:18 +0800 Message-ID: <20241103073319.30672-8-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241103073319.30672-1-towinchenmi@gmail.com> References: <20241103073319.30672-1-towinchenmi@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This adds the two PMGR nodes and all known power state subnodes. Since there are a large number of them, let's put them in a separate file to include. Acked-by: Hector Martin Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/s8001-common.dtsi | 1 + .../arm64/boot/dts/apple/s8001-j98a-j99a.dtsi | 26 + arch/arm64/boot/dts/apple/s8001-j98a.dts | 1 + arch/arm64/boot/dts/apple/s8001-j99a.dts | 1 + arch/arm64/boot/dts/apple/s8001-pmgr.dtsi | 822 ++++++++++++++++++ arch/arm64/boot/dts/apple/s8001.dtsi | 22 + 6 files changed, 873 insertions(+) create mode 100644 arch/arm64/boot/dts/apple/s8001-j98a-j99a.dtsi create mode 100644 arch/arm64/boot/dts/apple/s8001-pmgr.dtsi diff --git a/arch/arm64/boot/dts/apple/s8001-common.dtsi b/arch/arm64/boot/= dts/apple/s8001-common.dtsi index e94d0e77653a..91b06e113894 100644 --- a/arch/arm64/boot/dts/apple/s8001-common.dtsi +++ b/arch/arm64/boot/dts/apple/s8001-common.dtsi @@ -24,6 +24,7 @@ chosen { framebuffer0: framebuffer@0 { compatible =3D "apple,simple-framebuffer", "simple-framebuffer"; reg =3D <0 0 0 0>; /* To be filled by loader */ + power-domains =3D <&ps_disp0 &ps_dp0>; /* Format properties will be added by loader */ status =3D "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/s8001-j98a-j99a.dtsi b/arch/arm64/bo= ot/dts/apple/s8001-j98a-j99a.dtsi new file mode 100644 index 000000000000..e66a4c1c138f --- /dev/null +++ b/arch/arm64/boot/dts/apple/s8001-j98a-j99a.dtsi @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * Apple iPad Pro (12.9-inch) + * + * This file contains parts common to iPad Pro (12.9-inch). + * + * target-type: J98a, J99a + * + * Copyright (c) 2024, Nick Chan + */ + +&ps_dcs4 { + apple,always-on; /* LPDDR4 interface */ +}; + +&ps_dcs5 { + apple,always-on; /* LPDDR4 interface */ +}; + +&ps_dcs6 { + apple,always-on; /* LPDDR4 interface */ +}; + +&ps_dcs7 { + apple,always-on; /* LPDDR4 interface */ +}; diff --git a/arch/arm64/boot/dts/apple/s8001-j98a.dts b/arch/arm64/boot/dts= /apple/s8001-j98a.dts index 6d6b841e7ab0..162eca05c2d9 100644 --- a/arch/arm64/boot/dts/apple/s8001-j98a.dts +++ b/arch/arm64/boot/dts/apple/s8001-j98a.dts @@ -7,6 +7,7 @@ /dts-v1/; =20 #include "s8001-pro.dtsi" +#include "s8001-j98a-j99a.dtsi" =20 / { compatible =3D "apple,j98a", "apple,s8001", "apple,arm-platform"; diff --git a/arch/arm64/boot/dts/apple/s8001-j99a.dts b/arch/arm64/boot/dts= /apple/s8001-j99a.dts index d20194b1cae7..7b765820c69e 100644 --- a/arch/arm64/boot/dts/apple/s8001-j99a.dts +++ b/arch/arm64/boot/dts/apple/s8001-j99a.dts @@ -7,6 +7,7 @@ /dts-v1/; =20 #include "s8001-pro.dtsi" +#include "s8001-j98a-j99a.dtsi" =20 / { compatible =3D "apple,j99a", "apple,s8001", "apple,arm-platform"; diff --git a/arch/arm64/boot/dts/apple/s8001-pmgr.dtsi b/arch/arm64/boot/dt= s/apple/s8001-pmgr.dtsi new file mode 100644 index 000000000000..859ab77ae92b --- /dev/null +++ b/arch/arm64/boot/dts/apple/s8001-pmgr.dtsi @@ -0,0 +1,822 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * PMGR Power domains for the Apple S8001 "A9X" SoC + * + * Copyright (c) 2024 Nick Chan + */ + +&pmgr { + ps_cpu0: power-controller@80000 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu0"; + apple,always-on; /* Core device */ + }; + + ps_cpu1: power-controller@80008 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu1"; + apple,always-on; /* Core device */ + }; + + ps_cpm: power-controller@80040 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80040 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpm"; + apple,always-on; /* Core device */ + }; + + ps_sio_busif: power-controller@80148 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80148 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_busif"; + }; + + ps_sio_p: power-controller@80150 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80150 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_p"; + power-domains =3D <&ps_sio_busif>; + }; + + ps_sbr: power-controller@80100 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80100 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sbr"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_aic: power-controller@80108 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80108 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aic"; + apple,always-on; /* Core device */ + }; + + ps_dwi: power-controller@80110 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80110 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dwi"; + }; + + ps_gpio: power-controller@80118 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80118 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gpio"; + }; + + ps_pcie_ref: power-controller@80140 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80140 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_ref"; + }; + + ps_mca0: power-controller@80160 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80160 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca1: power-controller@80168 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80168 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca2: power-controller@80170 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80170 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca3: power-controller@80178 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80178 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca4: power-controller@80180 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80180 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_pwm0: power-controller@80188 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80188 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pwm0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c0: power-controller@80190 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80190 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c1: power-controller@80198 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80198 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c2: power-controller@801a0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c3: power-controller@801a8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi0: power-controller@801b0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi1: power-controller@801b8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi2: power-controller@801c0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi3: power-controller@801c8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart0: power-controller@801d0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart1: power-controller@801d8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart2: power-controller@801e0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart3: power-controller@801e8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart4: power-controller@801f0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart5: power-controller@801f8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart5"; + power-domains =3D <&ps_sio_p>; + }; + + ps_sio: power-controller@80158 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80158 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio"; + power-domains =3D <&ps_sio_p>; + apple,always-on; /* Core device */ + }; + + ps_hsic0_phy: power-controller@80128 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80128 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsic0_phy"; + power-domains =3D <&ps_usb2host1>; + }; + + ps_isp_sens0: power-controller@80130 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80130 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sens0"; + }; + + ps_isp_sens1: power-controller@80138 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80138 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sens1"; + }; + + ps_pms: power-controller@80120 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80120 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pms"; + apple,always-on; /* Core device */ + }; + + ps_usb: power-controller@80278 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80278 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb"; + }; + + ps_usbctrl: power-controller@80280 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80280 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbctrl"; + power-domains =3D <&ps_usb>; + }; + + ps_usb2host0: power-controller@80288 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80288 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb2host1: power-controller@80298 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80298 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host1"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb2host2: power-controller@802a8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host2"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_rtmux: power-controller@802d0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "rtmux"; + apple,always-on; /* Core device */ + }; + + ps_disp1mux: power-controller@802e8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp1mux"; + }; + + ps_disp0: power-controller@802d8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0"; + power-domains =3D <&ps_rtmux>; + }; + + ps_disp1: power-controller@802f0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp1"; + power-domains =3D <&ps_disp1mux>; + }; + + ps_uart6: power-controller@80200 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80200 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart6"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart7: power-controller@80208 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80208 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart7"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart8: power-controller@80210 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80210 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart8"; + power-domains =3D <&ps_sio_p>; + }; + + ps_aes0: power-controller@80218 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80218 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aes0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mcc: power-controller@80230 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80230 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mcc"; + apple,always-on; /* Memory cache controller */ + }; + + ps_dcs0: power-controller@80238 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80238 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs0"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs1: power-controller@80240 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80240 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs1"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs2: power-controller@80248 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80248 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs2"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs3: power-controller@80250 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80250 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs3"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs4: power-controller@80258 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80258 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs4"; + }; + + ps_dcs5: power-controller@80260 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80260 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs5"; + }; + + ps_dcs6: power-controller@80268 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80268 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs6"; + }; + + ps_dcs7: power-controller@80270 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80270 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs7"; + }; + + ps_usb2host0_ohci: power-controller@80290 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80290 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0_ohci"; + power-domains =3D <&ps_usb2host0>; + }; + + ps_usbotg: power-controller@802b8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbotg"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_smx: power-controller@802c0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smx"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_sf: power-controller@802c8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sf"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_dp0: power-controller@802e0 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dp0"; + power-domains =3D <&ps_disp0>; + }; + + ps_dp1: power-controller@802f8 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dp1"; + power-domains =3D <&ps_disp1>; + }; + + ps_dpa0: power-controller@80220 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80220 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dpa0"; + }; + + ps_dpa1: power-controller@80228 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80228 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dpa1"; + }; + + ps_media: power-controller@80308 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80308 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "media"; + }; + + ps_isp: power-controller@80300 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80300 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp"; + power-domains =3D <&ps_rtmux>; + }; + + ps_msr: power-controller@80318 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80318 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "msr"; + power-domains =3D <&ps_media>; + }; + + ps_jpg: power-controller@80310 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80310 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "jpg"; + power-domains =3D <&ps_media>; + }; + + ps_venc: power-controller@80340 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80340 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc"; + power-domains =3D <&ps_media>; + }; + + ps_pcie: power-controller@80348 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80348 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie"; + }; + + ps_srs: power-controller@80390 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80390 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "srs"; + power-domains =3D <&ps_media>; + }; + + ps_pcie_aux: power-controller@80350 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80350 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_aux"; + }; + + ps_pcie_link0: power-controller@80358 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80358 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_link0"; + power-domains =3D <&ps_pcie>; + }; + + ps_pcie_link1: power-controller@80360 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80360 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_link1"; + power-domains =3D <&ps_pcie>; + }; + + ps_pcie_link2: power-controller@80368 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80368 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_link2"; + power-domains =3D <&ps_pcie>; + }; + + ps_pcie_link3: power-controller@80370 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80370 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_link3"; + power-domains =3D <&ps_pcie>; + }; + + ps_pcie_link4: power-controller@80378 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80378 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_link4"; + power-domains =3D <&ps_pcie>; + }; + + ps_pcie_link5: power-controller@80380 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80380 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_link5"; + power-domains =3D <&ps_pcie>; + }; + + ps_vdec: power-controller@80330 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80330 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "vdec"; + power-domains =3D <&ps_media>; + }; + + ps_gfx: power-controller@80388 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80388 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gfx"; + }; + + ps_pmp: power-controller@80320 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80320 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pmp"; + }; + + ps_pms_sram: power-controller@80328 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80328 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pms_sram"; + }; + + ps_sep: power-controller@80400 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80400 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sep"; + apple,always-on; /* Locked on*/ + }; + + ps_venc_pipe: power-controller@88000 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_pipe"; + power-domains =3D <&ps_venc>; + }; + + ps_venc_me0: power-controller@88008 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me0"; + }; + + ps_venc_me1: power-controller@88010 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me1"; + }; +}; + +&pmgr_mini { + ps_aop: power-controller@80000 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop"; + power-domains =3D <&ps_aop_cpu &ps_aop_filter &ps_aop_busif>; + apple,always-on; /* Always on processor */ + }; + + ps_debug: power-controller@80008 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "debug"; + }; + + ps_aop_gpio: power-controller@80010 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_gpio"; + }; + + ps_aop_cpu: power-controller@80040 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80040 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_cpu"; + }; + + ps_aop_filter: power-controller@80048 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80048 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_filter"; + }; + + ps_aop_busif: power-controller@80050 { + compatible =3D "apple,s8000-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80050 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_busif"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/s8001.dtsi b/arch/arm64/boot/dts/app= le/s8001.dtsi index 23ee3238844d..3963c6d8ca5e 100644 --- a/arch/arm64/boot/dts/apple/s8001.dtsi +++ b/arch/arm64/boot/dts/apple/s8001.dtsi @@ -61,19 +61,30 @@ serial0: serial@20a0c0000 { /* Use the bootloader-enabled clocks for now. */ clocks =3D <&clkref>, <&clkref>; clock-names =3D "uart", "clk_uart_baud0"; + power-domains =3D <&ps_uart0>; status =3D "disabled"; }; =20 + pmgr: power-management@20e000000 { + compatible =3D "apple,s8000-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0xe000000 0 0x8c000>; + }; + aic: interrupt-controller@20e100000 { compatible =3D "apple,s8000-aic", "apple,aic"; reg =3D <0x2 0x0e100000 0x0 0x100000>; #interrupt-cells =3D <3>; interrupt-controller; + power-domains =3D <&ps_aic>; }; =20 pinctrl_ap: pinctrl@20f100000 { compatible =3D "apple,s8000-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x0f100000 0x0 0x100000>; + power-domains =3D <&ps_gpio>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -95,6 +106,7 @@ pinctrl_ap: pinctrl@20f100000 { pinctrl_aop: pinctrl@2100f0000 { compatible =3D "apple,s8000-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x100f0000 0x0 0x100000>; + power-domains =3D <&ps_aop_gpio>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -113,6 +125,14 @@ pinctrl_aop: pinctrl@2100f0000 { ; }; =20 + pmgr_mini: power-management@210200000 { + compatible =3D "apple,s8000-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0x10200000 0 0x84000>; + }; + wdt: watchdog@2102b0000 { compatible =3D "apple,s8000-wdt", "apple,wdt"; reg =3D <0x2 0x102b0000 0x0 0x4000>; @@ -131,3 +151,5 @@ timer { ; }; }; + +#include "s8001-pmgr.dtsi" --=20 2.47.0 From nobody Sun Nov 24 19:36:48 2024 Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) (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 262E117107F; Sun, 3 Nov 2024 07:34:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619246; cv=none; b=io51ruk2RVhO0iBefopjw7g6n2DXVgtYWGWVsrA0nBH+cRAPwNEujGuhh0TH5qaK1F2JLHTdjk4L5RRfdhUGTikMy1sz2630ii3MFDEcEdsJeI2oz6YUof/wdNjqa5NYzJplkr8Yz7JVNRkdRw66WpOopNgqgDnmHLLm9tQ4PQg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619246; c=relaxed/simple; bh=dQZcwNNpVN9xDm5vv9u8l005DSc81tCfecddx48DJwQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=I58vd5eHTVMMaBfPIwOV7frK05A0isA1NZMI9YGkitT5pha04OxCoMivqKQyP9UoUwJ/3JsS0GC8SmleeZ2bO45u/xuUHHkfEI8LjQt8NqC48EedQ4Wxmb3s7piAnSXSObTv8sPJJKBoTNxbmV3cF82EMO7X7EBYjmvfEpdfN5M= 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=QxVqjy3j; arc=none smtp.client-ip=209.85.215.176 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="QxVqjy3j" Received: by mail-pg1-f176.google.com with SMTP id 41be03b00d2f7-7f12ba969ccso108730a12.1; Sun, 03 Nov 2024 00:34:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730619243; x=1731224043; darn=vger.kernel.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=ezuluBHLPs0u21nHMVGvDKG6r1sdhKZhCLc789Hgb2I=; b=QxVqjy3j8LECA/F21paAOjBlIvqc2NxTknhWlA0e4Gu80UtIlG4fT0HhxXEeMX9nqG QXVj6LXmzBNwd5E1hlnyxIVwliC30hLGImvysEXUF+16F2XwPtF3SaLnTonudbq43IwM jhwZUTkZesV3BPHvKcltDQxEDFqrLgl3Ab8AhSVmxiZR3aSd/W00Odvf+h7niawP1WzJ RpTOhUctEfa3fodZ0vryt4d8MbBKewad8CBeN9hfROyggDYhjIPa2B6nor/E9M6Q+YNW yI0GWrUS1zIja+q8BHTAfCvYKzGyqLG0Xjrbj14oMnDrrBSC5rorBqrwZgfIxmouCVqO W2Rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730619243; x=1731224043; 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=ezuluBHLPs0u21nHMVGvDKG6r1sdhKZhCLc789Hgb2I=; b=D56GT3ANGgpB9DgmHItx6rNgDtPa+LAEvCcBsS3dtBq3xsgLp8zJg/nmM2zZYbjl9t BulCV9VxvQAiK3MxY4adzeHL4UJcrTxXZiIu6kcJ7BpXClftwwLTCOzl02DGFLQRcjSX g3NTbF9yaMgS6emKMxA2R0CkNkznzPJMF8G1G+NeG3C4GU8eJobtEI88ZLwBFZ1Uvf01 8X/IFLAluck5VpAn9usLW1+lxKj4q/tI6XLI6k4Dz6uP/LMBi0QglnVp3I8wV3i+mkbY CojVNdYvAI0904oGVkgBB3fr9pIl5X1qvd+FXC8/sKvY3x3FC5ceqvRPxMjRmxidK3dm L/nQ== X-Forwarded-Encrypted: i=1; AJvYcCUI/vOb9rHwLcZ3IcCMgLUu8rGfnWtEKB46RCs5RB/1ZC2eNFD4wyox26Bb7h1owui+Mm7rxXcBffIR@vger.kernel.org, AJvYcCXn/WBP14xJfqsZMPjdDn9gwckk0CJ7NdpClsQoKfJvrZmrDH16DfG4awDRkjqsA1Z7zoFoBWQ5LC4tvIbA@vger.kernel.org X-Gm-Message-State: AOJu0Yy3NhCkpx7vWcuK39PrpaYjke0NuJjxwaTpFDOQ2phJr+5Pzdo8 spWBh7l2yHDGMAkX8ETX5SY3TmLHasoQkQtd5R1KuFNx6tG0lxiw X-Google-Smtp-Source: AGHT+IFf1GGtaZnmlRudGQP9xwnYs2ClDCwJrSwxv/5rdI0ODG+rhTczpjzH2oJ2BjpCOwEK76ED3g== X-Received: by 2002:a17:90a:b109:b0:2e2:da81:40ca with SMTP id 98e67ed59e1d1-2e8f104cb14mr30798985a91.2.1730619243329; Sun, 03 Nov 2024 00:34:03 -0700 (PDT) Received: from localhost.localdomain ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2e93da983f9sm5353443a91.5.2024.11.03.00.34.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Nov 2024 00:34:02 -0700 (PDT) From: Nick Chan To: Hector Martin , Sven Peter , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Conor Dooley , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Nick Chan Subject: [PATCH asahi-soc/dt v3 08/10] arm64: dts: apple: t8010: Add PMGR nodes Date: Sun, 3 Nov 2024 15:31:19 +0800 Message-ID: <20241103073319.30672-9-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241103073319.30672-1-towinchenmi@gmail.com> References: <20241103073319.30672-1-towinchenmi@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This adds the two PMGR nodes and all known power state subnodes. Since there are a large number of them, let's put them in a separate file to include. Acked-by: Hector Martin Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t8010-7.dtsi | 4 + arch/arm64/boot/dts/apple/t8010-ipad6.dtsi | 4 + arch/arm64/boot/dts/apple/t8010-n112.dts | 4 + arch/arm64/boot/dts/apple/t8010-pmgr.dtsi | 772 +++++++++++++++++++++ arch/arm64/boot/dts/apple/t8010.dtsi | 22 + 5 files changed, 806 insertions(+) create mode 100644 arch/arm64/boot/dts/apple/t8010-pmgr.dtsi diff --git a/arch/arm64/boot/dts/apple/t8010-7.dtsi b/arch/arm64/boot/dts/a= pple/t8010-7.dtsi index 1332fd73f50f..91fae47d25d0 100644 --- a/arch/arm64/boot/dts/apple/t8010-7.dtsi +++ b/arch/arm64/boot/dts/apple/t8010-7.dtsi @@ -41,3 +41,7 @@ switch-mute { }; }; }; + +&framebuffer0 { + power-domains =3D <&ps_disp0_fe &ps_disp0_be &ps_mipi_dsi>; +}; diff --git a/arch/arm64/boot/dts/apple/t8010-ipad6.dtsi b/arch/arm64/boot/d= ts/apple/t8010-ipad6.dtsi index 81696c6e302c..b83fe153763e 100644 --- a/arch/arm64/boot/dts/apple/t8010-ipad6.dtsi +++ b/arch/arm64/boot/dts/apple/t8010-ipad6.dtsi @@ -42,3 +42,7 @@ button-volup { }; }; }; + +&framebuffer0 { + power-domains =3D <&ps_disp0_fe &ps_disp0_be &ps_dp>; +}; diff --git a/arch/arm64/boot/dts/apple/t8010-n112.dts b/arch/arm64/boot/dts= /apple/t8010-n112.dts index 6e71c3cb5d92..48fdbedf74da 100644 --- a/arch/arm64/boot/dts/apple/t8010-n112.dts +++ b/arch/arm64/boot/dts/apple/t8010-n112.dts @@ -45,3 +45,7 @@ button-volup { }; }; }; + +&framebuffer0 { + power-domains =3D <&ps_disp0_fe &ps_disp0_be &ps_mipi_dsi>; +}; diff --git a/arch/arm64/boot/dts/apple/t8010-pmgr.dtsi b/arch/arm64/boot/dt= s/apple/t8010-pmgr.dtsi new file mode 100644 index 000000000000..6d451088616a --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8010-pmgr.dtsi @@ -0,0 +1,772 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * PMGR Power domains for the Apple T8010 "A10" SoC + * + * Copyright (c) 2024 Nick Chan + */ + +&pmgr { + ps_cpu0: power-controller@80000 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu0"; + apple,always-on; /* Core device */ + }; + + ps_cpu1: power-controller@80008 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu1"; + apple,always-on; /* Core device */ + }; + + ps_cpm: power-controller@80040 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80040 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpm"; + apple,always-on; /* Core device */ + }; + + ps_sio_busif: power-controller@80160 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80160 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_busif"; + }; + + ps_sio_p: power-controller@80168 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80168 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_p"; + power-domains =3D <&ps_sio_busif>; + }; + + ps_sbr: power-controller@80100 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80100 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sbr"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_aic: power-controller@80108 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80108 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aic"; + apple,always-on; /* Core device */ + }; + + ps_dwi: power-controller@80110 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80110 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dwi"; + }; + + ps_gpio: power-controller@80118 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80118 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gpio"; + }; + + ps_pms: power-controller@80120 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80120 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pms"; + apple,always-on; /* Core device */ + }; + + ps_pcie_ref: power-controller@80148 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80148 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_ref"; + }; + + ps_socuvd: power-controller@80150 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80150 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "socuvd"; + }; + + ps_mca0: power-controller@80178 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80178 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca1: power-controller@80180 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80180 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca2: power-controller@80188 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80188 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca3: power-controller@80190 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80190 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca4: power-controller@80198 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80198 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_pwm0: power-controller@801a0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pwm0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c0: power-controller@801a8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c1: power-controller@801b0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c2: power-controller@801b8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c3: power-controller@801c0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi0: power-controller@801c8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi1: power-controller@801d0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi2: power-controller@801d8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi3: power-controller@801e0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart0: power-controller@801e8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart1: power-controller@801f0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart2: power-controller@801f8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_sio: power-controller@80170 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80170 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio"; + power-domains =3D <&ps_sio_p>; + apple,always-on; /* Core device */ + }; + + ps_hsic0_phy: power-controller@80128 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80128 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsic0_phy"; + power-domains =3D <&ps_usb2host1>; + }; + + ps_isp_sens0: power-controller@80130 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80130 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sens0"; + }; + + ps_isp_sens1: power-controller@80138 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80138 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sens1"; + }; + + ps_isp_sens2: power-controller@80140 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80140 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sens2"; + }; + + ps_usb: power-controller@80268 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80268 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb"; + }; + + ps_usbctrl: power-controller@80270 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80270 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbctrl"; + power-domains =3D <&ps_usb>; + }; + + ps_usb2host0: power-controller@80278 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80278 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb2host1: power-controller@80288 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80288 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host1"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_rtmux: power-controller@802a8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "rtmux"; + }; + + ps_media: power-controller@802d8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "media"; + }; + + ps_isp_sys: power-controller@802d0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sys"; + power-domains =3D <&ps_rtmux>; + }; + + ps_msr: power-controller@802e8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "msr"; + power-domains =3D <&ps_media>; + }; + + ps_jpg: power-controller@802e0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "jpg"; + power-domains =3D <&ps_media>; + }; + + ps_disp0_fe: power-controller@802b0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0_fe"; + power-domains =3D <&ps_rtmux>; + }; + + ps_disp0_be: power-controller@802b8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0_be"; + power-domains =3D <&ps_disp0_fe>; + }; + + ps_pmp: power-controller@802f0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pmp"; + }; + + ps_pms_sram: power-controller@802f8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pms_sram"; + }; + + ps_uart3: power-controller@80200 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80200 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart4: power-controller@80208 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80208 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart5: power-controller@80210 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80210 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart5"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart6: power-controller@80218 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80218 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart6"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart7: power-controller@80220 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80220 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart7"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart8: power-controller@80228 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80228 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart8"; + power-domains =3D <&ps_sio_p>; + }; + + ps_hfd0: power-controller@80238 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80238 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hfd0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mcc: power-controller@80240 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80240 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mcc"; + apple,always-on; /* Memory cache controller */ + }; + + ps_dcs0: power-controller@80248 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80248 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs0"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs1: power-controller@80250 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80250 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs1"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs2: power-controller@80258 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80258 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs2"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs3: power-controller@80260 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80260 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs3"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_usb2host0_ohci: power-controller@80280 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80280 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0_ohci"; + power-domains =3D <&ps_usb2host0>; + }; + + ps_usbotg: power-controller@80290 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80290 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbotg"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_smx: power-controller@80298 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80298 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smx"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_sf: power-controller@802a0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sf"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_mipi_dsi: power-controller@802c0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mipi_dsi"; + power-domains =3D <&ps_disp0_be>; + }; + + ps_dp: power-controller@802c8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dp"; + power-domains =3D <&ps_disp0_be>; + }; + + ps_venc_sys: power-controller@80310 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80310 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_sys"; + power-domains =3D <&ps_media>; + }; + + ps_pcie: power-controller@80318 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80318 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie"; + }; + + ps_pcie_aux: power-controller@80320 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80320 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_aux"; + }; + + ps_vdec0: power-controller@80300 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80300 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "vdec0"; + power-domains =3D <&ps_media>; + }; + + ps_gfx: power-controller@80328 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80328 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gfx"; + }; + + ps_sep: power-controller@80400 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80400 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sep"; + apple,always-on; /* Locked on */ + }; + + ps_isp_rsts0: power-controller@84000 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_rsts0"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_rsts1: power-controller@84008 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_rsts1"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_vis: power-controller@84010 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_vis"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_be: power-controller@84018 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84018 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_be"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_pearl: power-controller@84020 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84020 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_pearl"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_dprx: power-controller@84028 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84028 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dprx"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_venc_pipe4: power-controller@88000 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_pipe4"; + power-domains =3D <&ps_venc_sys>; + }; + + ps_venc_pipe5: power-controller@88008 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_pipe5"; + power-domains =3D <&ps_venc_sys>; + }; + + ps_venc_me0: power-controller@88010 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me0"; + }; + + ps_venc_me1: power-controller@88018 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88018 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me1"; + }; +}; + +&pmgr_mini { + ps_aop: power-controller@80000 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop"; + power-domains =3D <&ps_aop_cpu &ps_aop_busif &ps_aop_filter>; + apple,always-on; /* Always on processor */ + }; + + ps_debug: power-controller@80008 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "debug"; + }; + + ps_aop_gpio: power-controller@80010 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_gpio"; + }; + + ps_aop_cpu: power-controller@80048 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80048 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_cpu"; + }; + + ps_aop_filter: power-controller@80050 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80050 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_filter"; + }; + + ps_aop_busif: power-controller@80058 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80058 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_busif"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8010.dtsi b/arch/arm64/boot/dts/app= le/t8010.dtsi index e3d6a8354103..ac1dda92f890 100644 --- a/arch/arm64/boot/dts/apple/t8010.dtsi +++ b/arch/arm64/boot/dts/apple/t8010.dtsi @@ -61,19 +61,30 @@ serial0: serial@20a0c0000 { /* Use the bootloader-enabled clocks for now. */ clocks =3D <&clkref>, <&clkref>; clock-names =3D "uart", "clk_uart_baud0"; + power-domains =3D <&ps_uart0>; status =3D "disabled"; }; =20 + pmgr: power-management@20e000000 { + compatible =3D "apple,t8010-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0xe000000 0 0x8c000>; + }; + aic: interrupt-controller@20e100000 { compatible =3D "apple,t8010-aic", "apple,aic"; reg =3D <0x2 0x0e100000 0x0 0x100000>; #interrupt-cells =3D <3>; interrupt-controller; + power-domains =3D <&ps_aic>; }; =20 pinctrl_ap: pinctrl@20f100000 { compatible =3D "apple,t8010-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x0f100000 0x0 0x100000>; + power-domains =3D <&ps_gpio>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -95,6 +106,7 @@ pinctrl_ap: pinctrl@20f100000 { pinctrl_aop: pinctrl@2100f0000 { compatible =3D "apple,t8010-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x100f0000 0x0 0x100000>; + power-domains =3D <&ps_aop_gpio>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -113,6 +125,14 @@ pinctrl_aop: pinctrl@2100f0000 { ; }; =20 + pmgr_mini: power-management@210200000 { + compatible =3D "apple,t8010-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0x10200000 0 0x84000>; + }; + wdt: watchdog@2102b0000 { compatible =3D "apple,t8010-wdt", "apple,wdt"; reg =3D <0x2 0x102b0000 0x0 0x4000>; @@ -131,3 +151,5 @@ timer { ; }; }; + +#include "t8010-pmgr.dtsi" --=20 2.47.0 From nobody Sun Nov 24 19:36:48 2024 Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.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 D16A4175D38; Sun, 3 Nov 2024 07:34:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619249; cv=none; b=FK+NY5PuKf7EYEJE+/xw9IO4KswcFfdULDhmtqBnrwRLPCfewzJyQe4tR2mkupa1jsts6FLRc5d8ZxcE6ulIF1J9/gTU9I4xgg7lG6ihd0pNSYXWC5++s3017fmi9Jp/lvlaXxks6o4cisZZmhXeLrq2F9pAOBCZc/C57Q6A6A8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619249; c=relaxed/simple; bh=GgZaBlxEMl3rlCm+fj6dftUD1gCQg4eBNrF1dG3t82s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IbI7HIT82YP/sBh9aUbF9GBvHnNsJBhrVMg+73c+Q+DRisDE8D7BJiTE9XuciIn6bipaXVKqgAfsGaOPbewUMxesXF2D+zBi9PbcOzzBGIfuDXUA+LtbyFn0/tv9yu2Atnx+YZg/+bBDc6OfTOjJaMKMg+zqpQjp0Hpd8RmWm/0= 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=KNMo9LmY; arc=none smtp.client-ip=209.85.215.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="KNMo9LmY" Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-7ee4c57b037so1942612a12.0; Sun, 03 Nov 2024 00:34:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730619246; x=1731224046; darn=vger.kernel.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=4CJzztxfdkkIZuRwygV7t/6ife5xKV01tz5d3mSTVk0=; b=KNMo9LmYAKBlBTPeoiGjTSLbuz7xHC+D3nrM+0ye1gSPZUFQKP6vtzo1J0NfMPzyXk quRXFl7iy1euZmSkJwkjFRSjhi0sdO5CI1qZKlIdLGCaPWbhcGby05vkMUACvlyRY4D5 wJlHA33y+SJlUAD8lx/oj0k463i/cP0TFE3BS6s3kNm/Pnq0JMBdaS/XhqfzpEGzQIEa xODy6EPU8A+zrT8PX2CtbuVfW22WISPGHzdengNKaEwwHHusRcplh07pK5mrf/ULl2kn IhLAtaNCwM2ojErvuPx45MbEVv17EITD7XI8WbMQCUZHXfFdKrZWM8OFEnh7dy2yCX0I 5M3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730619246; x=1731224046; 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=4CJzztxfdkkIZuRwygV7t/6ife5xKV01tz5d3mSTVk0=; b=hWeYEpvZzc/DB7pv1OIKf/50hle7zKFZPZg4rXeVHBg2365sKV8hIv/q7qBFQ7pX14 bDla9fh2vZ59KSPYmxR+jXDFPNJGMfMzF+no9eb4PwpqtUvXojAWP17fz9zgWKndvgBq QOosIWvNqhnoi+FfYsm6gicDDaW9SaFJBuAq6w84D4AfZbOmAGfwKaTiQlklzykNodeZ cBkZ41qD4DE4lMZ5Rhu/tv+xDQWrSycCpbg2Vafdqr4TNSMD2oBV/rXk+RbOCTldmnpG 5ZI4YkusF4q5JedjOv/nNUtvzh+Ebk8IlyygM5U8PaPArA6pVWvygxYnWISufarvRjWs wZGw== X-Forwarded-Encrypted: i=1; AJvYcCUTt/PTqRzdpoHiRc9aAohmJfxeqq1VLHDVzKKWGWBwLaeqrlZoewAUYH2sT6McmSW6uaLSWdZY0SgxAyW5@vger.kernel.org, AJvYcCX1L5hj4qnqLpPcv+up/98TJNReTPN22x6DtsCcNmGaACYKX3cSUbRx2otYaK/xX8wQgDx1mC6V82Ys@vger.kernel.org X-Gm-Message-State: AOJu0YyepoNEiDqNPi9Lzmywta3sNerfFVfK8xuwKy+yQGM7q0mCLzHk 5vDsJxL47ZEy5ux+adqAPBv/H4pFy8gAo8hi+EXcGAlJcZXYjPjn X-Google-Smtp-Source: AGHT+IFJoPiRLtSm8A3IJg2pP9BqjrbeDZtctGxBlQfykqERM7l4NrtrpFEQbdyvx76sAF7ACIL3ZQ== X-Received: by 2002:a17:90b:38c3:b0:2e2:e937:7141 with SMTP id 98e67ed59e1d1-2e94c2e4777mr13795756a91.20.1730619245941; Sun, 03 Nov 2024 00:34:05 -0700 (PDT) Received: from localhost.localdomain ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2e93da983f9sm5353443a91.5.2024.11.03.00.34.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Nov 2024 00:34:05 -0700 (PDT) From: Nick Chan To: Hector Martin , Sven Peter , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Conor Dooley , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Nick Chan Subject: [PATCH asahi-soc/dt v3 09/10] arm64: dts: apple: t8011: Add PMGR nodes Date: Sun, 3 Nov 2024 15:31:20 +0800 Message-ID: <20241103073319.30672-10-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241103073319.30672-1-towinchenmi@gmail.com> References: <20241103073319.30672-1-towinchenmi@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This adds the two PMGR nodes and all known power state subnodes. Since there are a large number of them, let's put them in a separate file to include. Acked-by: Hector Martin Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t8011-common.dtsi | 1 + arch/arm64/boot/dts/apple/t8011-pmgr.dtsi | 806 ++++++++++++++++++++ arch/arm64/boot/dts/apple/t8011-pro2.dtsi | 8 + arch/arm64/boot/dts/apple/t8011.dtsi | 22 + 4 files changed, 837 insertions(+) create mode 100644 arch/arm64/boot/dts/apple/t8011-pmgr.dtsi diff --git a/arch/arm64/boot/dts/apple/t8011-common.dtsi b/arch/arm64/boot/= dts/apple/t8011-common.dtsi index 44a0d0ea2ee3..2010b56246f1 100644 --- a/arch/arm64/boot/dts/apple/t8011-common.dtsi +++ b/arch/arm64/boot/dts/apple/t8011-common.dtsi @@ -22,6 +22,7 @@ chosen { framebuffer0: framebuffer@0 { compatible =3D "apple,simple-framebuffer", "simple-framebuffer"; reg =3D <0 0 0 0>; /* To be filled by loader */ + power-domains =3D <&ps_disp0_fe &ps_disp0_be &ps_dp>; /* Format properties will be added by loader */ status =3D "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/t8011-pmgr.dtsi b/arch/arm64/boot/dt= s/apple/t8011-pmgr.dtsi new file mode 100644 index 000000000000..c44e3f9d7087 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8011-pmgr.dtsi @@ -0,0 +1,806 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * PMGR Power domains for the Apple T8011 "A10X" SoC + * + * Copyright (c) 2024 Nick Chan + */ + +&pmgr { + ps_cpu0: power-controller@80000 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu0"; + apple,always-on; /* Core device */ + }; + + ps_cpu1: power-controller@80008 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu1"; + apple,always-on; /* Core device */ + }; + + ps_cpu2: power-controller@80010 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu2"; + apple,always-on; /* Core device */ + }; + + ps_cpm: power-controller@80040 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80040 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpm"; + apple,always-on; /* Core device */ + }; + + ps_sio_busif: power-controller@80158 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80158 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_busif"; + }; + + ps_sio_p: power-controller@80160 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80160 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_p"; + power-domains =3D <&ps_sio_busif>; + }; + + ps_sbr: power-controller@80100 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80100 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sbr"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_aic: power-controller@80108 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80108 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aic"; + apple,always-on; /* Core device */ + }; + + ps_dwi: power-controller@80110 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80110 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dwi"; + }; + + ps_gpio: power-controller@80118 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80118 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gpio"; + }; + + ps_pms: power-controller@80120 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80120 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pms"; + apple,always-on; /* Core device */ + }; + + ps_pcie_ref: power-controller@80148 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80148 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_ref"; + }; + + ps_mca0: power-controller@80170 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80170 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca1: power-controller@80178 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80178 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca2: power-controller@80180 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80180 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca3: power-controller@80188 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80188 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca4: power-controller@80190 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80190 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_pwm0: power-controller@80198 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80198 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pwm0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c0: power-controller@801a0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c1: power-controller@801a8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c2: power-controller@801b0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c3: power-controller@801b8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi0: power-controller@801c0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi1: power-controller@801c8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi2: power-controller@801d0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi3: power-controller@801d8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart0: power-controller@801e0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart1: power-controller@801e8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart2: power-controller@801f0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart3: power-controller@801f8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_sio: power-controller@80168 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80168 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio"; + power-domains =3D <&ps_sio_p>; + apple,always-on; /* Core device */ + }; + + ps_hsic0_phy: power-controller@80128 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80128 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsic0_phy"; + power-domains =3D <&ps_usb3host>; + }; + + ps_isp_sens0: power-controller@80130 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80130 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sens0"; + }; + + ps_isp_sens1: power-controller@80138 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80138 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sens1"; + }; + + ps_isp_sens2: power-controller@80140 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80140 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sens2"; + }; + + ps_usb: power-controller@80288 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80288 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb"; + }; + + ps_usbctrl: power-controller@80290 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80290 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbctrl"; + power-domains =3D <&ps_usb>; + }; + + ps_usb2host: power-controller@80298 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80298 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb2dev: power-controller@802a0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2dev"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb3host: power-controller@802a8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb3host"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_usb3dev: power-controller@802b0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb3dev"; + power-domains =3D <&ps_usbctrl>; + }; + + ps_media: power-controller@802e8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "media"; + }; + + ps_isp_sys: power-controller@802e0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sys"; + }; + + ps_msr: power-controller@802f8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "msr"; + power-domains =3D <&ps_media>; + }; + + ps_jpg: power-controller@802f0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "jpg"; + power-domains =3D <&ps_media>; + }; + + ps_disp0_fe: power-controller@802c8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0_fe"; + }; + + ps_disp0_be: power-controller@802d0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0_be"; + power-domains =3D <&ps_disp0_fe>; + }; + + ps_dpa: power-controller@80230 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80230 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dpa"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart4: power-controller@80200 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80200 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart5: power-controller@80208 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80208 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart5"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart6: power-controller@80210 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80210 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart6"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart7: power-controller@80218 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80218 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart7"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart8: power-controller@80220 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80220 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart8"; + power-domains =3D <&ps_sio_p>; + }; + + ps_hfd0: power-controller@80238 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80238 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hfd0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mcc: power-controller@80240 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80240 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mcc"; + apple,always-on; /* Memory cache controller */ + }; + + ps_dcs0: power-controller@80248 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80248 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs0"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs1: power-controller@80250 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80250 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs1"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs2: power-controller@80258 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80258 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs2"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs3: power-controller@80260 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80260 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs3"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs4: power-controller@80268 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80268 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs4"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs5: power-controller@80270 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80270 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs5"; + apple,always-on; /* LPDDR4 interface */ + }; + + ps_dcs6: power-controller@80278 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80278 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs6"; + }; + + ps_dcs7: power-controller@80280 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80280 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs7"; + }; + + ps_smx: power-controller@802b8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smx"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_sf: power-controller@802c0 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sf"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_dp: power-controller@802d8 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dp"; + power-domains =3D <&ps_disp0_be>; + }; + + ps_venc_sys: power-controller@80320 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80320 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_sys"; + power-domains =3D <&ps_media>; + }; + + ps_srs: power-controller@80390 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80390 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "srs"; + power-domains =3D <&ps_media>; + }; + + ps_pms_sram: power-controller@80308 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80308 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pms_sram"; + }; + + ps_pmp: power-controller@80300 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80300 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pmp"; + }; + + ps_pcie: power-controller@80328 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80328 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie"; + }; + + ps_pcie_aux: power-controller@80330 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80330 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_aux"; + }; + + ps_vdec0: power-controller@80310 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80310 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "vdec0"; + power-domains =3D <&ps_media>; + }; + + ps_gfx: power-controller@80338 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80338 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gfx"; + }; + + ps_sep: power-controller@80400 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80400 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sep"; + apple,always-on; /* Locked on */ + }; + + ps_isp_rsts0: power-controller@84000 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_rsts0"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_rsts1: power-controller@84008 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_rsts1"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_vis: power-controller@84010 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_vis"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_be: power-controller@84018 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84018 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_be"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_pearl: power-controller@84020 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84020 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_pearl"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_dprx: power-controller@84028 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84028 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dprx"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_venc_pipe4: power-controller@88000 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_pipe4"; + power-domains =3D <&ps_venc_sys>; + }; + + ps_venc_pipe5: power-controller@88008 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_pipe5"; + power-domains =3D <&ps_venc_sys>; + }; + + ps_venc_me0: power-controller@88010 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me0"; + }; + + ps_venc_me1: power-controller@88018 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88018 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me1"; + }; +}; + +&pmgr_mini { + ps_aop: power-controller@80000 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop"; + power-domains =3D <&ps_aop_cpu &ps_aop_filter &ps_aop_busif>; + apple,always-on; /* Always on processor */ + }; + + ps_debug: power-controller@80008 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "debug"; + }; + + ps_aop_gpio: power-controller@80010 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_gpio"; + }; + + ps_aop_cpu: power-controller@80048 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80048 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_cpu"; + }; + + ps_aop_filter: power-controller@80050 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80050 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_filter"; + }; + + ps_aop_busif: power-controller@80058 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80058 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_busif"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8011-pro2.dtsi b/arch/arm64/boot/dt= s/apple/t8011-pro2.dtsi index f4e707415003..5eaa0a73350f 100644 --- a/arch/arm64/boot/dts/apple/t8011-pro2.dtsi +++ b/arch/arm64/boot/dts/apple/t8011-pro2.dtsi @@ -40,3 +40,11 @@ button-volup { }; }; }; + +&ps_dcs6 { + apple,always-on; /* LPDDR4 interface */ +}; + +&ps_dcs7 { + apple,always-on; /* LPDDR4 interface */ +}; diff --git a/arch/arm64/boot/dts/apple/t8011.dtsi b/arch/arm64/boot/dts/app= le/t8011.dtsi index 6c4ed9dc4a50..b845fa6f6d64 100644 --- a/arch/arm64/boot/dts/apple/t8011.dtsi +++ b/arch/arm64/boot/dts/apple/t8011.dtsi @@ -69,19 +69,30 @@ serial0: serial@20a0c0000 { /* Use the bootloader-enabled clocks for now. */ clocks =3D <&clkref>, <&clkref>; clock-names =3D "uart", "clk_uart_baud0"; + power-domains =3D <&ps_uart0>; status =3D "disabled"; }; =20 + pmgr: power-management@20e000000 { + compatible =3D "apple,t8010-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0xe000000 0 0x8c000>; + }; + aic: interrupt-controller@20e100000 { compatible =3D "apple,t8010-aic", "apple,aic"; reg =3D <0x2 0x0e100000 0x0 0x100000>; #interrupt-cells =3D <3>; interrupt-controller; + power-domains =3D <&ps_aic>; }; =20 pinctrl_ap: pinctrl@20f100000 { compatible =3D "apple,t8010-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x0f100000 0x0 0x100000>; + power-domains =3D <&ps_gpio>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -103,6 +114,7 @@ pinctrl_ap: pinctrl@20f100000 { pinctrl_aop: pinctrl@2100f0000 { compatible =3D "apple,t8010-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x100f0000 0x0 0x100000>; + power-domains =3D <&ps_aop_gpio>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -121,6 +133,14 @@ pinctrl_aop: pinctrl@2100f0000 { ; }; =20 + pmgr_mini: power-management@210200000 { + compatible =3D "apple,t8010-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0x10200000 0 0x84000>; + }; + wdt: watchdog@2102b0000 { compatible =3D "apple,t8010-wdt", "apple,wdt"; reg =3D <0x2 0x102b0000 0x0 0x4000>; @@ -139,3 +159,5 @@ timer { ; }; }; + +#include "t8011-pmgr.dtsi" --=20 2.47.0 From nobody Sun Nov 24 19:36:48 2024 Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) (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 749C7171E6E; Sun, 3 Nov 2024 07:34:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619252; cv=none; b=PezQt4E2LVYK/3Kh1Ngjwjp3K8KiJcbpL878sEk+s3supxV5XazOZBDK6pnmHehmvYQCXrXIu6WUFQEx6aapwnSxWvjib8rv75DRM1y07MZM3tNVidm77m5DRC4LjOvt3LUYkDXdyWqU0smwPWFqys7SLEKC/hP1Dnp+ZB+ON00= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1730619252; c=relaxed/simple; bh=kfC+rAqsGktPACbXytMLhCUSZXMCiqR/0H6ghGoSg5E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S3Z3E3B1ft1eGpMzj0m2r7mcgMrlWlNb7Osn+TJYKCsroSZ+/jq9v+hLRHlc7FLG61ZCVcm8fstiTjXV7MTFOnb4UOiQjDjFQJnUdVaDOQAs9Etl6wCwf7UKG0YR5tP5VgYbqVGyPTPokORK0PWfNELCI7EGFyOCbh1frXTm5Ks= 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=F+nByWjo; arc=none smtp.client-ip=209.85.215.176 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="F+nByWjo" Received: by mail-pg1-f176.google.com with SMTP id 41be03b00d2f7-7ee7e87f6e4so330072a12.2; Sun, 03 Nov 2024 00:34:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730619249; x=1731224049; darn=vger.kernel.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=A56WsYs01hqdcQSCrVx/ahcVsKZ4TBpKPu+mrLKsL4w=; b=F+nByWjo0uTz2TllnjKJad07uva8vNcUgsh+Nd5mSWO2xnHDbwYq+vZx1J7xn5EFKf w4xYW+oyFhcCJWIBcs88NoQfJtwAgenXYenlzINkzmXmXGFTd5guaaaekthNM8nMemVk o2kspDhSgVrr5nxn2dS+C5wugynLk2mA3EwH7kIBeiRxaQqDUmH1qd35jhUIEGf48uif m2/sLe+kzRjZufVIcK2sk+m4JtdQwlQPHtZm1f9eUij8DccTX6U0URGMSCYSiA9gOGVu orR9YkS+o/CIvkRQFQzTPtuhTuEPH6Yx1fN3BbVe24BsZCWiu/HyNUpWs5TWtB737GG3 v9zA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730619249; x=1731224049; 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=A56WsYs01hqdcQSCrVx/ahcVsKZ4TBpKPu+mrLKsL4w=; b=G8HUDN/WYdjHf02oeBxbgz7mfjuMs+OpeTm0CR6ex0N2zOpMo9Dfp/DphYwm6MIyRa z2AzBn1hqABMM7h0ykvwuOU9387VDUx9iYnyWxc1n/z5McCARgyEIs717hTHSYPxux0f MGsa/0u+otY2Vy61nPrVLiRhooaUlc0HjxSUI8FvraLQnjzjWp8hDy27k+KX1uVkpdlC JyDBWAyFrE6Y6md3TEVlJNUSGej2E0GNs2uQERn65Wn9+pOgvJuWmgYEDyLvUg4yfGYh Lqj+m6RZCnRZjhwR4GMl6t2agpFZa1zup43W2ADq6JLxcnh8qpWdz+9mg6oDBvc24Ls1 f1rw== X-Forwarded-Encrypted: i=1; AJvYcCXA8Z53ciTu5OqrQLQX7SiQ3pGn3jmvZl+eCx/j0FXYSyzdRtuunl4vSPn++JFcbuN3A67drzDwHOsQLqFD@vger.kernel.org, AJvYcCXmUX3c2TBr/+NiE9QklVqb8dY/3WpxqSMcAm6y0O5ksXsFyyhYWj706a8qA26DCvrbjuZjbtf68wLT@vger.kernel.org X-Gm-Message-State: AOJu0YwJmxEdJXtUNCvyzAJgs8E6IHK5LFpCokJpmf+ssRjJ8XDRnu5G RwfTutISXxeWY8O2FvzG0MJMhf9IA93DmPrVDxFqROnJgQVNZY/a X-Google-Smtp-Source: AGHT+IFgu5Cev0/dzPRpbVHx7S5x8a9o7cHj1KS4aAu5flH8FQ6KHFVETgwvPy65ie2t4EL1L/P2UA== X-Received: by 2002:a17:90b:1bd2:b0:2e0:9d3e:bc2a with SMTP id 98e67ed59e1d1-2e94c51c5f2mr12807283a91.32.1730619248543; Sun, 03 Nov 2024 00:34:08 -0700 (PDT) Received: from localhost.localdomain ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2e93da983f9sm5353443a91.5.2024.11.03.00.34.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Nov 2024 00:34:08 -0700 (PDT) From: Nick Chan To: Hector Martin , Sven Peter , Alyssa Rosenzweig , Rob Herring , Krzysztof Kozlowski , Conor Dooley , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Nick Chan Subject: [PATCH asahi-soc/dt v3 10/10] arm64: dts: apple: t8015: Add PMGR nodes Date: Sun, 3 Nov 2024 15:31:21 +0800 Message-ID: <20241103073319.30672-11-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20241103073319.30672-1-towinchenmi@gmail.com> References: <20241103073319.30672-1-towinchenmi@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This adds the two PMGR nodes and all known power state subnodes. Since there are a large number of them, let's put them in a separate file to include. Acked-by: Hector Martin Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t8015-common.dtsi | 1 + arch/arm64/boot/dts/apple/t8015-pmgr.dtsi | 930 ++++++++++++++++++++ arch/arm64/boot/dts/apple/t8015.dtsi | 21 + 3 files changed, 952 insertions(+) create mode 100644 arch/arm64/boot/dts/apple/t8015-pmgr.dtsi diff --git a/arch/arm64/boot/dts/apple/t8015-common.dtsi b/arch/arm64/boot/= dts/apple/t8015-common.dtsi index 69258a33ea50..498f58fb9715 100644 --- a/arch/arm64/boot/dts/apple/t8015-common.dtsi +++ b/arch/arm64/boot/dts/apple/t8015-common.dtsi @@ -24,6 +24,7 @@ chosen { framebuffer0: framebuffer@0 { compatible =3D "apple,simple-framebuffer", "simple-framebuffer"; reg =3D <0 0 0 0>; /* To be filled by loader */ + power-domains =3D <&ps_disp0_be &ps_mipi_dsi &ps_disp0_hilo &ps_disp0_p= pp>; /* Format properties will be added by loader */ status =3D "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/t8015-pmgr.dtsi b/arch/arm64/boot/dt= s/apple/t8015-pmgr.dtsi new file mode 100644 index 000000000000..e9966608d470 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8015-pmgr.dtsi @@ -0,0 +1,930 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * PMGR Power domains for the Apple T8015 "A11" SoC + * + * Copyright (c) 2024, Nick Chan + */ + +&pmgr { + ps_cpu0: power-controller@80000 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu0"; + apple,always-on; /* Core device */ + }; + + ps_cpu1: power-controller@80008 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu1"; + apple,always-on; /* Core device */ + }; + + ps_cpu2: power-controller@80010 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu2"; + apple,always-on; /* Core device */ + }; + + ps_cpu3: power-controller@80018 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80018 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu3"; + apple,always-on; /* Core device */ + }; + + ps_cpu4: power-controller@80020 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80020 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu4"; + apple,always-on; /* Core device */ + }; + + ps_cpu5: power-controller@80028 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80028 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpu5"; + apple,always-on; /* Core device */ + }; + + ps_cpm: power-controller@80040 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80040 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "cpm"; + apple,always-on; /* Core device */ + }; + + ps_sio_busif: power-controller@80158 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80158 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_busif"; + }; + + ps_sio_p: power-controller@80160 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80160 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio_p"; + power-domains =3D <&ps_sio_busif>; + }; + + ps_sbr: power-controller@80100 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80100 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sbr"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_aic: power-controller@80108 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80108 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aic"; + apple,always-on; /* Core device */ + }; + + ps_dwi: power-controller@80110 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80110 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dwi"; + }; + + ps_gpio: power-controller@80118 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80118 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gpio"; + }; + + ps_pms: power-controller@80120 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80120 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pms"; + apple,always-on; /* Core device */ + }; + + ps_pcie_ref: power-controller@80148 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80148 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_ref"; + }; + + ps_mca0: power-controller@80170 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80170 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca1: power-controller@80178 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80178 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca2: power-controller@80180 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80180 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca3: power-controller@80188 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80188 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mca4: power-controller@80190 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80190 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_pwm0: power-controller@801a0 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pwm0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c0: power-controller@801a8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c1: power-controller@801b0 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c2: power-controller@801b8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c3: power-controller@801c0 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "i2c3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi0: power-controller@801c8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi1: power-controller@801d0 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi2: power-controller@801d8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi3: power-controller@801e0 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spi3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart0: power-controller@801e8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801e8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart1: power-controller@801f0 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart2: power-controller@801f8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x801f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_sio: power-controller@80168 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80168 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sio"; + power-domains =3D <&ps_sio_p>; + apple,always-on; /* Core device */ + }; + + ps_hsicphy: power-controller@80128 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80128 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hsicphy"; + power-domains =3D <&ps_usb2host1>; + }; + + ps_ispsens0: power-controller@80130 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80130 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ispsens0"; + }; + + ps_ispsens1: power-controller@80138 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80138 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ispsens1"; + }; + + ps_ispsens2: power-controller@80140 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80140 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ispsens2"; + }; + + ps_mca5: power-controller@80198 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80198 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mca5"; + power-domains =3D <&ps_sio_p>; + }; + + ps_usb: power-controller@80270 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80270 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb"; + }; + + ps_usbctlreg: power-controller@80278 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80278 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usbctlreg"; + power-domains =3D <&ps_usb>; + }; + + ps_usb2host0: power-controller@80280 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80280 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0"; + power-domains =3D <&ps_usbctlreg>; + }; + + ps_usb2host1: power-controller@80290 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80290 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host1"; + power-domains =3D <&ps_usbctlreg>; + }; + + ps_rtmux: power-controller@802b0 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802b0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "rtmux"; + }; + + ps_media: power-controller@802f0 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802f0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "media"; + }; + + ps_jpg: power-controller@802f8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802f8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "jpg"; + power-domains =3D <&ps_media>; + }; + + ps_disp0_fe: power-controller@802b8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802b8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0_fe"; + power-domains =3D <&ps_rtmux>; + }; + + ps_disp0_be: power-controller@802c0 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802c0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0_be"; + power-domains =3D <&ps_disp0_fe>; + }; + + ps_disp0_gp: power-controller@802c8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802c8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0_gp"; + power-domains =3D <&ps_disp0_be>; + status =3D "disabled"; + }; + + ps_uart3: power-controller@80200 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80200 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart4: power-controller@80208 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80208 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart5: power-controller@80210 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80210 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart5"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart6: power-controller@80218 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80218 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart6"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart7: power-controller@80220 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80220 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart7"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart8: power-controller@80228 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80228 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "uart8"; + power-domains =3D <&ps_sio_p>; + }; + + ps_hfd0: power-controller@80238 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80238 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "hfd0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_mcc: power-controller@80248 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80248 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mcc"; + apple,always-on; /* Memory cache controller */ + }; + + ps_dcs0: power-controller@80250 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80250 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs0"; + apple,always-on; /* LPDDR4X interface */ + }; + + ps_dcs1: power-controller@80258 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80258 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs1"; + apple,always-on; /* LPDDR4X interface */ + }; + + ps_dcs2: power-controller@80260 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80260 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs2"; + apple,always-on; /* LPDDR4X interface */ + }; + + ps_dcs3: power-controller@80268 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80268 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dcs3"; + apple,always-on; /* LPDDR4X interface */ + }; + + ps_usb2host0_ohci: power-controller@80288 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80288 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2host0_ohci"; + power-domains =3D <&ps_usb2host0>; + }; + + ps_usb2dev: power-controller@80298 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80298 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "usb2dev"; + power-domains =3D <&ps_usbctlreg>; + }; + + ps_smx: power-controller@802a0 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802a0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smx"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_sf: power-controller@802a8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sf"; + apple,always-on; /* Apple fabric, critical block */ + }; + + ps_mipi_dsi: power-controller@802d8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802d8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "mipi_dsi"; + power-domains =3D <&ps_rtmux>; + }; + + ps_dp: power-controller@802e0 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802e0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dp"; + power-domains =3D <&ps_disp0_be>; + }; + + ps_dpa: power-controller@80230 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80230 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dpa"; + }; + + ps_disp0_be_2x: power-controller@802d0 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x802d0 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0_be_2x"; + power-domains =3D <&ps_disp0_be>; + }; + + ps_isp_sys: power-controller@80350 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80350 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_sys"; + power-domains =3D <&ps_rtmux>; + }; + + ps_msr: power-controller@80300 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80300 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "msr"; + power-domains =3D <&ps_media>; + }; + + ps_venc_sys: power-controller@80398 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80398 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_sys"; + power-domains =3D <&ps_media>; + }; + + ps_pmp: power-controller@80308 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80308 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pmp"; + }; + + ps_pms_sram: power-controller@80310 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80310 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pms_sram"; + }; + + ps_pcie: power-controller@80318 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80318 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie"; + }; + + ps_pcie_aux: power-controller@80320 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80320 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_aux"; + }; + + ps_vdec0: power-controller@80388 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80388 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "vdec0"; + power-domains =3D <&ps_media>; + }; + + ps_gfx: power-controller@80338 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80338 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "gfx"; + }; + + ps_ans2: power-controller@80328 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80328 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "ans2"; + apple,always-on; + }; + + ps_pcie_direct: power-controller@80330 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80330 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_direct"; + apple,always-on; + }; + + ps_avd_sys: power-controller@803a8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x803a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "avd_sys"; + power-domains =3D <&ps_media>; + }; + + ps_sep: power-controller@80400 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80400 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "sep"; + apple,always-on; /* Locked on */ + }; + + ps_disp0_gp0: power-controller@80830 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80830 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0_gp0"; + power-domains =3D <&ps_disp0_gp>; + status =3D "disabled"; + }; + + ps_disp0_gp1: power-controller@80838 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80838 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0_gp1"; + status =3D "disabled"; + }; + + ps_disp0_ppp: power-controller@80840 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80840 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0_ppp"; + }; + + ps_disp0_hilo: power-controller@80848 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80848 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "disp0_hilo"; + }; + + ps_isp_rsts0: power-controller@84000 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_rsts0"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_rsts1: power-controller@84008 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_rsts1"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_vis: power-controller@84010 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_vis"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_be: power-controller@84018 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84018 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_be"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_pearl: power-controller@84020 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84020 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_pearl"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_dprx: power-controller@84028 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84028 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "dprx"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_isp_cnv: power-controller@84030 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x84030 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "isp_cnv"; + power-domains =3D <&ps_isp_sys>; + }; + + ps_venc_dma: power-controller@88000 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_dma"; + }; + + ps_venc_pipe4: power-controller@88010 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88010 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_pipe4"; + }; + + ps_venc_pipe5: power-controller@88018 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88018 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_pipe5"; + }; + + ps_venc_me0: power-controller@88020 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88020 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me0"; + }; + + ps_venc_me1: power-controller@88028 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x88028 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "venc_me1"; + }; +}; + +&pmgr_mini { + ps_aop_base: power-controller@80008 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80008 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_base"; + power-domains =3D <&ps_aop_cpu &ps_aop_filter>; + apple,always-on; /* Always on processor */ + }; + + ps_debug: power-controller@80050 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80050 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "debug"; + }; + + ps_aop_cpu: power-controller@80020 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80020 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_cpu"; + }; + + ps_aop_filter: power-controller@80000 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80000 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "aop_filter"; + }; + + ps_spmi: power-controller@80058 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80058 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "spmi"; + }; + + ps_smc_i2cm1: power-controller@800a8 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x800a8 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smc_i2cm1"; + }; + + ps_smc_fabric: power-controller@80030 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80030 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smc_fabric"; + }; + + ps_smc_cpu: power-controller@80140 { + compatible =3D "apple,t8015-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80140 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smc_cpu"; + power-domains =3D <&ps_smc_fabric &ps_smc_i2cm1>; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8015.dtsi b/arch/arm64/boot/dts/app= le/t8015.dtsi index 8828d830e5be..fbff3a6c0ba4 100644 --- a/arch/arm64/boot/dts/apple/t8015.dtsi +++ b/arch/arm64/boot/dts/apple/t8015.dtsi @@ -119,6 +119,7 @@ serial0: serial@22e600000 { /* Use the bootloader-enabled clocks for now. */ clocks =3D <&clkref>, <&clkref>; clock-names =3D "uart", "clk_uart_baud0"; + power-domains =3D <&ps_uart0>; status =3D "disabled"; }; =20 @@ -127,11 +128,21 @@ aic: interrupt-controller@232100000 { reg =3D <0x2 0x32100000 0x0 0x8000>; #interrupt-cells =3D <3>; interrupt-controller; + power-domains =3D <&ps_aic>; + }; + + pmgr: power-management@232000000 { + compatible =3D "apple,t8015-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0x32000000 0 0x8c000>; }; =20 pinctrl_ap: pinctrl@233100000 { compatible =3D "apple,t8015-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x33100000 0x0 0x1000>; + power-domains =3D <&ps_gpio>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -188,6 +199,14 @@ pinctrl_nub: pinctrl@2351f0000 { ; }; =20 + pmgr_mini: power-management@235200000 { + compatible =3D "apple,t8015-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0x35200000 0 0x84000>; + }; + wdt: watchdog@2352b0000 { compatible =3D "apple,t8015-wdt", "apple,wdt"; reg =3D <0x2 0x352b0000 0x0 0x4000>; @@ -232,3 +251,5 @@ timer { ; }; }; + +#include "t8015-pmgr.dtsi" --=20 2.47.0