Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
99ec97e
arm64: dts: apple: t604x-j614-j616: scale the 720p camera preset
jgoyvaerts Nov 4, 2026
e955145
rust: bindgen: make sched_statistics opaque
DjDeveloperr Nov 5, 2026
22344bc
dt-bindings: power: apple,pmc: Add display pipe interface enables
erikwb Nov 5, 2026
c1db3bc
pmdomain: apple: pmc: provide display pipe interface enables as power…
erikwb Nov 5, 2026
1d95503
arm64: dts: apple: t8132: Add the external display PMC interface enables
erikwb Nov 5, 2026
d59201f
drm/apple: m4: offer the external sink's DSC timings
erikwb Nov 5, 2026
437d89d
drm/apple: m4: give the J713 external DCPs their realtime bandwidth m…
erikwb Nov 5, 2026
0a64760
dt-bindings: display: apple,dcp: note the T8132 dcpext bandwidth slot
erikwb Nov 5, 2026
6baecd2
arm64: dts: apple: t8132-j713: give the external DCPs their bandwidth…
erikwb Nov 5, 2026
17de1e5
drm/apple: m4: keep two external swaps in flight
erikwb Nov 5, 2026
39391bb
thunderbolt: let a lone host DP tunnel run at HBR3, two share HBR2
erikwb Nov 5, 2026
d279799
thunderbolt: re-link the host DP tunnel left alone at HBR3
erikwb Nov 5, 2026
8d88d95
drm/asahi: g17: walk only uncovered ranges when validating a submission
AxxzyWasTaken Oct 30, 2026
e9fa432
nvmem: apple-spmi: populate the RTC child of a Chapel PMIC
AxxzyWasTaken Nov 4, 2026
8fdc7d1
dt-bindings: nvmem: apple,spmi-nvmem: Add the Chapel PMIC
AxxzyWasTaken Nov 5, 2026
d2236d9
arm64: dts: apple: t6041: The main PMIC is a Chapel at 0xb
AxxzyWasTaken Nov 5, 2026
f0dccd8
arm64: dts: apple: t6041-j616c: Enable the cache on 24 planes
AxxzyWasTaken Nov 5, 2026
6602a37
dt-bindings: iommu: apple,dart: Add the address filter registers
erikwb Oct 28, 2026
d069e02
dt-bindings: media: Add the Apple T8132 ISP
erikwb Oct 28, 2026
47d8f59
arm64: dts: apple: t8132: Add the ISP power states
erikwb Oct 28, 2026
41dc284
arm64: dts: apple: t8132: Add the ISP and its DARTs
erikwb Oct 28, 2026
7e4f610
media: apple: isp: Program the DART address filter
erikwb Oct 28, 2026
6d95eef
media: apple: isp: Let resident firmware start at the first stream
erikwb Oct 28, 2026
df3431c
media: apple: isp: Add T8132 support
erikwb Oct 28, 2026
8295d7f
arm64: dts: apple: t8132-j713: Enable the camera
erikwb Oct 28, 2026
1ffdbc0
media: apple: isp: Optionally restore the firmware data before each s…
erikwb Oct 30, 2026
b156325
media: apple: isp: Power restartable firmware down completely
erikwb Oct 30, 2026
140a821
media: apple: isp: Power the T8132 ISP down between streams
erikwb Oct 30, 2026
f97eb9f
Merge integration/aurora into fix/rust-sched-bindings
DjDeveloperr Nov 6, 2026
0943983
Merge pull request #992 from aurora-silicon/fix/rust-sched-bindings
DjDeveloperr Nov 6, 2026
ad98e00
accel/ane: report the boot-time module pin at info level
RyanTheTide Nov 6, 2026
f1de4c0
thunderbolt: apple: report a PCIe-C tunnel without preinit at info level
RyanTheTide Nov 6, 2026
32fc073
Merge pull request #1005 from jgoyvaerts/j616-camera-720p
RyanTheTide Nov 6, 2026
72ab902
Merge pull request #994 from AxxzyWasTaken/j616c-dt-deltas
RyanTheTide Nov 6, 2026
2d43403
Merge pull request #930 from AxxzyWasTaken/j616c-chapel-rtc
RyanTheTide Nov 6, 2026
6727e0d
Merge pull request #658 from AxxzyWasTaken/j616c/g17-validation-cache
RyanTheTide Nov 6, 2026
d31a4d5
Merge pull request #1006 from erikwb/j713/pmc-dispext
RyanTheTide Nov 6, 2026
3ec887c
Merge pull request #1007 from erikwb/j713/extdisp-120
RyanTheTide Nov 6, 2026
3b5b3a3
Merge pull request #1008 from erikwb/j713/tb-hbr3
RyanTheTide Nov 6, 2026
a620f41
Merge pull request #531 from erikwb/j713/camera
RyanTheTide Nov 6, 2026
c6cc36e
Merge pull request #1015 from aurora-silicon/blog/clean-boot-20261106
RyanTheTide Nov 6, 2026
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
5 changes: 4 additions & 1 deletion Documentation/devicetree/bindings/display/apple,dcp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,10 @@ properties:
- description: Index into the provider's reg property.
- description: Index in the firmware display register table.
- description: Byte offset of the scratch register within the resource.
description: PMGR bandwidth scratch resource, display index and offset.
description: |
PMGR bandwidth scratch resource, display index and offset. On the T8132
external DCPs it is the pipe's 8-byte realtime bandwidth request slot,
which lies inside the display register window the index names (disp-4).

apple,bw-doorbell:
$ref: /schemas/types.yaml#/definitions/phandle-array
Expand Down
33 changes: 32 additions & 1 deletion Documentation/devicetree/bindings/iommu/apple,dart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,18 @@ properties:
error-mask policy rather than changing it for these streams.

reg:
maxItems: 1
minItems: 1
items:
- description: DART registers
- description:
Address filter (DAPF) registers, which restrict the physical
addresses the DART lets its masters reach

reg-names:
minItems: 1
items:
- const: dart
- const: dapf

interrupts:
maxItems: 1
Expand Down Expand Up @@ -157,6 +168,17 @@ required:
- '#iommu-cells'
- interrupts

allOf:
- if:
properties:
reg:
minItems: 2
required:
- reg
then:
required:
- reg-names

additionalProperties: false

examples:
Expand Down Expand Up @@ -189,3 +211,12 @@ examples:
master2 {
iommus = <&dart2a 0>, <&dart2b 1>;
};

- |+
dart3: iommu@8e8c0000 {
compatible = "apple,t8132-dart", "apple,t8110-dart";
reg = <0x8e8c0000 0xc000>, <0x8e8d0000 0x4000>;
reg-names = "dart", "dapf";
interrupts = <1 387 4>;
#iommu-cells = <1>;
};
201 changes: 201 additions & 0 deletions Documentation/devicetree/bindings/media/apple,t8132-isp.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/apple,t8132-isp.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple T8132 Image Signal Processor

maintainers:
- Erik Bourget <erik@ebourget.net>

description:
The T8132 ISP controls the attached camera sensor and processes its frames
through firmware the bootloader loads. The firmware segments are described
as reserved memory mapped at the addresses the firmware runs them at. The
host exchanges commands and image buffers through three DART instances; the
first one also has the address filter registers.

select:
properties:
compatible:
contains:
const: apple,t8132-isp
required:
- compatible

properties:
compatible:
items:
- const: apple,t8132-isp
- const: apple,isp

reg:
items:
- description: Coprocessor registers up to its control block
- description: Mailbox interrupt registers
- description: Firmware handshake registers
- description: Mailbox doorbell registers

reg-names:
items:
- const: coproc
- const: mbox
- const: gpio
- const: mbox2

interrupts:
maxItems: 1

iommus:
items:
- description: First ISP DART stream; this DART has the address filter bank
- description: Second ISP DART stream
- description: Third ISP DART stream

power-domains:
items:
- description: ISP system domain
- description: ISP CPU domain
- description: ISP CPU core 0 domain
- description: ISP CPU core 1 domain
- description: ISP FE domain
- description: ISP DPRX domain
- description: ISP secure domain
- description: ISP STS0 domain
- description: ISP STS1 domain
- description: ISP Pearl domain
- description: ISP BE domain
- description: ISP CLR domain
- description: ISP CVD domain
- description: ISP CVM domain
- description: First camera sensor domain
- description: Second camera sensor domain

memory-region:
items:
- description: Firmware text loaded by the bootloader
- description: Firmware data loaded by the bootloader
- description: Firmware main memory window; host allocations follow it

memory-region-names:
items:
- const: text
- const: data
- const: heap

apple,dart-vm-size:
$ref: /schemas/types.yaml#/definitions/uint64
description:
Size in bytes of the host allocation aperture used by the ISP driver.

apple,platform-id:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Platform identifier passed in the firmware boot descriptor.

apple,cam-connections-scheme:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Camera connection layout of the board passed in the firmware boot
descriptor.

apple,temporal-filter:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Firmware temporal-filter strength selected for the attached sensor.

sensor-presets:
type: object
description:
Sensor firmware presets and the host output geometry associated with them.
patternProperties:
"^preset[0-9]+$":
type: object
properties:
apple,config-index:
$ref: /schemas/types.yaml#/definitions/uint32
description: Sensor configuration index understood by the firmware
apple,input-size:
$ref: /schemas/types.yaml#/definitions/uint32-array
items:
- description: Input width in pixels
- description: Input height in pixels
description: Sensor input dimensions
apple,output-size:
$ref: /schemas/types.yaml#/definitions/uint32-array
items:
- description: Output width in pixels
- description: Output height in pixels
description: Delivered frame dimensions
apple,crop:
$ref: /schemas/types.yaml#/definitions/uint32-array
items:
- description: Horizontal crop origin in pixels
- description: Vertical crop origin in pixels
- description: Crop width in pixels
- description: Crop height in pixels
description: Cropped sensor rectangle
required:
- apple,config-index
- apple,input-size
- apple,output-size
- apple,crop
additionalProperties: false
additionalProperties: false

required:
- compatible
- reg
- reg-names
- interrupts
- iommus
- power-domains
- memory-region
- memory-region-names
- apple,dart-vm-size
- apple,platform-id
- sensor-presets

additionalProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/apple-aic.h>
#include <dt-bindings/interrupt-controller/irq.h>

soc {
#address-cells = <2>;
#size-cells = <2>;

isp@48c000000 {
compatible = "apple,t8132-isp", "apple,isp";
reg = <0x4 0x8c000000 0x0 0x1604000>,
<0x4 0x8e924000 0x0 0x40>,
<0x4 0x8e9241d0 0x0 0x20>,
<0x4 0x8e924464 0x0 0x10>;
reg-names = "coproc", "mbox", "gpio", "mbox2";
interrupt-parent = <&aic>;
interrupts = <AIC_IRQ 369 IRQ_TYPE_LEVEL_HIGH>;
iommus = <&isp_dart0 0>, <&isp_dart1 0>, <&isp_dart2 0>;
power-domains = <&ps_isp_sys>, <&ps_isp_cpu>,
<&ps_isp_cpu_core0>, <&ps_isp_cpu_core1>,
<&ps_isp_fe>, <&ps_isp_dprx>, <&ps_isp_secure>,
<&ps_isp_sts0>, <&ps_isp_sts1>, <&ps_isp_pearl>,
<&ps_isp_be>, <&ps_isp_clr>, <&ps_isp_cvd>,
<&ps_isp_cvm>, <&ps_ispsens0>, <&ps_ispsens1>;
memory-region = <&isp_fw_text>, <&isp_fw_data>, <&isp_heap>;
memory-region-names = "text", "data", "heap";
apple,dart-vm-size = /bits/ 64 <0xdec00000>;
apple,platform-id = <0x17>;

sensor-presets {
preset0 {
apple,config-index = <5>;
apple,input-size = <1920 2160>;
apple,output-size = <1920 1080>;
apple,crop = <0 0 1920 1080>;
};
};
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ properties:
- enum:
- apple,abbey-pmic
- apple,baku-pmic
- apple,chapel-pmic
- apple,maverick-pmic
- apple,sera-pmic
- apple,stowe-pmic
Expand Down
78 changes: 76 additions & 2 deletions Documentation/devicetree/bindings/power/apple,pmc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,10 @@ properties:
description: |
The perf-state floor words of the voter agents ("voters"), and the
per-agent words holding the floor the PMC honours for each agent with
the per-rail interface enable words ("rails"). Optionally, the cluster
enable control word followed by its status word ("clusters").
the per-rail interface enable words ("rails"); on T8132 the rails
block also holds the bandwidth request and boost interface enable
words. Optionally, the cluster enable control word followed by its
status word ("clusters").

reg-names:
description: |
Expand Down Expand Up @@ -178,6 +180,43 @@ patternProperties:
- '#power-domain-cells'
- apple,cluster-bit

'^interface-[a-z0-9-]+$':
type: object
description: |
A display pipe's interface enables, provided as a power domain. The
bandwidth request (BWR) and boost interfaces each have an enable word
with one bit per agent, and the PMC ignores the pipe's bandwidth and
boost votes while its bits are clear. Both bits are set after the
parent domain powers on, and cleared before it powers off.
additionalProperties: false

properties:
label:
description: Name of the power domain.

'#power-domain-cells':
const: 0

power-domains:
maxItems: 1
description: Domain that must be powered while the enables are set.

apple,bwr-bit:
$ref: /schemas/types.yaml#/definitions/uint32
maximum: 31
description: Bit of the pipe in the BWR interface enable word.

apple,boost-bit:
$ref: /schemas/types.yaml#/definitions/uint32
maximum: 31
description: Bit of the pipe in the boost interface enable word.

required:
- '#power-domain-cells'
- power-domains
- apple,bwr-bit
- apple,boost-bit

'^performance-controller@[0-9a-f]+$':
type: object
description: The host performance controller's voter agent.
Expand Down Expand Up @@ -207,6 +246,17 @@ required:
- reg
- reg-names

allOf:
- if:
properties:
compatible:
not:
contains:
const: apple,t8132-pmc
then:
patternProperties:
'^interface-[a-z0-9-]+$': false

additionalProperties: false

examples:
Expand Down Expand Up @@ -245,3 +295,27 @@ examples:
};
};
};

- |
soc {
#address-cells = <2>;
#size-cells = <2>;

power-management@382800000 {
compatible = "apple,t8132-pmc";
reg = <0x3 0x82800000 0x0 0x10000>,
<0x3 0x828aa000 0x0 0x3000>;
reg-names = "voters", "rails";
#address-cells = <1>;
#size-cells = <0>;
apple,static-voters = <3>;

interface-dispext0 {
label = "dispext0-interface";
#power-domain-cells = <0>;
power-domains = <&ps_dispext0_sys>;
apple,bwr-bit = <3>;
apple,boost-bit = <1>;
};
};
};
7 changes: 7 additions & 0 deletions Documentation/rust/bindgen-layout-checks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ pointer as the current mm and Asahi's RSS charge faulted in
counter layout; the pointer supplied to them was wrong. Enabling SCHEDSTATS
only masks the generator defect and is not a requirement of the driver.

``rust/bindgen_parameters`` declares ``sched_statistics`` opaque. bindgen takes
an opaque type's size and alignment from Clang's layout, so stock bindgen also
emits ``#[repr(align(64))]`` for it and ``task_struct`` agrees with C. Rust code
does not access its fields. Other aligned empty records still need the
corrected generator below, and the layout assertions still check every
emitted type.

Known generator limitations
---------------------------

Expand Down
1 change: 1 addition & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2097,6 +2097,7 @@ F: Documentation/devicetree/bindings/iio/imu/apple,aop-motion.yaml
F: Documentation/devicetree/bindings/iio/light/apple,t8140-aop-als.yaml
F: Documentation/devicetree/bindings/input/apple,dockchannel-hid.yaml
F: Documentation/devicetree/bindings/mailbox/apple,ascwrap-v6.yaml
F: Documentation/devicetree/bindings/media/apple,t8132-isp.yaml
F: Documentation/devicetree/bindings/media/apple,t8140-isp.yaml
F: Documentation/devicetree/bindings/mux/apple,display-crossbar.yaml
F: Documentation/devicetree/bindings/reserved-memory/apple,asc-mem.yaml
Expand Down
Loading