From nobody Sun Feb 8 03:27:27 2026 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9B6863FB9C; Sun, 22 Dec 2024 17:28:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734888498; cv=none; b=V2Xa8yQhdGsyuIoZZnZmh25BI8LOUIYJHyW90/XkM3wA3KEORTnmToq42edpc50JT8pwif2eqXXlyXp6z6es0/LQjgq+kHUTT/wkixYM/kOxg/gCYeVeRf86cYWS9YULPX6cAZ1FZGYebpN54ZHXN531WHjZtCAjeAAW3Qg9oEU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734888498; c=relaxed/simple; bh=TcNZ5ucrKkvZUeTCm/E10lQ+rbroBONonILFuhZg5Vw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=JGjivy48PNs2wWkSCDwYVvg8DaCh2N/6KrZRR5UBtLyvxUC+uWqO8g5D9hFabbL54suGU5h5EFtkHXpmpqPaXiYT/XOleOuRdLLqsZ+Vor5zNwll8avDr0l/ZtgFjh5i1L74TQ9Lil/9bPCVJpaVxhdMduMt5TA0295gxQMUi1Y= 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=VC0Im6Gf; arc=none smtp.client-ip=209.85.210.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="VC0Im6Gf" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-728ea1573c0so2862024b3a.0; Sun, 22 Dec 2024 09:28:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734888496; x=1735493296; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Yu601tyY4epLjb/tQTUlTVuTNbfmOtzSi3U6eJFzPzo=; b=VC0Im6GfKsSATJdg8UwJ9uu57PgeqmmcyKxCOgDED3sQsAURKlaTtc6y60RTVenYuM HoifaQhVKP21+Aftz1TBamTgTmXr7nVSOXQ7KENn+hWYSPHvDY/fCC4zteAY4xTiL/Yb tYGbWsPYwso/LTvi/oArutW1bZWdcsTIIfOL4NipnfUQ0r3FuPcXTJVlSpSaaAiHlJ6Z oCiWFdWEYHUVTsZ86hfGWJXLeNbm3PV+1ap9r5K62QkSUhZv7Z1PAZt7MDuc+wFZvIhb RDQ5zpzswGXYgmwVzNo/FeYRb2w2d1baZw02C5ju3naujPyrEclcKvYTVvLVZtRwjsLX j7CQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734888496; x=1735493296; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Yu601tyY4epLjb/tQTUlTVuTNbfmOtzSi3U6eJFzPzo=; b=A5gPWio1NYpsY0LJHlnzizrS2Cx8kreZsHTrI3SywKhSPDjDivp3sMeeY2jM4eZ1RF wIsY0BfQHeo9tNNwQkrnuBJDhxgg+I6YuzDQ2AUgfBUupD+hRKtL7e9dapiEeuq3aKfy FW4dHxA6t9dt9u5xO3XbN9nKzmC5lWN5h4L9QXe2VPIcOhGI80reqJD0AoeSD0Pjkyql TJr4SBzMpyIArHJuhBxj28jLQwt+q3KO7mmaOTM1hlC/P4icXGeJIrP3o5L7ohSRgXFz txU2dCqAiTAqwBDJGL62rIKw7N2yt3tOXxQKMmBM4roUi1ZZ9xQlutHqLWR7vqBL0b8w 1Akw== X-Forwarded-Encrypted: i=1; AJvYcCVhsV9qgJHlZKGOiSsnXqRYvCO41KXTTD0LqXR68qAvAQ2weBO8InHMG94mN2wtI9Zrqz1cFwnBMaSR@vger.kernel.org, AJvYcCWrIqorj5g1OQzXAV/XQewiAzGYE6/h3qRBZY8auOhKQxiSEIFaMuihobIzak8nTiZ5y/mGnnSc217hT3to@vger.kernel.org X-Gm-Message-State: AOJu0YwBR+XkCPpuKOH9jn9DFixRM2Th400JBDYdV0YCeSZojJ2aEC/h t3WmLE0wqzxpwHqznumBD4U4V5ZIc49Hnrdh8R3mvGRhfW3AaIED X-Gm-Gg: ASbGncv8CZD5Uv3I3q1YlBKs26aH/+oDraElYoMHEMyiTH+h9p0MePjF/fxie33tGn6 idmBGLCa3ofGyz2jLK3APZmSfXx4ah21RqZBiwF/SBgNtuKhH6EqYWcPuFTa8Sf7PIyJ04Q7UJt /ko+fJcNgy7wrFbqIbrV+PPavvBNl8uNgqqvVcgS2xS5Y2HlUjoBOzgptcmkAv9B42VQL5A7Yfv NLWcvBH8nlCdWARN9r6HxNUnmN8HimbvkSqqGWJREhTnQuCkOL1qq7fTg== X-Google-Smtp-Source: AGHT+IH1Z39YXP8Pu3o3xRuuV9/Pd7ax39fhbC54Q7wq7X45elUygQIrzJo2YY5Botik9QCb/Tsx5A== X-Received: by 2002:a05:6a20:8428:b0:1d9:3957:8a14 with SMTP id adf61e73a8af0-1e5e04584ccmr16452790637.1.1734888495765; Sun, 22 Dec 2024 09:28:15 -0800 (PST) Received: from nick-mbp.. ([59.188.211.160]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-72aad836192sm6585404b3a.68.2024.12.22.09.28.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Dec 2024 09:28:15 -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 v2] arm64: dts: apple: Split s8000/s8003 SoC DTS files Date: Mon, 23 Dec 2024 01:26:08 +0800 Message-ID: <20241222172735.145764-1-towinchenmi@gmail.com> X-Mailer: git-send-email 2.47.1 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" Despite what the code comments said, the DTS files were not split properly. Since these two SoCs are now known to have minor differences like in latencies for cpufreq state transistions, split the DTS files now. Signed-off-by: Nick Chan --- Changes since v1: - Drop PMGR nodes file rename. This is now the first patch and other series that modifies Apple A9 DTS files now depend on this series. Link to v1: https://lore.kernel.org/asahi/20241206135051.56049-1-towinchenm= i@gmail.com/T Nick Chan arch/arm64/boot/dts/apple/s800-0-3.dtsi | 140 ++++++++++++++++++++++++ arch/arm64/boot/dts/apple/s8000.dtsi | 133 +--------------------- arch/arm64/boot/dts/apple/s8003.dtsi | 10 +- 3 files changed, 146 insertions(+), 137 deletions(-) create mode 100644 arch/arm64/boot/dts/apple/s800-0-3.dtsi diff --git a/arch/arm64/boot/dts/apple/s800-0-3.dtsi b/arch/arm64/boot/dts/= apple/s800-0-3.dtsi new file mode 100644 index 000000000000..082e5b1733d0 --- /dev/null +++ b/arch/arm64/boot/dts/apple/s800-0-3.dtsi @@ -0,0 +1,140 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* + * Apple S8000/S8003 "A9" SoC + * + * This file contains parts common to both variants of A9 + * + * Copyright (c) 2022, Konrad Dybcio + */ + +#include +#include +#include +#include + +/ { + interrupt-parent =3D <&aic>; + #address-cells =3D <2>; + #size-cells =3D <2>; + + clkref: clock-ref { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + clock-frequency =3D <24000000>; + clock-output-names =3D "clkref"; + }; + + cpus { + #address-cells =3D <2>; + #size-cells =3D <0>; + + cpu0: cpu@0 { + compatible =3D "apple,twister"; + reg =3D <0x0 0x0>; + cpu-release-addr =3D <0 0>; /* To be filled in by loader */ + enable-method =3D "spin-table"; + device_type =3D "cpu"; + }; + + cpu1: cpu@1 { + compatible =3D "apple,twister"; + reg =3D <0x0 0x1>; + cpu-release-addr =3D <0 0>; /* To be filled in by loader */ + enable-method =3D "spin-table"; + device_type =3D "cpu"; + }; + }; + + soc { + compatible =3D "simple-bus"; + #address-cells =3D <2>; + #size-cells =3D <2>; + nonposted-mmio; + ranges; + + serial0: serial@20a0c0000 { + compatible =3D "apple,s5l-uart"; + reg =3D <0x2 0x0a0c0000 0x0 0x4000>; + reg-io-width =3D <4>; + interrupt-parent =3D <&aic>; + interrupts =3D ; + /* Use the bootloader-enabled clocks for now. */ + clocks =3D <&clkref>, <&clkref>; + clock-names =3D "uart", "clk_uart_baud0"; + status =3D "disabled"; + }; + + aic: interrupt-controller@20e100000 { + compatible =3D "apple,s8000-aic", "apple,aic"; + reg =3D <0x2 0x0e100000 0x0 0x100000>; + #interrupt-cells =3D <3>; + interrupt-controller; + }; + + pinctrl_ap: pinctrl@20f100000 { + compatible =3D "apple,s8000-pinctrl", "apple,pinctrl"; + reg =3D <0x2 0x0f100000 0x0 0x100000>; + + gpio-controller; + #gpio-cells =3D <2>; + gpio-ranges =3D <&pinctrl_ap 0 0 208>; + apple,npins =3D <208>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupt-parent =3D <&aic>; + interrupts =3D , + , + , + , + , + , + ; + }; + + pinctrl_aop: pinctrl@2100f0000 { + compatible =3D "apple,s8000-pinctrl", "apple,pinctrl"; + reg =3D <0x2 0x100f0000 0x0 0x100000>; + + gpio-controller; + #gpio-cells =3D <2>; + gpio-ranges =3D <&pinctrl_aop 0 0 42>; + apple,npins =3D <42>; + + interrupt-controller; + #interrupt-cells =3D <2>; + interrupt-parent =3D <&aic>; + interrupts =3D , + , + , + , + , + , + ; + }; + + wdt: watchdog@2102b0000 { + compatible =3D "apple,s8000-wdt", "apple,wdt"; + reg =3D <0x2 0x102b0000 0x0 0x4000>; + clocks =3D <&clkref>; + interrupt-parent =3D <&aic>; + interrupts =3D ; + }; + }; + + timer { + compatible =3D "arm,armv8-timer"; + interrupt-parent =3D <&aic>; + interrupt-names =3D "phys", "virt"; + /* Note that A9 doesn't actually have a hypervisor (EL2 is not implement= ed). */ + interrupts =3D , + ; + }; +}; + +/* + * The A9 was made by two separate fabs on two different process + * nodes: Samsung made the S8000 (APL0898) on 14nm and TSMC made + * the S8003 (APL1022) on 16nm. There are some minor differences + * such as timing in cpufreq state transistions. + */ diff --git a/arch/arm64/boot/dts/apple/s8000.dtsi b/arch/arm64/boot/dts/app= le/s8000.dtsi index 6e9046ea106c..c7e39abda7e1 100644 --- a/arch/arm64/boot/dts/apple/s8000.dtsi +++ b/arch/arm64/boot/dts/apple/s8000.dtsi @@ -7,138 +7,11 @@ * Copyright (c) 2022, Konrad Dybcio */ =20 -#include -#include -#include -#include - -/ { - interrupt-parent =3D <&aic>; - #address-cells =3D <2>; - #size-cells =3D <2>; - - clkref: clock-ref { - compatible =3D "fixed-clock"; - #clock-cells =3D <0>; - clock-frequency =3D <24000000>; - clock-output-names =3D "clkref"; - }; - - cpus { - #address-cells =3D <2>; - #size-cells =3D <0>; - - cpu0: cpu@0 { - compatible =3D "apple,twister"; - reg =3D <0x0 0x0>; - cpu-release-addr =3D <0 0>; /* To be filled in by loader */ - enable-method =3D "spin-table"; - device_type =3D "cpu"; - }; - - cpu1: cpu@1 { - compatible =3D "apple,twister"; - reg =3D <0x0 0x1>; - cpu-release-addr =3D <0 0>; /* To be filled in by loader */ - enable-method =3D "spin-table"; - device_type =3D "cpu"; - }; - }; - - soc { - compatible =3D "simple-bus"; - #address-cells =3D <2>; - #size-cells =3D <2>; - nonposted-mmio; - ranges; - - serial0: serial@20a0c0000 { - compatible =3D "apple,s5l-uart"; - reg =3D <0x2 0x0a0c0000 0x0 0x4000>; - reg-io-width =3D <4>; - interrupt-parent =3D <&aic>; - interrupts =3D ; - /* Use the bootloader-enabled clocks for now. */ - clocks =3D <&clkref>, <&clkref>; - clock-names =3D "uart", "clk_uart_baud0"; - status =3D "disabled"; - }; - - aic: interrupt-controller@20e100000 { - compatible =3D "apple,s8000-aic", "apple,aic"; - reg =3D <0x2 0x0e100000 0x0 0x100000>; - #interrupt-cells =3D <3>; - interrupt-controller; - }; - - pinctrl_ap: pinctrl@20f100000 { - compatible =3D "apple,s8000-pinctrl", "apple,pinctrl"; - reg =3D <0x2 0x0f100000 0x0 0x100000>; - - gpio-controller; - #gpio-cells =3D <2>; - gpio-ranges =3D <&pinctrl_ap 0 0 208>; - apple,npins =3D <208>; - - interrupt-controller; - #interrupt-cells =3D <2>; - interrupt-parent =3D <&aic>; - interrupts =3D , - , - , - , - , - , - ; - }; - - pinctrl_aop: pinctrl@2100f0000 { - compatible =3D "apple,s8000-pinctrl", "apple,pinctrl"; - reg =3D <0x2 0x100f0000 0x0 0x100000>; - - gpio-controller; - #gpio-cells =3D <2>; - gpio-ranges =3D <&pinctrl_aop 0 0 42>; - apple,npins =3D <42>; - - interrupt-controller; - #interrupt-cells =3D <2>; - interrupt-parent =3D <&aic>; - interrupts =3D , - , - , - , - , - , - ; - }; - - wdt: watchdog@2102b0000 { - compatible =3D "apple,s8000-wdt", "apple,wdt"; - reg =3D <0x2 0x102b0000 0x0 0x4000>; - clocks =3D <&clkref>; - interrupt-parent =3D <&aic>; - interrupts =3D ; - }; - }; - - timer { - compatible =3D "arm,armv8-timer"; - interrupt-parent =3D <&aic>; - interrupt-names =3D "phys", "virt"; - /* Note that A9 doesn't actually have a hypervisor (EL2 is not implement= ed). */ - interrupts =3D , - ; - }; -}; +#include "s800-0-3.dtsi" =20 /* * The A9 was made by two separate fabs on two different process * nodes: Samsung made the S8000 (APL0898) on 14nm and TSMC made - * the S8003 (APL1022) on 16nm. While they are seemingly the same, - * they do have distinct part numbers and devices using them have - * distinct model names. There are currently no known differences - * between these as far as Linux is concerned, but let's keep things - * structured properly to make it easier to alter the behaviour of - * one of the chips if need be. + * the S8003 (APL1022) on 16nm. There are some minor differences + * such as timing in cpufreq state transistions. */ diff --git a/arch/arm64/boot/dts/apple/s8003.dtsi b/arch/arm64/boot/dts/app= le/s8003.dtsi index 7e4ad4f7e499..807e3452f8a7 100644 --- a/arch/arm64/boot/dts/apple/s8003.dtsi +++ b/arch/arm64/boot/dts/apple/s8003.dtsi @@ -7,15 +7,11 @@ * Copyright (c) 2022, Konrad Dybcio */ =20 -#include "s8000.dtsi" +#include "s800-0-3.dtsi" =20 /* * The A9 was made by two separate fabs on two different process * nodes: Samsung made the S8000 (APL0898) on 14nm and TSMC made - * the S8003 (APL1022) on 16nm. While they are seemingly the same, - * they do have distinct part numbers and devices using them have - * distinct model names. There are currently no known differences - * between these as far as Linux is concerned, but let's keep things - * structured properly to make it easier to alter the behaviour of - * one of the chips if need be. + * the S8003 (APL1022) on 16nm. There are some minor differences + * such as timing in cpufreq state transistions. */ base-commit: 78d4f34e2115b517bcbfe7ec0d018bbbb6f9b0b8 --=20 2.47.1