18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/mailbox/allwinner,sun6i-a31-msgbox.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Allwinner sunxi Message Box 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Samuel Holland <samuel@sholland.org> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cidescription: | 138c2ecf20Sopenharmony_ci The hardware message box on sun6i, sun8i, sun9i, and sun50i SoCs is a 148c2ecf20Sopenharmony_ci two-user mailbox controller containing 8 unidirectional FIFOs. An interrupt 158c2ecf20Sopenharmony_ci is raised for received messages, but software must poll to know when a 168c2ecf20Sopenharmony_ci transmitted message has been acknowledged by the remote user. Each FIFO can 178c2ecf20Sopenharmony_ci hold four 32-bit messages; when a FIFO is full, clients must wait before 188c2ecf20Sopenharmony_ci attempting more transmissions. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci Refer to ./mailbox.txt for generic information about mailbox device-tree 218c2ecf20Sopenharmony_ci bindings. 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciproperties: 248c2ecf20Sopenharmony_ci compatible: 258c2ecf20Sopenharmony_ci oneOf: 268c2ecf20Sopenharmony_ci - items: 278c2ecf20Sopenharmony_ci - enum: 288c2ecf20Sopenharmony_ci - allwinner,sun8i-a83t-msgbox 298c2ecf20Sopenharmony_ci - allwinner,sun8i-h3-msgbox 308c2ecf20Sopenharmony_ci - allwinner,sun9i-a80-msgbox 318c2ecf20Sopenharmony_ci - allwinner,sun50i-a64-msgbox 328c2ecf20Sopenharmony_ci - allwinner,sun50i-h6-msgbox 338c2ecf20Sopenharmony_ci - const: allwinner,sun6i-a31-msgbox 348c2ecf20Sopenharmony_ci - const: allwinner,sun6i-a31-msgbox 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci reg: 378c2ecf20Sopenharmony_ci maxItems: 1 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci clocks: 408c2ecf20Sopenharmony_ci maxItems: 1 418c2ecf20Sopenharmony_ci description: bus clock 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci resets: 448c2ecf20Sopenharmony_ci maxItems: 1 458c2ecf20Sopenharmony_ci description: bus reset 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci interrupts: 488c2ecf20Sopenharmony_ci maxItems: 1 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci '#mbox-cells': 518c2ecf20Sopenharmony_ci const: 1 528c2ecf20Sopenharmony_ci description: first cell is the channel number (0-7) 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_cirequired: 558c2ecf20Sopenharmony_ci - compatible 568c2ecf20Sopenharmony_ci - reg 578c2ecf20Sopenharmony_ci - clocks 588c2ecf20Sopenharmony_ci - resets 598c2ecf20Sopenharmony_ci - interrupts 608c2ecf20Sopenharmony_ci - '#mbox-cells' 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ciadditionalProperties: false 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciexamples: 658c2ecf20Sopenharmony_ci - | 668c2ecf20Sopenharmony_ci #include <dt-bindings/clock/sun8i-h3-ccu.h> 678c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 688c2ecf20Sopenharmony_ci #include <dt-bindings/reset/sun8i-h3-ccu.h> 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci msgbox: mailbox@1c17000 { 718c2ecf20Sopenharmony_ci compatible = "allwinner,sun8i-h3-msgbox", 728c2ecf20Sopenharmony_ci "allwinner,sun6i-a31-msgbox"; 738c2ecf20Sopenharmony_ci reg = <0x01c17000 0x1000>; 748c2ecf20Sopenharmony_ci clocks = <&ccu CLK_BUS_MSGBOX>; 758c2ecf20Sopenharmony_ci resets = <&ccu RST_BUS_MSGBOX>; 768c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 778c2ecf20Sopenharmony_ci #mbox-cells = <1>; 788c2ecf20Sopenharmony_ci }; 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci... 81