summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/mmc/qcn-sdio-txt
blob: 15532b6ba4ac6002abe38e097b755d1bbb9aa572 (plain)
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";
	};
};