mirror of
https://github.com/torvalds/linux.git
synced 2026-09-24 06:24:02 +02:00
Apple SoCs have PMGR blocks that control a bunch of power-related features. Besides the existing device power state controls (which are very uniform and handled by apple-pmgr-pwrstate), we also need to manage more random registers such as SoC-wide fabric and memory controller power states, which have a different interface. Add a driver for these kitchen sink controls. Right now it implements fabric and memory controller power state switching on system standby/s2idle, which saves about 1W of power or so on t60xx platforms. Signed-off-by: Hector Martin <marcan@marcan.st> Reviewed-by: Sven Peter <sven@kernel.org> Co-developed-by: Sasha Finkelstein <k@chaosmail.tech> Signed-off-by: Sasha Finkelstein <k@chaosmail.tech> Reviewed-by: Joshua Peisach <jpeisach@ubuntu.com> Link: https://patch.msgid.link/20260705-pmgr-misc-v3-2-51b75fed6f73@chaosmail.tech Signed-off-by: Sven Peter <sven@kernel.org>
58 lines
1.6 KiB
Plaintext
58 lines
1.6 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
if ARCH_APPLE || COMPILE_TEST
|
|
|
|
menu "Apple SoC drivers"
|
|
|
|
config APPLE_MAILBOX
|
|
tristate "Apple SoC mailboxes"
|
|
depends on PM
|
|
depends on ARCH_APPLE || (64BIT && COMPILE_TEST)
|
|
help
|
|
Apple SoCs have various co-processors required for certain
|
|
peripherals to work (NVMe, display controller, etc.). This
|
|
driver adds support for the mailbox controller used to
|
|
communicate with those.
|
|
|
|
Say Y here if you have an Apple SoC.
|
|
|
|
config APPLE_PMGR_MISC
|
|
tristate "Apple SoC PMGR miscellaneous support"
|
|
depends on PM
|
|
help
|
|
The PMGR block in Apple SoCs provides high-level power state
|
|
controls for SoC devices. This driver manages miscellaneous
|
|
power controls.
|
|
|
|
Say 'y' here if you have a Pro/Max/Ultra Apple SoC.
|
|
|
|
config APPLE_RTKIT
|
|
tristate "Apple RTKit co-processor IPC protocol"
|
|
depends on APPLE_MAILBOX
|
|
depends on ARCH_APPLE || COMPILE_TEST
|
|
help
|
|
Apple SoCs such as the M1 come with various co-processors running
|
|
their proprietary RTKit operating system. This option enables support
|
|
for the protocol library used to communicate with those. It is used
|
|
by various client drivers.
|
|
|
|
Say 'y' here if you have an Apple SoC.
|
|
|
|
config APPLE_SART
|
|
tristate "Apple SART DMA address filter"
|
|
depends on ARCH_APPLE || COMPILE_TEST
|
|
help
|
|
Apple SART is a simple DMA address filter used on Apple SoCs such
|
|
as the M1. It is usually required for the NVMe coprocessor which does
|
|
not use a proper IOMMU.
|
|
|
|
Say 'y' here if you have an Apple SoC.
|
|
|
|
config APPLE_TUNABLE
|
|
tristate
|
|
depends on ARCH_APPLE || COMPILE_TEST
|
|
|
|
endmenu
|
|
|
|
endif
|