Skip to content

Commit 277dcbf

Browse files
committed
rpi: Add Raspberry Pi 5 base-image config.
Note: This contains a patch to add additional kernel modules to enable the SPI interface of the Raspberry Pi 5. This patch enables the following modules (other changes were automatically introduced): CONFIG_SPI_DESIGNWARE=y CONFIG_SPI_DW_MMIO=y Fixes #128.
1 parent 896d834 commit 277dcbf

File tree

10 files changed

+7281
-0
lines changed

10 files changed

+7281
-0
lines changed

conf/base_raspberrypi_bcm27xx_bcm2712/.config

Lines changed: 7083 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
________ _ _____ __ __ _
2+
/ ____/ /_ (_)________ / ___// /_____ ______/ /__ (_)___
3+
/ / / __ \/ / ___/ __ \\__ \/ __/ __ `/ ___/ //_/ / / __ \
4+
/ /___/ / / / / / / /_/ /__/ / /_/ /_/ / /__/ ,< _ / / /_/ /
5+
\____/_/ /_/_/_/ / .___/____/\__/\__,_/\___/_/|_(_)_/\____/
6+
/_/
7+
8+
Documentation and copyright information:
9+
> www.chirpstack.io
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Copyright (C) 2014-2016 OpenWrt.org
2+
# Copyright (C) 2017 LEDE project
3+
4+
. /lib/functions/uci-defaults.sh
5+
. /lib/functions.sh
6+
. /lib/functions/system.sh
7+
8+
board_config_update
9+
10+
board=$(board_name)
11+
12+
case "$board" in
13+
raspberrypi,2-model-b |\
14+
raspberrypi,2-model-b-rev2 |\
15+
raspberrypi,3-model-b |\
16+
raspberrypi,3-model-b-plus |\
17+
raspberrypi,400 |\
18+
raspberrypi,4-compute-module |\
19+
raspberrypi,4-model-b |\
20+
raspberrypi,500 |\
21+
raspberrypi,5-compute-module |\
22+
raspberrypi,5-model-b |\
23+
raspberrypi,model-b |\
24+
raspberrypi,model-b-plus |\
25+
raspberrypi,model-b-rev2)
26+
ucidef_set_interface_lan "eth0" "dhcp"
27+
;;
28+
29+
raspberrypi,model-zero-2 |\
30+
raspberrypi,model-zero-w)
31+
ucidef_set_interface_lan "wlan0"
32+
;;
33+
esac
34+
35+
board_config_flush
36+
37+
exit 0
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
if ! uci get wireless; then
2+
exit 0
3+
fi
4+
5+
if [ "$(uci -q get wireless.default_radio0.ssid)" != "OpenWrt" ]; then
6+
exit 0
7+
fi
8+
9+
GWID_END=""
10+
11+
ip link show eth0
12+
if [ $? -eq 0 ]; then
13+
GWID_END=$(ip link show eth0 | awk '/ether/ {print $2}' | awk -F\: '{print $4$5$6}')
14+
else
15+
GWID_END=$(ip link show wlan0 | awk '/ether/ {print $2}' | awk -F\: '{print $4$5$6}')
16+
fi
17+
18+
uci -q batch << EOI
19+
set dhcp.wwan=dhcp
20+
set dhcp.wwan.interface='wwan'
21+
set dhcp.wwan.start='100'
22+
set dhcp.wwan.limit='150'
23+
set dhcp.wwan.leasetime='12h'
24+
commit dhcp
25+
26+
set network.wwan=interface
27+
set network.wwan.proto='static'
28+
set network.wwan.ipaddr='192.168.0.1'
29+
set network.wwan.netmask='255.255.255.0'
30+
commit network
31+
32+
delete wireless.radio0.disabled
33+
set wireless.default_radio0=wifi-iface
34+
set wireless.default_radio0.device='radio0'
35+
set wireless.default_radio0.network='wwan'
36+
set wireless.default_radio0.mode='ap'
37+
set wireless.default_radio0.ssid="ChirpStackAP-${GWID_END}"
38+
set wireless.default_radio0.encryption='psk2'
39+
set wireless.default_radio0.key='ChirpStackAP'
40+
commit wireless
41+
42+
add_list firewall.@zone[0].network='wwan'
43+
set firewall.@zone[0].masq='1'
44+
commit firewall
45+
46+
EOI
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
GWID_END=""
2+
3+
ip link show eth0
4+
if [ $? -eq 0 ]; then
5+
GWID_END=$(ip link show eth0 | awk '/ether/ {print $2}' | awk -F\: '{print $4$5$6}')
6+
else
7+
GWID_END=$(ip link show wlan0 | awk '/ether/ {print $2}' | awk -F\: '{print $4$5$6}')
8+
fi
9+
10+
uci set system.@system[0].hostname="chirpstack-${GWID_END}"
11+
uci commit system
12+
echo $(uci get system.@system[0].hostname) > /proc/sys/kernel/hostname
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
GWID_MIDFIX="fffe"
2+
GWID_BEGIN=""
3+
GWID_END=""
4+
5+
ip link show eth0
6+
if [ $? -eq 0 ]; then
7+
GWID_BEGIN=$(ip link show eth0 | awk '/ether/ {print $2}' | awk -F\: '{print $1$2$3}')
8+
GWID_END=$(ip link show eth0 | awk '/ether/ {print $2}' | awk -F\: '{print $4$5$6}')
9+
else
10+
GWID_BEGIN=$(ip link show wlan0 | awk '/ether/ {print $2}' | awk -F\: '{print $1$2$3}')
11+
GWID_END=$(ip link show wlan0 | awk '/ether/ {print $2}' | awk -F\: '{print $4$5$6}')
12+
fi
13+
14+
uci set chirpstack-concentratord.@sx1301[0].gateway_id="${GWID_BEGIN}${GWID_MIDFIX}${GWID_END}"
15+
uci commit
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
Index: openwrt/target/linux/bcm27xx/bcm2712/config-6.6
2+
===================================================================
3+
--- openwrt.orig/target/linux/bcm27xx/bcm2712/config-6.6
4+
+++ openwrt/target/linux/bcm27xx/bcm2712/config-6.6
5+
@@ -239,7 +239,6 @@ CONFIG_FB_DEVICE=y
6+
CONFIG_FB_IOMEM_FOPS=y
7+
CONFIG_FB_IOMEM_HELPERS=y
8+
CONFIG_FB_SIMPLE=y
9+
-# CONFIG_FIRMWARE_RP1 is not set
10+
CONFIG_FIXED_PHY=y
11+
CONFIG_FIX_EARLYCON_MEM=y
12+
CONFIG_FONT_8x16=y
13+
@@ -372,7 +371,6 @@ CONFIG_MAGIC_SYSRQ=y
14+
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1f6
15+
CONFIG_MAILBOX=y
16+
# CONFIG_MAILBOX_TEST is not set
17+
-# CONFIG_MBOX_RP1 is not set
18+
CONFIG_MDIO_BCM_UNIMAC=y
19+
CONFIG_MDIO_BUS=y
20+
CONFIG_MDIO_DEVICE=y
21+
@@ -537,7 +535,6 @@ CONFIG_RESET_RASPBERRYPI=y
22+
CONFIG_RESET_SIMPLE=y
23+
CONFIG_RFS_ACCEL=y
24+
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
25+
-# CONFIG_RP1_PIO is not set
26+
# CONFIG_RPI_POE_POWER is not set
27+
CONFIG_RPS=y
28+
CONFIG_RTC_CLASS=y
29+
@@ -550,7 +547,6 @@ CONFIG_SCSI_COMMON=y
30+
# CONFIG_SCSI_LOWLEVEL is not set
31+
# CONFIG_SCSI_PROC_FS is not set
32+
CONFIG_SENSORS_RASPBERRYPI_HWMON=y
33+
-# CONFIG_SENSORS_RP1_ADC is not set
34+
CONFIG_SERIAL_8250_BCM2835AUX=y
35+
CONFIG_SERIAL_8250_BCM7271=y
36+
# CONFIG_SERIAL_8250_DMA is not set
37+
@@ -577,6 +573,14 @@ CONFIG_SPARSEMEM_EXTREME=y
38+
CONFIG_SPARSEMEM_VMEMMAP=y
39+
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
40+
CONFIG_SPARSE_IRQ=y
41+
+CONFIG_SPI=y
42+
+# CONFIG_SPI_BCM2835AUX is not set
43+
+CONFIG_SPI_DESIGNWARE=y
44+
+# CONFIG_SPI_DW_DMA is not set
45+
+CONFIG_SPI_DW_MMIO=y
46+
+# CONFIG_SPI_DW_PCI is not set
47+
+CONFIG_SPI_DYNAMIC=y
48+
+CONFIG_SPI_MASTER=y
49+
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
50+
CONFIG_SRAM=y
51+
# CONFIG_STRIP_ASM_SYMS is not set
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Index: openwrt/target/linux/bcm27xx/image/config.txt
2+
===================================================================
3+
--- openwrt.orig/target/linux/bcm27xx/image/config.txt
4+
+++ openwrt/target/linux/bcm27xx/image/config.txt
5+
@@ -11,4 +11,11 @@
6+
include distroconfig.txt
7+
8+
[all]
9+
-# Place your custom settings here.
10+
+dtparam=spi=on
11+
+enable_uart=1
12+
+dtparam=i2c1=on
13+
+dtparam=i2c_arm=on
14+
+dtoverlay=dwc2
15+
+
16+
+# Uncomment the line below when shield uses PIN26 as GPIO7"
17+
+#dtoverlay=spi0-1cs
18+
+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Index: openwrt/target/linux/bcm27xx/image/cmdline.txt
2+
===================================================================
3+
--- openwrt.orig/target/linux/bcm27xx/image/cmdline.txt
4+
+++ openwrt/target/linux/bcm27xx/image/cmdline.txt
5+
@@ -1 +1 @@
6+
-console=tty1 console=serial0,115200 root=@ROOT@ rootfstype=squashfs,ext4 rootwait
7+
+console=tty1 root=@ROOT@ rootfstype=squashfs,ext4 rootwait
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
no-uart-console.patch
2+
boot-config.patch
3+
add_designware_spi_kmod.patch

0 commit comments

Comments
 (0)