imx8m-ddrc.yaml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. # SPDX-License-Identifier: GPL-2.0
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/memory-controllers/fsl/imx8m-ddrc.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: i.MX8M DDR Controller
  7. maintainers:
  8. - Peng Fan <peng.fan@nxp.com>
  9. description:
  10. The DDRC block is integrated in i.MX8M for interfacing with DDR based
  11. memories.
  12. It supports switching between different frequencies at runtime but during
  13. this process RAM itself becomes briefly inaccessible so actual frequency
  14. switching is implemented by TF-A code which runs from a SRAM area.
  15. The Linux driver for the DDRC doesn't even map registers (they're included
  16. for the sake of "describing hardware"), it mostly just exposes firmware
  17. capabilities through standard Linux mechanism like devfreq and OPP tables.
  18. properties:
  19. compatible:
  20. items:
  21. - enum:
  22. - fsl,imx8mn-ddrc
  23. - fsl,imx8mm-ddrc
  24. - fsl,imx8mq-ddrc
  25. - const: fsl,imx8m-ddrc
  26. reg:
  27. maxItems: 1
  28. description:
  29. Base address and size of DDRC CTL area.
  30. This is not currently mapped by the imx8m-ddrc driver.
  31. clocks:
  32. maxItems: 4
  33. clock-names:
  34. items:
  35. - const: core
  36. - const: pll
  37. - const: alt
  38. - const: apb
  39. operating-points-v2: true
  40. opp-table:
  41. type: object
  42. required:
  43. - reg
  44. - compatible
  45. - clocks
  46. - clock-names
  47. additionalProperties: false
  48. examples:
  49. - |
  50. #include <dt-bindings/clock/imx8mm-clock.h>
  51. ddrc: memory-controller@3d400000 {
  52. compatible = "fsl,imx8mm-ddrc", "fsl,imx8m-ddrc";
  53. reg = <0x3d400000 0x400000>;
  54. clock-names = "core", "pll", "alt", "apb";
  55. clocks = <&clk IMX8MM_CLK_DRAM_CORE>,
  56. <&clk IMX8MM_DRAM_PLL>,
  57. <&clk IMX8MM_CLK_DRAM_ALT>,
  58. <&clk IMX8MM_CLK_DRAM_APB>;
  59. operating-points-v2 = <&ddrc_opp_table>;
  60. };