Allow an optional bam-dmux subnode under qcom,shikra-mpss-pas by referencing qcom,bam-dmux.yaml.
Retarget the example to qcom,shikra-mpss-pas so the new subnode is exercised by dt_binding_check. Co-developed-by: Deepak Kumar Singh <[email protected]> Signed-off-by: Deepak Kumar Singh <[email protected]> Signed-off-by: Vishnu Santhosh <[email protected]> --- Changes in v3: - Reword commit message to keep it scoped to the binding change. - Retarget the example to qcom,shikra-mpss-pas and add a bam-dmux child. - Link to v2: https://lore.kernel.org/r/20260729-shikra-pas-bam-dmux-binding-v2-1-d85fea84c...@oss.qualcomm.com Changes in v2: - Restrict bam-dmux to the qcom,shikra-mpss-pas compatible. - Link to v1: https://lore.kernel.org/r/20260727-shikra-pas-bam-dmux-binding-v1-1-c0159c7c3...@oss.qualcomm.com --- .../bindings/remoteproc/qcom,shikra-pas.yaml | 61 ++++++++++++++++------ 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml index 253b14eb2b598f0ca91854c8ff4d0b785090e621..dd779b595677c0aa58708b4fde725e64d8918434 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,shikra-pas.yaml @@ -44,6 +44,11 @@ properties: - description: Firmware name of the Hexagon core - description: Firmware name of the Hexagon Devicetree + bam-dmux: + $ref: /schemas/net/qcom,bam-dmux.yaml# + description: + Qualcomm BAM Data Multiplexer (provides network interface to the modem) + glink-edge: $ref: /schemas/remoteproc/qcom,glink-edge.yaml# description: @@ -117,6 +122,16 @@ allOf: power-domains: false power-domain-names: false + - if: + properties: + compatible: + enum: + - qcom,shikra-cdsp-pas + - qcom,shikra-lpaicp-pas + then: + properties: + bam-dmux: false + unevaluatedProperties: false examples: @@ -129,16 +144,16 @@ examples: #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/power/qcom-rpmpd.h> - remoteproc@b300000 { - compatible = "qcom,shikra-cdsp-pas"; - reg = <0x0b300000 0x100000>; + remoteproc@6080000 { + compatible = "qcom,shikra-mpss-pas"; + reg = <0x06080000 0x100>; - interrupts-extended = <&intc GIC_SPI 265 IRQ_TYPE_EDGE_RISING>, - <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, - <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, - <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, - <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, - <&cdsp_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; + interrupts-extended = <&intc GIC_SPI 307 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack", "shutdown-ack"; @@ -151,17 +166,31 @@ examples: power-domains = <&rpmpd RPMHPD_CX>; power-domain-names = "cx"; - memory-region = <&cdsp_mem>; + memory-region = <&mpss_wlan_mem>; - qcom,smem-states = <&cdsp_smp2p_out 0>; + qcom,smem-states = <&modem_smp2p_out 0>; qcom,smem-state-names = "stop"; - firmware-name = "qcom/shikra/cdsp.mbn"; + firmware-name = "qcom/shikra/modem.mbn"; glink-edge { - interrupts = <GIC_SPI 261 IRQ_TYPE_EDGE_RISING>; - mboxes = <&apcs_glb 4>; - qcom,remote-pid = <5>; - label = "cdsp"; + interrupts = <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>; + mboxes = <&apcs_glb 12>; + qcom,remote-pid = <1>; + label = "mpss"; + }; + + bam-dmux { + compatible = "qcom,bam-dmux"; + + interrupt-parent = <&modem_smsm>; + interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <11 IRQ_TYPE_EDGE_BOTH>; + interrupt-names = "pc", "pc-ack"; + + qcom,smem-states = <&apps_smsm 1>, <&apps_smsm 11>; + qcom,smem-state-names = "pc", "pc-ack"; + + dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>; + dma-names = "tx", "rx"; }; }; --- base-commit: 3d6d817622b0a9721e3cc404df3469171582be13 change-id: 20260727-shikra-pas-bam-dmux-binding-28a6bf97857c Best regards, -- Vishnu Santhosh <[email protected]>

