1*5f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*5f62a964SEmmanuel Vadot%YAML 1.2 3*5f62a964SEmmanuel Vadot--- 4*5f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/mailbox/thead,th1520-mbox.yaml# 5*5f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*5f62a964SEmmanuel Vadot 7*5f62a964SEmmanuel Vadottitle: T-head TH1520 Mailbox Controller 8*5f62a964SEmmanuel Vadot 9*5f62a964SEmmanuel Vadotdescription: 10*5f62a964SEmmanuel Vadot The T-head mailbox controller enables communication and coordination between 11*5f62a964SEmmanuel Vadot cores within the SoC by passing messages (e.g., data, status, and control) 12*5f62a964SEmmanuel Vadot through mailbox channels. It also allows one core to signal another processor 13*5f62a964SEmmanuel Vadot using interrupts via the Interrupt Controller Unit (ICU). 14*5f62a964SEmmanuel Vadot 15*5f62a964SEmmanuel Vadotmaintainers: 16*5f62a964SEmmanuel Vadot - Michal Wilczynski <m.wilczynski@samsung.com> 17*5f62a964SEmmanuel Vadot 18*5f62a964SEmmanuel Vadotproperties: 19*5f62a964SEmmanuel Vadot compatible: 20*5f62a964SEmmanuel Vadot const: thead,th1520-mbox 21*5f62a964SEmmanuel Vadot 22*5f62a964SEmmanuel Vadot clocks: 23*5f62a964SEmmanuel Vadot items: 24*5f62a964SEmmanuel Vadot - description: Clock for the local mailbox 25*5f62a964SEmmanuel Vadot - description: Clock for remote ICU 0 26*5f62a964SEmmanuel Vadot - description: Clock for remote ICU 1 27*5f62a964SEmmanuel Vadot - description: Clock for remote ICU 2 28*5f62a964SEmmanuel Vadot 29*5f62a964SEmmanuel Vadot clock-names: 30*5f62a964SEmmanuel Vadot items: 31*5f62a964SEmmanuel Vadot - const: clk-local 32*5f62a964SEmmanuel Vadot - const: clk-remote-icu0 33*5f62a964SEmmanuel Vadot - const: clk-remote-icu1 34*5f62a964SEmmanuel Vadot - const: clk-remote-icu2 35*5f62a964SEmmanuel Vadot 36*5f62a964SEmmanuel Vadot reg: 37*5f62a964SEmmanuel Vadot items: 38*5f62a964SEmmanuel Vadot - description: Mailbox local base address 39*5f62a964SEmmanuel Vadot - description: Remote ICU 0 base address 40*5f62a964SEmmanuel Vadot - description: Remote ICU 1 base address 41*5f62a964SEmmanuel Vadot - description: Remote ICU 2 base address 42*5f62a964SEmmanuel Vadot 43*5f62a964SEmmanuel Vadot reg-names: 44*5f62a964SEmmanuel Vadot items: 45*5f62a964SEmmanuel Vadot - const: local 46*5f62a964SEmmanuel Vadot - const: remote-icu0 47*5f62a964SEmmanuel Vadot - const: remote-icu1 48*5f62a964SEmmanuel Vadot - const: remote-icu2 49*5f62a964SEmmanuel Vadot 50*5f62a964SEmmanuel Vadot interrupts: 51*5f62a964SEmmanuel Vadot maxItems: 1 52*5f62a964SEmmanuel Vadot 53*5f62a964SEmmanuel Vadot '#mbox-cells': 54*5f62a964SEmmanuel Vadot const: 1 55*5f62a964SEmmanuel Vadot description: 56*5f62a964SEmmanuel Vadot The one and only cell describes destination CPU ID. 57*5f62a964SEmmanuel Vadot 58*5f62a964SEmmanuel Vadotrequired: 59*5f62a964SEmmanuel Vadot - compatible 60*5f62a964SEmmanuel Vadot - clocks 61*5f62a964SEmmanuel Vadot - clock-names 62*5f62a964SEmmanuel Vadot - reg 63*5f62a964SEmmanuel Vadot - reg-names 64*5f62a964SEmmanuel Vadot - interrupts 65*5f62a964SEmmanuel Vadot - '#mbox-cells' 66*5f62a964SEmmanuel Vadot 67*5f62a964SEmmanuel VadotadditionalProperties: false 68*5f62a964SEmmanuel Vadot 69*5f62a964SEmmanuel Vadotexamples: 70*5f62a964SEmmanuel Vadot - | 71*5f62a964SEmmanuel Vadot #include <dt-bindings/clock/thead,th1520-clk-ap.h> 72*5f62a964SEmmanuel Vadot soc { 73*5f62a964SEmmanuel Vadot #address-cells = <2>; 74*5f62a964SEmmanuel Vadot #size-cells = <2>; 75*5f62a964SEmmanuel Vadot mailbox@ffffc38000 { 76*5f62a964SEmmanuel Vadot compatible = "thead,th1520-mbox"; 77*5f62a964SEmmanuel Vadot reg = <0xff 0xffc38000 0x0 0x4000>, 78*5f62a964SEmmanuel Vadot <0xff 0xffc44000 0x0 0x1000>, 79*5f62a964SEmmanuel Vadot <0xff 0xffc4c000 0x0 0x1000>, 80*5f62a964SEmmanuel Vadot <0xff 0xffc54000 0x0 0x1000>; 81*5f62a964SEmmanuel Vadot reg-names = "local", "remote-icu0", "remote-icu1", "remote-icu2"; 82*5f62a964SEmmanuel Vadot clocks = <&clk CLK_MBOX0>, <&clk CLK_MBOX1>, <&clk CLK_MBOX2>, 83*5f62a964SEmmanuel Vadot <&clk CLK_MBOX3>; 84*5f62a964SEmmanuel Vadot clock-names = "clk-local", "clk-remote-icu0", "clk-remote-icu1", 85*5f62a964SEmmanuel Vadot "clk-remote-icu2"; 86*5f62a964SEmmanuel Vadot interrupts = <28>; 87*5f62a964SEmmanuel Vadot #mbox-cells = <1>; 88*5f62a964SEmmanuel Vadot }; 89*5f62a964SEmmanuel Vadot }; 90