Qualcomm APR (Asynchronous Packet Router) binding 
 | 
  
 | 
This binding describes the Qualcomm APR. APR is a IPC protocol for 
 | 
communication between Application processor and QDSP. APR is mainly 
 | 
used for audio/voice services on the QDSP. 
 | 
  
 | 
- compatible: 
 | 
    Usage: required 
 | 
    Value type: <stringlist> 
 | 
    Definition: must be "qcom,apr-v<VERSION-NUMBER>", example "qcom,apr-v2" 
 | 
  
 | 
- reg 
 | 
    Usage: required 
 | 
    Value type: <u32> 
 | 
    Definition: Destination processor ID. 
 | 
    Possible values are : 
 | 
            1 - APR simulator 
 | 
            2 - PC 
 | 
            3 - MODEM 
 | 
            4 - ADSP 
 | 
            5 - APPS 
 | 
            6 - MODEM2 
 | 
            7 - APPS2 
 | 
  
 | 
= APR SERVICES 
 | 
Each subnode of the APR node represents service tied to this apr. The name 
 | 
of the nodes are not important. The properties of these nodes are defined 
 | 
by the individual bindings for the specific service 
 | 
- All APR services MUST contain the following property: 
 | 
  
 | 
- reg 
 | 
    Usage: required 
 | 
    Value type: <u32> 
 | 
    Definition: APR Service ID 
 | 
    Possible values are : 
 | 
            3 - DSP Core Service 
 | 
            4 - Audio Front End Service. 
 | 
            5 - Voice Stream Manager Service. 
 | 
            6 - Voice processing manager. 
 | 
            7 - Audio Stream Manager Service. 
 | 
            8 - Audio Device Manager Service. 
 | 
            9 - Multimode voice manager. 
 | 
            10 - Core voice stream. 
 | 
            11 - Core voice processor. 
 | 
            12 - Ultrasound stream manager. 
 | 
            13 - Listen stream manager. 
 | 
  
 | 
= EXAMPLE 
 | 
The following example represents a QDSP based sound card on a MSM8996 device 
 | 
which uses apr as communication between Apps and QDSP. 
 | 
  
 | 
    apr@4 { 
 | 
        compatible = "qcom,apr-v2"; 
 | 
        reg = <APR_DOMAIN_ADSP>; 
 | 
  
 | 
        q6core@3 { 
 | 
            compatible = "qcom,q6core"; 
 | 
            reg = <APR_SVC_ADSP_CORE>; 
 | 
        }; 
 | 
  
 | 
        q6afe@4 { 
 | 
            compatible = "qcom,q6afe"; 
 | 
            reg = <APR_SVC_AFE>; 
 | 
  
 | 
            dais { 
 | 
                #sound-dai-cells = <1>; 
 | 
                hdmi@1 { 
 | 
                    reg = <1>; 
 | 
                }; 
 | 
            }; 
 | 
        }; 
 | 
  
 | 
        q6asm@7 { 
 | 
            compatible = "qcom,q6asm"; 
 | 
            reg = <APR_SVC_ASM>; 
 | 
            ... 
 | 
        }; 
 | 
  
 | 
        q6adm@8 { 
 | 
            compatible = "qcom,q6adm"; 
 | 
            reg = <APR_SVC_ADM>; 
 | 
            ... 
 | 
        }; 
 | 
    }; 
 |