-
Notifications
You must be signed in to change notification settings - Fork 7
/
Kconfig
144 lines (130 loc) · 5.56 KB
/
Kconfig
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
config BOSCH_ICCOM
tristate "Bosch Inter Chip communication driver"
depends on BOSCH_DRIVERS
default y
---help---
The driver for Inter Chip communication, which
provides named channels for App-to-App
interaction between chips.
The underlying transport layer may vary with
configuration. Original target is Symmetrical
SPI transport.
If unsure, say N.
config BOSCH_ICCOM_SOCKETS
tristate "Bosch Inter Chip communication driver User Space sockets adapter"
depends on BOSCH_ICCOM
default y
---help---
The module provides the User Space programs the
acces to ICCom driver via sockets interface.
If unsure, say N.
config BOSCH_ICCOM_TEST_MODULE
bool "Build test module for Bosch ICCom driver"
depends on BOSCH_ICCOM && BOSCH_FULL_DUPLEX_MIRROR_DEVICE
default n
---help---
Set this to Y if you want to build the
separate ICCom driver test module, which
will conduct all ICCom tests upon insertion
in the kernel.
NOTE: if full tests (using Symspi device driver) are
enabled then this will require also BOSCH_SYMSPI
to be set.
config BOSCH_ICCOM_DEBUG
bool "Enable debug mode for Bosch ICCom driver"
depends on BOSCH_ICCOM
default n
---help---
Setting this parameter to Y will enable
debugging printouts for RX messages
and TX packages of ICCom driver and also
some additional checks and printouts.
config BOSCH_ICCOM_DEBUG_CHANNEL
int "The number of channel to debug, -1 means all"
depends on BOSCH_ICCOM_DEBUG
default -1
---help---
If set to channel number, then ICCom driver
in debug mode will print out only information
regarding given channel.
If set to -1, information of all channels will
be provided.
# TODO: to move it to the dynamic configurable and use this only as default
config ICCOM_DEBUG_MESSAGES_PRINTOUT_MAX_COUNT
int "The number of RX messages to printout by xfer end"
depends on BOSCH_ICCOM_DEBUG
default 5
---help---
Defines the number of received messages from
messages storage which will be printed out at once.
-1 means unlimited;
0 means nothing;
# TODO: to move it to the dynamic configurable and use this only as default
config ICCOM_DEBUG_PACKAGES_PRINTOUT_MAX_COUNT
int "The number of packages to printout by xfer end"
depends on BOSCH_ICCOM_DEBUG
default 5
---help---
Defines the number of packages which will be
printed out from the packages transmission queue
at once.
-1 means unlimited;
0 means nothing;
config BOSCH_ICCOM_WORKQUEUE_MODE
string "The consumer layer data delivery work queue selector"
depends on BOSCH_ICCOM
default "SYSTEM"
---help---
Defines the work queue which will be used to deliver
the messages to the consumer layer (say, from ICCom driver
to the ICCom Sockets Interface driver). The selection
is to be made on the basis of the latency allowed in the
ICCom data delivery. The more critical the latency the
faster WQ is to be selected. Possible options, starting
from high latency expectations and ending with low latency
expectations:
- "SYSTEM": use standard common workqueue (note, it can
easily frees from time to time)
- "SYSTEM_HIGHPRI": use the system common high priority
workqueue, provides lower latency values
expectation
- "PRIVATE": use ICCom dedicated high priority workqueue,
in theory the option which provides the lowest
latency values expectation
config BOSCH_ICCOM_EXAMPLE
tristate "The ICCom + SymSPI example protocol module"
depends on BOSCH_ICCOM_SOCKETS && BOSCH_ICCOM && BOSCH_SYMSPI
default y
---help---
Adds the ICCom + SymSPI protocol configuration into
the ICCom protocol options list, enabling ICCom to use
it for communication.
config BOSCH_ICCOM_TRANSPORT_MIRROR_V1
tristate "The transport level mirrored ICCom protocol driver"
depends on BOSCH_ICCOM_SOCKETS && BOSCH_ICCOM
default n
---help---
Adds the ICCom protocol which is mirrored at the byte
transport full-duplex layer. This can be useful for testing
the ICCom protocol driver itself.
config BOSCH_ICCOM_ICCOM_DEFAULT_DATA_XFER_SIZE
int "The default size (in bytes) of ICCom data xfer."
depends on BOSCH_ICCOM
default 64
range 20 1024
---help---
Tells the ICCom to use given size for the data packages.
As usual: the smaller the size the faster package will be
assembled and sent, but at the same time smaller package
sizes lead to higher overhead for headers transmissions.
Default value is seen as an apropriate automotive data
transmission balance with many small data blocks to be delivered
with low latency. Note, the values smaller than 20 do not
really make any sense, due to the size of the headers
(approximately 11 bytes for joint package header, 1 packet header
and crc32 sum), which would make only 9 payload bytes for each
data xfer in this case. Making it even smaller really does not
make any sense. Making it bigger than 1K also doesn't really make
sense cause ICCom is not zero-copy transport, which mostly
dedicated to the small messages where no-copy mechanics brings
little benefit.