mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-15 07:22:48 -05:00
soc: apple: mailbox: Add Apple A11 and T2 mailbox support
Add ASC mailbox support for Apple A11 and T2 SoCs, which is used for coprocessors in the system. Reviewed-by: Sven Peter <sven@kernel.org> Signed-off-by: Nick Chan <towinchenmi@gmail.com> Link: https://lore.kernel.org/r/20250821-t8015-nvme-v3-2-14a4178adf68@gmail.com Signed-off-by: Sven Peter <sven@kernel.org>
This commit is contained in:
@@ -47,6 +47,9 @@
|
||||
#define APPLE_ASC_MBOX_I2A_RECV0 0x830
|
||||
#define APPLE_ASC_MBOX_I2A_RECV1 0x838
|
||||
|
||||
#define APPLE_T8015_MBOX_A2I_CONTROL 0x108
|
||||
#define APPLE_T8015_MBOX_I2A_CONTROL 0x10c
|
||||
|
||||
#define APPLE_M3_MBOX_CONTROL_FULL BIT(16)
|
||||
#define APPLE_M3_MBOX_CONTROL_EMPTY BIT(17)
|
||||
|
||||
@@ -382,6 +385,21 @@ static int apple_mbox_probe(struct platform_device *pdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct apple_mbox_hw apple_mbox_t8015_hw = {
|
||||
.control_full = APPLE_ASC_MBOX_CONTROL_FULL,
|
||||
.control_empty = APPLE_ASC_MBOX_CONTROL_EMPTY,
|
||||
|
||||
.a2i_control = APPLE_T8015_MBOX_A2I_CONTROL,
|
||||
.a2i_send0 = APPLE_ASC_MBOX_A2I_SEND0,
|
||||
.a2i_send1 = APPLE_ASC_MBOX_A2I_SEND1,
|
||||
|
||||
.i2a_control = APPLE_T8015_MBOX_I2A_CONTROL,
|
||||
.i2a_recv0 = APPLE_ASC_MBOX_I2A_RECV0,
|
||||
.i2a_recv1 = APPLE_ASC_MBOX_I2A_RECV1,
|
||||
|
||||
.has_irq_controls = false,
|
||||
};
|
||||
|
||||
static const struct apple_mbox_hw apple_mbox_asc_hw = {
|
||||
.control_full = APPLE_ASC_MBOX_CONTROL_FULL,
|
||||
.control_empty = APPLE_ASC_MBOX_CONTROL_EMPTY,
|
||||
@@ -418,6 +436,7 @@ static const struct apple_mbox_hw apple_mbox_m3_hw = {
|
||||
|
||||
static const struct of_device_id apple_mbox_of_match[] = {
|
||||
{ .compatible = "apple,asc-mailbox-v4", .data = &apple_mbox_asc_hw },
|
||||
{ .compatible = "apple,t8015-asc-mailbox", .data = &apple_mbox_t8015_hw },
|
||||
{ .compatible = "apple,m3-mailbox-v2", .data = &apple_mbox_m3_hw },
|
||||
{}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user