devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 

  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).