Skip to content

Commit 7c3040a

Browse files
committed
Update to Linux 6.6, DRM, and libcamera
This updates the Linux kernel to the same version used for the 64-bit Nerves system ports and mirrors much of the configuration. The major change is to switch away from the old MMAL video and camera drivers. This aligns Nerves RPi support much closer to upstream.
1 parent e738c3d commit 7c3040a

File tree

3 files changed

+37
-163
lines changed

3 files changed

+37
-163
lines changed

linux-6.1.defconfig linux-6.6.defconfig

+31-157
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,11 @@ CONFIG_CGROUP_PIDS=y
1414
CONFIG_CGROUP_FREEZER=y
1515
CONFIG_CGROUP_DEVICE=y
1616
CONFIG_CGROUP_CPUACCT=y
17-
CONFIG_NAMESPACES=y
1817
# CONFIG_UTS_NS is not set
1918
# CONFIG_IPC_NS is not set
2019
# CONFIG_PID_NS is not set
2120
# CONFIG_NET_NS is not set
2221
CONFIG_SCHED_AUTOGROUP=y
23-
CONFIG_EMBEDDED=y
2422
# CONFIG_PERF_EVENTS is not set
2523
CONFIG_PROFILING=y
2624
CONFIG_ARCH_MULTI_V6=y
@@ -47,7 +45,6 @@ CONFIG_JUMP_LABEL=y
4745
CONFIG_MODULES=y
4846
CONFIG_MODULE_UNLOAD=y
4947
CONFIG_MODVERSIONS=y
50-
CONFIG_TRIM_UNUSED_KSYMS=y
5148
CONFIG_PARTITION_ADVANCED=y
5249
# CONFIG_EFI_PARTITION is not set
5350
# CONFIG_MQ_IOSCHED_DEADLINE is not set
@@ -134,6 +131,7 @@ CONFIG_RT2800USB_RT53XX=y
134131
# CONFIG_WLAN_VENDOR_TI is not set
135132
# CONFIG_WLAN_VENDOR_ZYDAS is not set
136133
# CONFIG_INPUT_LEDS is not set
134+
CONFIG_INPUT_FF_MEMLESS=y
137135
# CONFIG_INPUT_KEYBOARD is not set
138136
# CONFIG_INPUT_MOUSE is not set
139137
CONFIG_INPUT_JOYSTICK=y
@@ -149,7 +147,6 @@ CONFIG_BCM_VCIO=y
149147
CONFIG_SERIAL_8250=y
150148
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
151149
CONFIG_SERIAL_8250_CONSOLE=y
152-
# CONFIG_SERIAL_8250_DMA is not set
153150
CONFIG_SERIAL_8250_NR_UARTS=1
154151
CONFIG_SERIAL_8250_RUNTIME_UARTS=0
155152
CONFIG_SERIAL_8250_EXTENDED=y
@@ -158,18 +155,17 @@ CONFIG_SERIAL_8250_BCM2835AUX=y
158155
CONFIG_SERIAL_OF_PLATFORM=y
159156
CONFIG_SERIAL_AMBA_PL011=y
160157
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
161-
CONFIG_TTY_PRINTK=y
162158
CONFIG_HW_RANDOM=y
163159
CONFIG_I2C=y
164160
CONFIG_I2C_CHARDEV=y
161+
CONFIG_I2C_MUX_PINCTRL=m
165162
CONFIG_I2C_BCM2708=y
166163
CONFIG_I2C_BCM2835=y
167164
CONFIG_SPI=y
168165
CONFIG_SPI_BCM2835=y
169166
CONFIG_SPI_BCM2835AUX=y
170167
CONFIG_SPI_SPIDEV=y
171168
# CONFIG_PTP_1588_CLOCK is not set
172-
CONFIG_GPIO_SYSFS=y
173169
CONFIG_GPIO_BCM_VIRT=y
174170
CONFIG_W1=y
175171
CONFIG_W1_MASTER_GPIO=y
@@ -186,156 +182,21 @@ CONFIG_BCM2835_WDT=y
186182
CONFIG_BCMA=m
187183
CONFIG_REGULATOR=y
188184
CONFIG_REGULATOR_FIXED_VOLTAGE=m
185+
CONFIG_REGULATOR_AD5398=m
189186
CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m
190187
CONFIG_MEDIA_SUPPORT=m
191-
# CONFIG_DVB_NET is not set
192-
# CONFIG_DVB_DYNAMIC_MINORS is not set
193-
# CONFIG_RADIO_ADAPTERS is not set
188+
CONFIG_MEDIA_CAMERA_SUPPORT=y
189+
CONFIG_MEDIA_PLATFORM_SUPPORT=y
194190
CONFIG_V4L_PLATFORM_DRIVERS=y
195-
# CONFIG_CXD2880_SPI_DRV is not set
196-
# CONFIG_MEDIA_TUNER_E4000 is not set
197-
# CONFIG_MEDIA_TUNER_FC0011 is not set
198-
# CONFIG_MEDIA_TUNER_FC0012 is not set
199-
# CONFIG_MEDIA_TUNER_FC0013 is not set
200-
# CONFIG_MEDIA_TUNER_FC2580 is not set
201-
# CONFIG_MEDIA_TUNER_IT913X is not set
202-
# CONFIG_MEDIA_TUNER_M88RS6000T is not set
203-
# CONFIG_MEDIA_TUNER_MAX2165 is not set
204-
# CONFIG_MEDIA_TUNER_MC44S803 is not set
205-
# CONFIG_MEDIA_TUNER_MSI001 is not set
206-
# CONFIG_MEDIA_TUNER_MT2060 is not set
207-
# CONFIG_MEDIA_TUNER_MT2063 is not set
208-
# CONFIG_MEDIA_TUNER_MT20XX is not set
209-
# CONFIG_MEDIA_TUNER_MT2131 is not set
210-
# CONFIG_MEDIA_TUNER_MT2266 is not set
211-
# CONFIG_MEDIA_TUNER_MXL301RF is not set
212-
# CONFIG_MEDIA_TUNER_MXL5005S is not set
213-
# CONFIG_MEDIA_TUNER_MXL5007T is not set
214-
# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set
215-
# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set
216-
# CONFIG_MEDIA_TUNER_QT1010 is not set
217-
# CONFIG_MEDIA_TUNER_R820T is not set
218-
# CONFIG_MEDIA_TUNER_SI2157 is not set
219-
# CONFIG_MEDIA_TUNER_SIMPLE is not set
220-
# CONFIG_MEDIA_TUNER_TDA18212 is not set
221-
# CONFIG_MEDIA_TUNER_TDA18218 is not set
222-
# CONFIG_MEDIA_TUNER_TDA18250 is not set
223-
# CONFIG_MEDIA_TUNER_TDA18271 is not set
224-
# CONFIG_MEDIA_TUNER_TDA827X is not set
225-
# CONFIG_MEDIA_TUNER_TDA8290 is not set
226-
# CONFIG_MEDIA_TUNER_TDA9887 is not set
227-
# CONFIG_MEDIA_TUNER_TEA5761 is not set
228-
# CONFIG_MEDIA_TUNER_TEA5767 is not set
229-
# CONFIG_MEDIA_TUNER_TUA9001 is not set
230-
# CONFIG_MEDIA_TUNER_XC2028 is not set
231-
# CONFIG_MEDIA_TUNER_XC4000 is not set
232-
# CONFIG_MEDIA_TUNER_XC5000 is not set
233-
# CONFIG_DVB_MXL5XX is not set
234-
# CONFIG_DVB_STB0899 is not set
235-
# CONFIG_DVB_STB6100 is not set
236-
# CONFIG_DVB_STV090x is not set
237-
# CONFIG_DVB_STV0910 is not set
238-
# CONFIG_DVB_STV6110x is not set
239-
# CONFIG_DVB_STV6111 is not set
240-
# CONFIG_DVB_DRXK is not set
241-
# CONFIG_DVB_MN88472 is not set
242-
# CONFIG_DVB_MN88473 is not set
243-
# CONFIG_DVB_SI2165 is not set
244-
# CONFIG_DVB_TDA18271C2DD is not set
245-
# CONFIG_DVB_CX24110 is not set
246-
# CONFIG_DVB_CX24116 is not set
247-
# CONFIG_DVB_CX24117 is not set
248-
# CONFIG_DVB_CX24120 is not set
249-
# CONFIG_DVB_CX24123 is not set
250-
# CONFIG_DVB_DS3000 is not set
251-
# CONFIG_DVB_MB86A16 is not set
252-
# CONFIG_DVB_MT312 is not set
253-
# CONFIG_DVB_S5H1420 is not set
254-
# CONFIG_DVB_SI21XX is not set
255-
# CONFIG_DVB_STB6000 is not set
256-
# CONFIG_DVB_STV0288 is not set
257-
# CONFIG_DVB_STV0299 is not set
258-
# CONFIG_DVB_STV0900 is not set
259-
# CONFIG_DVB_STV6110 is not set
260-
# CONFIG_DVB_TDA10071 is not set
261-
# CONFIG_DVB_TDA10086 is not set
262-
# CONFIG_DVB_TDA8083 is not set
263-
# CONFIG_DVB_TDA8261 is not set
264-
# CONFIG_DVB_TDA826X is not set
265-
# CONFIG_DVB_TS2020 is not set
266-
# CONFIG_DVB_TUA6100 is not set
267-
# CONFIG_DVB_TUNER_CX24113 is not set
268-
# CONFIG_DVB_TUNER_ITD1000 is not set
269-
# CONFIG_DVB_VES1X93 is not set
270-
# CONFIG_DVB_ZL10036 is not set
271-
# CONFIG_DVB_ZL10039 is not set
272-
# CONFIG_DVB_CX22700 is not set
273-
# CONFIG_DVB_CX22702 is not set
274-
# CONFIG_DVB_CXD2820R is not set
275-
# CONFIG_DVB_CXD2841ER is not set
276-
# CONFIG_DVB_DIB3000MB is not set
277-
# CONFIG_DVB_DIB3000MC is not set
278-
# CONFIG_DVB_DIB7000M is not set
279-
# CONFIG_DVB_DIB7000P is not set
280-
# CONFIG_DVB_DIB9000 is not set
281-
# CONFIG_DVB_DRXD is not set
282-
# CONFIG_DVB_EC100 is not set
283-
# CONFIG_DVB_L64781 is not set
284-
# CONFIG_DVB_MT352 is not set
285-
# CONFIG_DVB_NXT6000 is not set
286-
# CONFIG_DVB_S5H1432 is not set
287-
# CONFIG_DVB_SP887X is not set
288-
# CONFIG_DVB_STV0367 is not set
289-
# CONFIG_DVB_TDA10048 is not set
290-
# CONFIG_DVB_TDA1004X is not set
291-
# CONFIG_DVB_ZD1301_DEMOD is not set
292-
# CONFIG_DVB_ZL10353 is not set
293-
# CONFIG_DVB_CXD2880 is not set
294-
# CONFIG_DVB_STV0297 is not set
295-
# CONFIG_DVB_TDA10021 is not set
296-
# CONFIG_DVB_TDA10023 is not set
297-
# CONFIG_DVB_VES1820 is not set
298-
# CONFIG_DVB_AU8522_DTV is not set
299-
# CONFIG_DVB_AU8522_V4L is not set
300-
# CONFIG_DVB_BCM3510 is not set
301-
# CONFIG_DVB_LG2160 is not set
302-
# CONFIG_DVB_LGDT3305 is not set
303-
# CONFIG_DVB_LGDT330X is not set
304-
# CONFIG_DVB_MXL692 is not set
305-
# CONFIG_DVB_NXT200X is not set
306-
# CONFIG_DVB_OR51132 is not set
307-
# CONFIG_DVB_OR51211 is not set
308-
# CONFIG_DVB_S5H1409 is not set
309-
# CONFIG_DVB_S5H1411 is not set
310-
# CONFIG_DVB_DIB8000 is not set
311-
# CONFIG_DVB_MB86A20S is not set
312-
# CONFIG_DVB_S921 is not set
313-
# CONFIG_DVB_MN88443X is not set
314-
# CONFIG_DVB_TC90522 is not set
315-
# CONFIG_DVB_PLL is not set
316-
# CONFIG_DVB_TUNER_DIB0070 is not set
317-
# CONFIG_DVB_TUNER_DIB0090 is not set
318-
# CONFIG_DVB_A8293 is not set
319-
# CONFIG_DVB_AF9033 is not set
320-
# CONFIG_DVB_ASCOT2E is not set
321-
# CONFIG_DVB_ATBM8830 is not set
322-
# CONFIG_DVB_HELENE is not set
323-
# CONFIG_DVB_HORUS3A is not set
324-
# CONFIG_DVB_ISL6405 is not set
325-
# CONFIG_DVB_ISL6421 is not set
326-
# CONFIG_DVB_ISL6423 is not set
327-
# CONFIG_DVB_IX2505V is not set
328-
# CONFIG_DVB_LGS8GL5 is not set
329-
# CONFIG_DVB_LGS8GXX is not set
330-
# CONFIG_DVB_LNBH25 is not set
331-
# CONFIG_DVB_LNBH29 is not set
332-
# CONFIG_DVB_LNBP21 is not set
333-
# CONFIG_DVB_LNBP22 is not set
334-
# CONFIG_DVB_M88RS2000 is not set
335-
# CONFIG_DVB_TDA665x is not set
336-
# CONFIG_DVB_DRX39XYJ is not set
337-
# CONFIG_DVB_CXD2099 is not set
338-
# CONFIG_DVB_SP2 is not set
191+
CONFIG_VIDEO_BCM2835_UNICAM=m
192+
CONFIG_VIDEO_RASPBERRYPI_PISP_BE=m
193+
CONFIG_VIDEO_IMX219=m
194+
CONFIG_VIDEO_IMX296=m
195+
CONFIG_VIDEO_IMX477=m
196+
CONFIG_VIDEO_IMX708=m
197+
CONFIG_VIDEO_OV5647=m
198+
CONFIG_VIDEO_AD5398=m
199+
CONFIG_VIDEO_DW9807_VCM=m
339200
CONFIG_DRM=m
340201
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
341202
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
@@ -347,7 +208,6 @@ CONFIG_FB_BCM2708=y
347208
CONFIG_FB_RPISENSE=m
348209
CONFIG_BACKLIGHT_CLASS_DEVICE=m
349210
CONFIG_BACKLIGHT_RPI=m
350-
CONFIG_FRAMEBUFFER_CONSOLE=y
351211
CONFIG_LOGO=y
352212
# CONFIG_LOGO_LINUX_MONO is not set
353213
# CONFIG_LOGO_LINUX_VGA16 is not set
@@ -362,7 +222,19 @@ CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD=m
362222
CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m
363223
CONFIG_SND_SIMPLE_CARD=m
364224
CONFIG_HIDRAW=y
365-
CONFIG_HID_APPLE=y
225+
# CONFIG_HID_A4TECH is not set
226+
CONFIG_HID_APPLE=m
227+
# CONFIG_HID_BELKIN is not set
228+
# CONFIG_HID_CHERRY is not set
229+
# CONFIG_HID_CHICONY is not set
230+
# CONFIG_HID_CYPRESS is not set
231+
# CONFIG_HID_EZKEY is not set
232+
# CONFIG_HID_ITE is not set
233+
# CONFIG_HID_KENSINGTON is not set
234+
# CONFIG_HID_LOGITECH is not set
235+
# CONFIG_HID_REDRAGON is not set
236+
# CONFIG_HID_MICROSOFT is not set
237+
# CONFIG_HID_MONTEREY is not set
366238
CONFIG_HID_PID=y
367239
CONFIG_USB_HIDDEV=y
368240
CONFIG_USB=y
@@ -392,7 +264,6 @@ CONFIG_LEDS_TRIGGER_ONESHOT=y
392264
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
393265
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
394266
CONFIG_LEDS_TRIGGER_CPU=y
395-
CONFIG_LEDS_TRIGGER_GPIO=y
396267
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
397268
CONFIG_LEDS_TRIGGER_TRANSIENT=y
398269
CONFIG_LEDS_TRIGGER_INPUT=y
@@ -403,9 +274,11 @@ CONFIG_RTC_CLASS=y
403274
CONFIG_DMADEVICES=y
404275
CONFIG_DMA_BCM2835=y
405276
CONFIG_DMA_BCM2708=y
277+
CONFIG_DMABUF_HEAPS=y
278+
CONFIG_DMABUF_HEAPS_SYSTEM=y
279+
CONFIG_DMABUF_HEAPS_CMA=y
406280
CONFIG_STAGING=y
407281
CONFIG_R8712U=m
408-
CONFIG_R8188EU=m
409282
CONFIG_STAGING_MEDIA=y
410283
CONFIG_BCM2835_VCHIQ=y
411284
CONFIG_SND_BCM2835=m
@@ -426,6 +299,7 @@ CONFIG_VFAT_FS=y
426299
CONFIG_TMPFS=y
427300
CONFIG_SQUASHFS=y
428301
CONFIG_SQUASHFS_FILE_DIRECT=y
302+
CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU=y
429303
CONFIG_PSTORE=y
430304
CONFIG_PSTORE_CONSOLE=y
431305
CONFIG_PSTORE_PMSG=y

mix.exs

+1-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ defmodule NervesSystemRpi.MixProject do
110110
"fwup-ops.conf",
111111
"fwup.conf",
112112
"LICENSE",
113-
"linux-6.1.defconfig",
113+
"linux-6.6.defconfig",
114114
"mix.exs",
115115
"nerves_defconfig",
116116
"post-build.sh",

nerves_defconfig

+5-5
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="${NERVES_DEFCONFIG_DIR}/post-build.sh ${BR2_EXTERN
2828
BR2_ROOTFS_POST_IMAGE_SCRIPT="${NERVES_DEFCONFIG_DIR}/post-createfs.sh"
2929
BR2_LINUX_KERNEL=y
3030
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
31-
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/refs/tags/stable_20240124.tar.gz"
31+
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/refs/tags/stable_20240529.tar.gz"
3232
BR2_LINUX_KERNEL_PATCH="${NERVES_DEFCONFIG_DIR}/linux"
3333
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
34-
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${NERVES_DEFCONFIG_DIR}/linux-6.1.defconfig"
34+
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${NERVES_DEFCONFIG_DIR}/linux-6.6.defconfig"
3535
BR2_LINUX_KERNEL_XZ=y
3636
BR2_LINUX_KERNEL_DTS_SUPPORT=y
37-
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-zero-w bcm2708-rpi-zero bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm"
37+
BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2708-rpi-zero-w broadcom/bcm2708-rpi-zero broadcom/bcm2708-rpi-b broadcom/bcm2708-rpi-b-plus broadcom/bcm2708-rpi-cm"
3838
BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="${NERVES_DEFCONFIG_DIR}/ramoops.dts"
3939
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
4040
BR2_PACKAGE_BUSYBOX_CONFIG="${BR2_EXTERNAL_NERVES_PATH}/board/nerves-common/busybox.config"
@@ -49,12 +49,11 @@ BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
4949
BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y
5050
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
5151
BR2_PACKAGE_RPI_FIRMWARE=y
52-
BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_VERSION="d4a1760a76873c467e99a5a27f98815e65fb9a55"
52+
BR2_PACKAGE_RPI_FIRMWARE_CUSTOM_VERSION="1.20240529"
5353
BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y
5454
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_X=y
5555
BR2_PACKAGE_PIGPIO=y
5656
# BR2_PACKAGE_RNG_TOOLS_JITTERENTROPY_LIBRARY is not set
57-
BR2_PACKAGE_RPI_USERLAND=y
5857
# BR2_PACKAGE_ALSA_LIB_RAWMIDI is not set
5958
# BR2_PACKAGE_ALSA_LIB_HWDEP is not set
6059
# BR2_PACKAGE_ALSA_LIB_SEQ is not set
@@ -82,4 +81,5 @@ BR2_NERVES_SYSTEM_NAME="nerves_system_rpi"
8281
BR2_NERVES_ADDITIONAL_IMAGE_FILES="${NERVES_DEFCONFIG_DIR}/fwup.conf ${NERVES_DEFCONFIG_DIR}/cmdline.txt ${NERVES_DEFCONFIG_DIR}/config.txt"
8382
BR2_PACKAGE_NBTTY=y
8483
BR2_PACKAGE_NERVES_CONFIG=y
84+
BR2_PACKAGE_RPICAM_APPS=y
8585
BR2_PACKAGE_RPI_DISTRO_FIRMWARE_NONFREE=y

0 commit comments

Comments
 (0)