1*b543df9fSSamuel Holland# SPDX-License-Identifier: GPL-2.0 2*b543df9fSSamuel Holland%YAML 1.2 3*b543df9fSSamuel Holland--- 4*b543df9fSSamuel Holland$id: http://devicetree.org/schemas/mailbox/allwinner,sun6i-a31-msgbox.yaml# 5*b543df9fSSamuel Holland$schema: http://devicetree.org/meta-schemas/core.yaml# 6*b543df9fSSamuel Holland 7*b543df9fSSamuel Hollandtitle: Allwinner sunxi Message Box 8*b543df9fSSamuel Holland 9*b543df9fSSamuel Hollandmaintainers: 10*b543df9fSSamuel Holland - Samuel Holland <samuel@sholland.org> 11*b543df9fSSamuel Holland 12*b543df9fSSamuel Hollanddescription: | 13*b543df9fSSamuel Holland The hardware message box on sun6i, sun8i, sun9i, and sun50i SoCs is a 14*b543df9fSSamuel Holland two-user mailbox controller containing 8 unidirectional FIFOs. An interrupt 15*b543df9fSSamuel Holland is raised for received messages, but software must poll to know when a 16*b543df9fSSamuel Holland transmitted message has been acknowledged by the remote user. Each FIFO can 17*b543df9fSSamuel Holland hold four 32-bit messages; when a FIFO is full, clients must wait before 18*b543df9fSSamuel Holland attempting more transmissions. 19*b543df9fSSamuel Holland 20*b543df9fSSamuel Holland Refer to ./mailbox.txt for generic information about mailbox device-tree 21*b543df9fSSamuel Holland bindings. 22*b543df9fSSamuel Holland 23*b543df9fSSamuel Hollandproperties: 24*b543df9fSSamuel Holland compatible: 25*b543df9fSSamuel Holland oneOf: 26*b543df9fSSamuel Holland - items: 27*b543df9fSSamuel Holland - enum: 28*b543df9fSSamuel Holland - allwinner,sun8i-a83t-msgbox 29*b543df9fSSamuel Holland - allwinner,sun8i-h3-msgbox 30*b543df9fSSamuel Holland - allwinner,sun9i-a80-msgbox 31*b543df9fSSamuel Holland - allwinner,sun50i-a64-msgbox 32*b543df9fSSamuel Holland - allwinner,sun50i-h6-msgbox 33*b543df9fSSamuel Holland - const: allwinner,sun6i-a31-msgbox 34*b543df9fSSamuel Holland - const: allwinner,sun6i-a31-msgbox 35*b543df9fSSamuel Holland 36*b543df9fSSamuel Holland reg: 37*b543df9fSSamuel Holland maxItems: 1 38*b543df9fSSamuel Holland 39*b543df9fSSamuel Holland clocks: 40*b543df9fSSamuel Holland maxItems: 1 41*b543df9fSSamuel Holland description: bus clock 42*b543df9fSSamuel Holland 43*b543df9fSSamuel Holland resets: 44*b543df9fSSamuel Holland maxItems: 1 45*b543df9fSSamuel Holland description: bus reset 46*b543df9fSSamuel Holland 47*b543df9fSSamuel Holland interrupts: 48*b543df9fSSamuel Holland maxItems: 1 49*b543df9fSSamuel Holland 50*b543df9fSSamuel Holland '#mbox-cells': 51*b543df9fSSamuel Holland const: 1 52*b543df9fSSamuel Holland description: first cell is the channel number (0-7) 53*b543df9fSSamuel Holland 54*b543df9fSSamuel Hollandrequired: 55*b543df9fSSamuel Holland - compatible 56*b543df9fSSamuel Holland - reg 57*b543df9fSSamuel Holland - clocks 58*b543df9fSSamuel Holland - resets 59*b543df9fSSamuel Holland - interrupts 60*b543df9fSSamuel Holland - '#mbox-cells' 61*b543df9fSSamuel Holland 62*b543df9fSSamuel HollandadditionalProperties: false 63*b543df9fSSamuel Holland 64*b543df9fSSamuel Hollandexamples: 65*b543df9fSSamuel Holland - | 66*b543df9fSSamuel Holland #include <dt-bindings/clock/sun8i-h3-ccu.h> 67*b543df9fSSamuel Holland #include <dt-bindings/interrupt-controller/arm-gic.h> 68*b543df9fSSamuel Holland #include <dt-bindings/reset/sun8i-h3-ccu.h> 69*b543df9fSSamuel Holland 70*b543df9fSSamuel Holland msgbox: mailbox@1c17000 { 71*b543df9fSSamuel Holland compatible = "allwinner,sun8i-h3-msgbox", 72*b543df9fSSamuel Holland "allwinner,sun6i-a31-msgbox"; 73*b543df9fSSamuel Holland reg = <0x01c17000 0x1000>; 74*b543df9fSSamuel Holland clocks = <&ccu CLK_BUS_MSGBOX>; 75*b543df9fSSamuel Holland resets = <&ccu RST_BUS_MSGBOX>; 76*b543df9fSSamuel Holland interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 77*b543df9fSSamuel Holland #mbox-cells = <1>; 78*b543df9fSSamuel Holland }; 79*b543df9fSSamuel Holland 80*b543df9fSSamuel Holland... 81