Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 23 additions & 6 deletions Documentation/devicetree/bindings/soc/apple/apple,t6041-aop.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
$id: http://devicetree.org/schemas/soc/apple/apple,t6041-aop.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple T604x Always-On Processor
title: Apple T604x and T8132 Always-On Processor

maintainers:
- Jonathan Goyvaerts <jonathan.goyvaerts@gmail.com>
Expand All @@ -16,9 +16,15 @@ description:
reaches its services through the RTKit endpoints. The firmware's external
code and log segments live in DRAM, and the bootloader reserves them.

On T8132 the bootloader also programs the AOP DART's address filter (DAPF)
and reserves its windows, which the firmware reaches through its DART at
their physical addresses.

properties:
compatible:
const: apple,t6041-aop
enum:
- apple,t6041-aop
- apple,t8132-aop

reg:
minItems: 2
Expand Down Expand Up @@ -47,11 +53,12 @@ properties:

memory-region:
minItems: 1
maxItems: 4
maxItems: 18
description:
The firmware segments in DRAM (its external code and its log), filled in
by the bootloader from the ADT. The iommu-addresses property of each
region gives the address the firmware uses for it.
The firmware segments in DRAM (its external code and its log) and, on
T8132, the DAPF windows, filled in by the bootloader from the ADT. The
iommu-addresses property of each region gives the address the firmware
uses for it.

audio:
type: object
Expand Down Expand Up @@ -105,6 +112,16 @@ required:
- mbox-names
- iommus

allOf:
- if:
properties:
compatible:
const: apple,t6041-aop
then:
properties:
memory-region:
maxItems: 4

additionalProperties: false

examples:
Expand Down
5 changes: 5 additions & 0 deletions drivers/soc/apple/aop.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2604,6 +2604,10 @@ const HW_CFG_T6040: AopHwConfig = AopHwConfig {
fw_regions: true,
halt_on_failed_start: true,
};
/// T8132 (J713): as T6040. The bootloader hands the AOP over the same way, with
/// the DART's DAPF programmed and its windows reserved alongside the firmware
/// segments.
const HW_CFG_T8132: AopHwConfig = HW_CFG_T6040;
/// T8140: the firmware is started with the boot arguments the bootloader
/// left, boots through the setup port and speaks EPIC version 4. Of the
/// advertised AFK endpoints, the application map is 0x20 misc, 0x21
Expand Down Expand Up @@ -2633,6 +2637,7 @@ kernel::of_device_table!(
(of::DeviceId::new(c_str!("apple,t6020-aop")), &HW_CFG_T6020),
(of::DeviceId::new(c_str!("apple,t8140-aop")), &HW_CFG_T8140),
(of::DeviceId::new(c_str!("apple,t6041-aop")), &HW_CFG_T6040),
(of::DeviceId::new(c_str!("apple,t8132-aop")), &HW_CFG_T8132),
]
);

Expand Down