Skip to content

t8122/t603[0124] PMP support - #525

Open
yuyuyureka wants to merge 40 commits into
AsahiLinux:asahi-wipfrom
yuyuyureka:m3-pmp
Open

t8122/t603[0124] PMP support#525
yuyuyureka wants to merge 40 commits into
AsahiLinux:asahi-wipfrom
yuyuyureka:m3-pmp

Conversation

@yuyuyureka

@yuyuyureka yuyuyureka commented Jun 28, 2026

Copy link
Copy Markdown

Only T6034 is tested.

Comment thread arch/arm64/boot/dts/apple/t6030.dtsi Outdated
Comment thread arch/arm64/boot/dts/apple/t6032.dtsi Outdated
jannau and others added 9 commits August 11, 2026 15:19
Certain Broadcom bluetooth chips (bcm4377/bcm4378/bcm438) need ACL
streams carrying audio to be set as "high priority" using a vendor
specific command to prevent 10-ish second-long dropouts whenever
something does a device scan. This patch sends the command when the
socket priority is set to TC_PRIO_INTERACTIVE, as BlueZ does for audio.

Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
The current approach of silently disabling all rust drivers if the
toolchain is missing results in users that try to compile their own
kernels getting a "successful" build and then being confused about where
did their drivers go. In comparison, missing openssl results in a build
failure, not a disappearance of everything that depends on it.

This also means that allyesconfig will depend on rust, but since the
rust experiment concluded with "rust is here to stay", i believe that
allyesconfig should be building rust drivers too.

Signed-off-by: Sasha Finkelstein <k@chaosmail.tech>
Apple M3 Pro and Max devices are using 'gp00' keys for GPIO in addition
to 'gP00' keys. Add a second compatible to handle this keys with an
additional macsmc-gpio instance.

Signed-off-by: Janne Grunau <j@jannau.net>
Add support for SMC GPIO keys with a lower letter 'p' via the
"apple,smc-low-gpio" compatible. This adds support for a second
macsmc-gpio controller using 'gp00' keys.
These keys are used on Apple M3 Pro and Max MacBooks in the controller
for keyboard and trackpad and for the built-in DisplayPort to HDMI
converter.

Signed-off-by: Janne Grunau <j@jannau.net>
Apple M3 Pro and Max devices are using 'gp00' keys for GPIO in addition
to 'gP00' keys. These keys are handled by an additional macsmc-gpio
instance using the "apple,smc-low-gpio" compatible.

Signed-off-by: Janne Grunau <j@jannau.net>
chadmed and others added 12 commits August 16, 2026 14:35
Apple Silicon devices use shared GPIO lines for speaker codec reset.
We have been abusing the regulator API for this downstream.

Select HAVE_SHARED_GPIOS for ARCH_APPLE so that we can use the new
shared GPIO proxy infrastructure for the speaker codec reset lines
going forward.

Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
On Apple Silicon machines integrating TAS2764, the SDZ pin of all
codecs is connected to a shared GPIO line. The kernel's shared
GPIO infrastructure relies on the first change of the GPIO state
being marked as its "default" state, and allows any consumer of the
shared line to assert that state without consensus from other
consumers.

If the pin is initialised high, the shared GPIO core does not
allow the line to be asserted without consensus. This breaks
resuming from suspend on Apple Silicon machines; the driver attempts
to restore the codec's register state and fails because other
codecs are still holding the line low.

Initialise the SDZ GPIO as "low" so that the first state change
asserts it high, allowing any codec to pull the line up when
it needs to.

Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
On Apple Silicon machines integrating TAS2770, the SDZ pin of all
codecs is connected to a shared GPIO line. The kernel's shared
GPIO infrastructure relies on the first change of the GPIO state
being marked as its "default" state, and allows any consumer of the
shared line to assert that state without consensus from other
consumers.

If the pin is initialised high, the shared GPIO core does not
allow the line to be asserted without consensus. This breaks
resuming from suspend on Apple Silicon machines; the driver attempts
to restore the codec's register state and fails because other
codecs are still holding the line low.

Initialise the SDZ GPIO as "low" so that the first state change
asserts it high, allowing any codec to pull the line up when
it needs to.

Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
arm64: dts: apple: j413,j415,j493: Drop SDZ dummy regulator

Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
This reverts commit adb70d3.

Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
t6031/t6034 continue using the same offsets as t602x

Signed-off-by: Yureka Lilian <yureka@cyberchaos.dev>
Signed-off-by: Yureka <yuka@yuka.dev>
Signed-off-by: Yureka <yuka@yuka.dev>
Tested on t6034

Signed-off-by: Yureka <yuka@yuka.dev>
@yuyuyureka

Copy link
Copy Markdown
Author

Rebased

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants