nvidia,tegra210-emc.yaml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/memory-controllers/nvidia,tegra210-emc.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: NVIDIA Tegra210 SoC External Memory Controller
  7. maintainers:
  8. - Thierry Reding <thierry.reding@gmail.com>
  9. - Jon Hunter <jonathanh@nvidia.com>
  10. description: |
  11. The EMC interfaces with the off-chip SDRAM to service the request stream
  12. sent from the memory controller.
  13. properties:
  14. compatible:
  15. const: nvidia,tegra210-emc
  16. reg:
  17. maxItems: 3
  18. clocks:
  19. items:
  20. - description: external memory clock
  21. clock-names:
  22. items:
  23. - const: emc
  24. interrupts:
  25. items:
  26. - description: EMC general interrupt
  27. memory-region:
  28. maxItems: 1
  29. description:
  30. phandle to a reserved memory region describing the table of EMC
  31. frequencies trained by the firmware
  32. nvidia,memory-controller:
  33. $ref: /schemas/types.yaml#/definitions/phandle
  34. description:
  35. phandle of the memory controller node
  36. required:
  37. - compatible
  38. - reg
  39. - clocks
  40. - clock-names
  41. - nvidia,memory-controller
  42. additionalProperties: false
  43. examples:
  44. - |
  45. #include <dt-bindings/clock/tegra210-car.h>
  46. #include <dt-bindings/interrupt-controller/arm-gic.h>
  47. reserved-memory {
  48. #address-cells = <1>;
  49. #size-cells = <1>;
  50. ranges;
  51. emc_table: emc-table@83400000 {
  52. compatible = "nvidia,tegra210-emc-table";
  53. reg = <0x83400000 0x10000>;
  54. };
  55. };
  56. external-memory-controller@7001b000 {
  57. compatible = "nvidia,tegra210-emc";
  58. reg = <0x7001b000 0x1000>,
  59. <0x7001e000 0x1000>,
  60. <0x7001f000 0x1000>;
  61. clocks = <&tegra_car TEGRA210_CLK_EMC>;
  62. clock-names = "emc";
  63. interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  64. memory-region = <&emc_table>;
  65. nvidia,memory-controller = <&mc>;
  66. };