buildroot.busybox.net archive mirror
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v5 1/6] package/rpi-firmware: rework boot/config file handling
@ 2021-09-21 20:21 Peter Seiderer
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 2/6] board/raspberrypicm4io: enable RTC and USB overlays Peter Seiderer
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Peter Seiderer @ 2021-09-21 20:21 UTC (permalink / raw)
  To: buildroot; +Cc: Arthur Courtel, Mahyar Koshkouei, Martin Bark

Try to be less smart (focused on the one target/one use-case),
instead reduce the rpi-firmware package to a selectable list
of (verbatim) installed firmware files.

- change rpi-firmware config handling from rpi-variant/rpi-flavour
  choices to bootcode.bin, pi-default/-extended/-cut-down and
  pi4-/default/-extended/-cut-down selection

- add BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE option to select installable
  config.txt file

- remove config.txt modify code/handling from raspberry post-image.sh
  script

- add different customized config.txt files to the raspberry board
  section

- change dtoverlay krnbt from 'dtoverlay=miniuart-bt,krnbt=on' to extra line
  with explanation comment

- change raspberry defconfigs to select appropiate rpi-firmware
  and config.txt files

- change genimage-raspberrypi4.cfg/genimage-raspberrypi4-64.cfg to
  use start4.elf and fixup4.dat

- update board/raspberrypi/readme.txt (add optional files fixup4.dat,
  start4.elf and zImage)

With this changes a better support for custom use-cases should
be possible, specially multi-target SD cards as suggested by
Stefan Agner ([1]).

[1] http://lists.busybox.net/pipermail/buildroot/2021-February/303318.html

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
  - update genimage-raspberrypi4.cfg/genimage-raspberrypi4-64.cfg to
    use start4.elf and fixup4.dat

Changes v2 -> v3:
  - remove duplicated BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4 from
    configs/raspberrypi4_64_defconfig
  - fix BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE entry from
    configs/raspberrypi4_64_defconfig
  - change firmware list to one-assignment style (suggested by Yann E. MORIN)
  - change firmware install to make-level foreach loop (suggested by Yann E. MORIN)

Changes v3 -> v4:
  - fix config.in typo (Patch vs. Path)
  - fix 64bit config.txt files (kernel image name zImage vs. Image,
    previously done by 'post-image.sh --aarch64')

Changes v4 -> v5:
  - rebased
  - incorporate krnbt option
  - add rework boot/config file handling for cm4io and cm4io_64
  - update board/raspberrypi/readme.txt
---
 board/raspberrypi/config_0w.txt               | 29 +++++++
 board/raspberrypi/config_3.txt                | 29 +++++++
 board/raspberrypi/config_3_64bit.txt          | 32 ++++++++
 board/raspberrypi/config_3_qt5we.txt          | 26 +++++++
 board/raspberrypi/config_4.txt                | 29 +++++++
 board/raspberrypi/config_4_64bit.txt          | 36 +++++++++
 board/raspberrypi/config_cm4io.txt            | 26 +++++++
 board/raspberrypi/config_cm4io_64bit.txt      | 30 +++++++
 .../raspberrypi/config_default.txt            |  4 +-
 .../raspberrypi/genimage-raspberrypi4-64.cfg  |  4 +-
 board/raspberrypi/genimage-raspberrypi4.cfg   |  4 +-
 .../genimage-raspberrypicm4io-64.cfg          |  4 +-
 .../raspberrypi/genimage-raspberrypicm4io.cfg |  4 +-
 board/raspberrypi/post-image.sh               | 33 --------
 board/raspberrypi/readme.txt                  |  9 ++-
 configs/raspberrypi0_defconfig                |  3 +
 configs/raspberrypi0w_defconfig               |  4 +-
 configs/raspberrypi2_defconfig                |  3 +
 configs/raspberrypi3_64_defconfig             |  4 +-
 configs/raspberrypi3_defconfig                |  4 +-
 configs/raspberrypi3_qt5we_defconfig          |  4 +-
 configs/raspberrypi4_64_defconfig             |  2 +-
 configs/raspberrypi4_defconfig                |  2 +-
 configs/raspberrypi_defconfig                 |  3 +
 configs/raspberrypicm4io_64_defconfig         |  2 +-
 configs/raspberrypicm4io_defconfig            |  2 +-
 package/rpi-firmware/Config.in                | 78 ++++++++-----------
 package/rpi-firmware/rpi-firmware.mk          | 34 +++++---
 28 files changed, 334 insertions(+), 110 deletions(-)
 create mode 100644 board/raspberrypi/config_0w.txt
 create mode 100644 board/raspberrypi/config_3.txt
 create mode 100644 board/raspberrypi/config_3_64bit.txt
 create mode 100644 board/raspberrypi/config_3_qt5we.txt
 create mode 100644 board/raspberrypi/config_4.txt
 create mode 100644 board/raspberrypi/config_4_64bit.txt
 create mode 100644 board/raspberrypi/config_cm4io.txt
 create mode 100644 board/raspberrypi/config_cm4io_64bit.txt
 rename package/rpi-firmware/config.txt => board/raspberrypi/config_default.txt (79%)

diff --git a/board/raspberrypi/config_0w.txt b/board/raspberrypi/config_0w.txt
new file mode 100644
index 0000000000..195bad449e
--- /dev/null
+++ b/board/raspberrypi/config_0w.txt
@@ -0,0 +1,29 @@
+# Please note that this is only a sample, we recommend you to change it to fit
+# your needs.
+# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE.
+# See http://buildroot.org/manual.html#rootfs-custom
+# and http://elinux.org/RPiconfig for a description of config.txt syntax
+
+start_file=start.elf
+fixup_file=fixup.dat
+
+kernel=zImage
+
+# To use an external initramfs file
+#initramfs rootfs.cpio.gz
+
+# Disable overscan assuming the display supports displaying the full resolution
+# If the text shown on the screen disappears off the edge, comment this out
+disable_overscan=1
+
+# How much memory in MB to assign to the GPU on Pi models having
+# 256, 512 or 1024 MB total memory
+gpu_mem_256=100
+gpu_mem_512=100
+gpu_mem_1024=100
+
+# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
+dtoverlay=miniuart-bt
+
+# enable autoprobing of Bluetooth driver without need of hciattach/btattach
+dtoverlay=krnbt=on
diff --git a/board/raspberrypi/config_3.txt b/board/raspberrypi/config_3.txt
new file mode 100644
index 0000000000..195bad449e
--- /dev/null
+++ b/board/raspberrypi/config_3.txt
@@ -0,0 +1,29 @@
+# Please note that this is only a sample, we recommend you to change it to fit
+# your needs.
+# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE.
+# See http://buildroot.org/manual.html#rootfs-custom
+# and http://elinux.org/RPiconfig for a description of config.txt syntax
+
+start_file=start.elf
+fixup_file=fixup.dat
+
+kernel=zImage
+
+# To use an external initramfs file
+#initramfs rootfs.cpio.gz
+
+# Disable overscan assuming the display supports displaying the full resolution
+# If the text shown on the screen disappears off the edge, comment this out
+disable_overscan=1
+
+# How much memory in MB to assign to the GPU on Pi models having
+# 256, 512 or 1024 MB total memory
+gpu_mem_256=100
+gpu_mem_512=100
+gpu_mem_1024=100
+
+# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
+dtoverlay=miniuart-bt
+
+# enable autoprobing of Bluetooth driver without need of hciattach/btattach
+dtoverlay=krnbt=on
diff --git a/board/raspberrypi/config_3_64bit.txt b/board/raspberrypi/config_3_64bit.txt
new file mode 100644
index 0000000000..34412fa9e8
--- /dev/null
+++ b/board/raspberrypi/config_3_64bit.txt
@@ -0,0 +1,32 @@
+# Please note that this is only a sample, we recommend you to change it to fit
+# your needs.
+# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE.
+# See http://buildroot.org/manual.html#rootfs-custom
+# and http://elinux.org/RPiconfig for a description of config.txt syntax
+
+start_file=start.elf
+fixup_file=fixup.dat
+
+kernel=Image
+
+# To use an external initramfs file
+#initramfs rootfs.cpio.gz
+
+# Disable overscan assuming the display supports displaying the full resolution
+# If the text shown on the screen disappears off the edge, comment this out
+disable_overscan=1
+
+# How much memory in MB to assign to the GPU on Pi models having
+# 256, 512 or 1024 MB total memory
+gpu_mem_256=100
+gpu_mem_512=100
+gpu_mem_1024=100
+
+# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
+dtoverlay=miniuart-bt
+
+# enable autoprobing of Bluetooth driver without need of hciattach/btattach
+dtoverlay=krnbt=on
+
+# enable 64bits support
+arm_64bit=1
diff --git a/board/raspberrypi/config_3_qt5we.txt b/board/raspberrypi/config_3_qt5we.txt
new file mode 100644
index 0000000000..752310b179
--- /dev/null
+++ b/board/raspberrypi/config_3_qt5we.txt
@@ -0,0 +1,26 @@
+# Please note that this is only a sample, we recommend you to change it to fit
+# your needs.
+# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE.
+# See http://buildroot.org/manual.html#rootfs-custom
+# and http://elinux.org/RPiconfig for a description of config.txt syntax
+
+start_file=start.elf
+fixup_file=fixup.dat
+
+kernel=zImage
+
+# To use an external initramfs file
+#initramfs rootfs.cpio.gz
+
+# Disable overscan assuming the display supports displaying the full resolution
+# If the text shown on the screen disappears off the edge, comment this out
+disable_overscan=1
+
+# How much memory in MB to assign to the GPU on Pi models having
+# 256, 512 or 1024 MB total memory
+gpu_mem_256=100
+gpu_mem_512=100
+gpu_mem_1024=200
+
+# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
+dtoverlay=miniuart-bt
diff --git a/board/raspberrypi/config_4.txt b/board/raspberrypi/config_4.txt
new file mode 100644
index 0000000000..ea02d3f071
--- /dev/null
+++ b/board/raspberrypi/config_4.txt
@@ -0,0 +1,29 @@
+# Please note that this is only a sample, we recommend you to change it to fit
+# your needs.
+# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE.
+# See http://buildroot.org/manual.html#rootfs-custom
+# and http://elinux.org/RPiconfig for a description of config.txt syntax
+
+start_file=start4.elf
+fixup_file=fixup4.dat
+
+kernel=zImage
+
+# To use an external initramfs file
+#initramfs rootfs.cpio.gz
+
+# Disable overscan assuming the display supports displaying the full resolution
+# If the text shown on the screen disappears off the edge, comment this out
+disable_overscan=1
+
+# How much memory in MB to assign to the GPU on Pi models having
+# 256, 512 or 1024 MB total memory
+gpu_mem_256=100
+gpu_mem_512=100
+gpu_mem_1024=100
+
+# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
+dtoverlay=miniuart-bt
+
+# enable autoprobing of Bluetooth driver without need of hciattach/btattach
+dtoverlay=krnbt=on
diff --git a/board/raspberrypi/config_4_64bit.txt b/board/raspberrypi/config_4_64bit.txt
new file mode 100644
index 0000000000..41c7e97e99
--- /dev/null
+++ b/board/raspberrypi/config_4_64bit.txt
@@ -0,0 +1,36 @@
+# Please note that this is only a sample, we recommend you to change it to fit
+# your needs.
+# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE.
+# See http://buildroot.org/manual.html#rootfs-custom
+# and http://elinux.org/RPiconfig for a description of config.txt syntax
+
+start_file=start4.elf
+fixup_file=fixup4.dat
+
+kernel=Image
+
+# To use an external initramfs file
+#initramfs rootfs.cpio.gz
+
+# Disable overscan assuming the display supports displaying the full resolution
+# If the text shown on the screen disappears off the edge, comment this out
+disable_overscan=1
+
+# How much memory in MB to assign to the GPU on Pi models having
+# 256, 512 or 1024 MB total memory
+gpu_mem_256=100
+gpu_mem_512=100
+gpu_mem_1024=100
+
+# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
+dtoverlay=miniuart-bt
+
+# enable autoprobing of Bluetooth driver without need of hciattach/btattach
+dtoverlay=krnbt=on
+
+dtoverlay=vc4-kms-v3d-pi4
+dtoverlay=imx219
+#dtoverlay=ov5647
+
+# enable 64bits support
+arm_64bit=1
diff --git a/board/raspberrypi/config_cm4io.txt b/board/raspberrypi/config_cm4io.txt
new file mode 100644
index 0000000000..01f60395b3
--- /dev/null
+++ b/board/raspberrypi/config_cm4io.txt
@@ -0,0 +1,26 @@
+# Please note that this is only a sample, we recommend you to change it to fit
+# your needs.
+# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE.
+# See http://buildroot.org/manual.html#rootfs-custom
+# and http://elinux.org/RPiconfig for a description of config.txt syntax
+
+start_file=start4.elf
+fixup_file=fixup4.dat
+
+kernel=zImage
+
+# To use an external initramfs file
+#initramfs rootfs.cpio.gz
+
+# Disable overscan assuming the display supports displaying the full resolution
+# If the text shown on the screen disappears off the edge, comment this out
+disable_overscan=1
+
+# How much memory in MB to assign to the GPU on Pi models having
+# 256, 512 or 1024 MB total memory
+gpu_mem_256=100
+gpu_mem_512=100
+gpu_mem_1024=100
+
+# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
+dtoverlay=miniuart-bt
diff --git a/board/raspberrypi/config_cm4io_64bit.txt b/board/raspberrypi/config_cm4io_64bit.txt
new file mode 100644
index 0000000000..6cd8a729cd
--- /dev/null
+++ b/board/raspberrypi/config_cm4io_64bit.txt
@@ -0,0 +1,30 @@
+# Please note that this is only a sample, we recommend you to change it to fit
+# your needs.
+# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE.
+# See http://buildroot.org/manual.html#rootfs-custom
+# and http://elinux.org/RPiconfig for a description of config.txt syntax
+
+start_file=start4.elf
+fixup_file=fixup4.dat
+
+kernel=Image
+
+# To use an external initramfs file
+#initramfs rootfs.cpio.gz
+
+# Disable overscan assuming the display supports displaying the full resolution
+# If the text shown on the screen disappears off the edge, comment this out
+disable_overscan=1
+
+# How much memory in MB to assign to the GPU on Pi models having
+# 256, 512 or 1024 MB total memory
+gpu_mem_256=100
+gpu_mem_512=100
+gpu_mem_1024=100
+
+# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
+dtoverlay=miniuart-bt
+
+# enable 64bits support
+arm_64bit=1
+
diff --git a/package/rpi-firmware/config.txt b/board/raspberrypi/config_default.txt
similarity index 79%
rename from package/rpi-firmware/config.txt
rename to board/raspberrypi/config_default.txt
index 4a92a4dd95..c09ecca1a9 100644
--- a/package/rpi-firmware/config.txt
+++ b/board/raspberrypi/config_default.txt
@@ -1,11 +1,9 @@
 # Please note that this is only a sample, we recommend you to change it to fit
 # your needs.
-# You should override this file using a post-build script.
+# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE.
 # See http://buildroot.org/manual.html#rootfs-custom
 # and http://elinux.org/RPiconfig for a description of config.txt syntax
 
-# We always use the same names, the real used variant is selected by
-# BR2_PACKAGE_RPI_FIRMWARE_{DEFAULT,X,CD} choice
 start_file=start.elf
 fixup_file=fixup.dat
 
diff --git a/board/raspberrypi/genimage-raspberrypi4-64.cfg b/board/raspberrypi/genimage-raspberrypi4-64.cfg
index 854e0c7e31..3c480e98f0 100644
--- a/board/raspberrypi/genimage-raspberrypi4-64.cfg
+++ b/board/raspberrypi/genimage-raspberrypi4-64.cfg
@@ -4,8 +4,8 @@ image boot.vfat {
       "bcm2711-rpi-4-b.dtb",
       "rpi-firmware/cmdline.txt",
       "rpi-firmware/config.txt",
-      "rpi-firmware/fixup.dat",
-      "rpi-firmware/start.elf",
+      "rpi-firmware/fixup4.dat",
+      "rpi-firmware/start4.elf",
       "rpi-firmware/overlays",
       "Image"
     }
diff --git a/board/raspberrypi/genimage-raspberrypi4.cfg b/board/raspberrypi/genimage-raspberrypi4.cfg
index 60e1f23bcc..4e4742f3ef 100644
--- a/board/raspberrypi/genimage-raspberrypi4.cfg
+++ b/board/raspberrypi/genimage-raspberrypi4.cfg
@@ -4,8 +4,8 @@ image boot.vfat {
       "bcm2711-rpi-4-b.dtb",
       "rpi-firmware/cmdline.txt",
       "rpi-firmware/config.txt",
-      "rpi-firmware/fixup.dat",
-      "rpi-firmware/start.elf",
+      "rpi-firmware/fixup4.dat",
+      "rpi-firmware/start4.elf",
       "rpi-firmware/overlays",
       "zImage"
     }
diff --git a/board/raspberrypi/genimage-raspberrypicm4io-64.cfg b/board/raspberrypi/genimage-raspberrypicm4io-64.cfg
index 32a7ca897d..63806d0c31 100644
--- a/board/raspberrypi/genimage-raspberrypicm4io-64.cfg
+++ b/board/raspberrypi/genimage-raspberrypicm4io-64.cfg
@@ -4,8 +4,8 @@ image boot.vfat {
       "bcm2711-rpi-cm4.dtb",
       "rpi-firmware/cmdline.txt",
       "rpi-firmware/config.txt",
-      "rpi-firmware/fixup.dat",
-      "rpi-firmware/start.elf",
+      "rpi-firmware/fixup4.dat",
+      "rpi-firmware/start4.elf",
       "rpi-firmware/overlays",
       "Image"
     }
diff --git a/board/raspberrypi/genimage-raspberrypicm4io.cfg b/board/raspberrypi/genimage-raspberrypicm4io.cfg
index 5a42bcfbb4..3ee9bf551a 100644
--- a/board/raspberrypi/genimage-raspberrypicm4io.cfg
+++ b/board/raspberrypi/genimage-raspberrypicm4io.cfg
@@ -4,8 +4,8 @@ image boot.vfat {
       "bcm2711-rpi-cm4.dtb",
       "rpi-firmware/cmdline.txt",
       "rpi-firmware/config.txt",
-      "rpi-firmware/fixup.dat",
-      "rpi-firmware/start.elf",
+      "rpi-firmware/fixup4.dat",
+      "rpi-firmware/start4.elf",
       "rpi-firmware/overlays",
       "zImage"
     }
diff --git a/board/raspberrypi/post-image.sh b/board/raspberrypi/post-image.sh
index a6728c686e..6cad20fb9e 100755
--- a/board/raspberrypi/post-image.sh
+++ b/board/raspberrypi/post-image.sh
@@ -7,39 +7,6 @@ BOARD_NAME="$(basename ${BOARD_DIR})"
 GENIMAGE_CFG="${BOARD_DIR}/genimage-${BOARD_NAME}.cfg"
 GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
 
-for arg in "$@"
-do
-	case "${arg}" in
-		--add-miniuart-bt-overlay)
-		if ! grep -qE '^dtoverlay=' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
-			echo "Adding 'dtoverlay=miniuart-bt' to config.txt (fixes ttyAMA0 serial console)."
-			cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
-
-# fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
-dtoverlay=miniuart-bt,krnbt=on
-__EOF__
-		fi
-		;;
-		--aarch64)
-		# Run a 64bits kernel (armv8)
-		sed -e '/^kernel=/s,=.*,=Image,' -i "${BINARIES_DIR}/rpi-firmware/config.txt"
-		if ! grep -qE '^arm_64bit=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then
-			cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt"
-
-# enable 64bits support
-arm_64bit=1
-__EOF__
-		fi
-		;;
-		--gpu_mem_256=*|--gpu_mem_512=*|--gpu_mem_1024=*)
-		# Set GPU memory
-		gpu_mem="${arg:2}"
-		sed -e "/^${gpu_mem%=*}=/s,=.*,=${gpu_mem##*=}," -i "${BINARIES_DIR}/rpi-firmware/config.txt"
-		;;
-	esac
-
-done
-
 # Pass an empty rootpath. genimage makes a full copy of the given rootpath to
 # ${GENIMAGE_TMP}/root so passing TARGET_DIR would be a waste of time and disk
 # space. We don't rely on genimage to build the rootfs image, just to insert a
diff --git a/board/raspberrypi/readme.txt b/board/raspberrypi/readme.txt
index 62cb248633..98c44d80a1 100644
--- a/board/raspberrypi/readme.txt
+++ b/board/raspberrypi/readme.txt
@@ -87,11 +87,14 @@ After building, you should obtain this tree:
     |   +-- bootcode.bin
     |   +-- cmdline.txt
     |   +-- config.txt
-    |   +-- fixup.dat
-    |   +-- start.elf
+    |   +-- fixup.dat               [1]
+    |   +-- fixup4.dat              [1]
+    |   +-- start.elf               [1]
+    |   +-- start4.elf              [1]
     |   `-- overlays/               [2]
     +-- sdcard.img
-    `-- zImage
+    +-- Image                       [1]
+    `-- zImage                      [1]
 
 [1] Not all of them will be present, depending on the RaspberryPi
     model you are using.
diff --git a/configs/raspberrypi0_defconfig b/configs/raspberrypi0_defconfig
index 5d611aae3f..f6e4f552fc 100644
--- a/configs/raspberrypi0_defconfig
+++ b/configs/raspberrypi0_defconfig
@@ -20,6 +20,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-zero"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
 
 BR2_PACKAGE_RPI_FIRMWARE=y
+BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y
+BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y
+BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi0/config_default.txt"
 # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set
 
 # Required tools to create the SD image
diff --git a/configs/raspberrypi0w_defconfig b/configs/raspberrypi0w_defconfig
index 394ef9c574..bbe25e2874 100644
--- a/configs/raspberrypi0w_defconfig
+++ b/configs/raspberrypi0w_defconfig
@@ -16,6 +16,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-zero-w"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
 
 BR2_PACKAGE_RPI_FIRMWARE=y
+BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y
+BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y
+BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi0w/config_0w.txt"
 
 # Required tools to create the SD image
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
@@ -29,4 +32,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 # BR2_TARGET_ROOTFS_TAR is not set
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi0w/post-build.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi0w/post-image.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay"
diff --git a/configs/raspberrypi2_defconfig b/configs/raspberrypi2_defconfig
index 516cc378d4..79f3d98692 100644
--- a/configs/raspberrypi2_defconfig
+++ b/configs/raspberrypi2_defconfig
@@ -22,6 +22,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2709-rpi-2-b"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
 
 BR2_PACKAGE_RPI_FIRMWARE=y
+BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y
+BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y
+BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi/config_default.txt"
 # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set
 
 # Required tools to create the SD image
diff --git a/configs/raspberrypi3_64_defconfig b/configs/raspberrypi3_64_defconfig
index 210ded73c4..def387cacc 100644
--- a/configs/raspberrypi3_64_defconfig
+++ b/configs/raspberrypi3_64_defconfig
@@ -21,6 +21,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
 
 BR2_PACKAGE_RPI_FIRMWARE=y
+BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y
+BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y
+BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi3-64/config_3_64bit.txt"
 
 # Required tools to create the SD image
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
@@ -34,4 +37,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 # BR2_TARGET_ROOTFS_TAR is not set
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3-64/post-build.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3-64/post-image.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="--aarch64 --add-miniuart-bt-overlay"
diff --git a/configs/raspberrypi3_defconfig b/configs/raspberrypi3_defconfig
index 58b2abcfb8..1b39ac378c 100644
--- a/configs/raspberrypi3_defconfig
+++ b/configs/raspberrypi3_defconfig
@@ -21,6 +21,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-3-b-plus bcm2710-r
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
 
 BR2_PACKAGE_RPI_FIRMWARE=y
+BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y
+BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y
+BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi3/config_3.txt"
 
 # Required tools to create the SD image
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
@@ -34,4 +37,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 # BR2_TARGET_ROOTFS_TAR is not set
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay"
diff --git a/configs/raspberrypi3_qt5we_defconfig b/configs/raspberrypi3_qt5we_defconfig
index 24e1f53bae..2506025756 100644
--- a/configs/raspberrypi3_qt5we_defconfig
+++ b/configs/raspberrypi3_qt5we_defconfig
@@ -31,6 +31,9 @@ BR2_PACKAGE_QT5BASE_PNG=y
 BR2_PACKAGE_QT5WEBENGINE=y
 BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS=y
 BR2_PACKAGE_RPI_FIRMWARE=y
+BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y
+BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y
+BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi3/config_3_qt5we.txt"
 BR2_PACKAGE_RPI_USERLAND=y
 BR2_PACKAGE_CA_CERTIFICATES=y
 BR2_PACKAGE_NTP=y
@@ -48,4 +51,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="400M"
 BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay --gpu_mem_1024=200"
diff --git a/configs/raspberrypi4_64_defconfig b/configs/raspberrypi4_64_defconfig
index 05331f7ae7..0ce05f30ef 100644
--- a/configs/raspberrypi4_64_defconfig
+++ b/configs/raspberrypi4_64_defconfig
@@ -22,6 +22,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
 
 BR2_PACKAGE_RPI_FIRMWARE=y
 BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
+BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi4-64/config_4_64bit.txt"
 
 # Required tools to create the SD image
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
@@ -35,4 +36,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 # BR2_TARGET_ROOTFS_TAR is not set
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4-64/post-build.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4-64/post-image.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay --aarch64"
diff --git a/configs/raspberrypi4_defconfig b/configs/raspberrypi4_defconfig
index d954c845d8..930522f20b 100644
--- a/configs/raspberrypi4_defconfig
+++ b/configs/raspberrypi4_defconfig
@@ -22,6 +22,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
 
 BR2_PACKAGE_RPI_FIRMWARE=y
 BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
+BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi4/config_4.txt"
 
 # Required tools to create the SD image
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
@@ -35,4 +36,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 # BR2_TARGET_ROOTFS_TAR is not set
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi4/post-build.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi4/post-image.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay"
diff --git a/configs/raspberrypi_defconfig b/configs/raspberrypi_defconfig
index fd869693fa..8c70a2be6a 100644
--- a/configs/raspberrypi_defconfig
+++ b/configs/raspberrypi_defconfig
@@ -21,6 +21,9 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-c
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
 
 BR2_PACKAGE_RPI_FIRMWARE=y
+BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN=y
+BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y
+BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypi/config_default.txt"
 # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set
 
 # Required tools to create the SD image
diff --git a/configs/raspberrypicm4io_64_defconfig b/configs/raspberrypicm4io_64_defconfig
index 4abff0f2d9..73bb2b98f3 100644
--- a/configs/raspberrypicm4io_64_defconfig
+++ b/configs/raspberrypicm4io_64_defconfig
@@ -22,6 +22,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
 
 BR2_PACKAGE_RPI_FIRMWARE=y
 BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
+BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypicm4io-64/config_cm4io_64bit.txt"
 
 # Required tools to create the SD image
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
@@ -38,4 +39,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 # BR2_TARGET_ROOTFS_TAR is not set
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm4io-64/post-build.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm4io-64/post-image.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay --aarch64"
diff --git a/configs/raspberrypicm4io_defconfig b/configs/raspberrypicm4io_defconfig
index 6fa9e5bc9f..80f509b5f9 100644
--- a/configs/raspberrypicm4io_defconfig
+++ b/configs/raspberrypicm4io_defconfig
@@ -22,6 +22,7 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
 
 BR2_PACKAGE_RPI_FIRMWARE=y
 BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
+BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypicm4io-64/config_cm4io.txt"
 
 # Required tools to create the SD image
 BR2_PACKAGE_HOST_DOSFSTOOLS=y
@@ -38,4 +39,3 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
 # BR2_TARGET_ROOTFS_TAR is not set
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm4io/post-build.sh"
 BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm4io/post-image.sh"
-BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay"
diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in
index f5a25c5680..9e401829c6 100644
--- a/package/rpi-firmware/Config.in
+++ b/package/rpi-firmware/Config.in
@@ -11,63 +11,53 @@ config BR2_PACKAGE_RPI_FIRMWARE
 
 if BR2_PACKAGE_RPI_FIRMWARE
 
-choice
-	bool "rpi variant"
+config BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN
+	bool "rpi 0/1/2/3 bootcode.bin"
 	help
-	  The Raspberry Pi 4 introduced a slightly different naming
-	  convention and set of boot files. This option controls which
-	  format to use.
+	  The bootcode.bin for versions Zero/1/2/3 (not needed on rpi4,
+	  because it has been replaced by boot code in the onboard
+	  EEPROM).
 
 config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
-	bool "rpi 0/1/2/3"
+	bool "rpi 0/1/2/3 (default)"
 	help
-	  The default set of files, for versions pre-4
+	  The default set of files for versions Zero/1/2/3.
 
-config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
-	bool "rpi 4"
+config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_X
+	bool "rpi 0/1/2/3 (extended)"
 	help
-	  The Raspberry Pi 4 files
-endchoice
+	  The extended set of files for versions Zero/1/2/3 (additional
+	  GPU features, eg. more audio/video codecs).
 
-choice
-	bool "Firmware to boot"
-	default BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
+config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD
+	bool "rpi 0/1/2/3 (cut-down)"
 	help
-	  There are three different firmware files:
-	    - the default firmware, that enables standard GPU
-	      features;
-	    - the extended firmware, that enables additional GPU
-	      features (eg. more audio/video codecs);
-	    - the cut-down firmware, for emergency situations, with
-	      only features required to boot a Linux kernel.
-
-config BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
-	bool "default"
+	  The cut-down set of files for versions Zero/1/2/3 (only
+	  features required to boot a Linux kernel).
+
+config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
+	bool "rpi 4 (default)"
+	help
+	  The default set of files for versions 4 (standard GPU
+	  features).
+
+config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X
+	bool "rpi 4 (extended)"
 	help
-	  The default firmware, that enables standard GPU features.
+	  The extended set of files for versions 4 (additional GPU
+	  features, eg. more audio/video codecs).
 
-config BR2_PACKAGE_RPI_FIRMWARE_X
-	bool "extended ('x', more codecs)"
+config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD
+	bool "rpi 4 (cut-down)"
 	help
-	  The extended firmware, that enables additional GPU features
-	  (eg. more audio/video codecs).
+	  The cut-down set of files for versions 4 (only features
+	  required to boot a Linux kernel).
 
-config BR2_PACKAGE_RPI_FIRMWARE_CD
-	bool "cut-down ('cd', emergency)"
+config BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE
+	string "Path to a file stored as boot/config.txt"
 	help
-	  The cut-down firmware, for emergency situations, with only
-	  features required to boot a Linux kernel.
-
-endchoice
-
-config BR2_PACKAGE_RPI_FIRMWARE_BOOT
-	string
-	default ""      if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
-	default "4"     if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
-	default "_x"    if BR2_PACKAGE_RPI_FIRMWARE_X && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
-	default "4x"    if BR2_PACKAGE_RPI_FIRMWARE_X && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
-	default "_cd"   if BR2_PACKAGE_RPI_FIRMWARE_CD && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI
-	default "4cd"   if BR2_PACKAGE_RPI_FIRMWARE_CD && BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
+	  Path to a file stored as config.txt in the boot partiton
+	  of the generated SD card image.
 
 config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS
 	bool "Install Device Tree Blobs (DTBs)"
diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
index 6a2bf05248..38a84100e9 100644
--- a/package/rpi-firmware/rpi-firmware.mk
+++ b/package/rpi-firmware/rpi-firmware.mk
@@ -10,6 +10,27 @@ RPI_FIRMWARE_LICENSE = BSD-3-Clause
 RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom
 RPI_FIRMWARE_INSTALL_IMAGES = YES
 
+RPI_FIRMWARE_FILES = \
+	$(if $(BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN), bootcode.bin) \
+	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI), start.elf fixup.dat) \
+	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_X), startx.elf fixupx.dat) \
+	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD), start_cd.elf fixup_cd.dat) \
+	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4), start4.elf fixup4.dat) \
+	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X), start4x.elf fixup4x.dat) \
+	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD), start4cd.elf fixup4cd.dat)
+
+define RPI_FIRMWARE_INSTALL_BIN
+	$(foreach f,$(RPI_FIRMWARE_FILES), \
+		$(INSTALL) -D -m 0644 $(@D)/boot/$(f) $(BINARIES_DIR)/rpi-firmware/$(f)
+	)
+endef
+
+ifneq ($(BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE),)
+define RPI_FIRMWARE_INSTALL_CONFIG
+	$(INSTALL) -D -m 0644 $(BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE) $(BINARIES_DIR)/rpi-firmware/config.txt
+endef
+endif
+
 ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS),y)
 define RPI_FIRMWARE_INSTALL_DTB
 	$(foreach dtb,$(wildcard $(@D)/boot/*.dtb), \
@@ -41,19 +62,10 @@ define RPI_FIRMWARE_INSTALL_TARGET_CMDS
 endef
 endif # INSTALL_VCDBG
 
-ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI),y)
-# bootcode.bin is not used on rpi4, because it has been replaced by boot code in the onboard EEPROM
-define RPI_FIRMWARE_INSTALL_BOOTCODE_BIN
-	$(INSTALL) -D -m 0644 $(@D)/boot/bootcode.bin $(BINARIES_DIR)/rpi-firmware/bootcode.bin
-endef
-endif
-
 define RPI_FIRMWARE_INSTALL_IMAGES_CMDS
-	$(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt
 	$(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt $(BINARIES_DIR)/rpi-firmware/cmdline.txt
-	$(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf
-	$(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup.dat
-	$(RPI_FIRMWARE_INSTALL_BOOTCODE_BIN)
+	$(RPI_FIRMWARE_INSTALL_BIN)
+	$(RPI_FIRMWARE_INSTALL_CONFIG)
 	$(RPI_FIRMWARE_INSTALL_DTB)
 	$(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)
 endef
-- 
2.33.0

_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v5 2/6] board/raspberrypicm4io: enable RTC and USB overlays
  2021-09-21 20:21 [Buildroot] [PATCH v5 1/6] package/rpi-firmware: rework boot/config file handling Peter Seiderer
@ 2021-09-21 20:21 ` Peter Seiderer
  2021-10-17 20:27   ` Yann E. MORIN
  2022-01-13 22:13   ` Thomas Petazzoni
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 3/6] board/raspberrypicm4io-64: " Peter Seiderer
                   ` (4 subsequent siblings)
  5 siblings, 2 replies; 15+ messages in thread
From: Peter Seiderer @ 2021-09-21 20:21 UTC (permalink / raw)
  To: buildroot; +Cc: Arthur Courtel, Mahyar Koshkouei, Martin Bark

- add RTC and USB dtoverlay entries to config_cm4io.txt

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v4 -> v5:
  - new patch
---
 board/raspberrypi/config_cm4io.txt | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/board/raspberrypi/config_cm4io.txt b/board/raspberrypi/config_cm4io.txt
index 01f60395b3..cf7e6df1a1 100644
--- a/board/raspberrypi/config_cm4io.txt
+++ b/board/raspberrypi/config_cm4io.txt
@@ -24,3 +24,10 @@ gpu_mem_1024=100
 
 # fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
 dtoverlay=miniuart-bt
+
+# enable RTC
+dtparam=i2c_vc=on
+dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi
+
+# enable dwc2 USB controller (USB 2.0)
+dtoverlay=dwc2,dr_mode=host
-- 
2.33.0

_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v5 3/6] board/raspberrypicm4io-64: enable RTC and USB overlays
  2021-09-21 20:21 [Buildroot] [PATCH v5 1/6] package/rpi-firmware: rework boot/config file handling Peter Seiderer
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 2/6] board/raspberrypicm4io: enable RTC and USB overlays Peter Seiderer
@ 2021-09-21 20:21 ` Peter Seiderer
  2022-01-13 22:13   ` Thomas Petazzoni
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 4/6] package/rpi-firmware: add option for the debug set of start/fixup boot files Peter Seiderer
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 15+ messages in thread
From: Peter Seiderer @ 2021-09-21 20:21 UTC (permalink / raw)
  To: buildroot; +Cc: Arthur Courtel, Mahyar Koshkouei, Martin Bark

- add RTC and USB dtoverlay entries to config_cm4io_64bit.txt

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v4 -> v5:
  - new patch
---
 board/raspberrypi/config_cm4io_64bit.txt | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/board/raspberrypi/config_cm4io_64bit.txt b/board/raspberrypi/config_cm4io_64bit.txt
index 6cd8a729cd..813f6eba7b 100644
--- a/board/raspberrypi/config_cm4io_64bit.txt
+++ b/board/raspberrypi/config_cm4io_64bit.txt
@@ -25,6 +25,13 @@ gpu_mem_1024=100
 # fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
 dtoverlay=miniuart-bt
 
+# enable RTC
+dtparam=i2c_vc=on
+dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi
+
+# enable dwc2 USB controller (USB 2.0)
+dtoverlay=dwc2,dr_mode=host
+
 # enable 64bits support
 arm_64bit=1
 
-- 
2.33.0

_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v5 4/6] package/rpi-firmware: add option for the debug set of start/fixup boot files
  2021-09-21 20:21 [Buildroot] [PATCH v5 1/6] package/rpi-firmware: rework boot/config file handling Peter Seiderer
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 2/6] board/raspberrypicm4io: enable RTC and USB overlays Peter Seiderer
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 3/6] board/raspberrypicm4io-64: " Peter Seiderer
@ 2021-09-21 20:21 ` Peter Seiderer
  2021-10-17 20:22   ` Yann E. MORIN
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 5/6] package/rpi-firmware: convert dtb overlay install loop to make-level foreach loop Peter Seiderer
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 15+ messages in thread
From: Peter Seiderer @ 2021-09-21 20:21 UTC (permalink / raw)
  To: buildroot; +Cc: Arthur Courtel, Mahyar Koshkouei, Martin Bark

Add option for the debug set of start/fixup boot files.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
  - new patch

Changes v2 -> v3:
  - adjust to one-assignment style

Changes v3 -> v4:
  - no changes

Changes v4 -> v5:
  - rebased
---
 package/rpi-firmware/Config.in       | 10 ++++++++++
 package/rpi-firmware/rpi-firmware.mk |  4 +++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in
index 9e401829c6..f9fc0b0e5e 100644
--- a/package/rpi-firmware/Config.in
+++ b/package/rpi-firmware/Config.in
@@ -35,6 +35,11 @@ config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD
 	  The cut-down set of files for versions Zero/1/2/3 (only
 	  features required to boot a Linux kernel).
 
+config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_DB
+	bool "rpi 0/1/2/3 (debug)"
+	help
+	  The debug set of files for versions Zero/1/2/3.
+
 config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
 	bool "rpi 4 (default)"
 	help
@@ -53,6 +58,11 @@ config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD
 	  The cut-down set of files for versions 4 (only features
 	  required to boot a Linux kernel).
 
+config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_DB
+	bool "rpi 4 (debug)"
+	help
+	  The debug set of files for versions 4.
+
 config BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE
 	string "Path to a file stored as boot/config.txt"
 	help
diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
index 38a84100e9..f9568ba50f 100644
--- a/package/rpi-firmware/rpi-firmware.mk
+++ b/package/rpi-firmware/rpi-firmware.mk
@@ -15,9 +15,11 @@ RPI_FIRMWARE_FILES = \
 	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI), start.elf fixup.dat) \
 	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_X), startx.elf fixupx.dat) \
 	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD), start_cd.elf fixup_cd.dat) \
+	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_DB), start_db.elf fixup_db.dat) \
 	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4), start4.elf fixup4.dat) \
 	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X), start4x.elf fixup4x.dat) \
-	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD), start4cd.elf fixup4cd.dat)
+	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD), start4cd.elf fixup4cd.dat) \
+	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_DB), start4db.elf fixup4db.dat)
 
 define RPI_FIRMWARE_INSTALL_BIN
 	$(foreach f,$(RPI_FIRMWARE_FILES), \
-- 
2.33.0

_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v5 5/6] package/rpi-firmware: convert dtb overlay install loop to make-level foreach loop
  2021-09-21 20:21 [Buildroot] [PATCH v5 1/6] package/rpi-firmware: rework boot/config file handling Peter Seiderer
                   ` (2 preceding siblings ...)
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 4/6] package/rpi-firmware: add option for the debug set of start/fixup boot files Peter Seiderer
@ 2021-09-21 20:21 ` Peter Seiderer
  2021-10-17 20:22   ` Yann E. MORIN
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 6/6] package/rpi-wifi-firmware: provide convenience links for RPi3A+, RPi3B+ and RPi4B firmware configuration files Peter Seiderer
  2021-10-17 20:21 ` [Buildroot] [PATCH v5 1/6] package/rpi-firmware: rework boot/config file handling Yann E. MORIN
  5 siblings, 1 reply; 15+ messages in thread
From: Peter Seiderer @ 2021-09-21 20:21 UTC (permalink / raw)
  To: buildroot; +Cc: Arthur Courtel, Mahyar Koshkouei, Martin Bark

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v2 -> v3:
  - new patch

Changes v3 -> v4:
  - no changes

Changes v4 -> v5:
  - rebased
---
 package/rpi-firmware/rpi-firmware.mk | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
index f9568ba50f..13ca3c23a2 100644
--- a/package/rpi-firmware/rpi-firmware.mk
+++ b/package/rpi-firmware/rpi-firmware.mk
@@ -43,9 +43,9 @@ endif
 
 ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS),y)
 define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
-	for ovldtb in  $(@D)/boot/overlays/*.dtbo; do \
-		$(INSTALL) -D -m 0644 $${ovldtb} $(BINARIES_DIR)/rpi-firmware/overlays/$${ovldtb##*/} || exit 1; \
-	done
+	$(foreach ovldtb,$(wildcard $(@D)/boot/overlays/*.dtbo), \
+		$(INSTALL) -D -m 0644 $(ovldtb) $(BINARIES_DIR)/rpi-firmware/overlays/$(notdir $(ovldtb))
+	)
 endef
 else
 # Still create the directory, so a genimage.cfg can include it independently of
-- 
2.33.0

_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v5 6/6] package/rpi-wifi-firmware: provide convenience links for RPi3A+, RPi3B+ and RPi4B firmware configuration files
  2021-09-21 20:21 [Buildroot] [PATCH v5 1/6] package/rpi-firmware: rework boot/config file handling Peter Seiderer
                   ` (3 preceding siblings ...)
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 5/6] package/rpi-firmware: convert dtb overlay install loop to make-level foreach loop Peter Seiderer
@ 2021-09-21 20:21 ` Peter Seiderer
  2021-10-17 20:23   ` Yann E. MORIN
  2021-10-17 20:21 ` [Buildroot] [PATCH v5 1/6] package/rpi-firmware: rework boot/config file handling Yann E. MORIN
  5 siblings, 1 reply; 15+ messages in thread
From: Peter Seiderer @ 2021-09-21 20:21 UTC (permalink / raw)
  To: buildroot; +Cc: Arthur Courtel, Mahyar Koshkouei, Martin Bark

Provide convenience links for BCM43455/CYW43455 based RPi3A+, RPi3B+ and RPi4B
WIFI firmware configuration files to avoid runtime firmware loading warning in
the kernel logs, e.g. (RPi3B+):

  brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt failed with error -2

or (RP4B

  brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v4 -> v5:
  - new patch
---
 package/rpi-wifi-firmware/rpi-wifi-firmware.mk | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk
index 28926ff4f0..582e0aa8f5 100644
--- a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk
+++ b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk
@@ -12,6 +12,9 @@ RPI_WIFI_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx
 define RPI_WIFI_FIRMWARE_INSTALL_TARGET_CMDS
 	$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
 	$(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm
+	ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
+	ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
+	ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
 endef
 
 $(eval $(generic-package))
-- 
2.33.0

_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v5 1/6] package/rpi-firmware: rework boot/config file handling
  2021-09-21 20:21 [Buildroot] [PATCH v5 1/6] package/rpi-firmware: rework boot/config file handling Peter Seiderer
                   ` (4 preceding siblings ...)
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 6/6] package/rpi-wifi-firmware: provide convenience links for RPi3A+, RPi3B+ and RPi4B firmware configuration files Peter Seiderer
@ 2021-10-17 20:21 ` Yann E. MORIN
  5 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2021-10-17 20:21 UTC (permalink / raw)
  To: Peter Seiderer; +Cc: Martin Bark, Arthur Courtel, Mahyar Koshkouei, buildroot

Peter, All,

On 2021-09-21 22:21 +0200, Peter Seiderer spake thusly:
> Try to be less smart (focused on the one target/one use-case),
> instead reduce the rpi-firmware package to a selectable list
> of (verbatim) installed firmware files.
[--SNIP--]
> With this changes a better support for custom use-cases should
> be possible, specially multi-target SD cards as suggested by
> Stefan Agner ([1]).
> 
> [1] http://lists.busybox.net/pipermail/buildroot/2021-February/303318.html
> 
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>

Thanks for your persistence in working on this! :-)

[--SNIP--]
> diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
> index 6a2bf05248..38a84100e9 100644
> --- a/package/rpi-firmware/rpi-firmware.mk
> +++ b/package/rpi-firmware/rpi-firmware.mk
> @@ -10,6 +10,27 @@ RPI_FIRMWARE_LICENSE = BSD-3-Clause
>  RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom
>  RPI_FIRMWARE_INSTALL_IMAGES = YES
>  
> +RPI_FIRMWARE_FILES = \
> +	$(if $(BR2_PACKAGE_RPI_FIRMWARE_BOOTCODE_BIN), bootcode.bin) \
> +	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI), start.elf fixup.dat) \
> +	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_X), startx.elf fixupx.dat) \
> +	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD), start_cd.elf fixup_cd.dat) \
> +	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4), start4.elf fixup4.dat) \
> +	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X), start4x.elf fixup4x.dat) \
> +	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD), start4cd.elf fixup4cd.dat)
> +
> +define RPI_FIRMWARE_INSTALL_BIN
> +	$(foreach f,$(RPI_FIRMWARE_FILES), \
> +		$(INSTALL) -D -m 0644 $(@D)/boot/$(f) $(BINARIES_DIR)/rpi-firmware/$(f)
> +	)
> +endef
> +
> +ifneq ($(BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE),)

BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE is a kconfig string, so if the
string is empty, the variable will be "", i.e.e two double quotes, and
this is not empty for make.

I've fixed that by defining the usual qstripped variable.

Applied to master, thanks.

Regards,
Yann E. MORIN.

> +define RPI_FIRMWARE_INSTALL_CONFIG
> +	$(INSTALL) -D -m 0644 $(BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE) $(BINARIES_DIR)/rpi-firmware/config.txt
> +endef
> +endif
> +
>  ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS),y)
>  define RPI_FIRMWARE_INSTALL_DTB
>  	$(foreach dtb,$(wildcard $(@D)/boot/*.dtb), \
> @@ -41,19 +62,10 @@ define RPI_FIRMWARE_INSTALL_TARGET_CMDS
>  endef
>  endif # INSTALL_VCDBG
>  
> -ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI),y)
> -# bootcode.bin is not used on rpi4, because it has been replaced by boot code in the onboard EEPROM
> -define RPI_FIRMWARE_INSTALL_BOOTCODE_BIN
> -	$(INSTALL) -D -m 0644 $(@D)/boot/bootcode.bin $(BINARIES_DIR)/rpi-firmware/bootcode.bin
> -endef
> -endif
> -
>  define RPI_FIRMWARE_INSTALL_IMAGES_CMDS
> -	$(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt
>  	$(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt $(BINARIES_DIR)/rpi-firmware/cmdline.txt
> -	$(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf
> -	$(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup.dat
> -	$(RPI_FIRMWARE_INSTALL_BOOTCODE_BIN)
> +	$(RPI_FIRMWARE_INSTALL_BIN)
> +	$(RPI_FIRMWARE_INSTALL_CONFIG)
>  	$(RPI_FIRMWARE_INSTALL_DTB)
>  	$(RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)
>  endef
> -- 
> 2.33.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@lists.buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v5 4/6] package/rpi-firmware: add option for the debug set of start/fixup boot files
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 4/6] package/rpi-firmware: add option for the debug set of start/fixup boot files Peter Seiderer
@ 2021-10-17 20:22   ` Yann E. MORIN
  0 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2021-10-17 20:22 UTC (permalink / raw)
  To: Peter Seiderer; +Cc: Martin Bark, Arthur Courtel, Mahyar Koshkouei, buildroot

Peter, All,

On 2021-09-21 22:21 +0200, Peter Seiderer spake thusly:
> Add option for the debug set of start/fixup boot files.
> 
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
> Changes v1 -> v2:
>   - new patch
> 
> Changes v2 -> v3:
>   - adjust to one-assignment style
> 
> Changes v3 -> v4:
>   - no changes
> 
> Changes v4 -> v5:
>   - rebased
> ---
>  package/rpi-firmware/Config.in       | 10 ++++++++++
>  package/rpi-firmware/rpi-firmware.mk |  4 +++-
>  2 files changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in
> index 9e401829c6..f9fc0b0e5e 100644
> --- a/package/rpi-firmware/Config.in
> +++ b/package/rpi-firmware/Config.in
> @@ -35,6 +35,11 @@ config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD
>  	  The cut-down set of files for versions Zero/1/2/3 (only
>  	  features required to boot a Linux kernel).
>  
> +config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_DB
> +	bool "rpi 0/1/2/3 (debug)"
> +	help
> +	  The debug set of files for versions Zero/1/2/3.
> +
>  config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
>  	bool "rpi 4 (default)"
>  	help
> @@ -53,6 +58,11 @@ config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD
>  	  The cut-down set of files for versions 4 (only features
>  	  required to boot a Linux kernel).
>  
> +config BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_DB
> +	bool "rpi 4 (debug)"
> +	help
> +	  The debug set of files for versions 4.
> +
>  config BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE
>  	string "Path to a file stored as boot/config.txt"
>  	help
> diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
> index 38a84100e9..f9568ba50f 100644
> --- a/package/rpi-firmware/rpi-firmware.mk
> +++ b/package/rpi-firmware/rpi-firmware.mk
> @@ -15,9 +15,11 @@ RPI_FIRMWARE_FILES = \
>  	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI), start.elf fixup.dat) \
>  	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_X), startx.elf fixupx.dat) \
>  	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_CD), start_cd.elf fixup_cd.dat) \
> +	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI_DB), start_db.elf fixup_db.dat) \
>  	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4), start4.elf fixup4.dat) \
>  	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X), start4x.elf fixup4x.dat) \
> -	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD), start4cd.elf fixup4cd.dat)
> +	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD), start4cd.elf fixup4cd.dat) \
> +	$(if $(BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_DB), start4db.elf fixup4db.dat)
>  
>  define RPI_FIRMWARE_INSTALL_BIN
>  	$(foreach f,$(RPI_FIRMWARE_FILES), \
> -- 
> 2.33.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@lists.buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v5 5/6] package/rpi-firmware: convert dtb overlay install loop to make-level foreach loop
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 5/6] package/rpi-firmware: convert dtb overlay install loop to make-level foreach loop Peter Seiderer
@ 2021-10-17 20:22   ` Yann E. MORIN
  0 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2021-10-17 20:22 UTC (permalink / raw)
  To: Peter Seiderer; +Cc: Martin Bark, Arthur Courtel, Mahyar Koshkouei, buildroot

Peter, All,

On 2021-09-21 22:21 +0200, Peter Seiderer spake thusly:
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
> Changes v2 -> v3:
>   - new patch
> 
> Changes v3 -> v4:
>   - no changes
> 
> Changes v4 -> v5:
>   - rebased
> ---
>  package/rpi-firmware/rpi-firmware.mk | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
> index f9568ba50f..13ca3c23a2 100644
> --- a/package/rpi-firmware/rpi-firmware.mk
> +++ b/package/rpi-firmware/rpi-firmware.mk
> @@ -43,9 +43,9 @@ endif
>  
>  ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS),y)
>  define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
> -	for ovldtb in  $(@D)/boot/overlays/*.dtbo; do \
> -		$(INSTALL) -D -m 0644 $${ovldtb} $(BINARIES_DIR)/rpi-firmware/overlays/$${ovldtb##*/} || exit 1; \
> -	done
> +	$(foreach ovldtb,$(wildcard $(@D)/boot/overlays/*.dtbo), \
> +		$(INSTALL) -D -m 0644 $(ovldtb) $(BINARIES_DIR)/rpi-firmware/overlays/$(notdir $(ovldtb))
> +	)
>  endef
>  else
>  # Still create the directory, so a genimage.cfg can include it independently of
> -- 
> 2.33.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@lists.buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v5 6/6] package/rpi-wifi-firmware: provide convenience links for RPi3A+, RPi3B+ and RPi4B firmware configuration files
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 6/6] package/rpi-wifi-firmware: provide convenience links for RPi3A+, RPi3B+ and RPi4B firmware configuration files Peter Seiderer
@ 2021-10-17 20:23   ` Yann E. MORIN
  0 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2021-10-17 20:23 UTC (permalink / raw)
  To: Peter Seiderer; +Cc: Martin Bark, Arthur Courtel, Mahyar Koshkouei, buildroot

Peter, All,

On 2021-09-21 22:21 +0200, Peter Seiderer spake thusly:
> Provide convenience links for BCM43455/CYW43455 based RPi3A+, RPi3B+ and RPi4B
> WIFI firmware configuration files to avoid runtime firmware loading warning in
> the kernel logs, e.g. (RPi3B+):
> 
>   brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt failed with error -2
> 
> or (RP4B
> 
>   brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2
> 
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>

I've slightly reworded and rewrapped the commit log, and applied to
master, thanks.

Regards,
Yann E. MORIN.

> ---
> Changes v4 -> v5:
>   - new patch
> ---
>  package/rpi-wifi-firmware/rpi-wifi-firmware.mk | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk
> index 28926ff4f0..582e0aa8f5 100644
> --- a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk
> +++ b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk
> @@ -12,6 +12,9 @@ RPI_WIFI_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx
>  define RPI_WIFI_FIRMWARE_INSTALL_TARGET_CMDS
>  	$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
>  	$(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm
> +	ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
> +	ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
> +	ln -sf brcmfmac43455-sdio.txt $(TARGET_DIR)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
>  endef
>  
>  $(eval $(generic-package))
> -- 
> 2.33.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@lists.buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v5 2/6] board/raspberrypicm4io: enable RTC and USB overlays
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 2/6] board/raspberrypicm4io: enable RTC and USB overlays Peter Seiderer
@ 2021-10-17 20:27   ` Yann E. MORIN
  2021-10-17 20:54     ` Peter Seiderer
  2022-01-13 22:13   ` Thomas Petazzoni
  1 sibling, 1 reply; 15+ messages in thread
From: Yann E. MORIN @ 2021-10-17 20:27 UTC (permalink / raw)
  To: Peter Seiderer; +Cc: Martin Bark, Arthur Courtel, Mahyar Koshkouei, buildroot

Peter, All,

On 2021-09-21 22:21 +0200, Peter Seiderer spake thusly:
> - add RTC and USB dtoverlay entries to config_cm4io.txt

Why specifically the RTC and USB? And why only on the CM, and not the
other boards?

IIRC, dwc2 is an OTG chip, too, and it is also wired on the rpi0. Well,
by experience, I know that the rpi0 *can* do USB slave/OTG.

Regards,
Yann E. MORIN.

> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v4 -> v5:
>   - new patch
> ---
>  board/raspberrypi/config_cm4io.txt | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/board/raspberrypi/config_cm4io.txt b/board/raspberrypi/config_cm4io.txt
> index 01f60395b3..cf7e6df1a1 100644
> --- a/board/raspberrypi/config_cm4io.txt
> +++ b/board/raspberrypi/config_cm4io.txt
> @@ -24,3 +24,10 @@ gpu_mem_1024=100
>  
>  # fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
>  dtoverlay=miniuart-bt
> +
> +# enable RTC
> +dtparam=i2c_vc=on
> +dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi
> +
> +# enable dwc2 USB controller (USB 2.0)
> +dtoverlay=dwc2,dr_mode=host
> -- 
> 2.33.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@lists.buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v5 2/6] board/raspberrypicm4io: enable RTC and USB overlays
  2021-10-17 20:27   ` Yann E. MORIN
@ 2021-10-17 20:54     ` Peter Seiderer
  2021-10-20 19:47       ` Yann E. MORIN
  0 siblings, 1 reply; 15+ messages in thread
From: Peter Seiderer @ 2021-10-17 20:54 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: Martin Bark, Arthur Courtel, Mahyar Koshkouei, buildroot

Hello Yann,

On Sun, 17 Oct 2021 22:27:17 +0200, "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> Peter, All,
>
> On 2021-09-21 22:21 +0200, Peter Seiderer spake thusly:
> > - add RTC and USB dtoverlay entries to config_cm4io.txt
>
> Why specifically the RTC and USB? And why only on the CM, and not the
> other boards?

The config is not for the CM4 standalone, but specific to the
CM4 IO Board, equipped (as the only RPi original one) with an
RTC chip....

>
> IIRC, dwc2 is an OTG chip, too, and it is also wired on the rpi0. Well,
> by experience, I know that the rpi0 *can* do USB slave/OTG.

And as far as I know the USB is enabled with all RPi's with
exception of the CM4: 'The  USB  interface  is  disabled  to  save  power  by
default  on  the  CM4' (see [1] page 5)

According to [2]:

	Name:   dwc-otg
	Info:   Selects the dwc_otg USB controller driver which has fiq support. This
	        is the default on all except the Pi Zero which defaults to dwc2.
	Load:   dtoverlay=dwc-otg
	Params: <None>


	Name:   dwc2
	Info:   Selects the dwc2 USB controller driver
	Load:   dtoverlay=dwc2,<param>=<val>
	Params: dr_mode                 Dual role mode: "host", "peripheral" or "otg"

	        g-rx-fifo-size          Size of rx fifo size in gadget mode

	        g-np-tx-fifo-size       Size of non-periodic tx fifo size in gadget
	                                mode

Would interpret 'defaults to dwc2' on Pi Zero as enabled by default...

Regards,
Peter

[1] https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf
[2] https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README
>
>
> Regards,
> Yann E. MORIN.
>
> > Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> > ---
> > Changes v4 -> v5:
> >   - new patch
> > ---
> >  board/raspberrypi/config_cm4io.txt | 7 +++++++
> >  1 file changed, 7 insertions(+)
> >
> > diff --git a/board/raspberrypi/config_cm4io.txt b/board/raspberrypi/config_cm4io.txt
> > index 01f60395b3..cf7e6df1a1 100644
> > --- a/board/raspberrypi/config_cm4io.txt
> > +++ b/board/raspberrypi/config_cm4io.txt
> > @@ -24,3 +24,10 @@ gpu_mem_1024=100
> >
> >  # fixes rpi (3B, 3B+, 3A+, 4B and Zero W) ttyAMA0 serial console
> >  dtoverlay=miniuart-bt
> > +
> > +# enable RTC
> > +dtparam=i2c_vc=on
> > +dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi
> > +
> > +# enable dwc2 USB controller (USB 2.0)
> > +dtoverlay=dwc2,dr_mode=host
> > --
> > 2.33.0
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot@lists.buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
>

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v5 2/6] board/raspberrypicm4io: enable RTC and USB overlays
  2021-10-17 20:54     ` Peter Seiderer
@ 2021-10-20 19:47       ` Yann E. MORIN
  0 siblings, 0 replies; 15+ messages in thread
From: Yann E. MORIN @ 2021-10-20 19:47 UTC (permalink / raw)
  To: Peter Seiderer; +Cc: buildroot, Martin Bark, Mahyar Koshkouei, Arthur Courtel

On 2021-10-17 22:54 +0200, Peter Seiderer spake thusly:
> On Sun, 17 Oct 2021 22:27:17 +0200, "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> > On 2021-09-21 22:21 +0200, Peter Seiderer spake thusly:
> > > - add RTC and USB dtoverlay entries to config_cm4io.txt
> > Why specifically the RTC and USB? And why only on the CM, and not the
> > other boards?
> The config is not for the CM4 standalone, but specific to the
> CM4 IO Board, equipped (as the only RPi original one) with an
> RTC chip....

Ah, OK, that makes sense, then.

> > IIRC, dwc2 is an OTG chip, too, and it is also wired on the rpi0. Well,
> > by experience, I know that the rpi0 *can* do USB slave/OTG.
> And as far as I know the USB is enabled with all RPi's with
> exception of the CM4: 'The  USB  interface  is  disabled  to  save  power  by
> default  on  the  CM4' (see [1] page 5)
> 
> According to [2]:
> 
> 	Name:   dwc-otg
> 	Info:   Selects the dwc_otg USB controller driver which has fiq support. This
> 	        is the default on all except the Pi Zero which defaults to dwc2.
> 	Load:   dtoverlay=dwc-otg
> 	Params: <None>
> 
> 
> 	Name:   dwc2
> 	Info:   Selects the dwc2 USB controller driver
> 	Load:   dtoverlay=dwc2,<param>=<val>
> 	Params: dr_mode                 Dual role mode: "host", "peripheral" or "otg"
> 
> 	        g-rx-fifo-size          Size of rx fifo size in gadget mode
> 
> 	        g-np-tx-fifo-size       Size of non-periodic tx fifo size in gadget
> 	                                mode


> Would interpret 'defaults to dwc2' on Pi Zero as enabled by default...

Yes, it is enabled by default, as a host-only controller, not OTG, which
has to be explictly requested.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v5 2/6] board/raspberrypicm4io: enable RTC and USB overlays
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 2/6] board/raspberrypicm4io: enable RTC and USB overlays Peter Seiderer
  2021-10-17 20:27   ` Yann E. MORIN
@ 2022-01-13 22:13   ` Thomas Petazzoni
  1 sibling, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2022-01-13 22:13 UTC (permalink / raw)
  To: Peter Seiderer; +Cc: Martin Bark, Arthur Courtel, Mahyar Koshkouei, buildroot

On Tue, 21 Sep 2021 22:21:33 +0200
Peter Seiderer <ps.report@gmx.net> wrote:

> - add RTC and USB dtoverlay entries to config_cm4io.txt
> 
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v4 -> v5:
>   - new patch
> ---
>  board/raspberrypi/config_cm4io.txt | 7 +++++++
>  1 file changed, 7 insertions(+)

I have applied to master, after extending the commit log with more
details that explain the change. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v5 3/6] board/raspberrypicm4io-64: enable RTC and USB overlays
  2021-09-21 20:21 ` [Buildroot] [PATCH v5 3/6] board/raspberrypicm4io-64: " Peter Seiderer
@ 2022-01-13 22:13   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2022-01-13 22:13 UTC (permalink / raw)
  To: Peter Seiderer; +Cc: Martin Bark, Arthur Courtel, Mahyar Koshkouei, buildroot

On Tue, 21 Sep 2021 22:21:34 +0200
Peter Seiderer <ps.report@gmx.net> wrote:

> - add RTC and USB dtoverlay entries to config_cm4io_64bit.txt
> 
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>

I have applied to master, after extending the commit log with more
details that explain the change. Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2022-01-13 22:13 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-21 20:21 [Buildroot] [PATCH v5 1/6] package/rpi-firmware: rework boot/config file handling Peter Seiderer
2021-09-21 20:21 ` [Buildroot] [PATCH v5 2/6] board/raspberrypicm4io: enable RTC and USB overlays Peter Seiderer
2021-10-17 20:27   ` Yann E. MORIN
2021-10-17 20:54     ` Peter Seiderer
2021-10-20 19:47       ` Yann E. MORIN
2022-01-13 22:13   ` Thomas Petazzoni
2021-09-21 20:21 ` [Buildroot] [PATCH v5 3/6] board/raspberrypicm4io-64: " Peter Seiderer
2022-01-13 22:13   ` Thomas Petazzoni
2021-09-21 20:21 ` [Buildroot] [PATCH v5 4/6] package/rpi-firmware: add option for the debug set of start/fixup boot files Peter Seiderer
2021-10-17 20:22   ` Yann E. MORIN
2021-09-21 20:21 ` [Buildroot] [PATCH v5 5/6] package/rpi-firmware: convert dtb overlay install loop to make-level foreach loop Peter Seiderer
2021-10-17 20:22   ` Yann E. MORIN
2021-09-21 20:21 ` [Buildroot] [PATCH v5 6/6] package/rpi-wifi-firmware: provide convenience links for RPi3A+, RPi3B+ and RPi4B firmware configuration files Peter Seiderer
2021-10-17 20:23   ` Yann E. MORIN
2021-10-17 20:21 ` [Buildroot] [PATCH v5 1/6] package/rpi-firmware: rework boot/config file handling Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).