1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mailbox/cix,sky1-mbox.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Cixtech mailbox controller 8 9maintainers: 10 - Guomin Chen <Guomin.Chen@cixtech.com> 11 12description: 13 The Cixtech mailbox controller, used in the Cixtech Sky1 SoC, 14 is used for message transmission between multiple processors 15 within the SoC, such as the AP, PM, audio DSP, SensorHub MCU, 16 and others 17 18 Each Cixtech mailbox controller is unidirectional, so they are 19 typically used in pairs-one for receiving and one for transmitting. 20 21 Each Cixtech mailbox supports 11 channels with different transmission modes 22 channel 0-7 - Fast channel with 32bit transmit register and IRQ support 23 channel 8 - Doorbell mode,using the mailbox as an interrupt-generating 24 mechanism. 25 channel 9 - Fifo based channel with 32*32bit depth fifo and IRQ support 26 channel 10 - Reg based channel with 32*32bit transmit register and 27 Doorbell+transmit acknowledgment IRQ support 28 29 In the CIX Sky1 SoC use case, there are 4 pairs of mailbox controllers 30 AP <--> PM - using Doorbell transfer mode 31 AP <--> SE - using REG transfer mode 32 AP <--> DSP - using FIFO transfer mode 33 AP <--> SensorHub - using FIFO transfer mode 34 35properties: 36 compatible: 37 const: cix,sky1-mbox 38 39 reg: 40 maxItems: 1 41 42 interrupts: 43 maxItems: 1 44 45 "#mbox-cells": 46 const: 1 47 48 cix,mbox-dir: 49 $ref: /schemas/types.yaml#/definitions/string 50 description: Direction of the mailbox relative to the AP 51 enum: [tx, rx] 52 53required: 54 - compatible 55 - reg 56 - interrupts 57 - "#mbox-cells" 58 - cix,mbox-dir 59 60additionalProperties: false 61 62examples: 63 - | 64 #include <dt-bindings/interrupt-controller/arm-gic.h> 65 66 soc { 67 #address-cells = <2>; 68 #size-cells = <2>; 69 70 mbox_ap2pm: mailbox@30000000 { 71 compatible = "cix,sky1-mbox"; 72 reg = <0 0x30000000 0 0x10000>; 73 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH 0>; 74 #mbox-cells = <1>; 75 cix,mbox-dir = "tx"; 76 }; 77 }; 78