Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: "http://devicetree.org/schemas/arm/stm32/st,mlahb.yaml#"
0005 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0006 
0007 title: STMicroelectronics STM32 ML-AHB interconnect bindings
0008 
0009 maintainers:
0010   - Fabien Dessenne <fabien.dessenne@foss.st.com>
0011   - Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
0012 
0013 description: |
0014   These bindings describe the STM32 SoCs ML-AHB interconnect bus which connects
0015   a Cortex-M subsystem with dedicated memories. The MCU SRAM and RETRAM memory
0016   parts can be accessed through different addresses (see "RAM aliases" in [1])
0017   using different buses (see [2]): balancing the Cortex-M firmware accesses
0018   among those ports allows to tune the system performance.
0019   [1]: https://www.st.com/resource/en/reference_manual/dm00327659.pdf
0020   [2]: https://wiki.st.com/stm32mpu/wiki/STM32MP15_RAM_mapping
0021 
0022 allOf:
0023   - $ref: /schemas/simple-bus.yaml#
0024 
0025 properties:
0026   compatible:
0027     contains:
0028       enum:
0029         - st,mlahb
0030 
0031   dma-ranges:
0032     description: |
0033       Describe memory addresses translation between the local CPU and the
0034       remote Cortex-M processor. Each memory region, is declared with
0035       3 parameters:
0036       - param 1: device base address (Cortex-M processor address)
0037       - param 2: physical base address (local CPU address)
0038       - param 3: size of the memory region.
0039     maxItems: 3
0040 
0041   '#address-cells':
0042     const: 1
0043 
0044   '#size-cells':
0045     const: 1
0046 
0047 required:
0048   - compatible
0049   - '#address-cells'
0050   - '#size-cells'
0051   - dma-ranges
0052 
0053 unevaluatedProperties: false
0054 
0055 examples:
0056   - |
0057     mlahb: ahb@38000000 {
0058       compatible = "st,mlahb", "simple-bus";
0059       #address-cells = <1>;
0060       #size-cells = <1>;
0061       reg = <0x10000000 0x40000>;
0062       ranges;
0063       dma-ranges = <0x00000000 0x38000000 0x10000>,
0064                    <0x10000000 0x10000000 0x60000>,
0065                    <0x30000000 0x30000000 0x60000>;
0066 
0067       m4_rproc: m4@10000000 {
0068        reg = <0x10000000 0x40000>;
0069       };
0070     };
0071 
0072 ...