summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2026-05-12 12:11:17 -0600
committerTom Rini <[email protected]>2026-05-12 12:11:17 -0600
commitbdf4d12fc2722cb2cca8730fe39fc1bf619d5717 (patch)
tree6896205f390fbfaec55bb0b93f3f33cfd6ff6329 /doc
parent0f0ff73bac5dc43f8fe336f2828900035e260f1a (diff)
parent5aec4e746f9ef2421c2078ab93f4d3dbb81a519f (diff)
Merge patch series "Switch Apple silicon boards to upstream device trees"
Janne Grunau <[email protected]> says: The Linux device trees for Apple silicon devices cover now most of the hardware as u-boot's internal device trees for M1 devices. Linux has in addition device trees M2 and M1 and M2 Pro/Max/Ultra devices which were never added in u-boot. The most common use case for u-boot on Apple silicon devices does not use DTBs from u-boot but passes runtime modified device trees from an earlier boot loader (m1n1). This change regresses support for the SPI on M1 and M1 Pro/Max notebooks as SPI keyboard support is not in upstream Linux. This regression is in my opinion acceptable due to the limited use of u-boot's DTBs for these targets. Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'doc')
-rw-r--r--doc/board/apple/m1.rst15
-rw-r--r--doc/device-tree-bindings/pinctrl/apple,pinctrl.yaml106
2 files changed, 9 insertions, 112 deletions
diff --git a/doc/board/apple/m1.rst b/doc/board/apple/m1.rst
index 8fa7637629e..900c5e6d91e 100644
--- a/doc/board/apple/m1.rst
+++ b/doc/board/apple/m1.rst
@@ -8,21 +8,24 @@ developed by the Asahi Linux project. At this point the machines with
the following SoCs work:
- Apple M1 SoC (t8103)
+ - Apple M2 SoC (t8112)
- Apple M1 Pro SoC (t6000)
- Apple M1 Max SoC (t6001)
- Apple M1 Ultra SoC (t6002)
+ - Apple M2 Pro SoC (t6020)
+ - Apple M2 Max SoC (t6021)
+ - Apple M2 Ultra SoC (t6022)
On these SoCs the following hardware is supported:
- S5L serial port
- - SPI keyboard (on laptops)
+ - SPI keyboard (on M1 laptops)
- Framebuffer
- NVMe storage
- USB 3.1 Type-C ports
-Device trees are currently provided for the M1 Mac mini (2020, J274),
-M1 MacBook Pro 13" (2020, J293), M1 MacBook Air (2020, J313) and M1
-iMac (2021, J456/J457).
+Device trees are provided in dts/upstream/src/arm64/apple/ and available
+for all M1 and M2 (t8103, t8112, t600x and t602x) devices.
Building U-Boot
---------------
@@ -77,7 +80,7 @@ supported SoCs.
* - SoC
- Base Address
- * - M1 (t8103)
+ * - M1 (t8103) and M2 (t8112)
- 0x235200000
- * - M1 Pro/Max/Ultra (t6000/t6001/t6002)
+ * - M1 Pro/Max/Ultra (t6000/t6001/t6002) and M2 Pro/Max/Ultra (t6020/t6021/t6022)
- 0x39b200000
diff --git a/doc/device-tree-bindings/pinctrl/apple,pinctrl.yaml b/doc/device-tree-bindings/pinctrl/apple,pinctrl.yaml
deleted file mode 100644
index d50571affd1..00000000000
--- a/doc/device-tree-bindings/pinctrl/apple,pinctrl.yaml
+++ /dev/null
@@ -1,106 +0,0 @@
-# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
-%YAML 1.2
----
-$id: http://devicetree.org/schemas/pinctrl/apple,pinctrl.yaml#
-$schema: http://devicetree.org/meta-schemas/core.yaml#
-
-title: Apple GPIO controller
-
-maintainers:
- - Mark Kettenis <[email protected]>
-
-description: |
- The Apple GPIO controller is a simple combined pin and GPIO
- controller present on Apple ARM SoC platforms, including various
- iPhone and iPad devices and the "Apple Silicon" Macs.
-
-properties:
- compatible:
- items:
- - const: apple,t8103-pinctrl
- - const: apple,pinctrl
-
- reg:
- maxItems: 1
-
- clocks:
- maxItems: 1
-
- gpio-controller: true
-
- '#gpio-cells':
- const: 2
-
- gpio-ranges:
- maxItems: 1
-
- interrupts:
- description: One interrupt for each of the (up to 7) interrupt
- groups supported by the controller sorted by interrupt group
- number in ascending order.
- minItems: 1
- maxItems: 7
-
- interrupt-controller: true
-
-patternProperties:
- '-pins$':
- type: object
- $ref: pinmux-node.yaml#
-
- properties:
- pinmux:
- description:
- Values are constructed from pin number and alternate function
- configuration number using the APPLE_PINMUX() helper macro
- defined in include/dt-bindings/pinctrl/apple.h.
-
- required:
- - pinmux
-
- additionalProperties: false
-
-required:
- - compatible
- - reg
- - gpio-controller
- - '#gpio-cells'
- - gpio-ranges
-
-additionalProperties: false
-
-examples:
- - |
- #include <dt-bindings/interrupt-controller/apple-aic.h>
- #include <dt-bindings/pinctrl/apple.h>
-
- soc {
- #address-cells = <2>;
- #size-cells = <2>;
-
- pinctrl: pinctrl@23c100000 {
- compatible = "apple,t8103-pinctrl", "apple,pinctrl";
- reg = <0x2 0x3c100000 0x0 0x100000>;
- clocks = <&gpio_clk>;
-
- gpio-controller;
- #gpio-cells = <2>;
- gpio-ranges = <&pinctrl 0 0 212>;
-
- interrupt-controller;
- interrupt-parent = <&aic>;
- interrupts = <AIC_IRQ 16 IRQ_TYPE_LEVEL_HIGH>,
- <AIC_IRQ 17 IRQ_TYPE_LEVEL_HIGH>,
- <AIC_IRQ 18 IRQ_TYPE_LEVEL_HIGH>,
- <AIC_IRQ 19 IRQ_TYPE_LEVEL_HIGH>,
- <AIC_IRQ 20 IRQ_TYPE_LEVEL_HIGH>,
- <AIC_IRQ 21 IRQ_TYPE_LEVEL_HIGH>,
- <AIC_IRQ 22 IRQ_TYPE_LEVEL_HIGH>;
-
- pcie_pins: pcie-pins {
- pinmux = <APPLE_PINMUX(150, 1)>,
- <APPLE_PINMUX(151, 1)>,
- <APPLE_PINMUX(32, 1)>;
- };
- };
- };