1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- Qualcomm MSM On-Chip Memory Driver
- msm-ocmem is a driver for managing On-Chip Memory (OCMEM) in MSM SoCs.
- It is responsible for allowing various clients to allocate memory from
- OCMEM based on performance, latency and power requirements.
- Required Properties:
- - compatible: Must be "qcom,msm-ocmem"
- - reg: Four pairs of physical base addresses and region sizes
- of memory mapped registers.
- - reg-names : Register region name(s) referenced in reg above
- "ocmem_ctrl_physical" corresponds to OCMEM control registers.
- "dm_ctrl_physical" corresponds to DM control registers.
- "br_ctrl_physical" corresponds to BR control registers.
- "ocmem_physical" corresponds to address range of OCMEM memory.
- - interrupts: OCMEM core interrupt(s).
- - interrupt-names: OCMEM core interrupt name(s) reference in interrupts above
- "ocmem_irq" corresponds to OCMEM Error Interrupt.
- "dm_irq" corresponds to DM Interrupt.
- - qcom,ocmem-num-regions: The number of OCMEM hardware memory regions.
- - qcom,ocmem-num-macros: The number of OCMEM hardware memory macros.
- - qcom,resource-type: The hardware resource type of the OCMEM core.
- In addition to the information on the OCMEM core, the
- device tree contains additional information describing partitions
- of the OCMEM address space. This is used to establish regions
- of OCMEM that are used for each potential client. The partitions
- can overlap and the OCMEM driver ensures that there is no possibility
- of concurrent access from more than one client to the same address range.
- This allows the OCMEM driver to maximize the usage of OCMEM at all times.
- Each partition is represented as a sub-node of the OCMEM device.
- OCMEM partitions
- Required Properties:
- - reg : The partition's offset and size within OCMEM.
- - qcom,ocmem-part-name : The name for this partition.
- - qcom,ocmem-part-min: The minimum amount of memory reserved exclusively for
- this client.
- Optional Properties:
- - qcom,ocmem-part-tail : This parameter, if present, indicates that successive
- allocations from this partition must be allocated at
- lower offsetis.
- Example:
- qcom,ocmem@fdd00000 {
- reg = <0xfdd00000 0x2000>,
- <0xfdd02000 0x2000>,
- <0xfe039000 0x400>,
- <0xfec00000 0x180000>;
- reg-names = "ocmem_ctrl_physical", "dm_ctrl_physical", "br_ctrl_physical", "ocmem_physical";
- interrupts = <0 76 0 0 77 0>;
- interrupt-names = "ocmem_irq", "dm_irq";
- qcom,ocmem-num-regions = <0x3>;
- qcom,resource-type = <0x706d636f>
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0x0 0xfec00000 0x180000>;
- partition@0 {
- reg = <0x0 0x100000>;
- qcom,ocmem-part-name = "graphics";
- qcom,ocmem-part-min = <0x80000>;
- };
- partition@100000 {
- reg = <0x100000 0x80000>;
- qcom,ocmem-part-name = "video";
- qcom,ocmem-part-min = <0x55000>;
- };
- };
|