]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
soc: apple: mailbox: Add Apple A11 and T2 mailbox support
authorNick Chan <towinchenmi@gmail.com>
Thu, 21 Aug 2025 15:56:39 +0000 (23:56 +0800)
committerSven Peter <sven@kernel.org>
Sat, 23 Aug 2025 07:25:15 +0000 (09:25 +0200)
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>
drivers/soc/apple/mailbox.c

index 49a0955e82d6cf5eef83e5f63ba8d31194c65324..8f29108dc69ac964236121d439e86c923a441265 100644 (file)
@@ -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 },
        {}
 };