Skip to content

Commit a3288d7

Browse files
committed
linux-raspberrypi: use fragments for device specific configuration
Using fragments allows to reuse configuration amongst sibling kernels. Change-type: patch Signed-off-by: Alex Gonzalez <alexg@balena.io>
1 parent e171b09 commit a3288d7

3 files changed

Lines changed: 94 additions & 151 deletions

File tree

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# Drivers and helpers enabled on top of the upstream raspberrypi defconfig for
2+
# balenaOS. Picked up by kernel-balena's do_kernel_balena_merge_fragments (via
3+
# FILESEXTRAPATHS), so it applies to both linux-raspberrypi (the OS kernel) and
4+
# linux-raspberrypi-extension without duplication.
5+
#
6+
# Machine-conditional entries (optimize-size for rpi3-64/rpi4-64, pieeprom for
7+
# rpi4-64) remain in BALENA_CONFIGS in the bbappend — they're easier to keep
8+
# behind :append:<machine> overrides than to express in a flat fragment.
9+
10+
# fbtft framebuffers
11+
CONFIG_STAGING=y
12+
CONFIG_FB_TFT=m
13+
CONFIG_FB_TFT_AGM1264K_FL=m
14+
CONFIG_FB_TFT_BD663474=m
15+
CONFIG_FB_TFT_HX8340BN=m
16+
CONFIG_FB_TFT_HX8347D=m
17+
CONFIG_FB_TFT_HX8353D=m
18+
CONFIG_FB_TFT_ILI9163=m
19+
CONFIG_FB_TFT_ILI9320=m
20+
CONFIG_FB_TFT_ILI9325=m
21+
CONFIG_FB_TFT_ILI9340=m
22+
CONFIG_FB_TFT_ILI9341=m
23+
CONFIG_FB_TFT_ILI9481=m
24+
CONFIG_FB_TFT_ILI9486=m
25+
CONFIG_FB_TFT_PCD8544=m
26+
CONFIG_FB_TFT_RA8875=m
27+
CONFIG_FB_TFT_S6D02A1=m
28+
CONFIG_FB_TFT_S6D1121=m
29+
CONFIG_FB_TFT_SSD1289=m
30+
CONFIG_FB_TFT_SSD1306=m
31+
CONFIG_FB_TFT_SSD1331=m
32+
CONFIG_FB_TFT_SSD1351=m
33+
CONFIG_FB_TFT_ST7735R=m
34+
CONFIG_FB_TFT_TINYLCD=m
35+
CONFIG_FB_TFT_TLS8204=m
36+
CONFIG_FB_TFT_UC1701=m
37+
CONFIG_FB_TFT_UPD161704=m
38+
CONFIG_FB_TFT_WATTEROTT=m
39+
40+
# pca955 GPIO expander
41+
CONFIG_GPIO_PCA953X=y
42+
CONFIG_GPIO_PCA953X_IRQ=y
43+
44+
# Kontron PLD (gpio_i2c_kempld) — deps + leaf modules
45+
CONFIG_GPIOLIB=y
46+
CONFIG_I2C=y
47+
CONFIG_HAS_IOMEM=y
48+
CONFIG_MFD_KEMPLD=m
49+
CONFIG_GPIO_KEMPLD=m
50+
CONFIG_I2C_KEMPLD=m
51+
52+
# RPi watchdog
53+
CONFIG_WATCHDOG=y
54+
CONFIG_BCM2835_WDT=y
55+
56+
# Kvaser USB CAN driver
57+
CONFIG_CAN_KVASER_USB=m
58+
59+
# MCP251x CAN driver — deps + leaf module
60+
CONFIG_SPI=y
61+
CONFIG_HAS_DMA=y
62+
CONFIG_CAN_MCP251X=m
63+
64+
# CAN bit timing
65+
CONFIG_CAN_DEV=y
66+
CONFIG_CAN_CALC_BITTIMING=y
67+
68+
# DS1307 RTC
69+
CONFIG_RTC_DRV_DS1307=m
70+
71+
# SC16IS7xx serial
72+
CONFIG_SERIAL_SC16IS7XX=m
73+
74+
# MCP3422 ADC
75+
CONFIG_MCP3422=m
76+
77+
# SD8787 PWRSEQ — deps + leaf module
78+
CONFIG_OF=y
79+
CONFIG_PWRSEQ_SD8787=m
80+
81+
# 8250 serial
82+
CONFIG_SERIAL_8250=y
83+
CONFIG_SERIAL_8250_CONSOLE=y
84+
CONFIG_SERIAL_8250_NR_UARTS=1
85+
CONFIG_SERIAL_8250_EXTENDED=y
86+
CONFIG_SERIAL_8250_SHARE_IRQ=y
87+
CONFIG_SERIAL_8250_BCM2835AUX=y
88+
89+
# IIO pressure drivers
90+
CONFIG_BMP280=m
91+
92+
# Realtek RTL8192CU WiFi
93+
CONFIG_RTL8192CU=m

layers/meta-balena-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,3 @@ BALENA_CONFIGS[pieeprom] = " \
4646
CONFIG_SPI_BCM2835=y \
4747
CONFIG_SPI_SPIDEV=y \
4848
"
49-
50-
BALENA_CONFIGS:append = " rtl8192"
51-
BALENA_CONFIGS[rtl8192] = " \
52-
CONFIG_RTL8192CU=m \
53-
"

layers/meta-balena-raspberrypi/recipes-kernel/linux/linux-raspberrypi_6.12.bbappend

Lines changed: 1 addition & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:${THISDIR}/${MACHINE}:"
1+
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:${THISDIR}/${MACHINE}:${THISDIR}/files:"
22

33
SRC_URI:append:raspberrypi4-superhub = " \
44
file://0001-Add-gpio-wdt-DT-overlay-for-Phoenix-Board.patch \
@@ -23,146 +23,6 @@ SRC_URI:append = " \
2323
file://0001-overlays-Add-overlay-for-RPI-PLC-SC16IS752.patch \
2424
"
2525

26-
BALENA_CONFIGS:append = " fbtft"
27-
BALENA_CONFIGS[fbtft] = " \
28-
CONFIG_STAGING=y \
29-
CONFIG_FB_TFT=m \
30-
CONFIG_FB_TFT_AGM1264K_FL=m \
31-
CONFIG_FB_TFT_BD663474=m \
32-
CONFIG_FB_TFT_HX8340BN=m \
33-
CONFIG_FB_TFT_HX8347D=m \
34-
CONFIG_FB_TFT_HX8353D=m \
35-
CONFIG_FB_TFT_ILI9163=m \
36-
CONFIG_FB_TFT_ILI9320=m \
37-
CONFIG_FB_TFT_ILI9325=m \
38-
CONFIG_FB_TFT_ILI9340=m \
39-
CONFIG_FB_TFT_ILI9341=m \
40-
CONFIG_FB_TFT_ILI9481=m \
41-
CONFIG_FB_TFT_ILI9486=m \
42-
CONFIG_FB_TFT_PCD8544=m \
43-
CONFIG_FB_TFT_RA8875=m \
44-
CONFIG_FB_TFT_S6D02A1=m \
45-
CONFIG_FB_TFT_S6D1121=m \
46-
CONFIG_FB_TFT_SSD1289=m \
47-
CONFIG_FB_TFT_SSD1306=m \
48-
CONFIG_FB_TFT_SSD1331=m \
49-
CONFIG_FB_TFT_SSD1351=m \
50-
CONFIG_FB_TFT_ST7735R=m \
51-
CONFIG_FB_TFT_TINYLCD=m \
52-
CONFIG_FB_TFT_TLS8204=m \
53-
CONFIG_FB_TFT_UC1701=m \
54-
CONFIG_FB_TFT_UPD161704=m \
55-
"
56-
57-
58-
BALENA_CONFIGS:append = " ${@configure_from_version("5.17", "", " fb_tft_watterott", d)}"
59-
BALENA_CONFIGS[fb_tft_watterott] = "CONFIG_FB_TFT_WATTEROTT=m"
60-
61-
BALENA_CONFIGS:append = " pca955_gpio_expander"
62-
BALENA_CONFIGS[pca955_gpio_expander] = " \
63-
CONFIG_GPIO_PCA953X=y \
64-
CONFIG_GPIO_PCA953X_IRQ=y \
65-
"
66-
67-
# requested by customer (support for Kontron PLD devices)
68-
BALENA_CONFIGS:append = " gpio_i2c_kempld"
69-
BALENA_CONFIGS_DEPS[gpio_i2c_kempld] = " \
70-
CONFIG_GPIOLIB=y \
71-
CONFIG_I2C=y \
72-
CONFIG_HAS_IOMEM=y \
73-
CONFIG_MFD_KEMPLD=m \
74-
"
75-
BALENA_CONFIGS[gpio_i2c_kempld] = " \
76-
CONFIG_GPIO_KEMPLD=m \
77-
CONFIG_I2C_KEMPLD=m \
78-
"
79-
80-
# make sure watchdog gets enabled no matter of the BSP changes
81-
BALENA_CONFIGS:append = " rpi_watchdog"
82-
BALENA_CONFIGS_DEPS[rpi_watchdog] = " \
83-
CONFIG_WATCHDOG=y \
84-
"
85-
BALENA_CONFIGS[rpi_watchdog] = " \
86-
CONFIG_BCM2835_WDT=y \
87-
"
88-
89-
BALENA_CONFIGS:append = " kvaser_usb_can_driver"
90-
91-
BALENA_CONFIGS[kvaser_usb_can_driver] = " \
92-
CONFIG_CAN_KVASER_USB=m \
93-
"
94-
95-
BALENA_CONFIGS:append = " mcp251x_can_driver"
96-
97-
BALENA_CONFIGS[mcp251x_can_driver] = " \
98-
CONFIG_CAN_MCP251X=m \
99-
"
100-
101-
BALENA_CONFIGS_DEPS[mcp251x_can_driver] = " \
102-
CONFIG_SPI=y \
103-
CONFIG_HAS_DMA=y \
104-
"
105-
106-
BALENA_CONFIGS:append = " can_calc_bittiming"
107-
108-
BALENA_CONFIGS[can_calc_bittiming] = " \
109-
CONFIG_CAN_CALC_BITTIMING=y \
110-
"
111-
112-
BALENA_CONFIGS_DEPS[can_calc_bittiming] = " \
113-
CONFIG_CAN_DEV=y \
114-
"
115-
116-
BALENA_CONFIGS:append = " ds1307_rtc_driver"
117-
118-
BALENA_CONFIGS[ds1307_rtc_driver] = " \
119-
CONFIG_RTC_DRV_DS1307=m \
120-
"
121-
122-
BALENA_CONFIGS_DEPS[ds1307_rtc_driver] = " \
123-
CONFIG_I2C=y \
124-
"
125-
126-
BALENA_CONFIGS:append = " sc16is7xx_serial_driver"
127-
128-
BALENA_CONFIGS[sc16is7xx_serial_driver] = " \
129-
CONFIG_SERIAL_SC16IS7XX=m \
130-
"
131-
132-
BALENA_CONFIGS_DEPS[sc16is7xx_serial_driver] = " \
133-
CONFIG_I2C=y \
134-
"
135-
136-
BALENA_CONFIGS:append = " mcp3422_adc_driver"
137-
138-
BALENA_CONFIGS[mcp3422_adc_driver] = " \
139-
CONFIG_MCP3422=m \
140-
"
141-
142-
BALENA_CONFIGS_DEPS[mcp3422_adc_driver] = " \
143-
CONFIG_I2C=y \
144-
"
145-
146-
BALENA_CONFIGS:append = " sd8787_pwrseq_driver"
147-
148-
BALENA_CONFIGS[sd8787_pwrseq_driver] = " \
149-
CONFIG_PWRSEQ_SD8787=m \
150-
"
151-
152-
BALENA_CONFIGS_DEPS[sd8787_pwrseq_driver] = " \
153-
CONFIG_OF=y \
154-
"
155-
156-
BALENA_CONFIGS:append = " serial_8250"
157-
BALENA_CONFIGS[serial_8250] = " \
158-
CONFIG_SERIAL_8250=y \
159-
CONFIG_SERIAL_8250_CONSOLE=y \
160-
CONFIG_SERIAL_8250_NR_UARTS=1 \
161-
CONFIG_SERIAL_8250_EXTENDED=y \
162-
CONFIG_SERIAL_8250_SHARE_IRQ=y \
163-
CONFIG_SERIAL_8250_BCM2835AUX=y \
164-
"
165-
16626
# The Pi3-64 and Pi4-64 are the only boards very low on rootfs space for now
16727
# so we add this as per https://github.com/balena-os/meta-balena/pull/2411
16828
BALENA_CONFIGS:append:raspberrypi4-64 = " optimize-size"
@@ -171,11 +31,6 @@ BALENA_CONFIGS[optimize-size] = " \
17131
CONFIG_CC_OPTIMIZE_FOR_SIZE=y \
17232
"
17333

174-
BALENA_CONFIGS:append = " iio_pressure_drivers"
175-
BALENA_CONFIGS[iio_pressure_drivers] = " \
176-
CONFIG_BMP280=m \
177-
"
178-
17934
# Fix dtbo loading on 64bits,
18035
# see commit 949b88bb for details
18136
get_cc_option () {

0 commit comments

Comments
 (0)