Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions Documentation/devicetree/bindings/dma/qcom,bam-dma.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@ maintainers:

allOf:
- $ref: dma-controller.yaml#
- if:
not:
properties:
compatible:
contains:
const: qcom,shikra-bam-dma
then:
properties:
qcom,vmid: false

properties:
compatible:
Expand All @@ -27,6 +36,8 @@ properties:
- enum:
# SDM845, SM6115, SM8150, SM8250 and QCM2290
- qcom,bam-v1.7.4
# Shikra
- qcom,shikra-bam-dma
- const: qcom,bam-v1.7.0

clocks:
Expand Down Expand Up @@ -79,6 +90,21 @@ properties:
Indicates that the bam is powered up by a remote processor but must be
initialized by the local processor.

qcom,vmid:
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 1
maxItems: 8
items:
minimum: 1
maximum: 63
description:
Destination VMIDs of the remote processor(s) that read the per-channel
descriptor FIFOs as an AXI master. When present, the driver SCM-assigns
each FIFO to these VMIDs so the remote access does not trigger an XPU
violation. HLOS is always retained as the source owner and must not be
listed. Optional even when the qcom,shikra-bam-dma compatible is
present; not valid on any other compatible in this schema.

reg:
maxItems: 1

Expand Down
8 changes: 7 additions & 1 deletion Documentation/devicetree/bindings/net/qcom,bam-dmux.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,13 @@ description: |

properties:
compatible:
const: qcom,bam-dmux
oneOf:
- const: qcom,bam-dmux
- items:
- enum:
# Shikra
- qcom,shikra-bam-dmux
- const: qcom,bam-dmux

interrupts:
description:
Expand Down
5 changes: 3 additions & 2 deletions arch/arm64/boot/dts/qcom/shikra.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#size-cells = <2>;

bam_dmux: bam-dmux {
compatible = "qcom,bam-dmux";
compatible = "qcom,shikra-bam-dmux", "qcom,bam-dmux";

interrupts-extended = <&modem_smsm 1 IRQ_TYPE_EDGE_BOTH>,
<&modem_smsm 11 IRQ_TYPE_EDGE_BOTH>;
Expand Down Expand Up @@ -2588,7 +2588,7 @@
};

bam_dmux_dma: dma-controller@6044000 {
compatible = "qcom,bam-v1.7.0";
compatible = "qcom,shikra-bam-dma", "qcom,bam-v1.7.0";
reg = <0x0 0x06044000 0x0 0x19000>;
interrupts = <GIC_SPI 74 IRQ_TYPE_EDGE_RISING 0>;
#dma-cells = <1>;
Expand All @@ -2597,6 +2597,7 @@
num-channels = <6>;
qcom,num-ees = <1>;
qcom,powered-remotely;
qcom,vmid = <QCOM_SCM_VMID_NAV>;
};

remoteproc_mpss: remoteproc@6080000 {
Expand Down
1 change: 1 addition & 0 deletions drivers/dma/qcom/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ config QCOM_BAM_DMA
depends on ARCH_QCOM || (COMPILE_TEST && OF && ARM)
select DMA_ENGINE
select DMA_VIRTUAL_CHANNELS
select QCOM_SCM
help
Enable support for the QCOM BAM DMA controller. This controller
provides DMA capabilities for a variety of on-chip devices.
Expand Down
Loading