1menu "Linux Kernel Extensions"
2
3#-------------------------------------------------------------------------------
4# Xenomai
5config BR2_LINUX_KERNEL_EXT_XENOMAI
6	bool "Adeos/Xenomai Real-time patch"
7	depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
8	depends on BR2_USE_MMU # xenomai
9	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xenomai
10	depends on BR2_TOOLCHAIN_HAS_THREADS # xenomai
11	depends on !BR2_TOOLCHAIN_USES_MUSL # xenomai
12	select BR2_PACKAGE_XENOMAI
13	help
14	  Xenomai is split in two parts: a kernel part and a userspace
15	  part. Enabling this option automatically selects the Xenomai
16	  package and helps in patching the Linux kernel built by
17	  Buildroot with the Xenomai kernel part (ie Adeos/Ipipe).
18
19	  You can find the currently supported kernel versions by
20	  looking at the available patches in the Xenomai sources
21	  tree: ksrc/arch/$(ARCH)/patches
22
23	  However, it is recommended to use the latest version of the
24	  Adeos/Ipipe patch available at
25	  https://xenomai.org/downloads/ipipe/
26
27	  Xenomai is know to support Blackfin, SH4, x86, ARM, NIOS2
28	  and PowerPC architectures.
29
30config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH
31	string "Path/URL for Adeos patch file"
32	depends on BR2_LINUX_KERNEL_EXT_XENOMAI
33	help
34	  Optionally, explicitly specify where to find the Adeos
35	  patch to use.
36	  Examples:
37	  https://xenomai.org/downloads/ipipe/v4.x/arm/ipipe-core-4.19.33-arm-2.patch
38	  or /home/foo/ipipe-core-4.19.33-arm-2.patch
39	  Please verify that your kernel version in Buildroot matches.
40
41comment "xenomai needs a uClibc or glibc toolchain w/ threads"
42	depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS
43	depends on BR2_USE_MMU
44	depends on BR2_TOOLCHAIN_HAS_SYNC_4
45	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL
46
47#-------------------------------------------------------------------------------
48# RTAI
49config BR2_LINUX_KERNEL_EXT_RTAI
50	bool "RTAI Real-time patch"
51	depends on !BR2_LINUX_KERNEL_LATEST_VERSION
52	depends on !BR2_LINUX_KERNEL_LATEST_CIP_VERSION
53	depends on !BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
54	select BR2_PACKAGE_RTAI
55	help
56	  RTAI Kernel part.
57
58#-------------------------------------------------------------------------------
59# ev3dev Linux drivers
60config BR2_LINUX_KERNEL_EXT_EV3DEV_LINUX_DRIVERS
61	bool "ev3dev Linux drivers"
62	select BR2_PACKAGE_EV3DEV_LINUX_DRIVERS
63	help
64	  Linux drivers for LEGO MINDSTORMS EV3 from the ev3dev project.
65
66	  https://github.com/ev3dev/lego-linux-drivers
67
68#-------------------------------------------------------------------------------
69# fbtft
70config BR2_LINUX_KERNEL_EXT_FBTFT
71	bool "FB TFT drivers"
72	select BR2_PACKAGE_FBTFT
73	help
74	  Linux Framebuffer drivers for small TFT LCD display modules,
75	  e.g. Adafruit PiTFT displays for Raspberry Pi (this extra
76	  package is only needed for linux kernels until v3.19, since
77	  v4.0 the drivers are included in the staging area).
78
79	  To enable fbtft, e.g. for Adafruit 2.8 PiTFT, enable the
80	  following kernel configurations:
81	  - CONFIG_SPI
82	  - CONFIG_GPIOLIB
83	  - CONFIG_FB
84	  - CONFIG_FB_TFT
85	  - CONFIG_FB_TFT_ILI9341
86
87	  https://github.com/notro/fbtft
88
89# aufs-standalone
90config BR2_LINUX_KERNEL_EXT_AUFS
91	bool "Aufs Filesystem Module patch"
92	select BR2_PACKAGE_AUFS
93	help
94	  Aufs is split in two parts: a kernel part and a userspace
95	  part. Enabling this option automatically selects the aufs
96	  standalone (module) package and patches the Linux kernel
97	  built by Buildroot with the aufs kernel part (ie fs/aufs).
98
99	  It is important to use the correct branch of aufs-standalone.
100
101if BR2_LINUX_KERNEL_EXT_AUFS
102
103choice
104	bool "aufs-standalone series"
105	help
106	  Select the major series of this version. This must match the
107	  major version of your kernel (e.g. for kernels 3.x, select
108	  aufs3.x; for kernels 4.x, select aufs4.x; for kernels 5.x,
109	  select aufs5.x ).
110
111	  Note: neither aufs1.x nor aufs2.x (both for kernels older than
112	  3.x) are supported.
113
114config BR2_LINUX_KERNEL_EXT_AUFS_SERIES_3
115	bool "aufs3.x"
116
117config BR2_LINUX_KERNEL_EXT_AUFS_SERIES_4
118	bool "aufs4.x"
119
120config BR2_LINUX_KERNEL_EXT_AUFS_SERIES_5
121	bool "aufs5.x"
122
123endchoice
124
125config BR2_LINUX_KERNEL_EXT_AUFS_SERIES
126	int
127	default 3 if BR2_LINUX_KERNEL_EXT_AUFS_SERIES_3
128	default 4 if BR2_LINUX_KERNEL_EXT_AUFS_SERIES_4
129	default 5 if BR2_LINUX_KERNEL_EXT_AUFS_SERIES_5
130
131config BR2_LINUX_KERNEL_EXT_AUFS_VERSION
132	string "aufs-standalone version"
133	default ""
134	help
135	  The version you choose must match that of your kernel.
136	  Usually, the sha1 of the cset you want to use; avoid using a
137	  branch name as this yields non-reproducible builds.
138
139	  See the following resources to see what versions are
140	  available:
141
142	  For aufs3.x:
143	  https://sourceforge.net/p/aufs/aufs3-standalone/ref/master/branches/
144	  For aufs4.x:
145	  https://github.com/sfjro/aufs4-standalone/branches/all
146	  For aufs5.x:
147	  https://github.com/sfjro/aufs5-standalone/branches/all
148
149endif # aufs
150
151# kernel extensions from br2-external trees, if any
152source "$BR2_BASE_DIR/.br2-external.in.linux"
153
154endmenu
155