forked from passinglink/passinglink
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKconfig
241 lines (191 loc) · 5.34 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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
mainmenu "Configuration"
menu "PassingLink Configuration"
config PASSINGLINK_ALLOCATOR
bool "Use passinglink's custom allocator"
default y
default n if NATIVE_APPLICATION
help
Use a custom allocator with precisely-sized buckets for PS4 authentication with mbedtls.
config PASSINGLINK_CHECK_MAIN_STACK_HWM
bool "Check the main stack's high watermark"
default y
select INIT_STACKS
help
Calculate the main stack's high watermark.
config PASSINGLINK_PROFILING
bool "Enable time profiling"
default n
help
Profile some important functions.
choice PASSINGLINK_INPUT
prompt "Input method"
default PASSINGLINK_INPUT_GPIO
config PASSINGLINK_INPUT_NONE
bool "None"
help
Disable input
config PASSINGLINK_INPUT_GPIO
bool "GPIO pins"
help
Enable input from GPIO pins
config PASSINGLINK_INPUT_EXTERNAL
bool "External (e.g. shell)"
help
Enable input from an external source (e.g. the shell)
endchoice
choice PASSINGLINK_INPUT_TOUCHPAD
prompt "Trackpad"
default PASSINGLINK_INPUT_TOUCHPAD_NONE
config PASSINGLINK_INPUT_TOUCHPAD_NONE
bool "None"
help
Disable touchpad input.
config PASSINGLINK_INPUT_TOUCHPAD_PANTHERA
bool "Razer Panthera"
select I2C
help
Enable Razer Panthera touchpad input.
endchoice
config PASSINGLINK_INPUT_QUEUE
bool "Input queue"
default n
help
Enable input queue.
config PASSINGLINK_INPUT_SHELL
bool "Enable input from shell"
default n
select SHELL
select PASSINGLINK_INPUT_QUEUE
help
Enable input from UART shell.
menu "Output methods"
config PASSINGLINK_OUTPUT_USB_SWITCH
bool "Enable Nintendo Switch emulation"
default y
help
Output to Switch over USB
config PASSINGLINK_OUTPUT_USB_SWITCH_PROBE
bool "Automatically detect Nintendo Switch"
default y
depends on PASSINGLINK_OUTPUT_USB_SWITCH
help
Automatically detect the Nintendo Switch.
This adds ~1 second to startup time if we're not connected to a Switch.
With this disabled, you can still select the Switch manually by holding Square.
config PASSINGLINK_OUTPUT_USB_PS3
bool "Enable PS3 emulation"
default y
help
Output to PS3 over USB
config PASSINGLINK_OUTPUT_USB_PS3_PROBE
bool "Automatically detect PS3"
default y
depends on PASSINGLINK_OUTPUT_USB_PS3
help
Automatically detect the PS3.
This adds ~1 second to startup time if we're not connected to a PS3.
With this disabled, you can still select the PS3 manually by holding Triangle.
config PASSINGLINK_OUTPUT_USB_PS4
bool "Enable PS4 emulation"
default y
help
Output to PS4 over USB
config PASSINGLINK_OUTPUT_USB_PS4_AUTH
bool "Enable PS4 authentication"
default y
help
Enable PS4 authentication
depends on MBEDTLS && PASSINGLINK_OUTPUT_USB_PS4
config PASSINGLINK_OUTPUT_USB_FORCE_PROBE_REBOOT
bool "Force reboot for USB probe"
default n
help
Reboot to probe USB even on boards that support USB deinitialization
depends on PASSINGLINK_OUTPUT_USB_SWITCH_PROBE || PASINGLINK_OUTPUT_USB_PS3_PROBE
config PASSINGLINK_OUTPUT_USB_DEFERRED
bool "Defer USB writes for better latency"
default y
config PASSINGLINK_OUTPUT_USB_DEFERRED_WORK_QUEUE
bool "Move deferred USB writes to their own work queue for better latency"
default y
depends on PASSINGLINK_OUTPUT_DEFERRED
help
Move USB HID handling to a separate maximum-priority work queue.
endmenu # Output methods
menu "Display"
config PASSINGLINK_LED
bool "LED output"
default y
help
Enable LED management
config PASSINGLINK_DISPLAY
bool "Enable display output"
default n
help
Enable display output
config PASSINGLINK_DISPLAY_SSD1306
bool "Enable SSD1306 display output"
default n
help
Enable I2C output to an SSD1306 OLED driver
select I2C
depends on PASSINGLINK_DISPLAY
endmenu
config PASSINGLINK_RUNTIME_PROVISIONING
bool "Support provisioning of device keys over USB"
default y
depends on FLASH
depends on FLASH_MAP
menu "Optional components"
config PASSINGLINK_BT
bool "Bluetooth"
default n
select BT
select BT_PERIPHERAL
select BT_DEVICE_NAME_DYNAMIC
help
Bluetooth support.
config PASSINGLINK_BT_INPUT
bool "External input over Bluetooth"
depends on PASSINGLINK_INPUT_EXTERNAL
config PASSINGLINK_BT_AUTHENTICATION
bool "Use Bluetooth authentication"
default y
select BT_SMP
select BT_FIXED_PASSKEY
depends on PASSINGLINK_BT
config PASSINGLINK_BT_PAIRING_KEY
int "Bluetooth pairing key"
default 123456
depends on PASSINGLINK_BT_AUTHENTICATION
help
Bluetooth pairing key.
config PASSINGLINK_OPT_GUNDAM_CAMERA
bool "Gundam EXVS spectator camera control"
default n
select PASSINGLINK_INPUT_QUEUE
help
Macros to control the spectator camera in Gundam.
endmenu # Optional components
endmenu # Passing Link Configuration
menu "Kernel configuration"
source "Kconfig.zephyr"
endmenu # Kernel configuration
# Don't emit logs twice.
config LOG_BACKEND_UART
default n if SHELL
# Set USB logging to ERR by default.
config USB_DRIVER_LOG_LEVEL
default 1 if LOG
config USB_DEVICE_LOG_LEVEL
default 1 if LOG
# Turn on zero latency IRQs to reduce Bluetooth radio IRQ latency.
config ZERO_LATENCY_IRQS
default y if PASSINGLINK_BT
config BT_CTLR_ZLI
default y if PASSINGLINK_BT
# Prefer 7.5ms connection interval.
config BT_PERIPHERAL_PREF_MIN_INT
default 6 if PASSINGLINK_BT
config BT_PERIPHERAL_PREF_MAX_INT
default 6 if PASSINGLINK_BT