1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
QCN SDIO function-1 driver
==========================
The QCN7605 device uses a Q6-WCSS DSP co-processor. The Q6-WCSS requires a
firmware binary to boot. The QCN SDIO function-1 driver provides the means with
to communicate with the device. The commuincation involves firmware download,
multiprocessor communication, and other subsytem's coreesponding data download
and upload.
Example: WLAN traffic, WLAN BDF, M3 or CALDATA download etc.
QCN SDIO Device Node:
=====================
A QCN SDIO device node is used to represent the function-1 driver instance. It
is needed as a child node to SOC parent node through which it is accessible to
the host.
Required properties:
--------------------
- compatible: Should be one of,
"qcom,qcn-sdio" for MSM8996 SOCs
Example:
--------
/* MSM8996 */
soc {
qcom,qcn-sdio {
compatible = "qcom,qcn-sdio";
}
};
QCN SDIO bridge driver
======================
The Q6-WCSS runs few services that need to be interfaced on the host device. The
QCN SDIO bridge driver provides the interfacing between the function-1 driver
and the services running on the host device, ther by maintaining a streamlined
communication between Q6-WCSS and host device.
Example Services: Diag, IPC router, QMI
QCN SDIO Bridge Node:
=====================
A QCN SDIO bridge driver node is used to represent the client driver instance.
It is needed as a child node to SOC parent node through which
it is accessible to host.
Required properties:
--------------------
- compatible Should be one of
"qcom,sdio-bridge" for MSM8996 SOCs
- qcom,client-id Client ID, Should be on of
1: TTY, 2: WLAN, 3: QMI, 4: DIAG;
- qcom,client-name Client Name, Should be one of
"SDIO_AL_CLIENT_TTY", "SDIO_AL_CLIENT_WLAN"
"SDIO_AL_CLIENT_QMI", "SDIO_AL_CLIENT_DIAG"
- qcom,ch-name "SDIO_AL_TTY_CH0", "SDIO_AL_WLAN_CH0",
"SDIO_AL_WLAN_CH1", "SDIO_AL_QMI_CH0",
Example:
--------
/* MSM8996 */
soc {
sdio_bridge_tty: qcom,sdio-bridge@0 {
compatible = "qcom,sdio-bridge";
qcom,client-id = <1>;
qcom,client-name = "SDIO_AL_CLIENT_TTY";
qcom,ch-name = "SDIO_AL_TTY_CH0";
status = "disabled";
};
sdio_bridge_ipc: qcom,sdio-bridge@1 {
compatible = "qcom,sdio-bridge";
qcom,client-id = <3>;
qcom,client-name = "SDIO_AL_CLIENT_QMI";
qcom,ch-name = "SDIO_AL_QMI_CH0";
status = "disabled";
};
sdio_bridge_diag: qcom,sdio-bridge@3 {
compatible = "qcom,sdio-bridge";
qcom,client-id = <4>;
qcom,client-name = "SDIO_AL_CLIENT_DIAG";
qcom,ch-name = "SDIO_AL_DIAG_CH0";
status = "disabled";
};
};
|