Message ID | 20241008174852.222374-3-m.wilczynski@samsung.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Introduce support for T-head TH1520 Mailbox | expand |
On Tue, Oct 08, 2024 at 07:48:51PM +0200, Michal Wilczynski wrote: > diff --git a/Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml b/Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml > new file mode 100644 > index 000000000000..32c265f39c29 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml > @@ -0,0 +1,81 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > + If there is going to be new bersion, drop blank line. > +%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 > + > + 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: 2 > + description: | > + Specifies the number of cells needed to encode the mailbox specifier. > + The mailbox specifier consists of two cells: > + - Destination CPU ID. > + - Type, which can be one of the following: > + - 0: > + - TX & RX channels share the same channel. > + - Equipped with 7 info registers to facilitate data sharing. > + - Supports IRQ for signaling. > + - 1: > + - TX & RX operate as doorbell channels. > + - Does not have dedicated info registers. > + - Lacks ACK support. > + > +additionalProperties: false If there is going to be new bersion, this goes after required:, just like in example schema and all other bindings. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml b/Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml new file mode 100644 index 000000000000..32c265f39c29 --- /dev/null +++ b/Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml @@ -0,0 +1,81 @@ +# 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 + + 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: 2 + description: | + Specifies the number of cells needed to encode the mailbox specifier. + The mailbox specifier consists of two cells: + - Destination CPU ID. + - Type, which can be one of the following: + - 0: + - TX & RX channels share the same channel. + - Equipped with 7 info registers to facilitate data sharing. + - Supports IRQ for signaling. + - 1: + - TX & RX operate as doorbell channels. + - Does not have dedicated info registers. + - Lacks ACK support. + +additionalProperties: false + +required: + - compatible + - reg + - reg-names + - interrupts + - '#mbox-cells' + +examples: + - | + + 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"; + interrupts = <28>; + #mbox-cells = <2>; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index df4d7be6cf35..a6028f850a25 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -19943,6 +19943,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
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: Michal Wilczynski <m.wilczynski@samsung.com> --- .../bindings/mailbox/thead,th1520-mbox.yaml | 81 +++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 82 insertions(+) create mode 100644 Documentation/devicetree/bindings/mailbox/thead,th1520-mbox.yaml