1Qualcomm APR (Asynchronous Packet Router) binding 2 3This binding describes the Qualcomm APR. APR is a IPC protocol for 4communication between Application processor and QDSP. APR is mainly 5used for audio/voice services on the QDSP. 6 7- compatible: 8 Usage: required 9 Value type: <stringlist> 10 Definition: must be "qcom,apr-v<VERSION-NUMBER>", example "qcom,apr-v2" 11 12- reg 13 Usage: required 14 Value type: <u32> 15 Definition: Destination processor ID. 16 Possible values are : 17 1 - APR simulator 18 2 - PC 19 3 - MODEM 20 4 - ADSP 21 5 - APPS 22 6 - MODEM2 23 7 - APPS2 24 25= APR SERVICES 26Each subnode of the APR node represents service tied to this apr. The name 27of the nodes are not important. The properties of these nodes are defined 28by the individual bindings for the specific service 29- All APR services MUST contain the following property: 30 31- reg 32 Usage: required 33 Value type: <u32> 34 Definition: APR Service ID 35 Possible values are : 36 3 - DSP Core Service 37 4 - Audio Front End Service. 38 5 - Voice Stream Manager Service. 39 6 - Voice processing manager. 40 7 - Audio Stream Manager Service. 41 8 - Audio Device Manager Service. 42 9 - Multimode voice manager. 43 10 - Core voice stream. 44 11 - Core voice processor. 45 12 - Ultrasound stream manager. 46 13 - Listen stream manager. 47 48= EXAMPLE 49The following example represents a QDSP based sound card on a MSM8996 device 50which uses apr as communication between Apps and QDSP. 51 52 apr@4 { 53 compatible = "qcom,apr-v2"; 54 reg = <APR_DOMAIN_ADSP>; 55 56 q6core@3 { 57 compatible = "qcom,q6core"; 58 reg = <APR_SVC_ADSP_CORE>; 59 }; 60 61 q6afe@4 { 62 compatible = "qcom,q6afe"; 63 reg = <APR_SVC_AFE>; 64 65 dais { 66 #sound-dai-cells = <1>; 67 hdmi@1 { 68 reg = <1>; 69 }; 70 }; 71 }; 72 73 q6asm@7 { 74 compatible = "qcom,q6asm"; 75 reg = <APR_SVC_ASM>; 76 ... 77 }; 78 79 q6adm@8 { 80 compatible = "qcom,q6adm"; 81 reg = <APR_SVC_ADM>; 82 ... 83 }; 84 }; 85