From nobody Tue Feb 10 23:01:26 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (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 8095B1DDC1F; Mon, 6 Jan 2025 12:28:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166509; cv=none; b=QCpsus/gnf6L9BIQRavbqnfqyVPvHgaSd5t6Yumg6DTLJ4XXrgHOKvADefHVRcWLO/7qBkV/y/50+3YZVdjlOR/JVnJ2Ulm1g0lPlbJ+LTNd0r6xIbbhozqvdTMdJb6G1eEsGLx78mqnuCkaL5SCT6aOZH3hI9ZY66fATyrIFRg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166509; c=relaxed/simple; bh=99+pLF1VvDcoovFOPcNeSVJ7IG/4gdQK3UKOnT6V4Zc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jH42AT8ieqU6QzA20pBKtogBEzgB/TihisufiZegQXCXwWW6b6gLv2IeGp82yPcREdLTHZGRUS8oJ8WeN3nUIjZixfM1c3iq1DZg7EnPq9IQ+EDLTl983v3zHuPR615d0YjtpzLr3qOknU9wCm92fnf20IdDJxvC/Gg1qHr1d9s= 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=aWnStyuH; arc=none smtp.client-ip=209.85.214.170 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="aWnStyuH" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-21675fd60feso4294845ad.2; Mon, 06 Jan 2025 04:28:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736166506; x=1736771306; 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=eyr6yNUD2cI7FDLN2P5orlGmGipVdT5OT8foTnjmml8=; b=aWnStyuHFH25n6qmVYzuowFZHmcMC9APis3BOCewkD++xtPkZT9Qa25oKJpE6JzAGN n95SuScA480HxXPfd8HchbOajBznWD5mYeGUhJ7d+8L8mWOFKe2maS4JBzVZYBCBblIy uvSUbmMwJks5pId1KjekAy8AyJKdtqLNj8HlFjrUTCrhBMWNhPLJPABkNIFgcdrAMzNP VNz3p928hjTD59d7e3WYOkbr8eiLi3OhXFuCJ826iiyKBaSKIq71Z2Dp3l0BjtcYtV2Z +fwMmDaVE0y8FvBV+6+YSAmr3obBof2BJiApWzrZuftPmXb2SSxwDsuBNPToKVl+wUgv 50Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736166506; x=1736771306; 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=eyr6yNUD2cI7FDLN2P5orlGmGipVdT5OT8foTnjmml8=; b=moaCj5INP4WnfVnHMYz0N7PY5/pDg8+ZgGhvV4/ypr1lw28oq3rVGlhjW+qEJnBgj7 BXi2FnMZDkuZ90Y1v57N5K5Zt9VtSzxbyPy4+LI5XH8GGHZhWpqK6lWAIy8mQEqORVez hbjhF7e64C6GayfwN3fXdBrk8cYX8bwRa8kn+/h1/0CSxqVVVor1y4pov4FJlWzt8CVP fLGTxlpVbE2GdE3S0GNHWjH1CzodyvaVDLzQprzjCgVdwA7RsEAnxnzXCW7VFXheLn9v uvRyn+kXfk7gDMQGdiLWRw6+A8NvxpwsBoc1B7e+ZEHmzXIeM1M21Ml8M8/zYHh6xJy/ +lnw== X-Forwarded-Encrypted: i=1; AJvYcCUjRMpzR7pZIz5J/VxcQr0ejZRsuXton//gGca+l1heJpOiz4YVoPuH94FFBnUVJARExaGN5t9+XZIf@vger.kernel.org, AJvYcCWln8EVVn8vHikaLBLi0hTQ3MRHxmN8GOdELbZslyIsxP8czwlFucW9O28ZHW3bGtbXIizelGMN1bOGalKg@vger.kernel.org X-Gm-Message-State: AOJu0YwwDQ8Jc21DkyBBX5bibVj9cA/Q2xgdXEDUOY8ibMwWXRtoWGbw oVTYl9tWxw+TJ3g3KKE+KX8cYI5B2QkZCPoalQkCawK0RPkIBJb9 X-Gm-Gg: ASbGnct/WPpcg78qoNZqjwST3++t9TOuwDcK8w9l2OypfML11v4BYRqyDP6THMMMNk6 uhdxWIaeA7fAv5TihIPY9n3Na7lQmjwRPzglL0mIx0VnWbGLU7ykZNET+omAcRnT21VR01xaDso TyjKtb8by0ptrX1qwmCqpfkDYKUVzc0Wp0V4OAtCH5rLh/hDQFa7Zc013OBQ4wtg4KWQVRn/1/T Vi6SvwuNDA+MKBoxWQiJYl6pYOuol8z3ebw7qwlFUp+nWDaQGseO8Xu6g== X-Google-Smtp-Source: AGHT+IFf+AEJ7fqHxRfEDQ5692eQG5nVRbgR+HyTlqQ9ay8KL4zXj99jnd9/Z0cp+LSzenKZljEDLQ== X-Received: by 2002:a17:902:da81:b0:216:61d2:46b8 with SMTP id d9443c01a7336-219e6ea1c0cmr855329215ad.23.1736166505667; Mon, 06 Jan 2025 04:28:25 -0800 (PST) Received: from nick-mbp.. ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-219dc9650bcsm292678655ad.39.2025.01.06.04.28.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2025 04:28:25 -0800 (PST) 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 , Neal Gompa Subject: [PATCH v7 01/11] dt-bindings: arm: apple: apple,pmgr: Add A7-A11, T2 compatibles Date: Mon, 6 Jan 2025 20:26:18 +0800 Message-ID: <20250106122805.31688-2-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250106122805.31688-1-towinchenmi@gmail.com> References: <20250106122805.31688-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 Acked-by: Neal Gompa 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.1 From nobody Tue Feb 10 23:01:26 2026 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (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 6A5D71DDC3C; Mon, 6 Jan 2025 12:28:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166510; cv=none; b=bIXNch4t1JeBTeE1u2DGtf6z2xFlrKVHh3DqoWuGVxWfN7d45U6x/bT+/utRUS3E/ovoczuSwUkVRiCOgqbcOrsnMN57AloJ8I0toNQW4h08SLxFfTop4eRsuV0P14gqXRnrYWSkvSAho/YGSwNlRLQe8S9GfKuFIROZKAAtU7A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166510; c=relaxed/simple; bh=6pZiuvJaNtb/CqZdgPcO1kRdrv9vQuk8hv7BwCYOsp0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Bn/DO8pI0GpX5CzvpHEdLAR+fZLxwruLuOqX0/5bw4nQuRdvChLKe1WF3fMH66hL6I0nNryDXn4Gc3OOd10vdWh5GZNnosXGGdfpgrbe1qFm+8pSkIjGcHtA7PqWCcLcPG8l5DGMeplw2MqJ/5bMz7t50SyHa3gxTn8lF5e4OLo= 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=AHzRql0B; arc=none smtp.client-ip=209.85.214.178 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="AHzRql0B" Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-21634338cfdso4661215ad.2; Mon, 06 Jan 2025 04:28:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736166509; x=1736771309; 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=hebD8ipCbzY7nEzua8g0Qgmxl+l/xC/PNKeirRiQP54=; b=AHzRql0Bmw1ykGVjNBEBQPL0S/CU+adYxku191vRMHRk0UjTyoFKI13a1aflKYo77g 8QZu06/3UveIk+Q+dHW9/4HOKQPdnrb+yJ2R3n0RwmWydJvoQX9VtOyINkJbpgqEKzTH 8CRhD/v8B9/JJPUI+1lKY8DBegMjgVfF92t5m8cIg4y7cpdPOMcWJnGSse4Zrp8a85mM QdzuM6L3Kdes4/fM3F5Ihg+7IYEKH37b+xSGuPHaKJGrDKc7cW6AoA+oAiWsxVyd0OSD v/g0glevbiZN7HeLumX5XKNejUv6TEeI6JicdU25ar4DkwsVQvMEzRDTSGyVpuopJA0S /DgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736166509; x=1736771309; 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=hebD8ipCbzY7nEzua8g0Qgmxl+l/xC/PNKeirRiQP54=; b=ZBlyA2ypAzNFgycpQCe1yGqF/7hUcvOzS6jHF/Or2ZQIDhbRmJNf+kl4f3/xGzCx1p hZ7jFFUNtFcF4b97+Q5GB9CN4YSOUKUVgFfVoKJ/Zr9bVNu6Xl2OReFm159twSTRwlND 8a9AEZYZGeTum6AZ4QlCmYtrZW5mv36gtl4qY5wA8pYmkB+WStU+LumZriZ0tahyapc9 5uKtJXeYg72duBQJXZsYoQ3kl2DVS6ODsPM9KOHtEx2+eKn0qj4ef8Zz3cAxsdPPJ9AY Bw62TRWkOJSOrv81gel92b1TFSlpYkCdnb54PJEOqRSlQlC+4KlMhYtPSOl/GnWTHjJU lrWQ== X-Forwarded-Encrypted: i=1; AJvYcCUAW9vG5WHco8zmdbLdBFsH7xwgtfblM3Neb8hecJURjrVtX4ytSXqMhFJjZICYF5Af7n4euW8LtXKq@vger.kernel.org, AJvYcCW5qu3Nl56maFvJWAauQ4j4y9pAtk7qo3YVCF47qr4K6EC6IBKEzifA7XDv6zWrui9OWEqi5FsmLXjQpmOM@vger.kernel.org X-Gm-Message-State: AOJu0YxCf53Kk4hYos9GNumduVmlpVj4OU1XFgzEE9ipD7IXQwuEeri/ NHv4w4Py7gpXGNC8nciplcRE40NUn2R43xEFrx86ykCXbZ73w8iY X-Gm-Gg: ASbGnctZYSku10A8om4xtMr1B77Daue9YYgzq2N7Rvt9B5piI7sm/nFMRjPycmJ0bfi lD2j207fU8c1N2HjGEm9dC6oWzZUgG62wRHWMrWjdKmn2JPseqXu8GFbN1irLHNWZcdKTRYs+Tv PeI7tBO9MUDrccCB9H/iC6d02onVotUEjl3anVg/rs+MdxAMIR2bNqRMvGKQpvjP5X+CnVJrzuQ yT+12rOkuRGQ2VcJFQ0ZVjAC2hOCX4WuwaTpsMrrZQBINOyt9yz8G7g/g== X-Google-Smtp-Source: AGHT+IGK/a2otNoJBSUFPmEsal05bTWWTM0YgOYKrBNNi4sCLMU+2e6MoH9+e2N2Iz9mR02EfXWhYw== X-Received: by 2002:a17:902:da8e:b0:215:b058:28a5 with SMTP id d9443c01a7336-219e6ea2855mr779330195ad.18.1736166508697; Mon, 06 Jan 2025 04:28:28 -0800 (PST) Received: from nick-mbp.. ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-219dc9650bcsm292678655ad.39.2025.01.06.04.28.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2025 04:28:28 -0800 (PST) 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 , Neal Gompa Subject: [PATCH v7 02/11] dt-bindings: arm: apple: apple,pmgr-pwrstate: Add A7-A11, T2 compatibles Date: Mon, 6 Jan 2025 20:26:19 +0800 Message-ID: <20250106122805.31688-3-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250106122805.31688-1-towinchenmi@gmail.com> References: <20250106122805.31688-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 Acked-by: Neal Gompa 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.1 From nobody Tue Feb 10 23:01:26 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (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 9BBF41DE3A7; Mon, 6 Jan 2025 12:28:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166514; cv=none; b=TFU5tYR5nkNY2y2o5GhhGboMokZwZTr+E2Hy6MMLQF3NVDImcZkp3AUEdRt45Q00RBOURhyhB2C2QZKQIieXmOl9EXeAyp7JE3n9NZNugrjPpus+93sd1NFGtkW6T8Fq1RRbjh4xSQfwJ8b6DA4f/EXbpTxlwMLPPlZjgIO3WVA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166514; c=relaxed/simple; bh=ihmVR1vR40ylIiot9nTckpw++7jFxGm7LJUxEXj4DZA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EAT+xyrQf8n1E/0u1D2r/+nXaAYA9PwCdT6KvDcujemlw+cKh/Snhu3nZ7AN28Gtrot97UNGVaFumuFI/6BXYSz7l4fKyIFIiFsi8cmOeweJnmKI6uoJLfNevuBhPVINKB22ucThswMwzTi1POq/Cg6c7kwRqpVllStH9otUREI= 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=QbxCmGYI; arc=none smtp.client-ip=209.85.214.170 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="QbxCmGYI" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-21644aca3a0so21090935ad.3; Mon, 06 Jan 2025 04:28:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736166512; x=1736771312; 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=PGwB7Tv1W3epuUDEHLJMy89et9CRlXKBNp9xbyqenwQ=; b=QbxCmGYI/tlJQHdSHFrVvkQHg9Rulo2sDEldhz9kOc6gEpFBf8tjbdEvNLy9msqDG5 FHx6iaGy0XK6vGYINZRV1SOl5Jo/OhYWkntek8xXeAj1HQQGoh+2GI2NkUFZ5KKNN3Gy DRbgOua+ejl0Fm/PZGR3QDNZ2P6pms8vQ1s5DJnVIMH9mI6GfQV0KsD9/xg0JKhb1CIS ZmSQzVwHUAVyfijzRq3OVPnf6QlmNY0qo4xX/3AyeZYztjiBISlcx5Od+sPbEOZk8pE0 iA5xxke/Jq/iwR0wVQupoaw72R9GHNNuoCuRKvTTMojmeIuUh895tczSCJTF8B/oJ9d+ mnAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736166512; x=1736771312; 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=PGwB7Tv1W3epuUDEHLJMy89et9CRlXKBNp9xbyqenwQ=; b=wJimGMLb4Jd4LyjXY8i1IpSiPBvbEVDzEjV+PbzCivz0diF6jKl0VsHXWr6t3KwS+3 DEVhGUnxFFvuMlykfxKdXmrqw4fQTxR+HkT4wnRdsQZOBCaTyw8BD1xavP7yUf1KPq/P H92B4BFJCtXLIP7cGDv0oi5uG35vvgs3l8dDz32c9HVOPfJwbT4pdxQrZkSx3oTXNuAe oAgX54fJD0c3dzp7z2hLORe3sExWkvMG2CRNg4GjoKUqli9ucZAM/k7t/fjOjXre9QN1 H5vCtv5l5IXEazidPxySDEWGg0sAtO+lYhihaqRMoWapAxFGqPotSp45Uf43KIr3tzxM 0kfw== X-Forwarded-Encrypted: i=1; AJvYcCUUvAO9AYZgBPiu+4fU+26tFoHrJi7IsbrZ0kP+ijsZB7qD7VSjat8Um8SIIK3LDJIK5AXxiv9JnTpU@vger.kernel.org, AJvYcCV19XtureKW3SPhnYr0nIoMMMVeoN5YbmaSyRBfOTY28K/3I75dgt0pCt76jZvzrnHMvkrD8iM4aDQrsCzW@vger.kernel.org X-Gm-Message-State: AOJu0Yx3pKQ0HyNQI2Nloh3RSQgZ+hW1nVx5y+JseBKYn245/XZbOPAu bmgljScx4u8qqaI3tS1CXDkQvgmFoMuoE8y27yr7Rl3NMR1/qZVX X-Gm-Gg: ASbGnctGhH2VdhZQzjeTOsiZEtJ7uueklUaTdsoKFHHWhUM8K1Dif3HcOuEB0VBbQmb IgLditoaXozP6eVIt578zKcJj+ieUwRB6rvenS+A482oxkKByb9W1iYgDOJM2+AM7bQRFyJdf0k qM+bHgfwn1pngnw+mKeRcYv+alebLIXPoQhh4r6cYZhFeJuyiUdISNoIVuooUTooHJgk2l5MVm9 h2WOGf9OEx+zHJMvKvBClSDHYDl0nW/jpAtPerrqxJX7qDEdhqxn17Cuw== X-Google-Smtp-Source: AGHT+IEnLuSZEgC1a4m58D40UfnqrvBySC77NJ8Us5/s/xIM/GE9I8HeTHXy66TQY7Le+FqJp5i2WQ== X-Received: by 2002:a17:902:ef12:b0:216:52a5:dd41 with SMTP id d9443c01a7336-219e6ec13bcmr917468875ad.31.1736166511627; Mon, 06 Jan 2025 04:28:31 -0800 (PST) Received: from nick-mbp.. ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-219dc9650bcsm292678655ad.39.2025.01.06.04.28.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2025 04:28:31 -0800 (PST) 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 , Neal Gompa Subject: [PATCH v7 03/11] arm64: dts: apple: s5l8960x: Add PMGR node Date: Mon, 6 Jan 2025 20:26:20 +0800 Message-ID: <20250106122805.31688-4-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250106122805.31688-1-towinchenmi@gmail.com> References: <20250106122805.31688-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" Add the PMGR node and all known power state subnodes. Since there are a large number of them, put them in a separate file to include. Acked-by: Hector Martin Acked-by: Neal Gompa 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.1 From nobody Tue Feb 10 23:01:26 2026 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (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 8E76C1DE3BD; Mon, 6 Jan 2025 12:28:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166518; cv=none; b=j76TPqS4/HlC/I3HRBZJindL8FgHmU1QXLnNOi3FqoYHBmMA7UukzVoBjHoHZJudw0elAsbY3eMD5HWCDWiqS5bl8WCdr5/VMQiXXF52PrK9ZA/Qy6UFk4Iapwnsl6QOCqzKCjexaVsaZih82uBtEYE/FGZVRkg5B64x6qehvuQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166518; c=relaxed/simple; bh=OwXIyIuVmbzDGwHLgSaJ3BLNtEVeNVzcZsB6VU0HURw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RXO+U7tmlMbbPRP4TgTjHbYHg8bTdOMn2EWNO6RCUNiZvm0VCYP/uoXMBxP0GHyPgyj5MLn5TP9Mj1U3+okQpYNAAWQeRorm/XU3gL4C8RNTEzZ0s9gFcwjf3ShnNZVNIEeLRgmK4h2Tt3ZX5EsP1d9ShgbjSCapqK06rs8oKyg= 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=hr4lD1Eo; arc=none smtp.client-ip=209.85.214.181 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="hr4lD1Eo" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-21670dce0a7so21239285ad.1; Mon, 06 Jan 2025 04:28:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736166515; x=1736771315; 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=HDZdb8WR8xkEN2urZ8rNXoIlMU+dvfw133S3mxvd+gE=; b=hr4lD1EoSEL5mUUTJ3XHcISQrK1ABcWYF3dMdgYfbCGvPVPWNvZOIfHKOFUthG1a/3 9t0mDm+8JVaKqBLDYbXcorgcgwkTvW6kk5oYT7Rw6GuJcu6LuFHE6vvLE27W9bhdcsar izcA+j+EqJYj57Di+M0q+kTW1rf7Q+1aUYCYAQG915ZomZJfbaAoiyXp/Mw6yEP9Abqw GmAvczDw+/zmLJlHgW+pv4/rW0qWAvoT140JNPwNQPoBjrMpQ8CT9kgL27a0r35Ypg5P grWtyPZ842us2viO9tXdurhBe289BqVYHcQFjw/PtSVzZBA92lSffmma+bVCY0QRzHPY 6U9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736166515; x=1736771315; 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=HDZdb8WR8xkEN2urZ8rNXoIlMU+dvfw133S3mxvd+gE=; b=obKvHGEQp2AXFXv888KR4FiQOApllsVdjkRaPvcrXThqYa0D9/F+c+GlUNBPOwcz0R /MWYZgtG/Gy2zXVXhsU2N0TsdnMquyQtXDxia4DpXP5fbj6Y3rRoa3XtST1SDbzfxe9S 4oIbTgJbRtJUVNfQU8xWfJ1/7rFn47tMusJ80ZptgcG1vApveBVakcP02EAadg077ylu Slu1dE3b9CRWXCMGoNZSChpEyZ0qbCDJTYXikIm/exrJkDq5TRav/dX4Lm7q4vVKV5+Y RcdXQ/gY0UOn1qTddWxTsrZ6GE3BCEF0FP3TEOum5A4IoJb/eLKLAz7y8p2iCvGjnYPB gM+A== X-Forwarded-Encrypted: i=1; AJvYcCWz7QxxdtCMtswhU3l6qAuNH4BCiyTs5HDssGrgUBzWRSsabPl8mougdqyJVGV77lgtNyrl/Ie4f2j8@vger.kernel.org, AJvYcCXCrRH8yFLE1HS+d33kF+9Bk5BIEqZg7YWgzQ/xrdxaENoBV1Jc80d/ESXhKo+kpG546yA2zRsfcyf475Gk@vger.kernel.org X-Gm-Message-State: AOJu0YzoNcV6Bv5zSRXXlzKlWx0mcWLgL/d+cPhsobKfS1sl2vMIPRPo 69bs9r92lSD4gopEvlIaZ54dE3ohJy2WG65/j9Y8umxzgXEpsmBv X-Gm-Gg: ASbGncuD5IWoJGHqWpX3LaI4G7GOtI+BEYuDrQCqHhIJdIjehMTTQsYTQdd1aJFlJWI LXzVBuPBYfo5I5sjMG+BYcVDxYxwKRFx4M+EhM4ary+WCSFQqrELqNZ8xSv+DrshF4CSLC3kkvO xRACivzf8mqonAPAFBG9OSny96ZDQ0Z78tkLlsesn9sPpHu/D5MQ+akKqrhgle7/QCwNLmAWxmH WMYI/4Hpuq5cp2IQtqZI7E4FyKiYEk3VOWwDURYchr0paEUEDUwHUyXXg== X-Google-Smtp-Source: AGHT+IHN+pHd2BDz86nvMpMu/oQFDq3ziiIBp0B3W/zzlxhRofB/y3edKgrctkCMS6Ea1Ror9u0PHA== X-Received: by 2002:a17:902:f606:b0:215:30d1:36fa with SMTP id d9443c01a7336-219e6f117a6mr899717685ad.39.1736166514761; Mon, 06 Jan 2025 04:28:34 -0800 (PST) Received: from nick-mbp.. ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-219dc9650bcsm292678655ad.39.2025.01.06.04.28.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2025 04:28:34 -0800 (PST) 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 , Neal Gompa Subject: [PATCH v7 04/11] arm64: dts: apple: t7000: Add PMGR node Date: Mon, 6 Jan 2025 20:26:21 +0800 Message-ID: <20250106122805.31688-5-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250106122805.31688-1-towinchenmi@gmail.com> References: <20250106122805.31688-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" Add the PMGR node and all known power state subnodes. Since there are a large number of them, put them in a separate file to include. Acked-by: Hector Martin Acked-by: Neal Gompa 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.1 From nobody Tue Feb 10 23:01:26 2026 Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) (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 812A21DDC1E; Mon, 6 Jan 2025 12:28:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166520; cv=none; b=FhLYegh31a4aV9GzZluJICUSQg2/cJo9ViUeGPU/Y7QBuwkajDu28KFZkO3GxJpQ4PfZgeF6/GlYs7fIKQyC0puw0KtX7z5XJzD0/iaXjO3KuSJEaYW4OZ1hFsd8i7RMOVtM5IA2jXMZxXAMUyKcSbQBxpU5mJZhteUAoVvrWHQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166520; c=relaxed/simple; bh=gFTAmN2ULR5TQybWUxOxnhZG3fKIAnjxwKgUM47xfBU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KWThu1H2GFCTqv2XZyBFKYQtIT7PffEzkZdhq+hdkOXK6ye2IfgzxEuxmSz47Pbflm7dPO69fxDOCHWszte13RjtUzotRziVwpftILFVOhYxKPSyOXDtYT/UFQnXdlPtlRqACfKLhGqqZQmNffRrFt3zjbe27gmys1bHpVo76QY= 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=dfkAjFaw; arc=none smtp.client-ip=209.85.216.42 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="dfkAjFaw" Received: by mail-pj1-f42.google.com with SMTP id 98e67ed59e1d1-2efd81c7ca4so16690243a91.2; Mon, 06 Jan 2025 04:28:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736166518; x=1736771318; 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=ma3oVpHf2JG1/LC2kK8Qt/zyrvCv99Pxx/xTNwImDlM=; b=dfkAjFaw8TX+7h+2PnfTxZ1YyggBTLZM79R7+geDWjfT+/B6FzEg2+4YAkke3vX/Ne M9m+vl1Xm4iedFj814aYsuQ9+6wRnLjQPIaHOYFjovKXOemVGLm4Dzsu1PWZjv49cR5U 0WAPhhZbUoCOxNA8i6XJr3gjn8Ncy7eg+XIYV7WZmGA16PVuM6tAQZWknNAafMUoKH3J yq9UsTTeBNYOj+xjHoriftLe5KCSOwWejwTV1k7jl1zMuztpN0UkiOjmFRkZHveOb3ZN f79RF+S5HpaGxc9afOy/bOAH1FLb2x5ylU1NrrCkgOTWX7nPv6n7HdF+3j0DXKPwa/W0 FqLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736166518; x=1736771318; 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=ma3oVpHf2JG1/LC2kK8Qt/zyrvCv99Pxx/xTNwImDlM=; b=lpP84ZTKen/LOvGbSyq85+oaS87LHnFAWaOv/ukJ/nK3wl7AfPccbTJ5w6/kiTuSon AjDESscds4rzyhAg+DXRCxeCWqMwZv8RZkqFw644pwhAtyMmA3WJ0EiucTovg628sixY LAnFkFGL9wgknZwmpXKvfVTneqn15khi4oFTrQKtHrQENrOzJWxwQ3peUZRCMTzPLDMN n2mfWXveptjjfcbwdB2A+hZS4tJ4gc6khBhOqYiIHsvVZ+JG4JgXr7Xp+RHGGfzn0As7 E+BRwWlkdEQzOrGGdo7e5n859zKtmwYWvakJ3NkzhOl7l3vGAKBS8zQJbUGfx5iD4hPs cptA== X-Forwarded-Encrypted: i=1; AJvYcCUlWDDhpVnS9AGRNlWY0d6HUFKSOTdY0Bt6gSWs/AIDBGlf5W1WHPtIF8bkiKyUBM6N947ql/o8esQziyKg@vger.kernel.org, AJvYcCW6TqRKSSo6h7JZGTHwnM3kZpKe6XM7N8+NYfWB0amdYNFwDnkWTYkrDLzm0GACepBB6EYSN8T0Sr1G@vger.kernel.org X-Gm-Message-State: AOJu0YzK/OQlXZcqaucSUX/hZZqaIvIQXsTycyavozX/KTaXrodkjtrP UqvIxWWxelT8LnvZOHCmexAHagkFgwlLhzpWpUiLxxkUiQXhE9A9 X-Gm-Gg: ASbGncuMiPUKV6VLeKRCPngUTguR2EPHRAufhaIX8Ze0tiV+SQGlWxXSJW+5ZjGL2iU 6LO1JcY52KCrLm5Gk7vKEgTc/yVM2W5VSzSNR+6OKjWH/l83Nnd2A29REcpcrTrnpuGJaUN9KNQ NXBx7ygtnuNsMCaVWxZDoyI6o3GKH0++tVO4EF67QaM/gl6jL533s8Sk+It0ubJOMLfZ9ajTUpm w6zBXpVLOjD9taFcMWk5c/dk4P5+ZiUqSq0qtnHyRC5jw4p41PX6Bo3MQ== X-Google-Smtp-Source: AGHT+IG6CtY3xhMVgFjILBQ8Iw/KOLwAWqpP2VDJx3a8Sc+tavz14cVbt7gTHcpzi0fIphD41LOA7A== X-Received: by 2002:a17:90a:d007:b0:2f2:a664:df33 with SMTP id 98e67ed59e1d1-2f452dfd276mr83482685a91.1.1736166517725; Mon, 06 Jan 2025 04:28:37 -0800 (PST) Received: from nick-mbp.. ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-219dc9650bcsm292678655ad.39.2025.01.06.04.28.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2025 04:28:37 -0800 (PST) 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 , Neal Gompa Subject: [PATCH v7 05/11] arm64: dts: apple: t7001: Add PMGR node Date: Mon, 6 Jan 2025 20:26:22 +0800 Message-ID: <20250106122805.31688-6-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250106122805.31688-1-towinchenmi@gmail.com> References: <20250106122805.31688-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" Add the PMGR node and all known power state subnodes. Since there are a large number of them, put them in a separate file to include. Acked-by: Hector Martin Acked-by: Neal Gompa 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.1 From nobody Tue Feb 10 23:01:26 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (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 A627F1DE4C1; Mon, 6 Jan 2025 12:28:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166525; cv=none; b=sxWDv3pUNt+BarfJOpUZrSvix/pDUAIPDF830nXU6EQ2BnQ6sR5AbByugNDXAnnzDZ0LfIqq81+OZAIQgv9ZxOIBiSv1xTiZw0USsuEP5fxN0YY5RUxSFXdG87hCvZLJi7cnRbMR0wVuINuV4KEbS5uG4o5Sh7QkofprCG9P6Hg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166525; c=relaxed/simple; bh=uWJTY6apWmRY2rc2l8p2BBkYRPMrTMYo89h6j1OmKPo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=k6H3DZeI+SpG0ZUtssau80trUfUjgsn8R6Ocdn0xeBteNzqktRVG8HtHKV6qT67bfONsbhH6/eMczHv50dhyCmeiTTb6KS4DiLTVCdhBq0mDkYu0Esd8uUfzEw7DB6Xxn5DSlOgBZH1U8mnvo+4vPPYqGtTwA+uk1fS6J/8nHBY= 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=H1ipsJPV; arc=none smtp.client-ip=209.85.214.170 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="H1ipsJPV" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2163b0c09afso201946705ad.0; Mon, 06 Jan 2025 04:28:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736166521; x=1736771321; 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=Yrdc/z05k/upAzsdqogJM3gllKumubBPodOdXjB/my0=; b=H1ipsJPVchLxfL4TP38iFJt3oC47VTJz1CTkN0oSf7kB9RFWa2Yb0KDXPU1Z4Kzf59 PG6H3pS7RJ2bRpWPgqYXite70a+04IKNn1uuHdi38r06pHwoQEw8j/zs8uJ8R49+2+xV x+wEb3wLNlGsmeRVpu44l4KfIPXZi8oobl4tIrilrugnXowMOZMsZ0hGlI9g2qNiZTDP mhgrm8q8YFkCOBXJVvfBg0LW2vUZmHRBnevaDlsnk8m53IqKVEximXoJ1gDBz4upoI5L Zf7bo8w8sL+eQIpPlYNC+lxvFsl4M3G85Wc/8QEfIoIhwxEzXZxpNQtll4W6vu5AFdg0 YCHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736166521; x=1736771321; 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=Yrdc/z05k/upAzsdqogJM3gllKumubBPodOdXjB/my0=; b=CVw4Ab6pUl80Sx78GZMc1n1twRS6jFgfI3EqfbQLBOS6tqBIb7qpAvsBJqqEudCAr3 jXFeC/l4xaPyUHKvMRFFK5tH5QEym1MdKILkM8dvwJL6vgz4jHUq8D4I3Zv6j8XOrt6v l1+tpa74iDkCtwI6yIb1qAQLLnuN+tLRs8JINaoXcdzBjNRTGJOlYXwXcbNoYO/3XR93 Cv/SsaLag2pzbTSplnCL5GJMNJNGZtfUGgWBDt51lC8c2qo1MpdSL3QVmlKms7jRAGmH i4z+UJou8swgApPONoGl6r9MXULgP9gaDgF5bjiEjlx2EcygMe3GImyVf7gV/bTKsPcz /nBQ== X-Forwarded-Encrypted: i=1; AJvYcCVdPwHsgS8XILCkKqpEfIxRanr/OI2evtEMgLL01dR1NESqfgHcLw34pllUnB9Bz6SkyrFnkFNbdlWy@vger.kernel.org, AJvYcCWcKwZhn8fRxhBHqYLaIXX0xmkod1zfdzjQs4+vBooOOAE9K4HwesBfIa0MPp04f8r5F4HaT5KSYVQZiJkO@vger.kernel.org X-Gm-Message-State: AOJu0YxxVbK0NYkdJkTfJfXBSA3xFjEBrHTEZMxm+aLE9HKgmjb0WzF9 lAVKTVm6k+AYqFxG+p/ziEOaCfKr/bATX1Igg52fNL5XSSuqPg7f X-Gm-Gg: ASbGncuDuZzW7nnMwVX5mwJ6J7svfLwLDij6pEv880smYA9I/M3ppinnPWn/RUl4u/w vWQqDrfSA8NdhzM/BouqFRIJhKyNvYBthhj4t8TD8v/Zr31BM48+tY8wda0HyV5+S/rjOT+FzDc gwLV4aqyAyrxV+/PzIWfK5g8dVvm0rUw5UKdWy/4pg7yvW25KUGZ0feGqh4fH0L2LMTg12lS5KT ihVFi3rkPktYthDtVKDCePiftuhLlq2SuNVb2qnKpi6Y7pDwhSwGz7+Rw== X-Google-Smtp-Source: AGHT+IG4+v/Sdqnq42NB0jngVVb91QpWgfgjMi3iQiAFcX06SUlOV2VKDk/ID6OPXx8H/PaeG0TTug== X-Received: by 2002:a17:902:f643:b0:216:2dc5:2310 with SMTP id d9443c01a7336-219e6f26088mr858049335ad.48.1736166520663; Mon, 06 Jan 2025 04:28:40 -0800 (PST) Received: from nick-mbp.. ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-219dc9650bcsm292678655ad.39.2025.01.06.04.28.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2025 04:28:40 -0800 (PST) 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 , Neal Gompa Subject: [PATCH v7 06/11] arm64: dts: apple: s800-0-3: Add PMGR nodes Date: Mon, 6 Jan 2025 20:26:23 +0800 Message-ID: <20250106122805.31688-7-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250106122805.31688-1-towinchenmi@gmail.com> References: <20250106122805.31688-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" Add the two PMGR nodes and all known power state subnodes. Since there are a large number of them, put them in a separate file to include. Acked-by: Hector Martin Acked-by: Neal Gompa Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/s800-0-3-pmgr.dtsi | 757 +++++++++++++++++++ arch/arm64/boot/dts/apple/s800-0-3.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/s800-0-3-pmgr.dtsi diff --git a/arch/arm64/boot/dts/apple/s800-0-3-pmgr.dtsi b/arch/arm64/boot= /dts/apple/s800-0-3-pmgr.dtsi new file mode 100644 index 000000000000..196b8e745a95 --- /dev/null +++ b/arch/arm64/boot/dts/apple/s800-0-3-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/s800-0-3.dtsi b/arch/arm64/boot/dts/= apple/s800-0-3.dtsi index 082e5b1733d0..1e0b8f631ac0 100644 --- a/arch/arm64/boot/dts/apple/s800-0-3.dtsi +++ b/arch/arm64/boot/dts/apple/s800-0-3.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 "s800-0-3-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.1 From nobody Tue Feb 10 23:01:26 2026 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (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 979781DDC2F; Mon, 6 Jan 2025 12:28:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166529; cv=none; b=WDvPNm+wYZjRTzLqLMh3dUVkAv2Vhp/lrudqoMqtaUrXtGNS0wlRwTv+eak2jS5XMZapV3USWL/IKCmEatke0xDyE3oFlfRiLT5rWqQ5spTqQsdoNNJoHPyzLJoAEXpjDdYlM3JjlUUrErPfW3zMAJjwkG+L9S9ZHDcVfwtCtpw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166529; c=relaxed/simple; bh=bMk53DLZNckrVyXyb5kUSDfLu9cr5ntsyot0dKwF2E0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=r3mp67Zv/8Lz9khvRJQhwBAzcscTwKoTG+w6H4zNP/EVF8+71gXqNvWTfeoEZuTDlZ1bEKaoDKUrNA+C4PgFCb9AL8f+olgYGY5CLri5QPQ6nSNovbMDXctuFiMR6qJttlDwh4owW+HuiCVtrbdQGHmfIleOiSvVYHalSa6dW+c= 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=NB/Ph9ZN; arc=none smtp.client-ip=209.85.214.181 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="NB/Ph9ZN" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-2167141dfa1so200621005ad.1; Mon, 06 Jan 2025 04:28:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736166525; x=1736771325; 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=1QHrq794Ih5pYkF5V8jWF79AEJa/rQYkl6C1PtmKoic=; b=NB/Ph9ZNlmGvNOPGt8fQEZGL/3DPqDjnNW686piLDpbD+k7TrCuM8j2hRVBZo0s1RG Ub0AAdIPnYDoeJcguFvUeUj3nJnJ963FeskKetDWmPnE6SVtigv9RmCrSvsZ15Zwzho4 q56aHyyJzdm7Wq5+3kEC0N/4nDrTrvUlhHhtM0bFsITnaNfB2Q6k7H/RpFPBOpyRg0jj K7t+oVN0C2myUTaEgdhtf1EFH5JaKeNFHi8PiqVtmpiEr9je0sq3bBqrTNpslP3f/RLo +5/V8pdHl6wqzA31oCbBJgB8LKsf/G9ZSDrnc7rzkKxZ3Obv6hsZJJKujDJRr8qpXQui 9mfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736166525; x=1736771325; 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=1QHrq794Ih5pYkF5V8jWF79AEJa/rQYkl6C1PtmKoic=; b=X8PDhXF6tuwgbxRVCLRZ8Lw8rqlV6Jd/Wx00ARK2BAoOZ4wR5g9apWqAeAqTv3I0gk QNt8POyf8jPeSYXys//ZF4Xzo9WXHF2jEjiVB0Y2pDdDNNKmCqvzImOG09/Tjp2roddo l/l1VnB0yUULU1k+JWJjaphPpSl397oLEVBw9NYTbqc51oY+HeSolsDMe3uy26EE+vSH /6sybWRnquk7deQe6w5MHrLS8rkWYQSlmHPZuOwIjTi+ErBlFAsIlaHrLCarbGyBEG3W ddJient5VzZcz6/kJwOBwPZOuCw1G2vec2ZvZ2T35of7fmB/IbsKPIzPEnWgAAJHz5Kk Jc8w== X-Forwarded-Encrypted: i=1; AJvYcCUENko1Cu07gkNA81Tda6ggQW53itPapSo6hsJeFx+ZnP2Ce/CmoeZw74sKo1wR/k8xKfsJhy36RhaD@vger.kernel.org, AJvYcCXlvn+Ft2zPIJGk7fxnBsylRBfGBFfwzvU1zIqwZfCa8kTdeeieE1lDNGj8fNd3wCJ97urj24bY7O+uqJWF@vger.kernel.org X-Gm-Message-State: AOJu0Yzf9B29aGseDsrXPUP2BCLTkEvqMw9NqzyjdSF2nBsc+M9mkzdb wzKhf0f5TxesnrAF126SYQ/AWt8y5LjHFxHnWAW85rRkoUhMXbLqV0P+lcGlnrc= X-Gm-Gg: ASbGncvzxUvUZLukCBbm6aS2ns6iJGP4eYGYBnhk2lxSAYpnPLwtR69xOhu6q11ejHQ 6Twss92vVC+Yd1QSUCPFstXEYQfSoPA/FFl80P7Ze0ww66M33SDxPWWNX8nWtDKn1hWr/rcuAbJ gIIqa1vqOTM5DjuD34XB7kn8PHA1nq1f0Wz6VPMZGufN/aYOVEvU90xguBA6t9T11skpw4BHQGp xBhchw2g5dem3PC2eH2F4K0xUWWBeDodCTff9mtOWjnjiArSKm2h/0wQg== X-Google-Smtp-Source: AGHT+IG3Luyq7CuCjs5SZObqKvOdt4prCzgBS+jAiEz0Pg86Nw6pASOkYjKxrAqkV2P9TGxLluynPw== X-Received: by 2002:a17:903:98d:b0:215:a2f4:d4ab with SMTP id d9443c01a7336-219e6ccdc98mr921025905ad.7.1736166524565; Mon, 06 Jan 2025 04:28:44 -0800 (PST) Received: from nick-mbp.. ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-219dc9650bcsm292678655ad.39.2025.01.06.04.28.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2025 04:28:43 -0800 (PST) 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 , Neal Gompa Subject: [PATCH v7 07/11] arm64: dts: apple: s8001: Add PMGR nodes Date: Mon, 6 Jan 2025 20:26:24 +0800 Message-ID: <20250106122805.31688-8-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250106122805.31688-1-towinchenmi@gmail.com> References: <20250106122805.31688-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" Add the two PMGR nodes and all known power state subnodes. Since there are a large number of them, put them in a separate file to include. Acked-by: Hector Martin Acked-by: Neal Gompa 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.1 From nobody Tue Feb 10 23:01:26 2026 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.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 6F6C81DE2B1; Mon, 6 Jan 2025 12:28:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166531; cv=none; b=N2sw3HyA/hSgeaTFQnoAYF8GFgJdHxMC8zQ6SE6Yjhc3DIkt5KwSlY/dDyupjtyl+w3SIycUq18l+EthYl0RYEtjS5X/dOvDWGNKIpjYUbpSX8VXJVGwezL1Rxl5LP1L2g/mWw2ZKNXiV9dDSolrDgGE3D4mDY7M9+5drJNI7zI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166531; c=relaxed/simple; bh=Tpt2z8w5KvnBZJl4letuo1pLsHJMR7WpKDLS/RbngFs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=P5EgDSsYcTaUuiJdYZ8V2XYTveE0Qsoj8D86ce5zLhbQfYS9VfNHPtdw6nb+kQhpe0MP6TipO3Xq6b9daSRfhLrOjn0NjSHgADmkb8v3XWzcYsY+pgI37960WCoZeSuKqUh2v0ppOrERiJifgpncvbIHCiXA5wbm8v1KzcSMTV8= 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=JDnVrd5e; arc=none smtp.client-ip=209.85.214.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="JDnVrd5e" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-21644aca3a0so21098515ad.3; Mon, 06 Jan 2025 04:28:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736166528; x=1736771328; 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=tVzNLZMKQHnDQllez4xpHpDD9HbDZLsrJBT3RMT5AuM=; b=JDnVrd5eoX1SZs43zozpeU0x7iCJFUtPIj0L4kO2DKj6B9GhkhfKdQCOkgnBlqN5ii U5BTtLIvudOXVUxzmT+kn78gUZ4sS1YKVu8ynB8Wj7HRYvx0AkUmvzu8PFtjFy/On6NM JkiCukYxoBSeZT1TjrlkEwcATMeUOGLmsUECx6+yGahvQKjaGMdyNXHQytCyi7pKiKEB Mc/JbfuPlOrXNFItqtO6mZb3JjKmkerOSoUyxU89kly3JNHIFR47iAbguanpVGzY5AMq Cu3aXSRPnF+wKrhqUkaPmuyB6yf5pMdcGw7AZ0SmlYPjItzVXSukPmUVCkR99KIW9EEa G8oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736166528; x=1736771328; 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=tVzNLZMKQHnDQllez4xpHpDD9HbDZLsrJBT3RMT5AuM=; b=I476jTWTF6dg4yKCjAb0taVVL/28ZVQSu8+olT3XtqSdmFzwMlti5AJOLxZrYMijTX hrMeDUdtK6yUT9h7N0IwnBpU/sjVPUaZ57wCI/r1yJ1uLeSyYAFpfDi+Qlso9eeUHprN xcH8X28CWoJvuC0EayVYkBDYbuyMqn1tQE++AgpX10SJwW0VlnKAqUkklqDj75RpDGd+ qTcbFI89KmO4czlHD7qQrub4AMHXXxJ/InNRjcFE32z2h7FSOIwtHNWSsLAXYPn+jgVZ n75ffpkWs0PBzAPI2GjNFRuPOh7KcAHINMR1iqxRFdELMgCkaqudnM818pKSlgzRjbez CalQ== X-Forwarded-Encrypted: i=1; AJvYcCUznNrZ0b5UfDaUgz4sGQ7XRIUrhqLQwiC7GZumncYbj/PqvqTgPgYIwkpjJEfoP+xP31+8e08gR9cl@vger.kernel.org, AJvYcCW2UhZhBDDBAnKX0kBbZcAqQ3NA6uAycoEmdy26+6M2/vXKrLxO7bekE2CakBQtl1NGYvI7a7AAB1VcUWtk@vger.kernel.org X-Gm-Message-State: AOJu0YwKnNsuJZgHPbH+qblZrsEfn0AzOLsrXCtQ3W3kNQtvo7g57JhW uzcVsgmFjsz9CxTsyPGIOO7e3+C7j872Ohiqd30W9SyLsN2atJbK X-Gm-Gg: ASbGncsz/7PYKQFrMRsYg9gkMNnA1P2lpmHaMWRhH0wfQzAk2JBVaYplXPJWPrU9sS9 scjzPTqT9noho3RuQZQNdDYK3W7svZHg/l29gjv24HgqoVtdtIltk0cKmPzYrvb9pdwWhsMyMzb Id0a6Hy/fm7gxuShYm4A1A1f5sEGUW04JoNmAaof9VvsOKSzSlVzS6RCtlet93NdYVHd7oHsba8 sw0XcBURZ4yDeAriCmIEiaeQyz/ZVIP/25ETP2Gzzk98WcfpifpkJKc3w== X-Google-Smtp-Source: AGHT+IGQlXAo91kGM01Cjclv455ETtjhw66ziwGj5Kqtv0tLWMxM9HP707c1wWbMkf0HFnvDU60uvg== X-Received: by 2002:a17:902:c943:b0:215:72aa:693f with SMTP id d9443c01a7336-219e6e8bb89mr888035395ad.9.1736166527599; Mon, 06 Jan 2025 04:28:47 -0800 (PST) Received: from nick-mbp.. ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-219dc9650bcsm292678655ad.39.2025.01.06.04.28.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2025 04:28:47 -0800 (PST) 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 , Neal Gompa Subject: [PATCH v7 08/11] arm64: dts: apple: t8010: Add PMGR nodes Date: Mon, 6 Jan 2025 20:26:25 +0800 Message-ID: <20250106122805.31688-9-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250106122805.31688-1-towinchenmi@gmail.com> References: <20250106122805.31688-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" Add the two PMGR nodes and all known power state subnodes. Since there are a large number of them, put them in a separate file to include. Acked-by: Hector Martin Acked-by: Neal Gompa 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.1 From nobody Tue Feb 10 23:01:26 2026 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 6D73E1DE88D; Mon, 6 Jan 2025 12:28:51 +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=1736166535; cv=none; b=pwDUC4JaxHJTZfV/AlczbBSt/u/s9OQMGNIUMFb/Nv33SgxQE07YDXfHzErmmQCwlc9YTqNcdSLW/a3kpa3uZHhG3Y9A+4IVWCI36f0T94Qakg6Rs4CxI+vvsCzILjma9JVKBeZEL2E/KXyDks2lxTtwvHrLK7A59+dTwU3uiXM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166535; c=relaxed/simple; bh=F9WATQq2jnYuW/gxkgfoIBYYebdoW6XQReEBrjKrL9M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PVlhE9HpU3ODQYIj48cBLzJIKtlyii3Ocz7w6E+gXb5b4UaC6RWqdm1s6Cpimv5dhiP/WnE4UeV8+FySVPB3p1+8kpfBTpG+UDSBg11G9h2B9QdYFL9vPDNOE8Rc71fX//fFp5FLIDb3lLyVNWmRN7oPU103kaVo/Dn8xFwnMm4= 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=eGgJe6m0; 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="eGgJe6m0" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-21680814d42so173378015ad.2; Mon, 06 Jan 2025 04:28:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736166531; x=1736771331; 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=x+XuyaLXPTNvisIfhRyNisrelgNW/Eva2vkdMzYbGDA=; b=eGgJe6m0G/hYjDN4z1M+XtGflnk8wHhbmja05hfiezLuzNy3BEL439qSBqfavFs5ER iW9i3nChaP8R+IK44wL2kQfkb3d1YmsymdrNhPp1xLgyU1jFpq6nBWa2aVIva/IgXhMs Qoid31OfpwXjAzpG2S4VK0e3BWAl/CWdCglmBZHiVzaqRAMPVmvBrBt5sQRz8AkAdr3p Lw9D8dlTBpeVsIwvj3xtD5fdfQmoldwonvYXP1E2+vMm2SYTUZjYWmsMQ0GCwsKnBAeC cv2l0WHedtAAfhpxwj+SpyxuKZsTgs35BY6pcsyDEjcLoXcf1uOgUeno9bU326XZ7c6H 9OQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736166531; x=1736771331; 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=x+XuyaLXPTNvisIfhRyNisrelgNW/Eva2vkdMzYbGDA=; b=XMfdEaGS6cZA7z/gvSGtMklIsO/XxWiqx/eluAYmSTunSLoigH7AnMgxm6U9R1hfA7 ZfcFiwJ53PQKtkR5nuiHQhD/W4w6L5d/omATurb430joDnHSSbAf3kZvsdYx/s4lk1XQ M2Ht6Y/yNxo1dZpC+ilwXzl4i5DBjX3jm+zNPvOveSQTtNhf+KirYqwLjZZAROcEiCmf IWM5IKkZ8zWoiR564BqxgQzrUWFUNoxnmvWjOuwbOQavagd9HStOWLmAphz0KYnXHNXo sXJH+8DbkKdIAg/+opjameuQL/zbRtPC6fzltbrjaeiIaohEhK3iuJRqLp3jC+4nHCIP eAwg== X-Forwarded-Encrypted: i=1; AJvYcCUsWOzx0wNcRnkKBH6dyOjBRqld3SL73nT1TzJEnZWPGRT5e+yX7az1H3igS/gW2J1Fv7Fe337yjlzO@vger.kernel.org, AJvYcCVR3aJdbb/PQGnOoFi3EHWpZawzZr4iCVIqv2fA2Cr3wfPuSsKLWTs+V8ZND7p3IeLx1vJVkVNgvM1PDobK@vger.kernel.org X-Gm-Message-State: AOJu0YwL0yzZe2O/ZUK71AjTDpM3Q6fC+LaVXYlZs/M9rRyli/PiID6A rgMN1tLw/m+Tihu34kVZUufYY0nIFQGeTf2wfdC4M6tNk41OV3XM X-Gm-Gg: ASbGncvNoYnJBR2+sm14UEq04wWostxp+OfvpQ4LCZ/BbmKQUqz3TXsGSEaqourL2QW Wh7zNAernHHHJ2FIrR91EQajn0AKWiFBV3Go9qejvEG60MhVsITmdkbs9Un3XqMbjwB+U2brxwK 0TUk+S/op7JkNJ+bx4BLA6MoFKiEh1TqR+YogpPMPv6dxyORE7W257fKcn+c2XoRuEj5oiH+YEy 0O1kvQxBKw2lxW5JlUit26QZIq3dv/5ZdLKzgiWP6cv6zw9jhm1jVcPLw== X-Google-Smtp-Source: AGHT+IHoh4zkjGs45o/GRsi7eRMVFoZ+Oudo83/gGDv2NcgnsKNr5AsqvYWc5B4b32V79bxXHpPd8Q== X-Received: by 2002:a17:902:ce86:b0:216:2dc4:50ab with SMTP id d9443c01a7336-219e6e89b63mr708756735ad.2.1736166530565; Mon, 06 Jan 2025 04:28:50 -0800 (PST) Received: from nick-mbp.. ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-219dc9650bcsm292678655ad.39.2025.01.06.04.28.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2025 04:28:50 -0800 (PST) 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 , Neal Gompa Subject: [PATCH v7 09/11] arm64: dts: apple: t8011: Add PMGR nodes Date: Mon, 6 Jan 2025 20:26:26 +0800 Message-ID: <20250106122805.31688-10-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250106122805.31688-1-towinchenmi@gmail.com> References: <20250106122805.31688-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" Add the two PMGR nodes and all known power state subnodes. Since there are a large number of them, put them in a separate file to include. Acked-by: Hector Martin Acked-by: Neal Gompa 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.1 From nobody Tue Feb 10 23:01:26 2026 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (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 367DD1DE2CF; Mon, 6 Jan 2025 12:28:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166536; cv=none; b=dEZLyzPKv0TiroP6AEn9v6IBuYZXhBPndnKXSncb2BzkgBQw598/LndtwUffvC5VRmqHzsdpeYbywTM8MbeKbf9jh/9zrWz2s6xp7xozaSMGxdSRW2BYvzKjr2WtcTmKLDgHxU2HLb2uUbIv9JX8hWW6zgpL3+GGTtaNaSlhX1Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166536; c=relaxed/simple; bh=VhV5rBZJfWHslo+vvwqKj01Y6E38MrvNCKj4aKVlqI8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RjwmfC1lqlAs7OEs70lA9pyPes60aNb4/PO0/+j3NkFDGHcyXD0xn2A5rBUSLg2gv/2E7Bb3zr+ygPT5PowqgaDvjPM3C+qUTjY323aj04pkjDePpHseuMTgXLVs26HCj1Hck53pP4BBSrUw7R9DS0tYcQ2qWD7sZFAJZU38DIo= 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=MPOrPher; arc=none smtp.client-ip=209.85.214.181 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="MPOrPher" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-21649a7bcdcso198056045ad.1; Mon, 06 Jan 2025 04:28:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736166533; x=1736771333; 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=LDohY2f+nbe3GKwMG8gRN5xY+j/Umoif3/N9D3h8dqY=; b=MPOrPher/lnNlWHX6UlDTd7DMvdw+jATVRPzzrRTByscXYlAD0x43Fv0W73nS2GhQz /ljEliP8gDRJAie9n7zDzd4KqUrIKoMXSnyk8TchdMixxatpbrGyNsDMDYymb4V59sY9 n7qf/SHXejQh2SQ5kBRrEcRfBMygrUIOn+jwL3esjeKhC1x6gwqJ9P36CqHf1fVxN8oD SmjBWxZslVfuHq+qIalnDmF12fdnenPNb79kJhR6b/4FhVDCzWx1+8cWyICQNkHmFhTz EYNhM2YNkgRXMhWPKDP9f+beBtqFOYIinIuqlIEU/KvuXL1RYjdtCTpd8kjBIPfpk6d0 9QOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736166533; x=1736771333; 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=LDohY2f+nbe3GKwMG8gRN5xY+j/Umoif3/N9D3h8dqY=; b=DwPxvr1NSceNy6W2H27VmXqsDCykETPwaGCJO49AtywL1c7TsQH5rqfooDJiTLRFGv zuwfY9HLprIsjlJU0f1/HaLpz+23fV3+q6/+33vfjun2dqOwtE8IbSF5qbMVj4g76EbX +bkJ1rTY52kwHs0XHhXNeIUhYi3LSVDYJ2PoC4WatnGMBdcLC1At/Umxdob7uoY9P3ND hr90DtZkWegyQSKom4YTEvv+fHbBNHRG1XRc1m6lRMOvjvWVvtgbYnSiQZxH+MLRuyAy UzphXZ3WyASbf4uy/1z+5aVsYgdJU6qQlxDvsFJkQe1W03GpAtgtQ6ws+oaXj1CvzdnM 20OQ== X-Forwarded-Encrypted: i=1; AJvYcCVd/GaOVGZ0jb8acdHnY6dFM1ATL6jF/z336PSHiYxlnL6YTNEgN6fE8Y5vG/5aFajkSYQCS9WKMOa5a6bB@vger.kernel.org, AJvYcCVr45R0uXw1jBTuG9ihvVeNXDxvkiid8uvcVpvK1gSE9JDX7qNe6ERqlmg0HBeVb0QTDYDFQpY7B0R1@vger.kernel.org X-Gm-Message-State: AOJu0YyXqxIOOa9ggKqNFXQpVsRSownziUvVFGL1hv5/VM0U7l6NNGK2 ALMJ3AOdTh3D3zg8t2l+D6bQQ6By4nxLGEXhKPwpUwzrmZq7lMch X-Gm-Gg: ASbGncugnZ3cuWsvLs4iQTkU9wsgXl3xpcY5vUbVJrw84EJ7R2YX7HUTIq2mhulMmey XCPVc4HP7uFazl84w58zEOTlh1vtTn7SwlQJrQmkWD5H4j7CqUtYtbLQN3Bja+4JKbKdT4GI0OP ZamyE/4ikVYHJTzB24uPT+5bFOYJLNYP6uWLl8Ixm1a8V58pe/LRXinPhYLf+GVWyZIfSlYBs1l b9wfQaDd+RuM2mSiLcwkhHMr/nE2WHYjz4iVK7sIxE11e0fQDOiAK3l/w== X-Google-Smtp-Source: AGHT+IFqT0rkQ9hsgyshNfKn9ISjK55L8N/MSzFLQz+ygWONwAi7E6Qkkl06tdP+h/Vp+XLZAsPZYA== X-Received: by 2002:a17:902:ea03:b0:216:5e6e:68ae with SMTP id d9443c01a7336-219e6ebaf33mr847714335ad.31.1736166533401; Mon, 06 Jan 2025 04:28:53 -0800 (PST) Received: from nick-mbp.. ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-219dc9650bcsm292678655ad.39.2025.01.06.04.28.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2025 04:28:53 -0800 (PST) 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 v7 10/11] arm64: dts: apple: t8012: Add PMGR nodes Date: Mon, 6 Jan 2025 20:26:27 +0800 Message-ID: <20250106122805.31688-11-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250106122805.31688-1-towinchenmi@gmail.com> References: <20250106122805.31688-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" Add the two PMGR nodes and all known power state subnodes. Since there are a large number of them, put them in a separate file to include. On models with only 1 GB of memory, only two memory channels are used, and on models with 2 GB of memory, four memory channels are used. The "apple,always-on" property of the extra memory channel power domains (ps_dcs2, ps_dcs3) will be removed by loader on models with 1 GB of memory. The amount of memory depends on the storage configuration of the Mac. Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t8012-pmgr.dtsi | 837 ++++++++++++++++++ arch/arm64/boot/dts/apple/t8012-touchbar.dtsi | 1 + arch/arm64/boot/dts/apple/t8012.dtsi | 22 + 3 files changed, 860 insertions(+) create mode 100644 arch/arm64/boot/dts/apple/t8012-pmgr.dtsi diff --git a/arch/arm64/boot/dts/apple/t8012-pmgr.dtsi b/arch/arm64/boot/dt= s/apple/t8012-pmgr.dtsi new file mode 100644 index 000000000000..35a462edd4af --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8012-pmgr.dtsi @@ -0,0 +1,837 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * PMGR Power domains for the Apple T8012 "T2" 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@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_iomux: 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 "iomux"; + }; + + 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_gpio: 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 "gpio"; + }; + + ps_pcie_down_ref: 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 "pcie_down_ref"; + }; + + ps_pcie_stg0_ref: 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 "pcie_stg0_ref"; + }; + + ps_pcie_stg1_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_stg1_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_mca5: 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 "mca5"; + 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@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 "spi0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi1: 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 "spi1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi2: 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 "spi2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_spi3: 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 "spi3"; + 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_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_isp_sens0: 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 "isp_sens0"; + }; + + ps_isp_sens1: 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 "isp_sens1"; + }; + + ps_isp_sens2: 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_sens2"; + }; + + ps_pms: 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 "pms"; + apple,always-on; /* Core device */ + }; + + ps_i2c4: 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 "i2c4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c5: 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 "i2c5"; + power-domains =3D <&ps_sio_p>; + }; + + ps_i2c6: 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 "i2c6"; + power-domains =3D <&ps_sio_p>; + }; + + 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_uart0: 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 "uart0"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart1: 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 "uart1"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart2: 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 "uart2"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart3: 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 "uart3"; + power-domains =3D <&ps_sio_p>; + }; + + ps_uart4: 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 "uart4"; + power-domains =3D <&ps_sio_p>; + }; + + ps_dpa: 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 "dpa"; + power-domains =3D <&ps_sio_p>; + }; + + ps_hfd0: 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 "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"; + /* Not used on some devicecs, to be disabled by loader */ + 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"; + /* Not used on some devicecs, to be disabled by loader */ + 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@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 "mipi_dsi"; + power-domains =3D <&ps_disp0_be>; + }; + + 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_pcie_up_af: 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_up_af"; + power-domains =3D <&ps_iomux>; + }; + + ps_pcie_up: 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_up"; + power-domains =3D <&ps_pcie_up_af>; + }; + + ps_venc_sys: 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 "venc_sys"; + power-domains =3D <&ps_media>; + }; + + ps_ans2: 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 "ans2"; + power-domains =3D <&ps_iomux>; + }; + + ps_pcie_down: 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 "pcie_down"; + power-domains =3D <&ps_iomux>; + }; + + ps_pcie_down_aux: 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_down_aux"; + }; + + ps_pcie_up_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_up_aux"; + power-domains =3D <&ps_pcie_up>; + }; + + ps_pcie_stg0: 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 "pcie_stg0"; + power-domains =3D <&ps_ans2>; + }; + + ps_pcie_stg0_aux: power-controller@80340 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80340 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_stg0_aux"; + }; + + ps_pcie_stg1: power-controller@80348 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80348 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_stg1"; + power-domains =3D <&ps_ans2>; + }; + + ps_pcie_stg1_aux: power-controller@80350 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80350 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "pcie_stg1_aux"; + }; + + 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_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"; + }; + + 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"; + }; + + 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_spmi: 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 "spmi"; + apple,always-on; /* Core AON device */ + }; + + ps_nub_aon: power-controller@80060 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80060 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "nub_aon"; + apple,always-on; /* Core AON device */ + }; + + ps_smc_fabric: power-controller@80030 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80030 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smc_fabric"; + apple,always-on; /* Core AON device */ + }; + + ps_smc_aon: power-controller@80088 { + compatible =3D "apple,t8010-pmgr-pwrstate", "apple,pmgr-pwrstate"; + reg =3D <0x80088 4>; + #power-domain-cells =3D <0>; + #reset-cells =3D <0>; + label =3D "smc_aon"; + apple,always-on; /* Core AON device */ + }; + + ps_debug: 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 "debug"; + }; + + ps_nub_sram: 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 "nub_sram"; + apple,always-on; /* Core AON device */ + }; + + ps_nub_fabric: 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 "nub_fabric"; + apple,always-on; /* Core AON device */ + }; + + ps_smc_cpu: 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 "smc_cpu"; + power-domains =3D <&ps_smc_fabric &ps_smc_aon>; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8012-touchbar.dtsi b/arch/arm64/boo= t/dts/apple/t8012-touchbar.dtsi index f4a8b12437f0..fc4a80d0c787 100644 --- a/arch/arm64/boot/dts/apple/t8012-touchbar.dtsi +++ b/arch/arm64/boot/dts/apple/t8012-touchbar.dtsi @@ -12,6 +12,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_mipi_dsi>; /* Format properties will be added by loader */ status =3D "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/t8012.dtsi b/arch/arm64/boot/dts/app= le/t8012.dtsi index 45d24ca091b0..907ba127be79 100644 --- a/arch/arm64/boot/dts/apple/t8012.dtsi +++ b/arch/arm64/boot/dts/apple/t8012.dtsi @@ -61,19 +61,30 @@ serial0: serial@20a600000 { /* 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>; @@ -130,6 +141,14 @@ pinctrl_nub: pinctrl@2111f0000 { ; }; =20 + pmgr_mini: power-management@211200000 { + compatible =3D "apple,t8010-pmgr", "apple,pmgr", "syscon", "simple-mfd"; + #address-cells =3D <1>; + #size-cells =3D <1>; + + reg =3D <0x2 0x11200000 0 0x84000>; + }; + wdt: watchdog@2112b0000 { compatible =3D "apple,t8010-wdt", "apple,wdt"; reg =3D <0x2 0x112b0000 0x0 0x4000>; @@ -141,6 +160,7 @@ wdt: watchdog@2112b0000 { pinctrl_smc: pinctrl@212024000 { compatible =3D "apple,t8010-pinctrl", "apple,pinctrl"; reg =3D <0x2 0x12024000 0x0 0x1000>; + power-domains =3D <&ps_smc_cpu>; =20 gpio-controller; #gpio-cells =3D <2>; @@ -174,3 +194,5 @@ timer { ; }; }; + +#include "t8012-pmgr.dtsi" --=20 2.47.1 From nobody Tue Feb 10 23:01:26 2026 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 4C5E41DED53; Mon, 6 Jan 2025 12:28:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166541; cv=none; b=MBmF7WBGyR1nxExMAtoh9hlGyvS9bbA6iiy5RumEL8dNq9pTzckI7PFyYn0K4CMWqi36NcXM5/d8bts25sWEAp3+1Y25oNO8hpTM5VhmXbXAHG4oDvojUCYlduhtVvEIGEEzj8HcCGq2rA6iqR9x/e91xTYOWR28+oCSbje7Z6M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736166541; c=relaxed/simple; bh=6FROvB0fBRejLQfYq9wwHODMFa+f9AKibQTs62foorQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a+m3aIP8y8Kd1tD4dH08ZEmOun43/jeqjr9xEEk4sJ1FwylDxD04Z6hneu+2wlLLe5Oox17HhkuqEvJ3y6Ijv5TbC34uJcjdE77+ii9xsHPMK+MAvVyDTgCAM/l3B15Qz9kO0VCOmGkrq5iVKxz8omTg57DKakKDp65EJ7hsais= 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=KwRnBKCy; arc=none smtp.client-ip=209.85.214.171 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="KwRnBKCy" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-21683192bf9so201687925ad.3; Mon, 06 Jan 2025 04:28:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736166536; x=1736771336; 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=I6rWFyrrY6cn4hc9K6r0dQl3qlQ7B+UA6tET6zvn6mk=; b=KwRnBKCyVoej5L6J8Tr/TmtgJ6yaT/nyjYfmD7mmYJdX6IvGAvNDNDki3NqX94Pwv6 lJjwoHyjSYUQQUm+DU2aYpeFKbz/xyGjNjZ42lDa4uR0cYvSWp1bX0d/i3QWq8hA4tMp Z2QdJGge9UyjhGTCv/pfRHX0dn4mNvDdUQHRATa+S6CphhAlsHiNwAseqSn7nGElrqx+ Ldom7ayYm2C+gkU1B973Clo/9WiCoMcfSWQN8ez0HqQnRAc1ERz811dOD8oGe3BmZPQG 3KaFV71NbpWouU4K29vADDxXAbvnULRl6A5TG7sSd0Mf32uAel1rJ/cnbFOKxH0mdmG6 cfqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736166536; x=1736771336; 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=I6rWFyrrY6cn4hc9K6r0dQl3qlQ7B+UA6tET6zvn6mk=; b=RSD0bxYDzeNcftCi6TlIgvTypJlMtd2YS+yiFZf37lYH8PfpZZl44FoaTL8T9n1JqA xw76YKgd6HDpMe8QZYgPMe69Qa9dx9hw7ycqcnJM/XrDmZzYbqrsDBShp6iiWPi8j53B zSMSaEKnnQGUSo0vF9fNRDftayVxlsmcc7Tn7bYj1/3jlQdt2qJhDoo9jZ+znBO+tWWT sKBaPcen+kU4/FnYAnI8hfR3sDoJEV29RyxzG4oH9DXqS6D2HnHl/cWKb/9i4hyVutGP UoLUmVTiCYwg+33HgSgz9o8Sr9KQ9vTEwdrczJrModrdFyAnj+PawGQyLo9CddOttkse Hm/w== X-Forwarded-Encrypted: i=1; AJvYcCV4YO/jfld5kOZYkJWl6TRyNeWANkjEyX+mVC3r1fn537TN39+WkkKguk4K7ik6VsXAK7Shnlg4YzcgRjPF@vger.kernel.org, AJvYcCXtbQ24rfua2wxnEsRJXVDu9bdc76q5WV3kVoSA9BtKzQWBWQ6qKeD4l6/FRMOrDhFxovCKVV55PPCe@vger.kernel.org X-Gm-Message-State: AOJu0YwIpwhRhb0jELGk68a2Y5khNMEoPHoJhtWaqn4zyQv91ZWg4b/F KvU3EkQGArmWCzUNgMbiH9BLt+zKFiTGAqfwI9BYixCAcqgiNPhd X-Gm-Gg: ASbGncvyv7gsnHyduZJ7NU0Bo3WootKZgOBOQmTuZT9tUQ4yROzliJu9STBAgQDGmmh KRz5xTHS/E3/gHrrg0sUy592MfyB7+Ys2ZPLrUzMGbhuvJ+Xg7q9HzYA99kWi28deDK0LiGzsed HOAjnizO0CpUgzHXaGQKgfUNyNS3QlJgQqL3aQwJfSyoBNsljF9K8HEF+6ErdgkgHy6IusNnHZ3 UPRjos057i5Up3UVtYYE+0SfaW4fCFp/eYLNX8vjFv7O6RJRA3DrgZAfA== X-Google-Smtp-Source: AGHT+IG1v1UQLq5hcDIKHVFyhhwhnSJlNGQ3XmnXU4yOgTBPMhVx7jcZuwql3e7ibGIQJXNCRLmdbA== X-Received: by 2002:a17:903:244f:b0:215:bc30:c952 with SMTP id d9443c01a7336-219e6e89564mr861903645ad.6.1736166536350; Mon, 06 Jan 2025 04:28:56 -0800 (PST) Received: from nick-mbp.. ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-219dc9650bcsm292678655ad.39.2025.01.06.04.28.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jan 2025 04:28:55 -0800 (PST) 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 , Neal Gompa Subject: [PATCH v7 11/11] arm64: dts: apple: t8015: Add PMGR nodes Date: Mon, 6 Jan 2025 20:26:28 +0800 Message-ID: <20250106122805.31688-12-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250106122805.31688-1-towinchenmi@gmail.com> References: <20250106122805.31688-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" Add the two PMGR nodes and all known power state subnodes. Since there are a large number of them, put them in a separate file to include. Acked-by: Hector Martin Acked-by: Neal Gompa Signed-off-by: Nick Chan --- arch/arm64/boot/dts/apple/t8015-common.dtsi | 1 + arch/arm64/boot/dts/apple/t8015-pmgr.dtsi | 931 ++++++++++++++++++++ arch/arm64/boot/dts/apple/t8015.dtsi | 21 + 3 files changed, 953 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..e238c2d2732f --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8015-pmgr.dtsi @@ -0,0 +1,931 @@ +// 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"; + apple,always-on; /* System Power Management Interface */ + }; + + 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.1