mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 18:43:33 +02:00
Apple SoC device tree changes for v6.17
- Added the bindings and nodes for Apple SoC GPU. The driver itself isn't ready for upstreaming yet due to rust dependencies but we're confident that the bindings are stable at this point. - Added a missing node for the touchbar framebuffer to Apple T2 device trees, which is the BMC for some x86 Macs - Fixed a W=1 warning by adding bit offsets to NVMEM node names. This required a change to the generic NVMEM cell binding which will be part of 6.17 through the NVMEM tree. Signed-off-by: Sven Peter <sven@kernel.org> -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQS3vz815OHsEaWy0u9EEX0kKnUe6QUCaH+8XwAKCRBEEX0kKnUe 6ZgFAQCOqbUyJPz0oxSTrrHQRwumhx0P6CIhVBtSaOtDnHYBJwD8CpPxfXXqMvgm Wqr/bugw4pnR/LZRTScSoiqlwT3gZQs= =L1MH -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmh//I8ACgkQmmx57+YA GNmY9RAAmw4mkjv7ptPq1s323GHuqUFMDhmrScTeg5W3+rrlWSOYDkWYJFBcUdMa d+camZ2Ey4RHcRDqOmcQvx93lcUoyBzoa9EQ8xU8wm1G2p4myIF2eFBlR6LiggZN bV9naAl+4/7lRKzD35scGRlsvD2TRhYpff6ow1Kw8QfRk9N4P4j8TVHu+niE5088 lMtNTLnli7HUu2TbqgwZ8tG8CdJVJb3n5Xxi/V8gnG+tYnxQAEGBXkR3JznQZuSG 5PHZnyRhkk8/Qbcfb9W87OWIEhW53K2IVrqp2uStdv4AqvEyZYtMI4TOToZGi0t0 EpV2EZIEMq+fgu2DnihQ702JbjkxReqky+86mYkXWAfxJ+BW2mO4xqqZ+LQsjhbk /Vxfvaf5y1iUh/W+hETaAePOFvo00m+ur+Rh2FG8/TG7Avow01cbOTmj37Mt6L3l gT31yxv5Ys3YsClpQygvrnZPQj6Fxc3khbU8VRyL3GJJKQWs14+Bw3/q/zXnZdpq oTrkMwGd9EdW/6p/ReL8deL1Lfc4mWkf9BwpbGzFdvkKmuiv0+okRxwslBqvK3l2 Jx59AkkdyqBvsQ1a5F5/6tvPnyUynF7PAaAW6jnnK8FZfuDetnfxoNpMfoB2O4fS d1lScQGR9CPDiTiL94XN2DKAJQLNNeAtuzhaayUjHvAN+Mq+Acw= =um3t -----END PGP SIGNATURE----- Merge tag 'apple-soc-dt-6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux into soc/dt Apple SoC device tree changes for v6.17 - Added the bindings and nodes for Apple SoC GPU. The driver itself isn't ready for upstreaming yet due to rust dependencies but we're confident that the bindings are stable at this point. - Added a missing node for the touchbar framebuffer to Apple T2 device trees, which is the BMC for some x86 Macs - Fixed a W=1 warning by adding bit offsets to NVMEM node names. This required a change to the generic NVMEM cell binding which will be part of 6.17 through the NVMEM tree. Signed-off-by: Sven Peter <sven@kernel.org> * tag 'apple-soc-dt-6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux: arm64: dts: apple: Add Apple SoC GPU dt-bindings: gpu: Add Apple SoC GPU arm64: dts: apple: t8012-j132: Include touchbar framebuffer node arm64: dts: apple: Add bit offset to PMIC NVMEM node names Link: https://lore.kernel.org/r/20250722163258.62424-2-sven@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
cd7dace093
94
Documentation/devicetree/bindings/gpu/apple,agx.yaml
Normal file
94
Documentation/devicetree/bindings/gpu/apple,agx.yaml
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/gpu/apple,agx.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Apple SoC GPU
|
||||
|
||||
maintainers:
|
||||
- Sasha Finkelstein <fnkl.kernel@gmail.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- enum:
|
||||
- apple,agx-g13g
|
||||
- apple,agx-g13s
|
||||
- apple,agx-g14g
|
||||
- items:
|
||||
- enum:
|
||||
- apple,agx-g13c
|
||||
- apple,agx-g13d
|
||||
- const: apple,agx-g13s
|
||||
|
||||
reg:
|
||||
items:
|
||||
- description: GPU coprocessor control registers
|
||||
- description: GPU block MMIO registers
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: asc
|
||||
- const: sgx
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
mboxes:
|
||||
maxItems: 1
|
||||
|
||||
memory-region:
|
||||
items:
|
||||
- description: Region containing GPU MMU TTBs
|
||||
- description: Region containing GPU MMU page tables
|
||||
- description:
|
||||
Region containing a shared handoff structure for VM
|
||||
management coordination
|
||||
- description: Calibration blob. Mostly power-related configuration
|
||||
- description: Calibration blob. Mostly GPU-related configuration
|
||||
- description: Shared global variables with GPU firmware
|
||||
|
||||
memory-region-names:
|
||||
items:
|
||||
- const: ttbs
|
||||
- const: pagetables
|
||||
- const: handoff
|
||||
- const: hw-cal-a
|
||||
- const: hw-cal-b
|
||||
- const: globals
|
||||
|
||||
apple,firmware-abi:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 3
|
||||
description:
|
||||
macOS version the current firmware is paired with, used to pick
|
||||
the version of firmware ABI to be used.
|
||||
Bootloader will overwrite this
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- mboxes
|
||||
- memory-region
|
||||
- apple,firmware-abi
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
gpu@6400000 {
|
||||
compatible = "apple,agx-g13g";
|
||||
reg = <0x6400000 0x40000>,
|
||||
<0x4000000 0x1000000>;
|
||||
reg-names = "asc", "sgx";
|
||||
mboxes = <&agx_mbox>;
|
||||
power-domains = <&ps_gfx>;
|
||||
memory-region = <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>,
|
||||
<&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>;
|
||||
memory-region-names = "ttbs", "pagetables", "handoff",
|
||||
"hw-cal-a", "hw-cal-b", "globals";
|
||||
|
||||
apple,firmware-abi = <0 0 0>;
|
||||
};
|
||||
...
|
||||
|
|
@ -2330,6 +2330,7 @@ F: Documentation/devicetree/bindings/arm/apple/*
|
|||
F: Documentation/devicetree/bindings/clock/apple,nco.yaml
|
||||
F: Documentation/devicetree/bindings/cpufreq/apple,cluster-cpufreq.yaml
|
||||
F: Documentation/devicetree/bindings/dma/apple,admac.yaml
|
||||
F: Documentation/devicetree/bindings/gpu/apple,agx.yaml
|
||||
F: Documentation/devicetree/bindings/i2c/apple,i2c.yaml
|
||||
F: Documentation/devicetree/bindings/input/touchscreen/apple,z2-multitouch.yaml
|
||||
F: Documentation/devicetree/bindings/interrupt-controller/apple,*
|
||||
|
|
|
|||
|
|
@ -16,3 +16,7 @@ / {
|
|||
};
|
||||
|
||||
/delete-node/ &pmgr_south;
|
||||
|
||||
&gpu {
|
||||
compatible = "apple,agx-g13s";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -62,3 +62,7 @@ p-core-pmu-affinity {
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
&gpu {
|
||||
compatible = "apple,agx-g13c", "apple,agx-g13s";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -300,3 +300,7 @@ &ps_gfx {
|
|||
// On t6002, the die0 GPU power domain needs both AFR power domains
|
||||
power-domains = <&ps_afr>, <&ps_afr_die1>;
|
||||
};
|
||||
|
||||
&gpu {
|
||||
compatible = "apple,agx-g13d", "apple,agx-g13s";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -11,6 +11,10 @@ / {
|
|||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
aliases {
|
||||
gpu = &gpu;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
|
@ -378,4 +382,34 @@ nco_clkref: clock-ref-nco {
|
|||
#clock-cells = <0>;
|
||||
clock-output-names = "nco_ref";
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
gpu_globals: globals {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpu_hw_cal_a: hw-cal-a {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpu_hw_cal_b: hw-cal-b {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uat_handoff: uat-handoff {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uat_pagetables: uat-pagetables {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uat_ttbs: uat-ttbs {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -72,12 +72,12 @@ boot_stage: boot-stage@6001 {
|
|||
reg = <0x6001 0x1>;
|
||||
};
|
||||
|
||||
boot_error_count: boot-error-count@6002 {
|
||||
boot_error_count: boot-error-count@6002,0 {
|
||||
reg = <0x6002 0x1>;
|
||||
bits = <0 4>;
|
||||
};
|
||||
|
||||
panic_count: panic-count@6002 {
|
||||
panic_count: panic-count@6002,4 {
|
||||
reg = <0x6002 0x1>;
|
||||
bits = <4 4>;
|
||||
};
|
||||
|
|
@ -86,7 +86,7 @@ boot_error_stage: boot-error-stage@6003 {
|
|||
reg = <0x6003 0x1>;
|
||||
};
|
||||
|
||||
shutdown_flag: shutdown-flag@600f {
|
||||
shutdown_flag: shutdown-flag@600f,3 {
|
||||
reg = <0x600f 0x1>;
|
||||
bits = <3 1>;
|
||||
};
|
||||
|
|
@ -302,6 +302,34 @@ mca: mca@39b600000 {
|
|||
#sound-dai-cells = <1>;
|
||||
};
|
||||
|
||||
gpu: gpu@406400000 {
|
||||
compatible = "apple,agx-g13s";
|
||||
reg = <0x4 0x6400000 0 0x40000>,
|
||||
<0x4 0x4000000 0 0x1000000>;
|
||||
reg-names = "asc", "sgx";
|
||||
mboxes = <&agx_mbox>;
|
||||
power-domains = <&ps_gfx>;
|
||||
memory-region = <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>,
|
||||
<&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>;
|
||||
memory-region-names = "ttbs", "pagetables", "handoff",
|
||||
"hw-cal-a", "hw-cal-b", "globals";
|
||||
|
||||
apple,firmware-abi = <0 0 0>;
|
||||
};
|
||||
|
||||
agx_mbox: mbox@406408000 {
|
||||
compatible = "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4";
|
||||
reg = <0x4 0x6408000 0x0 0x4000>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 0 1059 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 0 1060 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 0 1061 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 0 1062 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "send-empty", "send-not-empty",
|
||||
"recv-empty", "recv-not-empty";
|
||||
#mbox-cells = <0>;
|
||||
};
|
||||
|
||||
pcie0_dart_0: iommu@581008000 {
|
||||
compatible = "apple,t6000-dart";
|
||||
reg = <0x5 0x81008000 0x0 0x4000>;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
/dts-v1/;
|
||||
|
||||
#include "t8012-jxxx.dtsi"
|
||||
#include "t8012-touchbar.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Apple T2 MacBookPro15,2 (j132)";
|
||||
|
|
|
|||
|
|
@ -19,6 +19,10 @@ / {
|
|||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
aliases {
|
||||
gpu = &gpu;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
|
@ -351,6 +355,36 @@ nco_clkref: clock-ref-nco {
|
|||
clock-output-names = "nco_ref";
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
gpu_globals: globals {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpu_hw_cal_a: hw-cal-a {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpu_hw_cal_b: hw-cal-b {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uat_handoff: uat-handoff {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uat_pagetables: uat-pagetables {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uat_ttbs: uat-ttbs {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <2>;
|
||||
|
|
@ -359,6 +393,34 @@ soc {
|
|||
ranges;
|
||||
nonposted-mmio;
|
||||
|
||||
gpu: gpu@206400000 {
|
||||
compatible = "apple,agx-g13g";
|
||||
reg = <0x2 0x6400000 0 0x40000>,
|
||||
<0x2 0x4000000 0 0x1000000>;
|
||||
reg-names = "asc", "sgx";
|
||||
mboxes = <&agx_mbox>;
|
||||
power-domains = <&ps_gfx>;
|
||||
memory-region = <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>,
|
||||
<&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>;
|
||||
memory-region-names = "ttbs", "pagetables", "handoff",
|
||||
"hw-cal-a", "hw-cal-b", "globals";
|
||||
|
||||
apple,firmware-abi = <0 0 0>;
|
||||
};
|
||||
|
||||
agx_mbox: mbox@206408000 {
|
||||
compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
|
||||
reg = <0x2 0x6408000 0x0 0x4000>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 575 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 576 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 577 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 578 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "send-empty", "send-not-empty",
|
||||
"recv-empty", "recv-not-empty";
|
||||
#mbox-cells = <0>;
|
||||
};
|
||||
|
||||
cpufreq_e: performance-controller@210e20000 {
|
||||
compatible = "apple,t8103-cluster-cpufreq", "apple,cluster-cpufreq";
|
||||
reg = <0x2 0x10e20000 0 0x1000>;
|
||||
|
|
@ -761,12 +823,12 @@ boot_stage: boot-stage@9f01 {
|
|||
reg = <0x9f01 0x1>;
|
||||
};
|
||||
|
||||
boot_error_count: boot-error-count@9f02 {
|
||||
boot_error_count: boot-error-count@9f02,0 {
|
||||
reg = <0x9f02 0x1>;
|
||||
bits = <0 4>;
|
||||
};
|
||||
|
||||
panic_count: panic-count@9f02 {
|
||||
panic_count: panic-count@9f02,4 {
|
||||
reg = <0x9f02 0x1>;
|
||||
bits = <4 4>;
|
||||
};
|
||||
|
|
@ -775,7 +837,7 @@ boot_error_stage: boot-error-stage@9f03 {
|
|||
reg = <0x9f03 0x1>;
|
||||
};
|
||||
|
||||
shutdown_flag: shutdown-flag@9f0f {
|
||||
shutdown_flag: shutdown-flag@9f0f,3 {
|
||||
reg = <0x9f0f 0x1>;
|
||||
bits = <3 1>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -19,6 +19,10 @@ / {
|
|||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
aliases {
|
||||
gpu = &gpu;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
|
@ -366,6 +370,36 @@ nco_clkref: clock-ref-nco {
|
|||
clock-output-names = "nco_ref";
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
gpu_globals: globals {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpu_hw_cal_a: hw-cal-a {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpu_hw_cal_b: hw-cal-b {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uat_handoff: uat-handoff {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uat_pagetables: uat-pagetables {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uat_ttbs: uat-ttbs {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <2>;
|
||||
|
|
@ -374,6 +408,34 @@ soc {
|
|||
ranges;
|
||||
nonposted-mmio;
|
||||
|
||||
gpu: gpu@206400000 {
|
||||
compatible = "apple,agx-g14g";
|
||||
reg = <0x2 0x6400000 0 0x40000>,
|
||||
<0x2 0x4000000 0 0x1000000>;
|
||||
reg-names = "asc", "sgx";
|
||||
mboxes = <&agx_mbox>;
|
||||
power-domains = <&ps_gfx>;
|
||||
memory-region = <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>,
|
||||
<&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>;
|
||||
memory-region-names = "ttbs", "pagetables", "handoff",
|
||||
"hw-cal-a", "hw-cal-b", "globals";
|
||||
|
||||
apple,firmware-abi = <0 0 0>;
|
||||
};
|
||||
|
||||
agx_mbox: mbox@206408000 {
|
||||
compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
|
||||
reg = <0x2 0x6408000 0x0 0x4000>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 709 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 710 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 711 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 712 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "send-empty", "send-not-empty",
|
||||
"recv-empty", "recv-not-empty";
|
||||
#mbox-cells = <0>;
|
||||
};
|
||||
|
||||
cpufreq_e: cpufreq@210e20000 {
|
||||
compatible = "apple,t8112-cluster-cpufreq", "apple,cluster-cpufreq";
|
||||
reg = <0x2 0x10e20000 0 0x1000>;
|
||||
|
|
@ -809,12 +871,12 @@ boot_stage: boot-stage@f701 {
|
|||
reg = <0xf701 0x1>;
|
||||
};
|
||||
|
||||
boot_error_count: boot-error-count@f702 {
|
||||
boot_error_count: boot-error-count@f702,0 {
|
||||
reg = <0xf702 0x1>;
|
||||
bits = <0 4>;
|
||||
};
|
||||
|
||||
panic_count: panic-count@f702 {
|
||||
panic_count: panic-count@f702,4 {
|
||||
reg = <0xf702 0x1>;
|
||||
bits = <4 4>;
|
||||
};
|
||||
|
|
@ -823,7 +885,7 @@ boot_error_stage: boot-error-stage@f703 {
|
|||
reg = <0xf703 0x1>;
|
||||
};
|
||||
|
||||
shutdown_flag: shutdown-flag@f70f {
|
||||
shutdown_flag: shutdown-flag@f70f,3 {
|
||||
reg = <0xf70f 0x1>;
|
||||
bits = <3 1>;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user