Files
android_kernel_samsung_sm87…/bindings/soc/qcom/qcom,usb-bam.yaml
Rajkumar Patel 53765c8d58 dt-bindings: Add QUSB & USB BAM on dt-bindings
This change adds the entries of qusb phys and
usb bam in yaml format.

Change-Id: I5697f28cf786ab6cc61c462a164ff4b0e4e68aac
Signed-off-by: Rajkumar Patel <quic_rajkpate@quicinc.com>
2025-03-19 18:43:19 +05:30

190 lines
5.4 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/soc/qcom/qcom,usb-bam.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
title: MSM USB Bus Access Manager (BAM)
maintainers:
- Abdul Salam <quic_asalam@quicinc.com>
description:
This describes the device used to interface the USB controller
with the Smart Peripheral Subsystem (SPS). The BAM serves to
connect USB directly with other peer peripherals in the system
and is statically configured with a number of unidirectional pipes.
properties:
compatible:
const: qcom,usb-bam-msm
reg:
description: pair of physical base addresses and region size of BAM device
interrupts:
description: IRQ line for BAM device
maxItems: 1
qcom,usb-bam-num-pipes:
description: max number of pipes that can be used
qcom,usb-bam-fifo-baseaddr:
description: |
base address for bam pipe's data and descriptor
fifos. This can be on chip memory (ocimem). This
property is required if sub-node's mem-type is ocimem or usb private mem.
qcom,disable-clk-gating:
description: If present then disable BAM clock gating.
qcom,usb-bam-override-threshold:
description: |
If present then the default 512 byte threshold
is overridden. This threshold configures the threshold value for Read/Write
event generation by the BAM towards another BAM.
qcom,usb-bam-max-mbps-highspeed:
description: |
max mbps in high speed connection
for either rx or tx direction.
qcom,usb-bam-max-mbps-superspeed:
description: |
max mbps in super speed connection
for either rx or tx direction.
qcom,reset-bam-on-connect:
description: |
If present then BAM is RESET before connecting
pipe. This may be required if BAM peripheral is also reset before connect.
qcom,reset-bam-on-disconnect:
description: If present then BAM is RESET after disconnecting pipes.
required:
- compatible
- reg
- interrupts
- qcom,usb-bam-num-pipes
additionalProperties: false
patternProperties:
"^qcom,pipe[0-9]+$":
type: object
description: A number of USB BAM pipe parameters are represented as sub-nodes
properties:
label:
description: |
a string describing uniquely the usb bam pipe. The string can be
constracted as follows- <core>-<peer>-<direction>-<pipe num>.
core options- hsusb, ssusb/dwc3, hsic
peer options- qdss, ipa
direction options- in (from peer to usb), out (from usb to peer)
pipe num options- 0..127
qcom,usb-bam-mem-type:
description: |
Type of memory used by this PIPE. Can be one of
0 - Uses SPS's dedicated pipe memory
1 - System RAM allocated by driver
2 - OCI memory residing @ 'qcom,usb-bam-fifo-baseaddr'
qcom,dir:
description: |
pipe direction
0 - from usb (out)
1 - to usb (in)
qcom,pipe-num:
description: pipe number
qcom,peer-bam:
description: |
peer BAM can be one of
0 - QDSS_P_BAM
1 - IPA_P_BAM
qcom,data-fifo-size:
description: data fifo size
qcom,descriptor-fifo-size:
description: descriptor fifo size
qcom,peer-bam-physical-address:
description: |
peer BAM's physical address.
Not specified for IPA and used only for qdss connection
qcom,dst-bam-pipe-index:
description: destination BAM pipe index
qcom,src-bam-pipe-index:
description: source BAM pipe index
qcom,data-fifo-offset:
description: data fifo offset address
qcom,descriptor-fifo-offset:
description: descriptor fifo offset address
qcom,pipe-connection-type:
description: |
type of pipe connection. Can be one of
0 - BAM2BAM (default if not specified)
1 - SYS2BAM (only supported on UL)
required:
- label
- qcom,usb-bam-mem-type
- qcom,dir
- qcom,pipe-num
- qcom,peer-bam
- qcom,data-fifo-size
- qcom,descriptor-fifo-size
additionalProperties: false
examples:
- |
qcom,usbbam@f9a44000 {
compatible = "qcom,usb-bam-msm";
reg = <0xf9a44000 0x11000>;
interrupts = <0 135 0>;
qcom,usb-bam-num-pipes = <16>;
qcom,ignore-core-reset-ack;
qcom,disable-clk-gating;
qcom,usb-bam-max-mbps-highspeed = <400>;
qcom,usb-bam-max-mbps-superspeed = <3600>;
qcom,bam-type = <1>;
qcom,bam-mode = <0>;
qcom,pipe0 {
label = "hsusb-ipa-out-0";
qcom,usb-bam-mem-type = <0>;
qcom,dir = <0>;
qcom,pipe-num = <0>;
qcom,peer-bam = <2>;
qcom,src-bam-pipe-index = <1>;
qcom,data-fifo-offset = <0x2200>;
qcom,data-fifo-size = <0x1e00>;
qcom,descriptor-fifo-offset = <0x2100>;
qcom,descriptor-fifo-size = <0x100>;
};
qcom,pipe1 {
label = "hsusb-ipa-in-0";
qcom,usb-bam-mem-type = <0>;
qcom,dir = <1>;
qcom,pipe-num = <0>;
qcom,peer-bam = <2>;
qcom,dst-bam-pipe-index = <0>;
qcom,data-fifo-offset = <0x300>;
qcom,data-fifo-size = <0x1e00>;
qcom,descriptor-fifo-offset = <0>;
qcom,descriptor-fifo-size = <0x300>;
};
};
...