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";
};
};
|