18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/mailbox/st,stm32-ipcc.yaml#" 58c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#" 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: STMicroelectronics STM32 IPC controller bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cidescription: 108c2ecf20Sopenharmony_ci The IPCC block provides a non blocking signaling mechanism to post and 118c2ecf20Sopenharmony_ci retrieve messages in an atomic way between two processors. 128c2ecf20Sopenharmony_ci It provides the signaling for N bidirectionnal channels. The number of 138c2ecf20Sopenharmony_ci channels (N) can be read from a dedicated register. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_cimaintainers: 168c2ecf20Sopenharmony_ci - Fabien Dessenne <fabien.dessenne@st.com> 178c2ecf20Sopenharmony_ci - Arnaud Pouliquen <arnaud.pouliquen@st.com> 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciproperties: 208c2ecf20Sopenharmony_ci compatible: 218c2ecf20Sopenharmony_ci const: st,stm32mp1-ipcc 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci reg: 248c2ecf20Sopenharmony_ci maxItems: 1 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci clocks: 278c2ecf20Sopenharmony_ci maxItems: 1 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci interrupts: 308c2ecf20Sopenharmony_ci items: 318c2ecf20Sopenharmony_ci - description: rx channel occupied 328c2ecf20Sopenharmony_ci - description: tx channel free 338c2ecf20Sopenharmony_ci - description: wakeup source 348c2ecf20Sopenharmony_ci minItems: 2 358c2ecf20Sopenharmony_ci maxItems: 3 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci interrupt-names: 388c2ecf20Sopenharmony_ci items: 398c2ecf20Sopenharmony_ci - const: rx 408c2ecf20Sopenharmony_ci - const: tx 418c2ecf20Sopenharmony_ci - const: wakeup 428c2ecf20Sopenharmony_ci minItems: 2 438c2ecf20Sopenharmony_ci maxItems: 3 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci wakeup-source: true 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci "#mbox-cells": 488c2ecf20Sopenharmony_ci const: 1 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci st,proc-id: 518c2ecf20Sopenharmony_ci description: Processor id using the mailbox (0 or 1) 528c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 538c2ecf20Sopenharmony_ci enum: [0, 1] 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_cirequired: 568c2ecf20Sopenharmony_ci - compatible 578c2ecf20Sopenharmony_ci - reg 588c2ecf20Sopenharmony_ci - st,proc-id 598c2ecf20Sopenharmony_ci - clocks 608c2ecf20Sopenharmony_ci - interrupt-names 618c2ecf20Sopenharmony_ci - "#mbox-cells" 628c2ecf20Sopenharmony_ci - interrupts 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciadditionalProperties: false 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciexamples: 678c2ecf20Sopenharmony_ci - | 688c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 698c2ecf20Sopenharmony_ci #include <dt-bindings/clock/stm32mp1-clks.h> 708c2ecf20Sopenharmony_ci ipcc: mailbox@4c001000 { 718c2ecf20Sopenharmony_ci compatible = "st,stm32mp1-ipcc"; 728c2ecf20Sopenharmony_ci #mbox-cells = <1>; 738c2ecf20Sopenharmony_ci reg = <0x4c001000 0x400>; 748c2ecf20Sopenharmony_ci st,proc-id = <0>; 758c2ecf20Sopenharmony_ci interrupts-extended = <&intc GIC_SPI 100 IRQ_TYPE_NONE>, 768c2ecf20Sopenharmony_ci <&intc GIC_SPI 101 IRQ_TYPE_NONE>, 778c2ecf20Sopenharmony_ci <&aiec 62 1>; 788c2ecf20Sopenharmony_ci interrupt-names = "rx", "tx", "wakeup"; 798c2ecf20Sopenharmony_ci clocks = <&rcc_clk IPCC>; 808c2ecf20Sopenharmony_ci wakeup-source; 818c2ecf20Sopenharmony_ci }; 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ci... 84