Commit b2cf36e4 authored by Michal Wilczynski's avatar Michal Wilczynski Committed by Jassi Brar
Browse files

dt-bindings: mailbox: Add thead,th1520-mailbox bindings

Add bindings for the mailbox controller. This work is based on the vendor
kernel. [1]

Link: https://github.com/revyos/thead-kernel.git

 [1]

Signed-off-by: default avatarMichal Wilczynski <m.wilczynski@samsung.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarJassi Brar <jassisinghbrar@gmail.com>
parent 5d4d263e
Loading
Loading
Loading
Loading
+89 −0
Original line number Diff line number Diff line
# 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 <m.wilczynski@samsung.com>

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 <dt-bindings/clock/thead,th1520-clk-ap.h>
    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>;
      };
    };
+1 −0
Original line number Diff line number Diff line
@@ -19869,6 +19869,7 @@ L: linux-riscv@lists.infradead.org
S:	Maintained
T:	git https://github.com/pdp7/linux.git
F:	Documentation/devicetree/bindings/clock/thead,th1520-clk-ap.yaml
F:	Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml
F:	arch/riscv/boot/dts/thead/
F:	drivers/clk/thead/clk-th1520-ap.c
F:	drivers/mailbox/mailbox-th1520.c