1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/mailbox/st,stm32-ipcc.yaml# 5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: STMicroelectronics STM32 IPC controller 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotdescription: 10c66ec88fSEmmanuel Vadot The IPCC block provides a non blocking signaling mechanism to post and 11c66ec88fSEmmanuel Vadot retrieve messages in an atomic way between two processors. 12c66ec88fSEmmanuel Vadot It provides the signaling for N bidirectionnal channels. The number of 13c66ec88fSEmmanuel Vadot channels (N) can be read from a dedicated register. 14c66ec88fSEmmanuel Vadot 15c66ec88fSEmmanuel Vadotmaintainers: 168cc087a1SEmmanuel Vadot - Fabien Dessenne <fabien.dessenne@foss.st.com> 178cc087a1SEmmanuel Vadot - Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> 18c66ec88fSEmmanuel Vadot 19c66ec88fSEmmanuel Vadotproperties: 20c66ec88fSEmmanuel Vadot compatible: 21c66ec88fSEmmanuel Vadot const: st,stm32mp1-ipcc 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot reg: 24c66ec88fSEmmanuel Vadot maxItems: 1 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot clocks: 27c66ec88fSEmmanuel Vadot maxItems: 1 28c66ec88fSEmmanuel Vadot 29c66ec88fSEmmanuel Vadot interrupts: 30c66ec88fSEmmanuel Vadot items: 31c66ec88fSEmmanuel Vadot - description: rx channel occupied 32c66ec88fSEmmanuel Vadot - description: tx channel free 33c66ec88fSEmmanuel Vadot 34c66ec88fSEmmanuel Vadot interrupt-names: 35c66ec88fSEmmanuel Vadot items: 36c66ec88fSEmmanuel Vadot - const: rx 37c66ec88fSEmmanuel Vadot - const: tx 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot wakeup-source: true 40c66ec88fSEmmanuel Vadot 41c66ec88fSEmmanuel Vadot "#mbox-cells": 42c66ec88fSEmmanuel Vadot const: 1 43c66ec88fSEmmanuel Vadot 44c66ec88fSEmmanuel Vadot st,proc-id: 45c66ec88fSEmmanuel Vadot description: Processor id using the mailbox (0 or 1) 46c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 47c66ec88fSEmmanuel Vadot enum: [0, 1] 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadotrequired: 50c66ec88fSEmmanuel Vadot - compatible 51c66ec88fSEmmanuel Vadot - reg 52c66ec88fSEmmanuel Vadot - st,proc-id 53c66ec88fSEmmanuel Vadot - clocks 54c66ec88fSEmmanuel Vadot - interrupt-names 55c66ec88fSEmmanuel Vadot - "#mbox-cells" 56c66ec88fSEmmanuel Vadot - interrupts 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel VadotadditionalProperties: false 59c66ec88fSEmmanuel Vadot 60c66ec88fSEmmanuel Vadotexamples: 61c66ec88fSEmmanuel Vadot - | 62c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 63c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/stm32mp1-clks.h> 64c66ec88fSEmmanuel Vadot ipcc: mailbox@4c001000 { 65c66ec88fSEmmanuel Vadot compatible = "st,stm32mp1-ipcc"; 66c66ec88fSEmmanuel Vadot #mbox-cells = <1>; 67c66ec88fSEmmanuel Vadot reg = <0x4c001000 0x400>; 68c66ec88fSEmmanuel Vadot st,proc-id = <0>; 69d5b0e70fSEmmanuel Vadot interrupts-extended = <&exti 61 1>, 70d5b0e70fSEmmanuel Vadot <&intc GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 71d5b0e70fSEmmanuel Vadot interrupt-names = "rx", "tx"; 72c66ec88fSEmmanuel Vadot clocks = <&rcc_clk IPCC>; 73c66ec88fSEmmanuel Vadot wakeup-source; 74c66ec88fSEmmanuel Vadot }; 75c66ec88fSEmmanuel Vadot 76c66ec88fSEmmanuel Vadot... 77