| SPS (Smart Peripheral Switch) may be used as a DMA engine to move data |
| in either the Peripheral-to-Peripheral (a.k.a. BAM-to-BAM) mode or the |
| Peripheral-to-Memory (a.k.a. BAM-System) mode. SPS includes BAM (Bus |
| Access Module) hardware block, BAM DMA peripheral, and pipe memory. |
| |
| Required property: |
| - compatible: should be "qcom,msm_sps" |
| |
| Optional properties: |
| - reg: offset and size for the memory mapping, including maps for |
| BAM DMA BAM, BAM DMA peripheral, pipe memory and reserved memory. |
| - reg-names: indicates various resources passed to driver (via reg |
| property) by name. "reg-names" examples are "bam_mem", "core_mem" |
| , "pipe_mem" and "res_mem". |
| - interrupts: IRQ line |
| - qcom,device-type: specify the device configuration of BAM DMA and |
| pipe memory. Can be one of |
| 1 - With BAM DMA and without pipe memory |
| 2 - With BAM DMA and with pipe memory |
| 3 - Without BAM DMA and without pipe memory |
| - qcom,pipe-attr-ee: BAM pipes are attributed to a specific EE, with |
| which we can know the pipes belong to apps side and can have the |
| error interrupts at the pipe level. |
| |
| Example: |
| |
| qcom,sps@f9980000 { |
| compatible = "qcom,msm_sps"; |
| reg = <0xf9984000 0x15000>, |
| <0xf9999000 0xb000>, |
| <0xfe803000 0x4800>; |
| interrupts = <0 94 0>; |
| qcom,device-type = <2>; |
| qcom,pipe-attr-ee; |
| }; |