156cf1209STudor Ambarus# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 256cf1209STudor Ambarus# Copyright 2024 Linaro Ltd. 356cf1209STudor Ambarus%YAML 1.2 456cf1209STudor Ambarus--- 556cf1209STudor Ambarus$id: http://devicetree.org/schemas/mailbox/google,gs101-mbox.yaml# 656cf1209STudor Ambarus$schema: http://devicetree.org/meta-schemas/core.yaml# 756cf1209STudor Ambarus 856cf1209STudor Ambarustitle: Samsung Exynos Mailbox Controller 956cf1209STudor Ambarus 1056cf1209STudor Ambarusmaintainers: 1156cf1209STudor Ambarus - Tudor Ambarus <tudor.ambarus@linaro.org> 1256cf1209STudor Ambarus 1356cf1209STudor Ambarusdescription: 1456cf1209STudor Ambarus The Samsung Exynos mailbox controller, used on Google GS101 SoC, has 16 flag 1556cf1209STudor Ambarus bits for hardware interrupt generation and a shared register for passing 1656cf1209STudor Ambarus mailbox messages. When the controller is used by the ACPM interface 1756cf1209STudor Ambarus the shared register is ignored and the mailbox controller acts as a doorbell. 1856cf1209STudor Ambarus The controller just raises the interrupt to the firmware after the 1956cf1209STudor Ambarus ACPM interface has written the message to SRAM. 2056cf1209STudor Ambarus 2156cf1209STudor Ambarusproperties: 2256cf1209STudor Ambarus compatible: 23*fd8dc36aSAlexey Klimov enum: 24*fd8dc36aSAlexey Klimov - google,gs101-mbox 25*fd8dc36aSAlexey Klimov - samsung,exynos850-mbox 2656cf1209STudor Ambarus 2756cf1209STudor Ambarus reg: 2856cf1209STudor Ambarus maxItems: 1 2956cf1209STudor Ambarus 3056cf1209STudor Ambarus clocks: 3156cf1209STudor Ambarus maxItems: 1 3256cf1209STudor Ambarus 3356cf1209STudor Ambarus clock-names: 3456cf1209STudor Ambarus items: 3556cf1209STudor Ambarus - const: pclk 3656cf1209STudor Ambarus 3756cf1209STudor Ambarus interrupts: 3856cf1209STudor Ambarus description: IRQ line for the RX mailbox. 3956cf1209STudor Ambarus maxItems: 1 4056cf1209STudor Ambarus 4156cf1209STudor Ambarus '#mbox-cells': 4256cf1209STudor Ambarus const: 0 4356cf1209STudor Ambarus 4456cf1209STudor Ambarusrequired: 4556cf1209STudor Ambarus - compatible 4656cf1209STudor Ambarus - reg 4756cf1209STudor Ambarus - clocks 4856cf1209STudor Ambarus - clock-names 4956cf1209STudor Ambarus - interrupts 5056cf1209STudor Ambarus - '#mbox-cells' 5156cf1209STudor Ambarus 5256cf1209STudor AmbarusadditionalProperties: false 5356cf1209STudor Ambarus 5456cf1209STudor Ambarusexamples: 5556cf1209STudor Ambarus - | 5656cf1209STudor Ambarus #include <dt-bindings/interrupt-controller/arm-gic.h> 5756cf1209STudor Ambarus #include <dt-bindings/clock/google,gs101.h> 5856cf1209STudor Ambarus 5956cf1209STudor Ambarus soc { 6056cf1209STudor Ambarus #address-cells = <1>; 6156cf1209STudor Ambarus #size-cells = <1>; 6256cf1209STudor Ambarus 6356cf1209STudor Ambarus ap2apm_mailbox: mailbox@17610000 { 6456cf1209STudor Ambarus compatible = "google,gs101-mbox"; 6556cf1209STudor Ambarus reg = <0x17610000 0x1000>; 6656cf1209STudor Ambarus clocks = <&cmu_apm CLK_GOUT_APM_MAILBOX_APM_AP_PCLK>; 6756cf1209STudor Ambarus clock-names = "pclk"; 6856cf1209STudor Ambarus interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH 0>; 6956cf1209STudor Ambarus #mbox-cells = <0>; 7056cf1209STudor Ambarus }; 7156cf1209STudor Ambarus }; 72