1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*833e5d42SEmmanuel Vadot%YAML 1.2 3*833e5d42SEmmanuel Vadot--- 4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/mailbox/aspeed,ast2700-mailbox.yaml# 5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*833e5d42SEmmanuel Vadot 7*833e5d42SEmmanuel Vadottitle: ASPEED AST2700 mailbox controller 8*833e5d42SEmmanuel Vadot 9*833e5d42SEmmanuel Vadotmaintainers: 10*833e5d42SEmmanuel Vadot - Jammy Huang <jammy_huang@aspeedtech.com> 11*833e5d42SEmmanuel Vadot 12*833e5d42SEmmanuel Vadotdescription: > 13*833e5d42SEmmanuel Vadot ASPEED AST2700 has multiple processors that need to communicate with each 14*833e5d42SEmmanuel Vadot other. The mailbox controller provides a way for these processors to send 15*833e5d42SEmmanuel Vadot messages to each other. It is a hardware-based inter-processor communication 16*833e5d42SEmmanuel Vadot mechanism that allows processors to send and receive messages through 17*833e5d42SEmmanuel Vadot dedicated channels. 18*833e5d42SEmmanuel Vadot 19*833e5d42SEmmanuel Vadot The mailbox's tx/rx are independent, meaning that one processor can send a 20*833e5d42SEmmanuel Vadot message while another processor is receiving a message simultaneously. 21*833e5d42SEmmanuel Vadot There are 4 channels available for both tx and rx operations. Each channel 22*833e5d42SEmmanuel Vadot has a FIFO buffer that can hold messages of a fixed size (32 bytes in this 23*833e5d42SEmmanuel Vadot case). 24*833e5d42SEmmanuel Vadot 25*833e5d42SEmmanuel Vadot The mailbox controller also supports interrupt generation, allowing 26*833e5d42SEmmanuel Vadot processors to notify each other when a message is available or when an event 27*833e5d42SEmmanuel Vadot occurs. 28*833e5d42SEmmanuel Vadot 29*833e5d42SEmmanuel Vadotproperties: 30*833e5d42SEmmanuel Vadot compatible: 31*833e5d42SEmmanuel Vadot const: aspeed,ast2700-mailbox 32*833e5d42SEmmanuel Vadot 33*833e5d42SEmmanuel Vadot reg: 34*833e5d42SEmmanuel Vadot items: 35*833e5d42SEmmanuel Vadot - description: TX control register 36*833e5d42SEmmanuel Vadot - description: RX control register 37*833e5d42SEmmanuel Vadot 38*833e5d42SEmmanuel Vadot reg-names: 39*833e5d42SEmmanuel Vadot items: 40*833e5d42SEmmanuel Vadot - const: tx 41*833e5d42SEmmanuel Vadot - const: rx 42*833e5d42SEmmanuel Vadot 43*833e5d42SEmmanuel Vadot interrupts: 44*833e5d42SEmmanuel Vadot maxItems: 1 45*833e5d42SEmmanuel Vadot 46*833e5d42SEmmanuel Vadot "#mbox-cells": 47*833e5d42SEmmanuel Vadot const: 1 48*833e5d42SEmmanuel Vadot 49*833e5d42SEmmanuel Vadotrequired: 50*833e5d42SEmmanuel Vadot - compatible 51*833e5d42SEmmanuel Vadot - reg 52*833e5d42SEmmanuel Vadot - reg-names 53*833e5d42SEmmanuel Vadot - interrupts 54*833e5d42SEmmanuel Vadot - "#mbox-cells" 55*833e5d42SEmmanuel Vadot 56*833e5d42SEmmanuel VadotadditionalProperties: false 57*833e5d42SEmmanuel Vadot 58*833e5d42SEmmanuel Vadotexamples: 59*833e5d42SEmmanuel Vadot - | 60*833e5d42SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 61*833e5d42SEmmanuel Vadot 62*833e5d42SEmmanuel Vadot mailbox@12c1c200 { 63*833e5d42SEmmanuel Vadot compatible = "aspeed,ast2700-mailbox"; 64*833e5d42SEmmanuel Vadot reg = <0x12c1c200 0x100>, <0x12c1c300 0x100>; 65*833e5d42SEmmanuel Vadot reg-names = "tx", "rx"; 66*833e5d42SEmmanuel Vadot interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 67*833e5d42SEmmanuel Vadot #mbox-cells = <1>; 68*833e5d42SEmmanuel Vadot }; 69