1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/net/qcom,ba 4 $id: http://devicetree.org/schemas/net/qcom,bam-dmux.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Qualcomm BAM Data Multiplexer 7 title: Qualcomm BAM Data Multiplexer 8 8 9 maintainers: 9 maintainers: 10 - Stephan Gerhold <stephan@gerhold.net> 10 - Stephan Gerhold <stephan@gerhold.net> 11 11 12 description: | 12 description: | 13 The BAM Data Multiplexer provides access to 13 The BAM Data Multiplexer provides access to the network data channels 14 of modems integrated into many older Qualcom 14 of modems integrated into many older Qualcomm SoCs, e.g. Qualcomm MSM8916 15 or MSM8974. It is built using a simple proto 15 or MSM8974. It is built using a simple protocol layer on top of a DMA engine 16 (Qualcomm BAM DMA) and bidirectional interru 16 (Qualcomm BAM DMA) and bidirectional interrupts to coordinate power control. 17 17 18 Note that this schema does not directly desc 18 Note that this schema does not directly describe a hardware block but rather 19 a firmware convention that combines several 19 a firmware convention that combines several other hardware blocks (such as the 20 DMA engine). As such it is specific to a fir 20 DMA engine). As such it is specific to a firmware version, not a particular 21 SoC or hardware version. 21 SoC or hardware version. 22 22 23 properties: 23 properties: 24 compatible: 24 compatible: 25 const: qcom,bam-dmux 25 const: qcom,bam-dmux 26 26 27 interrupts: 27 interrupts: 28 description: 28 description: 29 Interrupts used by the modem to signal t 29 Interrupts used by the modem to signal the AP. 30 Both interrupts must be declared as IRQ_ 30 Both interrupts must be declared as IRQ_TYPE_EDGE_BOTH. 31 items: 31 items: 32 - description: Power control 32 - description: Power control 33 - description: Power control acknowledgm 33 - description: Power control acknowledgment 34 34 35 interrupt-names: 35 interrupt-names: 36 items: 36 items: 37 - const: pc 37 - const: pc 38 - const: pc-ack 38 - const: pc-ack 39 39 40 qcom,smem-states: 40 qcom,smem-states: 41 $ref: /schemas/types.yaml#/definitions/pha 41 $ref: /schemas/types.yaml#/definitions/phandle-array 42 description: State bits used by the AP to 42 description: State bits used by the AP to signal the modem. 43 items: 43 items: 44 - description: Power control 44 - description: Power control 45 - description: Power control acknowledgm 45 - description: Power control acknowledgment 46 46 47 qcom,smem-state-names: 47 qcom,smem-state-names: 48 description: Names for the state bits used 48 description: Names for the state bits used by the AP to signal the modem. 49 items: 49 items: 50 - const: pc 50 - const: pc 51 - const: pc-ack 51 - const: pc-ack 52 52 53 dmas: 53 dmas: 54 items: 54 items: 55 - description: TX DMA channel phandle 55 - description: TX DMA channel phandle 56 - description: RX DMA channel phandle 56 - description: RX DMA channel phandle 57 57 58 dma-names: 58 dma-names: 59 items: 59 items: 60 - const: tx 60 - const: tx 61 - const: rx 61 - const: rx 62 62 63 required: 63 required: 64 - compatible 64 - compatible 65 - interrupts 65 - interrupts 66 - interrupt-names 66 - interrupt-names 67 - qcom,smem-states 67 - qcom,smem-states 68 - qcom,smem-state-names 68 - qcom,smem-state-names 69 - dmas 69 - dmas 70 - dma-names 70 - dma-names 71 71 72 additionalProperties: false 72 additionalProperties: false 73 73 74 examples: 74 examples: 75 - | 75 - | 76 #include <dt-bindings/interrupt-controller 76 #include <dt-bindings/interrupt-controller/irq.h> 77 77 78 mpss: remoteproc { 78 mpss: remoteproc { 79 bam-dmux { 79 bam-dmux { 80 compatible = "qcom,bam-dmux"; 80 compatible = "qcom,bam-dmux"; 81 81 82 interrupt-parent = <&modem_smsm>; 82 interrupt-parent = <&modem_smsm>; 83 interrupts = <1 IRQ_TYPE_EDGE_BOTH 83 interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <11 IRQ_TYPE_EDGE_BOTH>; 84 interrupt-names = "pc", "pc-ack"; 84 interrupt-names = "pc", "pc-ack"; 85 85 86 qcom,smem-states = <&apps_smsm 1>, 86 qcom,smem-states = <&apps_smsm 1>, <&apps_smsm 11>; 87 qcom,smem-state-names = "pc", "pc- 87 qcom,smem-state-names = "pc", "pc-ack"; 88 88 89 dmas = <&bam_dmux_dma 4>, <&bam_dm 89 dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>; 90 dma-names = "tx", "rx"; 90 dma-names = "tx", "rx"; 91 }; 91 }; 92 }; 92 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.