1*2846c905SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*2846c905SEmmanuel Vadot# Copyright 2024 Linaro Ltd. 3*2846c905SEmmanuel Vadot%YAML 1.2 4*2846c905SEmmanuel Vadot--- 5*2846c905SEmmanuel Vadot$id: http://devicetree.org/schemas/mailbox/google,gs101-mbox.yaml# 6*2846c905SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 7*2846c905SEmmanuel Vadot 8*2846c905SEmmanuel Vadottitle: Samsung Exynos Mailbox Controller 9*2846c905SEmmanuel Vadot 10*2846c905SEmmanuel Vadotmaintainers: 11*2846c905SEmmanuel Vadot - Tudor Ambarus <tudor.ambarus@linaro.org> 12*2846c905SEmmanuel Vadot 13*2846c905SEmmanuel Vadotdescription: 14*2846c905SEmmanuel Vadot The Samsung Exynos mailbox controller, used on Google GS101 SoC, has 16 flag 15*2846c905SEmmanuel Vadot bits for hardware interrupt generation and a shared register for passing 16*2846c905SEmmanuel Vadot mailbox messages. When the controller is used by the ACPM interface 17*2846c905SEmmanuel Vadot the shared register is ignored and the mailbox controller acts as a doorbell. 18*2846c905SEmmanuel Vadot The controller just raises the interrupt to the firmware after the 19*2846c905SEmmanuel Vadot ACPM interface has written the message to SRAM. 20*2846c905SEmmanuel Vadot 21*2846c905SEmmanuel Vadotproperties: 22*2846c905SEmmanuel Vadot compatible: 23*2846c905SEmmanuel Vadot const: google,gs101-mbox 24*2846c905SEmmanuel Vadot 25*2846c905SEmmanuel Vadot reg: 26*2846c905SEmmanuel Vadot maxItems: 1 27*2846c905SEmmanuel Vadot 28*2846c905SEmmanuel Vadot clocks: 29*2846c905SEmmanuel Vadot maxItems: 1 30*2846c905SEmmanuel Vadot 31*2846c905SEmmanuel Vadot clock-names: 32*2846c905SEmmanuel Vadot items: 33*2846c905SEmmanuel Vadot - const: pclk 34*2846c905SEmmanuel Vadot 35*2846c905SEmmanuel Vadot interrupts: 36*2846c905SEmmanuel Vadot description: IRQ line for the RX mailbox. 37*2846c905SEmmanuel Vadot maxItems: 1 38*2846c905SEmmanuel Vadot 39*2846c905SEmmanuel Vadot '#mbox-cells': 40*2846c905SEmmanuel Vadot const: 0 41*2846c905SEmmanuel Vadot 42*2846c905SEmmanuel Vadotrequired: 43*2846c905SEmmanuel Vadot - compatible 44*2846c905SEmmanuel Vadot - reg 45*2846c905SEmmanuel Vadot - clocks 46*2846c905SEmmanuel Vadot - clock-names 47*2846c905SEmmanuel Vadot - interrupts 48*2846c905SEmmanuel Vadot - '#mbox-cells' 49*2846c905SEmmanuel Vadot 50*2846c905SEmmanuel VadotadditionalProperties: false 51*2846c905SEmmanuel Vadot 52*2846c905SEmmanuel Vadotexamples: 53*2846c905SEmmanuel Vadot - | 54*2846c905SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 55*2846c905SEmmanuel Vadot #include <dt-bindings/clock/google,gs101.h> 56*2846c905SEmmanuel Vadot 57*2846c905SEmmanuel Vadot soc { 58*2846c905SEmmanuel Vadot #address-cells = <1>; 59*2846c905SEmmanuel Vadot #size-cells = <1>; 60*2846c905SEmmanuel Vadot 61*2846c905SEmmanuel Vadot ap2apm_mailbox: mailbox@17610000 { 62*2846c905SEmmanuel Vadot compatible = "google,gs101-mbox"; 63*2846c905SEmmanuel Vadot reg = <0x17610000 0x1000>; 64*2846c905SEmmanuel Vadot clocks = <&cmu_apm CLK_GOUT_APM_MAILBOX_APM_AP_PCLK>; 65*2846c905SEmmanuel Vadot clock-names = "pclk"; 66*2846c905SEmmanuel Vadot interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH 0>; 67*2846c905SEmmanuel Vadot #mbox-cells = <0>; 68*2846c905SEmmanuel Vadot }; 69*2846c905SEmmanuel Vadot }; 70