18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/sram/qcom,ocmem.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: On Chip Memory (OCMEM) that is present on some Qualcomm Snapdragon SoCs.
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Brian Masney <masneyb@onstation.org>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  The On Chip Memory (OCMEM) is typically used by the GPU, camera/video, and
148c2ecf20Sopenharmony_ci  audio components on some Snapdragon SoCs.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciproperties:
178c2ecf20Sopenharmony_ci  compatible:
188c2ecf20Sopenharmony_ci    const: qcom,msm8974-ocmem
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci  reg:
218c2ecf20Sopenharmony_ci    items:
228c2ecf20Sopenharmony_ci      - description: Control registers
238c2ecf20Sopenharmony_ci      - description: OCMEM address range
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci  reg-names:
268c2ecf20Sopenharmony_ci    items:
278c2ecf20Sopenharmony_ci      - const: ctrl
288c2ecf20Sopenharmony_ci      - const: mem
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci  clocks:
318c2ecf20Sopenharmony_ci    items:
328c2ecf20Sopenharmony_ci      - description: Core clock
338c2ecf20Sopenharmony_ci      - description: Interface clock
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci  clock-names:
368c2ecf20Sopenharmony_ci    items:
378c2ecf20Sopenharmony_ci      - const: core
388c2ecf20Sopenharmony_ci      - const: iface
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci  '#address-cells':
418c2ecf20Sopenharmony_ci    const: 1
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci  '#size-cells':
448c2ecf20Sopenharmony_ci    const: 1
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  ranges:
478c2ecf20Sopenharmony_ci    maxItems: 1
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_cirequired:
508c2ecf20Sopenharmony_ci  - compatible
518c2ecf20Sopenharmony_ci  - reg
528c2ecf20Sopenharmony_ci  - reg-names
538c2ecf20Sopenharmony_ci  - clocks
548c2ecf20Sopenharmony_ci  - clock-names
558c2ecf20Sopenharmony_ci  - '#address-cells'
568c2ecf20Sopenharmony_ci  - '#size-cells'
578c2ecf20Sopenharmony_ci  - ranges
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciadditionalProperties: false
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_cipatternProperties:
628c2ecf20Sopenharmony_ci  "-sram@[0-9a-f]+$":
638c2ecf20Sopenharmony_ci    type: object
648c2ecf20Sopenharmony_ci    description: A region of reserved memory.
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci    properties:
678c2ecf20Sopenharmony_ci      reg:
688c2ecf20Sopenharmony_ci        maxItems: 1
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci    required:
718c2ecf20Sopenharmony_ci      - reg
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ciexamples:
748c2ecf20Sopenharmony_ci  - |
758c2ecf20Sopenharmony_ci      #include <dt-bindings/clock/qcom,rpmcc.h>
768c2ecf20Sopenharmony_ci      #include <dt-bindings/clock/qcom,mmcc-msm8974.h>
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci      ocmem: ocmem@fdd00000 {
798c2ecf20Sopenharmony_ci        compatible = "qcom,msm8974-ocmem";
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci        reg = <0xfdd00000 0x2000>,
828c2ecf20Sopenharmony_ci              <0xfec00000 0x180000>;
838c2ecf20Sopenharmony_ci        reg-names = "ctrl",
848c2ecf20Sopenharmony_ci                    "mem";
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci        clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>,
878c2ecf20Sopenharmony_ci                 <&mmcc OCMEMCX_OCMEMNOC_CLK>;
888c2ecf20Sopenharmony_ci        clock-names = "core",
898c2ecf20Sopenharmony_ci                      "iface";
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci        #address-cells = <1>;
928c2ecf20Sopenharmony_ci        #size-cells = <1>;
938c2ecf20Sopenharmony_ci        ranges = <0 0xfec00000 0x100000>;
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci        gmu-sram@0 {
968c2ecf20Sopenharmony_ci                reg = <0x0 0x100000>;
978c2ecf20Sopenharmony_ci        };
988c2ecf20Sopenharmony_ci      };
99