qcom,ocmem.yaml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/sram/qcom,ocmem.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: On Chip Memory (OCMEM) that is present on some Qualcomm Snapdragon SoCs.
  7. maintainers:
  8. - Brian Masney <masneyb@onstation.org>
  9. description: |
  10. The On Chip Memory (OCMEM) is typically used by the GPU, camera/video, and
  11. audio components on some Snapdragon SoCs.
  12. properties:
  13. compatible:
  14. enum:
  15. - qcom,msm8226-ocmem # v1.1.0
  16. - qcom,msm8974-ocmem # v1.4.0
  17. reg:
  18. items:
  19. - description: Control registers
  20. - description: OCMEM address range
  21. reg-names:
  22. items:
  23. - const: ctrl
  24. - const: mem
  25. clocks:
  26. minItems: 1
  27. items:
  28. - description: Core clock
  29. - description: Interface clock
  30. clock-names:
  31. minItems: 1
  32. items:
  33. - const: core
  34. - const: iface
  35. '#address-cells':
  36. const: 1
  37. '#size-cells':
  38. const: 1
  39. ranges:
  40. maxItems: 1
  41. required:
  42. - compatible
  43. - reg
  44. - reg-names
  45. - clocks
  46. - clock-names
  47. - '#address-cells'
  48. - '#size-cells'
  49. - ranges
  50. additionalProperties: false
  51. allOf:
  52. - if:
  53. properties:
  54. compatible:
  55. contains:
  56. enum:
  57. - qcom,msm8974-ocmem
  58. then:
  59. properties:
  60. clocks:
  61. minItems: 2
  62. clock-names:
  63. minItems: 2
  64. else:
  65. properties:
  66. clocks:
  67. minItems: 1
  68. clock-names:
  69. minItems: 1
  70. patternProperties:
  71. "-sram@[0-9a-f]+$":
  72. type: object
  73. additionalProperties: false
  74. description: A region of reserved memory.
  75. properties:
  76. reg:
  77. maxItems: 1
  78. required:
  79. - reg
  80. examples:
  81. - |
  82. #include <dt-bindings/clock/qcom,rpmcc.h>
  83. #include <dt-bindings/clock/qcom,mmcc-msm8974.h>
  84. sram@fdd00000 {
  85. compatible = "qcom,msm8974-ocmem";
  86. reg = <0xfdd00000 0x2000>,
  87. <0xfec00000 0x180000>;
  88. reg-names = "ctrl",
  89. "mem";
  90. clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>,
  91. <&mmcc OCMEMCX_OCMEMNOC_CLK>;
  92. clock-names = "core",
  93. "iface";
  94. #address-cells = <1>;
  95. #size-cells = <1>;
  96. ranges = <0 0xfec00000 0x100000>;
  97. gmu-sram@0 {
  98. reg = <0x0 0x100000>;
  99. };
  100. };