mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 15:49:17 -04:00
Merge "dt-bindings: qcom-sps-dma: Add snapshot of SPS DMA driver"
This commit is contained in:
commit
aa80d9fb02
2 changed files with 162 additions and 0 deletions
42
bindings/dma/qcom-sps-dma.txt
Normal file
42
bindings/dma/qcom-sps-dma.txt
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
* Qualcomm technologies inc, DMA engine driver for BAM (Bus Access Manager).
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "qcom,sps-dma".
|
||||
- reg: Should contain DMA registers location and length. This should include
|
||||
all of the per-channel registers.
|
||||
- interrupts: Should contain the BAM interrupt number.
|
||||
- qcom,summing-threshold: Should contain the BAM event threshold of
|
||||
the sum of descriptors' sizes in bytes.
|
||||
|
||||
Optional properties:
|
||||
- qcom,managed-locally : Use when BAM global device control is managed locally
|
||||
by the application processor.
|
||||
|
||||
Example:
|
||||
|
||||
dma_blsp1: qcom,sps-dma@f9904000 { /* BLSP1 */
|
||||
#dma-cells = <4>;
|
||||
compatible = "qcom,sps-dma";
|
||||
reg = <0xf9904000 0x19000>;
|
||||
interrupts = <0 238 0>;
|
||||
qcom,summing-threshold = <10>;
|
||||
};
|
||||
|
||||
DMA clients connected to the qcom-sps-dma DMA controller must use the format
|
||||
described in the dma.txt file, using a five-cell specifier for each channel,
|
||||
a phandle plus four integer cells, as shown below:
|
||||
|
||||
dmas = <[phandle of the dma controller] [pipe index] [number of descriptors]
|
||||
[sps_connect flags] [sps_register_event flags]>;
|
||||
|
||||
Example:
|
||||
|
||||
i2c_2: i2c@f9924000 { /* BLSP1 QUP2 */
|
||||
.
|
||||
.
|
||||
.
|
||||
/* <&phandle pipe-idx n-descs connect-flags event-flags> */
|
||||
dmas = <&dma_blsp1 14 32 0x20000020 0x20>,
|
||||
<&dma_blsp1 15 64 0x20000020 0x20>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
120
bindings/serial/msm_serial_hs.txt
Normal file
120
bindings/serial/msm_serial_hs.txt
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
* Qualcomm Technologies Inc, BLSP MSM HSUART
|
||||
|
||||
Required properties:
|
||||
- compatible :
|
||||
- "qcom,msm-hsuart-v14" to be used for UARTDM Core v1.4
|
||||
- reg : offset and length of the register set for both the device,
|
||||
uart core and bam core
|
||||
- reg-names :
|
||||
- "core_mem" to be used as name of the uart core
|
||||
- "bam_mem" to be used as name of the bam core
|
||||
- interrupts : interrupts for both the device,uart core and bam core
|
||||
- interrupt-names :
|
||||
- "core_irq" to be used as uart irq
|
||||
- "bam irq" to be used as bam irq
|
||||
- #interrupt-cells: Specifies the number of cells needed to encode an interrupt
|
||||
source. The type shall be a <u32> and the value shall be 1
|
||||
- #address-cells: Specifies the number of cells needed to encode an address.
|
||||
The type shall be <u32> and the value shall be 0
|
||||
- interrupt-parent = It is needed for interrupt mapping
|
||||
- bam-tx-ep-pipe-index : BAM TX Endpoint Pipe Index for HSUART
|
||||
- bam-rx-ep-pipe-index : BAM RX Endpoint Pipe Index for HSUART
|
||||
|
||||
BLSP has a static pipe allocation and assumes a pair-pipe for each uart core.
|
||||
Pipes [2*i : 2*i+1] are allocated for UART cores where i = [0 : 5].
|
||||
Hence, Minimum and Maximum permitted value of endpoint pipe index to be used
|
||||
with uart core is 0 and 11 respectively.
|
||||
|
||||
There is one HSUART block used in MSM devices,
|
||||
"qcom,msm-hsuart-v14". The msm-serial-hs driver is
|
||||
able to handle this, and matches against the "qcom,msm-hsuart-v14"
|
||||
as the compatibility.
|
||||
|
||||
The registers for the "qcom,msm-hsuart-v14" device need to specify both
|
||||
register blocks - uart core and bam core.
|
||||
|
||||
Example:
|
||||
|
||||
uart7: uart@f995d000 {
|
||||
compatible = "qcom,msm-hsuart-v14";
|
||||
reg = <0xf995d000 0x1000>,
|
||||
<0xf9944000 0x5000>;
|
||||
reg-names = "core_mem", "bam_mem";
|
||||
interrupt-names = "core_irq", "bam_irq";
|
||||
#address-cells = <0>;
|
||||
interrupt-parent = <&uart7>;
|
||||
interrupts = <0 1>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map = <0 &intc 0 113 0
|
||||
1 &intc 0 239 0>
|
||||
qcom,bam-tx-ep-pipe-index = <0>;
|
||||
qcom,bam-rx-ep-pipe-index = <1>;
|
||||
};
|
||||
|
||||
Optional properties:
|
||||
- qcom,<gpio-name>-gpio : handle to the GPIO node, see "gpios property" in
|
||||
Documentation/devicetree/bindings/gpio/gpio.txt.
|
||||
"gpio-name" can be "tx", "rx", "cts" and "rfr" based on number of UART GPIOs
|
||||
need to configured.
|
||||
Gpio's are optional if it is required to be not configured by UART driver or
|
||||
case where there is nothing connected and we want to use internal loopback mode
|
||||
for uart.
|
||||
- qcom, wakeup_irq : UART RX GPIO IRQ line to be configured as wakeup source.
|
||||
- qcom,inject-rx-on-wakeup : inject_rx_on_wakeup enables feature where on
|
||||
receiving interrupt with UART RX GPIO IRQ line (i.e. above wakeup_irq property),
|
||||
HSUART driver injects provided character with property rx_to_inject.
|
||||
- qcom, rx-char-to-inject : The character to be inserted on wakeup.
|
||||
- qcom, no-suspend-delay : This decides system to go to suspend immediately
|
||||
or not
|
||||
|
||||
- interconnects: pairs of phandles and interconnect provider specifier
|
||||
to denote the edge source and destination ports of
|
||||
the interconnect path. Please refer to
|
||||
Documentation/devicetree/bindings/interconnect/
|
||||
for more details.
|
||||
- interconnect-names: List of interconnect path name strings sorted in the same
|
||||
order as the interconnects property. Consumers drivers will use
|
||||
interconnect-names to match interconnect paths with interconnect
|
||||
specifiers. Please refer to Documentation/devicetree/bindings/
|
||||
interconnect/ for more details.
|
||||
|
||||
Aliases :
|
||||
An alias may be optionally used to bind the UART device to a TTY device
|
||||
(ttyHS<alias_num>) with a given alias number. Aliases are of the form
|
||||
uart<n> where <n> is an integer representing the alias number to use.
|
||||
On systems with multiple UART devices present, an alias may optionally be
|
||||
defined for such devices. The alias value should be from 0 to 255.
|
||||
|
||||
Example:
|
||||
|
||||
aliases {
|
||||
uart4 = &uart7; // This device will be enumerated as ttyHS4
|
||||
};
|
||||
|
||||
uart7: uart@f995d000 {
|
||||
compatible = "qcom,msm-hsuart-v14"
|
||||
reg = <0x19c40000 0x1000">,
|
||||
<0xf9944000 0x5000>;
|
||||
reg-names = "core_mem", "bam_mem";
|
||||
interrupt-names = "core_irq", "bam_irq", "wakeup_irq";
|
||||
#address-cells = <0>;
|
||||
interrupt-parent = <&uart7>;
|
||||
interrupts = <0 1 2>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0xffffffff>;
|
||||
interrupt-map = <0 &intc 0 113 0
|
||||
1 &intc 0 239 0
|
||||
2 &msmgpio 42 0>;
|
||||
qcom,tx-gpio = <&msmgpio 41 0x00>;
|
||||
qcom,rx-gpio = <&msmgpio 42 0x00>;
|
||||
qcom,cts-gpio = <&msmgpio 43 0x00>;
|
||||
qcom,rfr-gpio = <&msmgpio 44 0x00>;
|
||||
qcom,inject-rx-on-wakeup = <1>;
|
||||
qcom,rx-char-to-inject = <0xFD>;
|
||||
|
||||
qcom,bam-tx-ep-pipe-index = <0>;
|
||||
qcom,bam-rx-ep-pipe-index = <1>;
|
||||
|
||||
interconnect-names = "blsp-ddr";
|
||||
interconnects = <&system_noc MASTER_BLSP_1 &mc_virt SLAVE_EBI1>;
|
||||
};
|
||||
Loading…
Reference in a new issue