aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/sipc/samsung-modem.txt
blob: 490ec7917756a7b63cd4cb26be0fc67d8fc1103a (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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
Samsung modem client bindings

Required properties:
- compatible: Should be "samsung,sipc4-modem"
- protocol: version of the sameung-ipc protocol
  - SAMSUNG_IPC_VERSION_40 for protocol version 40
  - SAMSUNG_IPC_VERSION_41 for protocol version 41
  - SAMSUNG_IPC_VERSION_42 for protocol version 42

The DT node must also contains sub-nodes for each channel, which
contains the following required properties:
- reg:
- format: indicates the channel format. Must be one of
  - SAMSUNG_IPC_FORMAT_FMT for modem commands
  - SAMSUNG_IPC_FORMAT_RAW for raw network data
  - SAMSUNG_IPC_FORMAT_RFS for the modem remote filesystem access (RFS)
  - SAMSUNG_IPC_FORMAT_MULTI_RAW for multiplexed raw network data
  - SAMSUNG_IPC_FORMAT_CMD for link-layer control commands
  - SAMSUNG_IPC_FORMAT_RAMDUMP for modem RAM dump
- type: indicates how the channel is exposed to userspace. Must be one of:
  - SAMSUNG_IPC_TYPE_MISC for misc device
  - SAMSUNG_IPC_TYPE_NETDEV for network device
  - SAMSUNG_IPC_TYPE_DUMMY for not exposing the channel to userspace
- label: symbolic name for the channel. It is used when exposing the
  channel to userspace.

Example:

modem {
	compatible = "samsung,sipc4-modem";
	protocol = <SAMSUNG_IPC_VERSION_40>;
	#size-cells = <0>;
	#address-cells = <1>;

	ipc-fmt-channel@1 {
		reg = <0x1>;
		format = <SAMSUNG_IPC_FORMAT_FMT>;
		type = <SAMSUNG_IPC_TYPE_MISC>;
		label = "umts_ipc";
	};

	ipc-rfs-channel@41 {
		reg = <0x41>;
		format = <SAMSUNG_IPC_FORMAT_RFS>;
		type = <SAMSUNG_IPC_TYPE_MISC>;
		label = "umts_rfs";
	};

	ipc-raw-channel@2a {
		reg = <0x2a>;
		format = <SAMSUNG_IPC_FORMAT_RAW>;
		type = <SAMSUNG_IPC_TYPE_NETDEV>;
		label = "rmnet0";
	};

	ipc-raw-channel@2b {
		reg = <0x2b>;
		format = <SAMSUNG_IPC_FORMAT_RAW>;
		type = <SAMSUNG_IPC_TYPE_NETDEV>;
		label = "rmnet1";
	};

	ipc-raw-channel@2c {
		reg = <0x2c>;
		format = <SAMSUNG_IPC_FORMAT_RAW>;
		type = <SAMSUNG_IPC_TYPE_NETDEV>;
		label = "rmnet2";
	};

	ipc-raw-channel@21 {
		reg = <0x21>;
		format = <SAMSUNG_IPC_FORMAT_RAW>;
		type = <SAMSUNG_IPC_TYPE_MISC>;
		label = "umts_csd";
	};

	ipc-raw-channel@39 {
		reg = <0x39>;
		format = <SAMSUNG_IPC_FORMAT_RAW>;
		type = <SAMSUNG_IPC_TYPE_MISC>;
		label = "umts_router";
	};

	ipc-raw-channel@3f {
		reg = <0x3f>;
		format = <SAMSUNG_IPC_FORMAT_RAW>;
		type = <SAMSUNG_IPC_TYPE_MISC>;
		label = "umts_loopback";
	};

	ipc-multi-raw-channel@1 {
		reg = <0x1>;
		format = <SAMSUNG_IPC_FORMAT_MULTI_RAW>;
		type = <SAMSUNG_IPC_TYPE_DUMMY>;
		label = "multipdp";
	};

	ipc-cmd-channel@1 {
		reg = <0x1>;
		format = <SAMSUNG_IPC_FORMAT_CMD>;
		type = <SAMSUNG_IPC_TYPE_DUMMY>;
		label = "cmd";
	};
};