Documentation/devicetree/bindings/memory-controllers/fsl/imx8m-ddrc.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/memory-controllers/fsl/imx8m-ddrc.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/memory-controllers/fsl/imx8m-ddrc.yaml
Extension
.yaml
Size
1880 bytes
Lines
74
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/memory-controllers/fsl/imx8m-ddrc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: i.MX8M DDR Controller

maintainers:
  - Peng Fan <peng.fan@nxp.com>

description:
  The DDRC block is integrated in i.MX8M for interfacing with DDR based
  memories.

  It supports switching between different frequencies at runtime but during
  this process RAM itself becomes briefly inaccessible so actual frequency
  switching is implemented by TF-A code which runs from a SRAM area.

  The Linux driver for the DDRC doesn't even map registers (they're included
  for the sake of "describing hardware"), it mostly just exposes firmware
  capabilities through standard Linux mechanism like devfreq and OPP tables.

properties:
  compatible:
    items:
      - enum:
          - fsl,imx8mn-ddrc
          - fsl,imx8mm-ddrc
          - fsl,imx8mq-ddrc
      - const: fsl,imx8m-ddrc

  reg:
    maxItems: 1
    description:
      Base address and size of DDRC CTL area.
      This is not currently mapped by the imx8m-ddrc driver.

  clocks:
    maxItems: 4

  clock-names:
    items:
      - const: core
      - const: pll
      - const: alt
      - const: apb

  operating-points-v2: true
  opp-table:
    type: object

required:
  - reg
  - compatible
  - clocks
  - clock-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx8mm-clock.h>
    ddrc: memory-controller@3d400000 {
        compatible = "fsl,imx8mm-ddrc", "fsl,imx8m-ddrc";
        reg = <0x3d400000 0x400000>;
        clock-names = "core", "pll", "alt", "apb";
        clocks = <&clk IMX8MM_CLK_DRAM_CORE>,
                 <&clk IMX8MM_DRAM_PLL>,
                 <&clk IMX8MM_CLK_DRAM_ALT>,

Annotation

Implementation Notes