From: Janne Grunau <j@jannau.net>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cc: Hector Martin <marcan@marcan.st>, Sven Peter <sven@svenpeter.dev>,
Alyssa Rosenzweig <alyssa@rosenzweig.io>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Mark Kettenis <kettenis@openbsd.org>,
asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 17/17] arm64: dts: apple: t8112: Initial t8112 (M2) device trees
Date: Mon, 13 Feb 2023 15:01:13 +0100 [thread overview]
Message-ID: <20230213140113.GE17933@jannau.net> (raw)
In-Reply-To: <1ea2107a-bb86-8c22-0bbc-82c453ab08ce@linaro.org>
On 2023-02-13 12:22:11 +0100, Krzysztof Kozlowski wrote:
> On 12/02/2023 16:41, Janne Grunau wrote:
> > From: Hector Martin <marcan@marcan.st>
> >
> > This adds device trees for the following devices:
> > - Macbook Air (M2, 2022)
> > - Macbook Pro 13" (M2, 2022)
> > - Mac mini (M2, 2023)
> >
> > Signed-off-by: Hector Martin <marcan@marcan.st>
> > Co-developed-by: Janne Grunau <j@jannau.net>
> > Signed-off-by: Janne Grunau <j@jannau.net>
> > ---
> > arch/arm64/boot/dts/apple/Makefile | 3 +
> > arch/arm64/boot/dts/apple/t8112-j413.dts | 71 ++
> > arch/arm64/boot/dts/apple/t8112-j473.dts | 60 ++
> > arch/arm64/boot/dts/apple/t8112-j493.dts | 60 ++
> > arch/arm64/boot/dts/apple/t8112-jxxx.dtsi | 81 ++
> > arch/arm64/boot/dts/apple/t8112-pmgr.dtsi | 1141 +++++++++++++++++++++++++++++
> > arch/arm64/boot/dts/apple/t8112.dtsi | 904 +++++++++++++++++++++++
> > 7 files changed, 2320 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile
> > index 5a7506ff5ea3..aec5e29cdfb7 100644
> > --- a/arch/arm64/boot/dts/apple/Makefile
> > +++ b/arch/arm64/boot/dts/apple/Makefile
> > @@ -10,3 +10,6 @@ dtb-$(CONFIG_ARCH_APPLE) += t6000-j316s.dtb
> > dtb-$(CONFIG_ARCH_APPLE) += t6001-j316c.dtb
> > dtb-$(CONFIG_ARCH_APPLE) += t6001-j375c.dtb
> > dtb-$(CONFIG_ARCH_APPLE) += t6002-j375d.dtb
> > +dtb-$(CONFIG_ARCH_APPLE) += t8112-j413.dtb
> > +dtb-$(CONFIG_ARCH_APPLE) += t8112-j473.dtb
> > +dtb-$(CONFIG_ARCH_APPLE) += t8112-j493.dtb
> > diff --git a/arch/arm64/boot/dts/apple/t8112-j413.dts b/arch/arm64/boot/dts/apple/t8112-j413.dts
> > new file mode 100644
> > index 000000000000..0e5b5add92cf
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/apple/t8112-j413.dts
> > @@ -0,0 +1,71 @@
> > +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> > +/*
> > + * Apple MacBook Air (M2, 2022)
> > + *
> > + * target-type: J413
> > + *
> > + * Copyright The Asahi Linux Contributors
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "t8112.dtsi"
> > +#include "t8112-jxxx.dtsi"
> > +
> > +/ {
> > + compatible = "apple,j413", "apple,t8112", "apple,arm-platform";
> > + model = "Apple MacBook Air (13-inch, M2, 2022)";
> > +
> > + aliases {
> > + bluetooth0 = &bluetooth0;
> > + wifi0 = &wifi0;
> > + };
> > +};
> > +
> > +/*
> > + * Force the bus number assignments so that we can declare some of the
> > + * on-board devices and properties that are populated by the bootloader
> > + * (such as MAC addresses).
> > + */
> > +&port00 {
> > + bus-range = <1 1>;
> > + wifi0: wifi@0,0 {
> > + compatible = "pci14e4,4433";
> > + reg = <0x10000 0x0 0x0 0x0 0x0>;
> > + /* To be filled by the loader */
> > + local-mac-address = [00 10 18 00 00 10];
> > + apple,antenna-sku = "XX";
> > + brcm,board-type = "apple,hokkaido";
> > + };
> > +
> > + bluetooth0: bluetooth@0,1 {
> > + compatible = "pci14e4,5f71";
> > + reg = <0x10100 0x0 0x0 0x0 0x0>;
> > + /* To be filled by the loader */
> > + local-bd-address = [00 00 00 00 00 00];
> > + brcm,board-type = "apple,hokkaido";
> > + };
> > +};
> > +
> > +/*
> > + * Remove unused PCIe ports
> > + */
> > +
> > +/delete-node/ &port01;
>
> You should not delete devices just because they are unused. Externally
> visible buses should be just disabled in DTSI and you enable them when
> needed. Not the opposite way.
>
> What's more, you must node delete nodes just because they are "not
> used". This not anymore proper description of hardware.
I agree, this is copied from the M1 and M1 Pro/Max/Ultra devictrees.
I'll fix it there as well.
>
> > +/delete-node/ &port02;
> > +/delete-node/ &port03;
> > +
> > +&i2c0 {
> > + /* MagSafe port */
> > + hpm5: usb-pd@3a {
> > + compatible = "apple,cd321x";
> > + reg = <0x3a>;
> > + interrupt-parent = <&pinctrl_ap>;
> > + interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
> > + interrupt-names = "irq";
> > + };
> > +};
> > +
> > +&i2c4 {
> > + status = "okay";
> > +};
> > diff --git a/arch/arm64/boot/dts/apple/t8112-j473.dts b/arch/arm64/boot/dts/apple/t8112-j473.dts
> > new file mode 100644
> > index 000000000000..55950d0a73c5
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/apple/t8112-j473.dts
> > @@ -0,0 +1,60 @@
> > +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> > +/*
> > + * Apple Mac mini (M2, 2023)
> > + *
> > + * target-type: J473
> > + *
> > + * Copyright The Asahi Linux Contributors
> > + */
> > +
> > +/dts-v1/;
>
> (....)
>
>
> > +
> > + ps_debug_switch: power-controller@b8 {
> > + compatible = "apple,t8112-pmgr-pwrstate", "apple,pmgr-pwrstate";
> > + reg = <0xb8 4>;
> > + #power-domain-cells = <0>;
> > + #reset-cells = <0>;
> > + label = "debug_switch";
> > + apple,always-on; /* Core AON device */
> > + };
> > +};
> > +
> > diff --git a/arch/arm64/boot/dts/apple/t8112.dtsi b/arch/arm64/boot/dts/apple/t8112.dtsi
> > new file mode 100644
> > index 000000000000..974443913f6a
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/apple/t8112.dtsi
> > @@ -0,0 +1,904 @@
> > +// SPDX-License-Identifier: GPL-2.0+ OR MIT
> > +/*
> > + * Apple T8112 "M2" SoC
> > + *
> > + * Other names: H14G
> > + *
> > + * Copyright The Asahi Linux Contributors
> > + */
>
>
> (...)
>
> > +
> > + aic: interrupt-controller@23b0c0000 {
> > + compatible = "apple,t8112-aic", "apple,aic2";
> > + #interrupt-cells = <3>;
> > + interrupt-controller;
> > + reg = <0x2 0x3b0c0000 0x0 0x8000>,
> > + <0x2 0x3b0c8000 0x0 0x4>;
> > + reg-names = "core", "event";
> > + power-domains = <&ps_aic>;
> > +
> > + affinities {
> > + e-core-pmu-affinity {
> > + apple,fiq-index = <AIC_CPU_PMU_E>;
> > + cpus = <&cpu_e0 &cpu_e1 &cpu_e2 &cpu_e3>;
> > + };
> > +
> > + p-core-pmu-affinity {
> > + apple,fiq-index = <AIC_CPU_PMU_P>;
> > + cpus = <&cpu_p0 &cpu_p1 &cpu_p2 &cpu_p3>;
> > + };
> > + };
> > + };
> > +
> > + pmgr: power-management@23b700000 {
> > + compatible = "apple,t8112-pmgr", "apple,pmgr", "syscon", "simple-mfd";
>
> Why this is simple-mfd?
I suppose because the syscon device is not limited to power domain
controls. The dt-bindings in arm/apple/apple,pmgr.yaml specify those
compatibles. See the original discussion in:
https://lore.kernel.org/linux-devicetree/57991dac-196e-a76d-831a-d4ac166bfe29@marcan.st/
>
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + reg = <0x2 0x3b700000 0 0x14000>;
> > + };
>
>
> > +
> > + pmgr_mini: power-management@23d280000 {
> > + compatible = "apple,t8112-pmgr", "apple,pmgr", "syscon", "simple-mfd";
>
> Why this is simple-mfd?
see above
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + reg = <0x2 0x3d280000 0 0x4000>;
> > + };
>
thanks
Janne
next prev parent reply other threads:[~2023-02-13 14:01 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-12 15:41 [PATCH 00/17] Device trees for Apple M2 (t8112) based devices Janne Grunau
2023-02-12 15:41 ` [PATCH 01/17] dt-bindings: power: apple,pmgr-pwrstate: Add t8112 compatible Janne Grunau
2023-02-13 11:09 ` Krzysztof Kozlowski
2023-02-14 2:24 ` Hector Martin
2023-02-14 7:50 ` Krzysztof Kozlowski
2023-02-14 8:43 ` Hector Martin
2023-02-14 9:39 ` Krzysztof Kozlowski
2023-02-14 10:13 ` Hector Martin
2023-02-14 8:46 ` Janne Grunau
2023-02-12 15:41 ` [PATCH 02/17] dt-bindings: arm: apple: apple,pmgr: Add t8112-pmgr compatible Janne Grunau
2023-02-13 11:10 ` Krzysztof Kozlowski
2023-02-13 11:57 ` Janne Grunau
2023-02-13 12:10 ` Krzysztof Kozlowski
2023-02-14 2:35 ` Hector Martin
2023-02-13 12:15 ` Krzysztof Kozlowski
2023-02-12 15:41 ` [PATCH 03/17] dt-bindings: watchdog: apple,wdt: Add t8112-wdt compatible Janne Grunau
2023-02-13 11:11 ` Krzysztof Kozlowski
2023-02-12 15:41 ` [PATCH 04/17] dt-bindings: arm: cpus: Add apple,avalanche & blizzard compatibles Janne Grunau
2023-02-13 11:11 ` Krzysztof Kozlowski
2023-02-12 15:41 ` [PATCH 05/17] dt-bindings: interrupt-controller: apple,aic2: Add apple,t8112-aic compatible Janne Grunau
2023-02-12 17:12 ` Marc Zyngier
2023-02-13 11:12 ` Krzysztof Kozlowski
2023-02-13 12:33 ` Janne Grunau
2023-02-12 15:41 ` [PATCH 06/17] dt-bindings: arm-pmu: Add PMU compatible strings for Apple M2 cores Janne Grunau
2023-02-13 11:13 ` Krzysztof Kozlowski
2023-02-12 15:41 ` [PATCH 07/17] dt-bindings: iommu: apple,sart: Add apple,t8112-sart compatible string Janne Grunau
2023-02-13 11:13 ` Krzysztof Kozlowski
2023-02-13 13:23 ` Janne Grunau
2023-02-12 15:41 ` [PATCH 08/17] dt-bindings: mailbox: apple,mailbox: Add t8112 compatibles Janne Grunau
2023-02-12 15:41 ` [PATCH 09/17] dt-bindings: nvme: apple: Add apple,t8112-nvme-ans2 compatible string Janne Grunau
2023-02-12 15:41 ` [PATCH 10/17] dt-bindings: pci: apple,pcie: Add t8112 support Janne Grunau
2023-02-12 15:41 ` [PATCH 11/17] dt-bindings: pinctrl: apple,pinctrl: Add apple,t8112-pinctrl compatible Janne Grunau
2023-02-13 10:14 ` Linus Walleij
2023-02-12 15:41 ` [PATCH 12/17] dt-bindings: i2c: apple,i2c: Add apple,t8112-i2c compatible Janne Grunau
2023-02-12 16:20 ` Wolfram Sang
2023-02-12 15:41 ` [PATCH 13/17] dt-bindings: clock: apple,nco: Add t8112-nco compatible Janne Grunau
2023-02-18 2:06 ` Stephen Boyd
2023-02-12 15:41 ` [PATCH 14/17] dt-bindings: sound: apple,mca: Add t8112-mca compatible Janne Grunau
2023-02-13 12:37 ` Mark Brown
2023-02-13 13:41 ` Krzysztof Kozlowski
2023-02-16 16:00 ` Mark Brown
2023-02-16 16:26 ` Janne Grunau
2023-02-12 15:41 ` [PATCH 15/17] dt-bindings: dma: apple,admac: Add t8112-admac compatible Janne Grunau
2023-02-13 5:25 ` Vinod Koul
2023-02-12 15:41 ` [PATCH 16/17] dt-bindings: arm: apple: Add t8112 j413/j473/j493 compatibles Janne Grunau
2023-02-13 11:15 ` Krzysztof Kozlowski
2023-02-13 13:42 ` Janne Grunau
2023-02-14 9:43 ` Krzysztof Kozlowski
2023-02-12 15:41 ` [PATCH 17/17] arm64: dts: apple: t8112: Initial t8112 (M2) device trees Janne Grunau
2023-02-13 11:22 ` Krzysztof Kozlowski
2023-02-13 14:01 ` Janne Grunau [this message]
2023-02-13 14:36 ` Krzysztof Kozlowski
2023-02-13 15:08 ` Janne Grunau
2023-02-13 15:43 ` Krzysztof Kozlowski
2023-02-12 16:46 ` [PATCH 00/17] Device trees for Apple M2 (t8112) based devices Martin Povišer
2023-02-21 13:47 ` (subset) " Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230213140113.GE17933@jannau.net \
--to=j@jannau.net \
--cc=alyssa@rosenzweig.io \
--cc=asahi@lists.linux.dev \
--cc=devicetree@vger.kernel.org \
--cc=kettenis@openbsd.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcan@marcan.st \
--cc=robh+dt@kernel.org \
--cc=sven@svenpeter.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).