Fix typos and duplication in same featrue
[platform/kernel/tizen-kernel-configs.git] / tizen / tizen_defconfig
1 #
2 # Tizen kernel config options
3 #
4
5
6 # 1. Booting
7
8 #
9 # 1-1. RAMDISK support
10 #
11
12 #   Tizen uses ramdisk on its booting, so it should be possible to recognize
13 #   block ram device, at least, with one, 8MiB and recommendation is 12MiB
14 #   to use recovery ramdisk
15 #   (Mandatory)
16 CONFIG_BLK_DEV=y
17 CONFIG_BLK_DEV_LOOP=y
18 CONFIG_BLK_DEV_INITRD=y
19 CONFIG_BLK_DEV_RAM=y
20 # CONFIG_BLK_DEV_RAM_COUNT=1 # at least, 1
21 CONFIG_BLK_DEV_RAM_COUNT=2
22 # CONFIG_BLK_DEV_RAM_SIZE=8096 # at least, 8096
23 CONFIG_BLK_DEV_RAM_SIZE=32768
24
25 #   (Optional)
26 CONFIG_RD_GZIP=y
27
28 #
29 # 1-2. Basic partitions and FileSystem support on storage
30 #
31
32 #   Tizen uses EFI GUID paritions on it storage and EXT4 as its default file
33 #   system. Basic language support for filesystem is iso8859-1 and it required
34 #   codepage 437, ascii, utf-8.
35 #   (Mandatory)
36 CONFIG_EFI_PARTITION=y
37 CONFIG_EXT4_FS=y
38 CONFIG_EXT4_FS_SECURITY=y
39 CONFIG_NLS=y
40 CONFIG_NLS_DEFAULT="iso8859-1"
41 CONFIG_NLS_CODEPAGE_437=y
42 CONFIG_NLS_ASCII=y
43 CONFIG_NLS_ISO8859_1=y
44 CONFIG_NLS_UTF8=y
45
46 #   Tizen uses DM-VERITY for readonly rootfs.
47 #   (Mandatory)
48 CONFIG_DM_UEVENT=y
49 CONFIG_DM_VERITY=y
50
51 #   Tizen can use BTRFS for rootfs parition.
52 #   (Mandatory)
53 CONFIG_BTRFS_FS=y
54 CONFIG_BTRFS_FS_POSIX_ACL=y
55
56 #   Web engine requires squashfs to access library with compressed fs.
57 #   Also, IoT device with small size storage uses squashfs compressed fs.
58 #   (Mandatory)
59 CONFIG_SQUASHFS=y
60 CONFIG_SQUASHFS_FILE_CACHE=y
61 CONFIG_SQUASHFS_DECOMP_SINGLE=y
62 CONFIG_SQUASHFS_XATTR=y
63 CONFIG_SQUASHFS_ZLIB=y
64 CONFIG_SQUASHFS_LZO=y
65 CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
66 CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
67
68 #   MSDOS paritions made from other system on external storage should be
69 #   recognized in Tizen. Also, EXT2/3 compatiblity and VFAT are recommeded for
70 #   compatibility of external storage.
71 #   (Recommendation)
72 CONFIG_BLK_DEV_SD=y
73 CONFIG_PARTITION_ADVANCED=y
74 CONFIG_MSDOS_PARTITION=y
75 CONFIG_EXT4_USE_FOR_EXT2=y
76 CONFIG_FAT_FS=y
77 CONFIG_VFAT_FS=y
78 CONFIG_FAT_DEFAULT_CODEPAGE=437
79 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
80
81 #
82 # 1-2. Systemd support
83 # Ref. https://github.com/systemd/systemd/blob/master/README
84 #
85
86 #   Tizen uses systemd and required config for systemd.
87 #   (Mandatory)
88 CONFIG_DEVTMPFS=y
89 CONFIG_CGROUPS=y
90 CONFIG_INOTIFY_USER=y
91 CONFIG_SIGNALFD=y
92 CONFIG_TIMERFD=y
93 CONFIG_EPOLL=y
94 CONFIG_NET=y
95 CONFIG_SYSFS=y
96 # CONFIG_SYSFS_DEPRECATED is not set
97 CONFIG_PROC_FS=y
98 CONFIG_FHANDLE=y
99 CONFIG_CRYPTO=y
100 CONFIG_CRYPTO_HMAC=y
101 CONFIG_CRYPTO_SHA256=y
102 CONFIG_UEVENT_HELPER=y
103 CONFIG_UEVENT_HELPER_PATH=""
104 CONFIG_AUTOFS4_FS=y
105
106 #
107 # 1-3. IPC support
108 #
109
110 #   Tizen requies sysv ipc including msgq.
111 #   (Mandatory)
112 CONFIG_SYSVIPC=y
113 CONFIG_SYSVIPC_SYSCTL=y
114
115 #
116 # 1-4. TLM user login support
117 #
118
119 #   Tizen uses tlm for user session and it requires vt.
120 #   (Mandatory)
121 CONFIG_VT=y
122
123 #
124 # 1-5. Other Tizen Booting
125 #
126
127 #   Tizen requies devtmpfs auto-mount and tmpfs.
128 #   (Mandatory)
129 CONFIG_DEVTMPFS_MOUNT=y
130 CONFIG_TMPFS=y
131
132
133 # 2. Tizen Security
134
135 #
136 # 2-1. Access Control
137 # Ref. https://wiki.tizen.org/Security:SmackConfiguration
138 #
139
140 #   Tizen uses ACL and Security SMACK.
141 #   (Mandatory)
142 CONFIG_SECURITY=y
143 CONFIG_SECURITYFS=y
144 CONFIG_SECURITY_NETWORK=y
145 CONFIG_GENERIC_ACL=y
146 CONFIG_FS_POSIX_ACL=y
147 CONFIG_EXT4_FS_POSIX_ACL=y
148 CONFIG_TMPFS_POSIX_ACL=y
149 CONFIG_TMPFS_XATTR=y
150 CONFIG_NETLABEL=y
151 CONFIG_SECURITY_SMACK=y
152 CONFIG_DEFAULT_SECURITY_SMACK=y
153 CONFIG_DEFAULT_SECURITY="smack"
154 CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y
155 CONFIG_EXPORTFS=y
156
157 #   To check non privileged access try, AUDIT is recomended.
158 #   (Recommendation)
159 CONFIG_AUDIT=y
160 CONFIG_AUDIT_GENERIC=y
161 CONFIG_AUDITSYSCALL=y
162
163 #
164 # 2-2. nether
165 # Ref. https://wiki.tizen.org/Security:Nether
166 #
167 #   (Mandatory)
168 CONFIG_NETFILTER=y
169 CONFIG_NETWORK_SECMARK=y
170 CONFIG_SECURITY_SMACK_NETFILTER=y
171 CONFIG_NETFILTER_XT_MARK=y
172 CONFIG_NETFILTER_XT_CONNMARK=y
173 CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
174 CONFIG_IP_NF_TARGET_REJECT=y
175 CONFIG_NETFILTER_XT_TARGET_AUDIT=y
176 CONFIG_NETFILTER_XT_MATCH_OWNER=y
177
178 #
179 # 2-3. Crypto
180 #
181 #   (Recommendation)
182 CONFIG_CRYPTO=y
183 CONFIG_CRYPTO_HMAC=y
184 CONFIG_CRYPTO_SHA256=y
185 CONFIG_KEYS=y
186 CONFIG_CRYPTO_ALGAPI=y
187 CONFIG_CRYPTO_ALGAPI2=y
188 CONFIG_CRYPTO_AEAD=y
189 CONFIG_CRYPTO_AEAD2=y
190 CONFIG_CRYPTO_BLKCIPHER=y
191 CONFIG_CRYPTO_BLKCIPHER2=y
192 CONFIG_CRYPTO_HASH=y
193 CONFIG_CRYPTO_HASH2=y
194 CONFIG_CRYPTO_RNG=y
195 CONFIG_CRYPTO_RNG2=y
196 CONFIG_CRYPTO_PCOMP2=y
197 CONFIG_CRYPTO_MANAGER=y
198 CONFIG_CRYPTO_MANAGER2=y
199 CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
200 CONFIG_CRYPTO_GF128MUL=y
201 CONFIG_CRYPTO_NULL=y
202 CONFIG_CRYPTO_WORKQUEUE=y
203 CONFIG_CRYPTO_AUTHENC=y
204 CONFIG_CRYPTO_CCM=y
205 CONFIG_CRYPTO_GCM=y
206 CONFIG_CRYPTO_SEQIV=y
207 CONFIG_CRYPTO_CMAC=y
208 CONFIG_CRYPTO_GHASH=y
209 CONFIG_CRYPTO_CRC32C=y
210 CONFIG_CRYPTO_MD5=y
211 CONFIG_CRYPTO_SHA1=y
212 CONFIG_CRYPTO_AES=y
213 CONFIG_CRYPTO_ARC4=y
214 CONFIG_CRYPTO_DES=y
215 CONFIG_CRYPTO_TWOFISH=y
216 CONFIG_CRYPTO_TWOFISH_COMMON=y
217 CONFIG_CRYPTO_DEFLATE=y
218 CONFIG_CRYPTO_LZO=y
219 CONFIG_CRYPTO_ANSI_CPRNG=y
220 CONFIG_CRYPTO_HW=y
221
222
223 # 3. deviced
224 # Ref. https://wiki.tizen.org/System:Deviced
225
226 #
227 # 3-1. deviced tzip feature
228 #   deviced requires FUSE for tzip feature to support mount of zip file.
229 #
230 #   (Mandatory)
231 CONFIG_FUSE_FS=y
232
233 #
234 # 3-2. deviced extcon uevent and usb feature
235 #   deviced optionally requires EXTCON to get external connector event like
236 #   USB device port and HDMI.
237 #   USB host and its class drivers are also recommended.
238 #
239 #   (Recommendation)
240 CONFIG_EXTCON=y
241 CONFIG_USB_SUPPORT=y
242 CONFIG_USB_COMMON=y
243 CONFIG_USB=y
244 CONFIG_USB_DEFAULT_PERSIST=y
245 CONFIG_USB_OTG=y
246 CONFIG_USB_STORAGE=y
247 CONFIG_USB_NOTIFY_LAYER=y
248 CONFIG_USB_HOST_NOTIFY=y
249 CONFIG_USB_NOTIFIER=y
250 CONFIG_USB_EXTERNAL_DETECT=y
251 CONFIG_USB_GADGET=y
252 CONFIG_USB_LIBCOMPOSITE=y
253 CONFIG_USB_F_ACM=y
254 CONFIG_USB_F_ACM_SELECTOR=y
255 CONFIG_USB_U_SERIAL=y
256 CONFIG_USB_F_ACM_REQ_U_SERIAL=y
257 CONFIG_USB_U_SERIAL_SELECTOR=y
258 CONFIG_CONFIGFS_FS=y
259 CONFIG_USB_CONFIGFS=y
260 CONFIG_USB_FUNCTIONFS=y
261 CONFIG_USB_FUNCTIONFS_GENERIC=y
262
263 #
264 # 3-3. deviced led feature
265 #   deviced optionally requires LED to show system state.
266 #
267 #   (Recommendation)
268 CONFIG_NEW_LEDS=y
269 CONFIG_LEDS_CLASS=y
270 CONFIG_LEDS_CLASS_FLASH=y
271 CONFIG_LEDS_GPIO=y
272 CONFIG_LEDS_TRIGGERS=y
273 CONFIG_LEDS_TRIGGER_HEARTBEAT=y
274
275
276 # 4. dlog
277 # Ref. https://wiki.tizen.org/3.0_Porting_Guide/System#dlog
278
279 CONFIG_ANDROID=y
280 CONFIG_STAGING=y
281 CONFIG_ANDROID_LOGGER=y
282
283 CONFIG_MULTIPLE_KMSG=y
284
285
286 # 5. resourced
287 # Ref. https://wiki.tizen.org/3.0_Porting_Guide/System#resourced
288
289 #   (Mandatory)
290 CONFIG_CGROUP_SCHED=y
291 CONFIG_MEMCG=y
292
293 #   (Optional)
294 CONFIG_FREEZER=y
295 CONFIG_CGROUP_FREEZER=y
296 CONFIG_SWAP=y
297 CONFIG_MEMCG_SWAP=y
298 CONFIG_MEMCG_SWAP_ENABLED=y
299 CONFIG_ZRAM=y
300 CONFIG_ZRAM_LZ4_COMPRESS=y
301 CONFIG_ZSMALLOC=y
302 CONFIG_CPUSETS=y
303 CONFIG_PROC_PID_CPUSET=y
304
305
306 # 6. Network
307
308 # 6-1. Ethernet and WLAN driver
309 #   (Mandatory)
310 CONFIG_NET=y
311 CONFIG_NETDEVICES=y
312 CONFIG_NET_CORE=y
313 CONFIG_FIB_RULES=y
314 CONFIG_WIRELESS=y
315 CONFIG_WEXT_CORE=y
316 CONFIG_WEXT_PROC=y
317 CONFIG_CFG80211=y
318 CONFIG_CFG80211_DEFAULT_PS=y
319 CONFIG_CFG80211_WEXT=y
320 CONFIG_CFG80211_ALLOW_RECONNECT=y
321 CONFIG_WLAN=y
322
323 #   (Recommendation)
324 CONFIG_USB_NET_DRIVERS=y
325 CONFIG_ETHERNET=y
326
327 # 6-2. Smart Traffic Control (STC) manager
328
329 #   (Mandatory)
330 CONFIG_NET=y
331 CONFIG_PACKET=y
332 CONFIG_UNIX=y
333 CONFIG_DEFAULT_HOSTNAME="(none)"
334 CONFIG_INET=y
335 CONFIG_CONNECTOR=y
336 CONFIG_PROC_EVENTS=y
337 CONFIG_NET_CLS=y
338 CONFIG_NET_CLS_CGROUP=y
339 CONFIG_NET_CLS_ACT=y
340 CONFIG_XFRM=y
341 CONFIG_XFRM_ALGO=y
342 CONFIG_XFRM_USER=y
343 CONFIG_XFRM_IPCOMP=y
344 CONFIG_NET_KEY=y
345 CONFIG_NET_IPGRE_DEMUX=y
346 CONFIG_NET_IP_TUNNEL=y
347 CONFIG_INET_ESP=y
348 CONFIG_INET_TUNNEL=y
349 CONFIG_INET_XFRM_MODE_TRANSPORT=y
350 CONFIG_INET_XFRM_MODE_TUNNEL=y
351 CONFIG_INET_XFRM_MODE_BEET=y
352 CONFIG_INET_DIAG=y
353 CONFIG_INET_TCP_DIAG=y
354 CONFIG_TCP_CONG_CUBIC=y
355 CONFIG_DEFAULT_TCP_CONG="cubic"
356 CONFIG_IPV6=y
357 CONFIG_IPV6_PRIVACY=y
358 CONFIG_IPV6_ROUTER_PREF=y
359 CONFIG_IPV6_ROUTE_INFO=y
360 CONFIG_IPV6_OPTIMISTIC_DAD=y
361 CONFIG_INET6_AH=y
362 CONFIG_INET6_ESP=y
363 CONFIG_INET6_IPCOMP=y
364 CONFIG_IPV6_MIP6=y
365 CONFIG_INET6_XFRM_TUNNEL=y
366 CONFIG_INET6_TUNNEL=y
367 CONFIG_INET6_XFRM_MODE_TRANSPORT=y
368 CONFIG_INET6_XFRM_MODE_TUNNEL=y
369 CONFIG_INET6_XFRM_MODE_BEET=y
370 CONFIG_IPV6_SIT=y
371 CONFIG_IPV6_NDISC_NODETYPE=y
372 CONFIG_IPV6_TUNNEL=y
373 CONFIG_IPV6_MULTIPLE_TABLES=y
374 CONFIG_IPV6_SUBTREES=y
375 CONFIG_NET_ACTIVITY_STATS=y
376 CONFIG_NETFILTER_NETLINK_ACCT=y
377 CONFIG_NETFILTER_NETLINK_QUEUE=y
378 CONFIG_NETFILTER_NETLINK_LOG=y
379 CONFIG_NF_CONNTRACK=y
380 CONFIG_NF_CONNTRACK_MARK=y
381 CONFIG_NF_CONNTRACK_PROCFS=y
382 CONFIG_NF_CONNTRACK_EVENTS=y
383 CONFIG_NF_CT_PROTO_DCCP=y
384 CONFIG_NF_CT_PROTO_GRE=y
385 CONFIG_NF_CT_PROTO_SCTP=y
386 CONFIG_NF_CT_PROTO_UDPLITE=y
387 CONFIG_NF_CONNTRACK_AMANDA=y
388 CONFIG_NF_CONNTRACK_FTP=y
389 CONFIG_NF_CONNTRACK_H323=y
390 CONFIG_NF_CONNTRACK_IRC=y
391 CONFIG_NF_CONNTRACK_BROADCAST=y
392 CONFIG_NF_CONNTRACK_NETBIOS_NS=y
393 CONFIG_NF_CONNTRACK_PPTP=y
394 CONFIG_NF_CONNTRACK_SANE=y
395 CONFIG_NF_CONNTRACK_SIP=y
396 CONFIG_NF_CONNTRACK_TFTP=y
397 CONFIG_NF_CT_NETLINK=y
398 CONFIG_NF_NAT=y
399 CONFIG_NF_NAT_NEEDED=y
400 CONFIG_NF_NAT_PROTO_DCCP=y
401 CONFIG_NF_NAT_PROTO_UDPLITE=y
402 CONFIG_NF_NAT_PROTO_SCTP=y
403 CONFIG_NF_NAT_AMANDA=y
404 CONFIG_NF_NAT_FTP=y
405 CONFIG_NF_NAT_IRC=y
406 CONFIG_NF_NAT_SIP=y
407 CONFIG_NF_NAT_TFTP=y
408 CONFIG_NETFILTER_TPROXY=y
409 CONFIG_IP_NF_TARGET_REJECT_SKERR=y
410 CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
411 CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
412 CONFIG_NETFILTER_XT_TARGET_LOG=y
413 CONFIG_NETFILTER_XT_TARGET_MARK=y
414 CONFIG_NETFILTER_XT_TARGET_NETMAP=y
415 CONFIG_NETFILTER_XT_TARGET_NFLOG=y
416 CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
417 CONFIG_NETFILTER_XT_TARGET_TPROXY=y
418 CONFIG_NETFILTER_XT_TARGET_TRACE=y
419 CONFIG_NETFILTER_XT_TARGET_SECMARK=y
420 CONFIG_NETFILTER_XT_MATCH_CGROUP=y
421 CONFIG_NETFILTER_XT_MATCH_COMMENT=y
422 CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
423 CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
424 CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
425 CONFIG_NETFILTER_XT_MATCH_ECN=y
426 CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
427 CONFIG_NETFILTER_XT_MATCH_HELPER=y
428 CONFIG_NETFILTER_XT_MATCH_HL=y
429 CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
430 CONFIG_NETFILTER_XT_MATCH_LENGTH=y
431 CONFIG_NETFILTER_XT_MATCH_LIMIT=y
432 CONFIG_NETFILTER_XT_MATCH_MAC=y
433 CONFIG_NETFILTER_XT_MATCH_MARK=y
434 CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
435 CONFIG_NETFILTER_XT_MATCH_NFACCT=y
436 CONFIG_NETFILTER_XT_MATCH_POLICY=y
437 CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
438 CONFIG_NETFILTER_XT_MATCH_QUOTA=y
439 CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
440 CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
441 CONFIG_NETFILTER_XT_MATCH_SOCKET=y
442 CONFIG_NETFILTER_XT_MATCH_STATE=y
443 CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
444 CONFIG_NETFILTER_XT_MATCH_STRING=y
445 CONFIG_NETFILTER_XT_MATCH_TIME=y
446 CONFIG_NETFILTER_XT_MATCH_U32=y
447 CONFIG_NF_CONNTRACK_PROC_COMPAT=y
448 CONFIG_IP_NF_IPTABLES=y
449 CONFIG_IP_NF_MATCH_AH=y
450 CONFIG_IP_NF_MATCH_ECN=y
451 CONFIG_IP_NF_MATCH_TTL=y
452 CONFIG_IP_NF_FILTER=y
453 CONFIG_NF_NAT_IPV4=y
454 CONFIG_IP_NF_TARGET_NETMAP=y
455 CONFIG_IP_NF_TARGET_REDIRECT=y
456 CONFIG_NF_NAT_PROTO_GRE=y
457 CONFIG_NF_NAT_PPTP=y
458 CONFIG_NF_NAT_H323=y
459 CONFIG_IP_NF_RAW=y
460 CONFIG_IP_NF_ARPTABLES=y
461 CONFIG_IP_NF_ARPFILTER=y
462 CONFIG_IP_NF_ARP_MANGLE=y
463 CONFIG_NF_DEFRAG_IPV6=y
464 CONFIG_NF_CONNTRACK_IPV6=y
465 CONFIG_IP6_NF_IPTABLES=y
466 CONFIG_IP6_NF_FILTER=y
467 CONFIG_IP6_NF_TARGET_REJECT=y
468 CONFIG_IP6_NF_TARGET_REJECT_SKERR=y
469 CONFIG_IP6_NF_RAW=y
470 CONFIG_L2TP=y
471 CONFIG_NET_SCHED=y
472 CONFIG_NET_SCH_HTB=y
473 CONFIG_NET_CLS_U32=y
474 CONFIG_NET_EMATCH=y
475 CONFIG_NET_EMATCH_STACK=32
476 CONFIG_NET_EMATCH_U32=y
477 CONFIG_NET_CLS_ACT=y
478 CONFIG_NET_SCH_FIFO=y
479 CONFIG_RPS=y
480 CONFIG_RFS_ACCEL=y
481 CONFIG_XPS=y
482 CONFIG_BQL=y
483
484 #
485 # 6-3. Tethering
486 #
487 #   (Mandatory)
488 CONFIG_IP_MULTICAST=y
489 CONFIG_IP_ADVANCED_ROUTER=y
490 CONFIG_IP_MULTIPLE_TABLES=y
491 CONFIG_NETFILTER_ADVANCED=y
492 CONFIG_BRIDGE_NETFILTER=y
493 CONFIG_NETFILTER_NETLINK=y
494 CONFIG_NETFILTER_NETLINK_LOG=y
495 CONFIG_NF_CONNTRACK=y
496 CONFIG_NF_CONNTRACK_MARK=y
497 CONFIG_NF_TABLES=y
498 CONFIG_NF_TABLES_INET=y
499 CONFIG_NFT_CT=y
500 CONFIG_NFT_MASQ=y
501 CONFIG_NFT_NAT=y
502 CONFIG_NETFILTER_XTABLES=y
503 CONFIG_NETFILTER_XT_MARK=y
504 CONFIG_NETFILTER_XT_CONNMARK=y
505 CONFIG_NETFILTER_XT_NAT=y
506 CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
507 CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
508 CONFIG_NETFILTER_XT_MATCH_STATE=y
509 CONFIG_NF_DEFRAG_IPV4=y
510 CONFIG_NF_CONNTRACK_IPV4=y
511 CONFIG_NF_TABLES_IPV4=y
512 CONFIG_NFT_CHAIN_ROUTE_IPV4=y
513 CONFIG_NF_REJECT_IPV4=y
514 CONFIG_NF_NAT_IPV4=y
515 CONFIG_NFT_CHAIN_NAT_IPV4=y
516 CONFIG_NF_NAT_MASQUERADE_IPV4=y
517 CONFIG_IP_NF_NAT=y
518 CONFIG_NF_NAT_IPV6=y
519 CONFIG_IP_NF_TARGET_MASQUERADE=y
520 CONFIG_IP6_NF_TARGET_MASQUERADE=y
521 CONFIG_IP_NF_MANGLE=y
522 CONFIG_IP6_NF_MANGLE=y
523 CONFIG_STP=y
524 CONFIG_BRIDGE=y
525 CONFIG_BRIDGE_IGMP_SNOOPING=y
526 CONFIG_HAVE_NET_DSA=y
527
528 #
529 # 6-4. VPN service
530 #   Tizen uses openvpn for vpn service and openvpn requires Universal TUN/TAP
531 #   device driver support.
532 #   Ref. https://wiki.archlinux.org/index.php/OpenVPN#Kernel_configuration
533 #
534 #   (Mandatory)
535 CONFIG_TUN=y
536
537 # 7. Blueooth
538
539 #   (Recommendation)
540 CONFIG_BT=y
541 CONFIG_BT_BREDR=y
542 CONFIG_BT_RFCOMM=y
543 CONFIG_BT_RFCOMM_TTY=y
544 CONFIG_BT_BNEP=y
545 CONFIG_BT_BNEP_MC_FILTER=y
546 CONFIG_BT_BNEP_PROTO_FILTER=y
547 CONFIG_BT_HIDP=y
548 CONFIG_BT_LE=y
549 CONFIG_BT_6LOWPAN=y
550 CONFIG_RFKILL=y
551 CONFIG_RFKILL_PM=y
552 CONFIG_RFKILL_REGULATOR=y
553 CONFIG_BT_HCIUART=y
554 CONFIG_BT_HCIBTUSB=y
555
556 #
557 # 7-1. BLE Mesh support in BlueZ
558 #
559 #   Tizen uses BLE Mesh with BlueZ and it requires CRYPTO_USER_API
560 #   Ref. https://www.spinics.net/lists/linux-bluetooth/msg72012.html
561 #   (Recommendation)
562 CONFIG_CRYPTO_CCM=y
563 CONFIG_CRYPTO_CMAC=y
564 CONFIG_CRYPTO_USER_API=y
565 CONFIG_CRYPTO_USER_API_HASH=y
566 CONFIG_CRYPTO_USER_API_SKCIPHER=y
567 CONFIG_CRYPTO_USER_API_RNG=y
568 CONFIG_CRYPTO_USER_API_AEAD=y
569
570 # 8. Display manager
571
572 #   Tizen recommends display with Kernel DRM subsystem to support KMS.
573 #   For Display memory, drm gem is mainly used and CMA backend is primary for
574 #   drm gem. SYNC framework and SW_SYNC are also recommended.
575 #   (Recommendation)
576 CONFIG_DRM=y
577 CONFIG_DRM_KMS_HELPER=y
578 CONFIG_DRM_KMS_FB_HELPER=y
579 CONFIG_DRM_FBDEV_EMULATION=y
580 CONFIG_DRM_FBDEV_OVERALLOC=100
581 CONFIG_DRM_GEM_CMA_HELPER=y
582 CONFIG_DRM_KMS_CMA_HELPER=y
583 CONFIG_FB=y
584 CONFIG_FB_CMDLINE=y
585 CONFIG_FB_CFB_FILLRECT=y
586 CONFIG_FB_CFB_COPYAREA=y
587 CONFIG_FB_CFB_IMAGEBLIT=y
588 CONFIG_FB_MODE_HELPERS=y
589 CONFIG_VIDEOMODE_HELPERS=y
590 CONFIG_HDMI=y
591 CONFIG_BACKLIGHT_LCD_SUPPORT=y
592 CONFIG_LCD_CLASS_DEVICE=y
593 CONFIG_BACKLIGHT_CLASS_DEVICE=y
594 CONFIG_DUMMY_CONSOLE=y
595 CONFIG_FRAMEBUFFER_CONSOLE=y
596 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
597 CONFIG_SYNC_FILE=y
598 CONFIG_SYNC=y
599 CONFIG_SW_SYNC=y
600 CONFIG_SW_SYNC_USER=y
601 CONFIG_DMA_SHARED_BUFFER=y
602 CONFIG_CMA=y
603 CONFIG_DMA_CMA=y
604 CONFIG_CMA_ALIGNMENT=4
605 CONFIG_CMA_AREAS=7
606 # at least, CONFIG_CMA_SIZE_MBYTES=64
607 CONFIG_CMA_SIZE_MBYTES=256
608 CONFIG_CMA_SIZE_SEL_MBYTES=y
609
610
611 # 9. Input system
612
613 #   (Mandatory)
614 CONFIG_INPUT=y
615 CONFIG_INPUT_MATRIXKMAP=y
616 CONFIG_INPUT_MOUSEDEV=y
617 CONFIG_INPUT_JOYDEV=y
618 CONFIG_INPUT_EVDEV=y
619 CONFIG_INPUT_KEYBOARD=y
620 CONFIG_INPUT_MOUSE=y
621 CONFIG_INPUT_JOYSTICK=y
622 CONFIG_INPUT_TOUCHSCREEN=y
623 CONFIG_INPUT_MISC=y
624 CONFIG_INPUT_GPIO=y
625 CONFIG_INPUT_UINPUT=y
626 CONFIG_HID=y
627 CONFIG_HIDRAW=y
628 CONFIG_UHID=y
629 CONFIG_HID_GENERIC=y
630 CONFIG_USB_HID=y
631
632
633 # 10. Audio
634
635 #   Tizen uses audio node for audio module.
636 #   (Mandatory)
637 CONFIG_SOUND=y
638 CONFIG_SND=y
639 CONFIG_SND_TIMER=y
640 CONFIG_SND_PCM=y
641 CONFIG_SND_DRIVERS=y
642
643 #   (Recommendation)
644 CONFIG_SND_RAWMIDI=y
645 CONFIG_SND_COMPRESS_OFFLOAD=y
646 CONFIG_SND_JACK=y
647 CONFIG_SND_VERBOSE_PROCFS=y
648 CONFIG_SND_SPI=y
649 CONFIG_SND_USB=y
650 CONFIG_SND_SOC=y
651
652
653 # 11. Multimedia
654
655 #   11-1. Video & Camera
656 #   Tizen uses v4l2 video node for multimedia module.
657 #   (Recommendation)
658 CONFIG_MEDIA_SUPPORT=y
659 CONFIG_MEDIA_CAMERA_SUPPORT=y
660 CONFIG_MEDIA_RADIO_SUPPORT=y
661 CONFIG_MEDIA_CONTROLLER=y
662 CONFIG_VIDEO_DEV=y
663 CONFIG_VIDEO_V4L2_SUBDEV_API=y
664 CONFIG_VIDEO_V4L2=y
665 CONFIG_V4L2_MEM2MEM_DEV=y
666 CONFIG_VIDEOBUF2_CORE=y
667 CONFIG_VIDEOBUF2_MEMOPS=y
668 CONFIG_VIDEOBUF2_DMA_CONTIG=y
669 CONFIG_VIDEOBUF2_VMALLOC=y
670 CONFIG_V4L_PLATFORM_DRIVERS=y
671 CONFIG_USB_VIDEO_CLASS=y
672 CONFIG_RADIO_ADAPTERS=y
673 CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
674 CONFIG_MEDIA_TUNER=y
675 CONFIG_MEDIA_TUNER_SIMPLE=y
676 CONFIG_MEDIA_ATTACH=y
677
678 #   11-2. TV tuner and DVB
679 #   Tizen TV uses DVB subsystem and RC subsystem.
680 #   (Recommendation)
681 CONFIG_MEDIA_SUPPORT=y
682 CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
683 CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
684 CONFIG_MEDIA_RC_SUPPORT=y
685 CONFIG_MEDIA_CONTROLLER=y
686 CONFIG_VIDEO_DEV=y
687 CONFIG_VIDEO_V4L2_SUBDEV_API=y
688 CONFIG_VIDEO_V4L2=y
689 CONFIG_VIDEO_TUNER=y
690 CONFIG_VIDEOBUF_DVB=y
691 CONFIG_VIDEOBUF2_CORE=y
692 CONFIG_VIDEOBUF2_MEMOPS=y
693 CONFIG_DVB_CORE=y
694 CONFIG_DVB_NET=y
695 CONFIG_RC_CORE=y
696 CONFIG_RC_MAP=y
697 CONFIG_RC_DECODERS=y
698 CONFIG_MEDIA_USB_SUPPORT=y
699 CONFIG_DVB_USB=y
700 CONFIG_DVB_USB_V2=y
701 CONFIG_VIDEO_IR_I2C=y
702
703
704 # 12. Application Framework
705
706 #
707 #   12-1. alarm manager
708 #   Alarm manager uses rtc to set alarm timer.
709 #
710 #   (Mandatory)
711 CONFIG_RTC_LIB=y
712 CONFIG_RTC_CLASS=y
713 CONFIG_RTC_HCTOSYS=y
714 CONFIG_RTC_SYSTOHC=y
715 CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
716 CONFIG_RTC_NVMEM=y
717 CONFIG_RTC_INTF_SYSFS=y
718 CONFIG_RTC_INTF_PROC=y
719 CONFIG_RTC_INTF_DEV=y
720 CONFIG_RTC_I2C_AND_SPI=y
721
722 #
723 #   12-2. Application to SD (app2sd)
724 #   Application on external storage requires Device Mapper Crpyto and its
725 #   crypto apis.
726 #
727 #   (Mandatory)
728 CONFIG_MD=y
729 CONFIG_BLK_DEV_DM_BUILTIN=y
730 CONFIG_BLK_DEV_DM=y
731 CONFIG_DM_CRYPT=y
732 CONFIG_CRYPTO=y
733 CONFIG_CRYPTO_CBC=y
734 CONFIG_CRYPTO_CTR=y
735 CONFIG_CRYPTO_ECB=y
736 CONFIG_CRYPTO_XTS=y
737 CONFIG_CRYPTO_SHA1=y
738 CONFIG_CRYPTO_SHA256=y
739 CONFIG_CRYPTO_AES=y
740 CONFIG_BLK_DEV=y
741 CONFIG_BLK_DEV_LOOP=y
742 CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
743 CONFIG_BLK_DEV_CRYPTOLOOP=y