# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/mailbox/thead,th1520-mbox.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: T-head TH1520 Mailbox Controller description: The T-head mailbox controller enables communication and coordination between cores within the SoC by passing messages (e.g., data, status, and control) through mailbox channels. It also allows one core to signal another processor using interrupts via the Interrupt Controller Unit (ICU). maintainers: - Michal Wilczynski properties: compatible: const: thead,th1520-mbox clocks: items: - description: Clock for the local mailbox - description: Clock for remote ICU 0 - description: Clock for remote ICU 1 - description: Clock for remote ICU 2 clock-names: items: - const: clk-local - const: clk-remote-icu0 - const: clk-remote-icu1 - const: clk-remote-icu2 reg: items: - description: Mailbox local base address - description: Remote ICU 0 base address - description: Remote ICU 1 base address - description: Remote ICU 2 base address reg-names: items: - const: local - const: remote-icu0 - const: remote-icu1 - const: remote-icu2 interrupts: maxItems: 1 '#mbox-cells': const: 1 description: The one and only cell describes destination CPU ID. required: - compatible - clocks - clock-names - reg - reg-names - interrupts - '#mbox-cells' additionalProperties: false examples: - | #include soc { #address-cells = <2>; #size-cells = <2>; mailbox@ffffc38000 { compatible = "thead,th1520-mbox"; reg = <0xff 0xffc38000 0x0 0x4000>, <0xff 0xffc44000 0x0 0x1000>, <0xff 0xffc4c000 0x0 0x1000>, <0xff 0xffc54000 0x0 0x1000>; reg-names = "local", "remote-icu0", "remote-icu1", "remote-icu2"; clocks = <&clk CLK_MBOX0>, <&clk CLK_MBOX1>, <&clk CLK_MBOX2>, <&clk CLK_MBOX3>; clock-names = "clk-local", "clk-remote-icu0", "clk-remote-icu1", "clk-remote-icu2"; interrupts = <28>; #mbox-cells = <1>; }; };