Skip to contentSkip to conversation

raspberrypi: update packages and defconfigs (branch yem/rpi)

PATCH Superseded Yann E. MORIN 3 participants 10 messages Jun 29, 2015 – Jun 30, 2015 Broadcom BCM2711/BCM2835 Arm architecture

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

v2 cover raspberrypi: update packages and defconfigs (branch yem/rpi)

Hello All!

This series updates our support for the RaspberryPi line of boards:
RaspberryPi models A and B, A+ and B+, and model 2 B.

Patch 1 adds the option to install a utility to diagnmose issues when talking to the GPU (useful to debug DT-related issues... when booted!)

Patches 2-5 update our defconfig files and drops the defconfig without DT support.

Patch 6 updates the board instructions according to the previous patches.

Thanks to Floris and Pascal for their initial works! :-)

Changes v1 -> v2:
- vcdbg selects rpi-userland (Baruch, Thomas)
- merge defconfig files for A/B and A+/B+ (Thomas)
- further bump the kernel version
- update board readme after defconfig merge

Regards,
Yann E. MORIN.

The following changes since commit 41282cbdd62dd1299be50428e436e96c45f916eb:

package/rpi-userland: bump version (2015-06-29 22:16:45 +0200)

are available in the git repository at:

git://git.busybox.net/~ymorin/git/buildroot yem/rpi

for you to fetch changes up to ce3d41536398919a5aa02211e7a85c82771a4e52:

boards/raspberrypi: update instructions (2015-06-30 00:01:09 +0200)

----------------------------------------------------------------
Yann E. MORIN (6):
package/rpi-firmware: add option to install vcdbg configs/raspberrypi: update the DT-enabled config configs/raspberrypi2: update our defconfig config/raspberrypi: remove non-DT defconfig config/raspberrypi: rename our non-DT defconfig file boards/raspberrypi: update instructions

 board/raspberrypi/linux-3.18-rpi-dt.defconfig | 204 --------------------------
 board/raspberrypi/readme.txt                  |  48 +++---
 configs/raspberrypi2_defconfig                |  16 +-
 configs/raspberrypi_defconfig                 |  26 ++--
 configs/raspberrypi_dt_defconfig              |  20 ---
 package/rpi-firmware/Config.in                |  13 ++
 package/rpi-firmware/rpi-firmware.mk          |   7 +
 7 files changed, 69 insertions(+), 265 deletions(-)
 delete mode 100644 board/raspberrypi/linux-3.18-rpi-dt.defconfig
 delete mode 100644 configs/raspberrypi_dt_defconfig
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#1 lore raw

PATCH v2 1/6 package/rpi-firmware: add option to install vcdbg

vcdbg is a tool to help debug the communication with the GPU. It comes as a binary-only, and in two flavours: one for the hard floating point ABI, one for the software floating poitn ABI.

Unfortunately, we have no source code for that tool, only a binary that was dynamically linked with glibc and libraries from rpi-userland.

So, just install that executable, and let's hope there is no symbol issue at runtime.

Cc; Floris Bos <[email protected]>
Cc: Pascal de Bruijn <[email protected]>
Cc: Baruch Siach <[email protected]>
Cc: Thomas Petazzoni <[email protected]>

---
Changes v1 -> v2:
- select rpi-userland (Baruch, Thomas)

---
 package/rpi-firmware/Config.in       | 13 +++++++++++++
 package/rpi-firmware/rpi-firmware.mk |  7 +++++++
 2 files changed, 20 insertions(+)
package/rpi-firmware/Config.in +13 -0
index a060b4e..7e8ab19 100644
@@ -65,4 +65,17 @@ config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
 	  Say 'y' here if you need to load one or more of the DTB overlays,
 	  to support HATs (Hardware Attached on Top, add-on modules).
 
+config BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG
+	bool "vcdbg"
+	depends on BR2_INSTALL_LIBSTDCPP # rpi-userland
+	depends on BR2_TOOLCHAIN_HAS_THREADS # rpi-userland
+	depends on !BR2_STATIC_LIBS # rpi-userland
+	select BR2_PACKAGE_RPI_USERLAND
+	help
+	  Install vcdbg, to help debug communication with the GPU.
+
+comment "vcdbg needs a toolchain w/ C++, threads, dynamic library"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
+		|| BR2_STATIC_LIBS
+
 endif # BR2_PACKAGE_RPI_FIRMWARE
package/rpi-firmware/rpi-firmware.mk +7 -0
index 56d6925..6299b04 100644
@@ -29,6 +29,13 @@ define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
 endef
 endif
 
+ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG),y)
+define RPI_FIRMWARE_INSTALL_TARGET_CMDS
+	$(INSTALL) -d -m 0700 $(@D)/$(if BR2_ARM_EABIHF,hardfp/)opt/vc/bin/vcdbg \
+		$(TARGET_DIR)/usr/sbin/vcdbg
+endef
+endif # INSTRALL_VCDBG
+
 define RPI_FIRMWARE_INSTALL_IMAGES_CMDS
 	$(INSTALL) -D -m 0644 $(@D)/boot/bootcode.bin $(BINARIES_DIR)/rpi-firmware/bootcode.bin
 	$(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf
Signature · 1 line
1.9.1
#2 lore raw

PATCH v2 1/6 package/rpi-firmware: add option to install vcdbg

Hi Yann,

Quoted 3 lines · Yann E. MORIN

vcdbg is a tool to help debug the communication with the GPU. It comes as a binary-only, and in two flavours: one for the hard floating point ABI, one for the software floating poitn ABI.

s/poitn/point/

Quoted 2 lines

Unfortunately, we have no source code for that tool, only a binary that was dynamically linked with glibc and libraries from rpi-userland.

Shouldn't it depend on glibc them? Does it run with uClibc*/musl?

Quoted 2 lines

So, just install that executable, and let's hope there is no symbol issue at runtime.

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#3 lore raw

PATCH v2 1/6 package/rpi-firmware: add option to install vcdbg

Baruch, All,

On 2015-06-30 06:35 +0300, Baruch Siach spake thusly:

Quoted 11 lines · Yann E. MORIN
Quoted 3 lines

vcdbg is a tool to help debug the communication with the GPU. It comes as a binary-only, and in two flavours: one for the hard floating point ABI, one for the software floating poitn ABI.

s/poitn/point/

Quoted 2 lines

Unfortunately, we have no source code for that tool, only a binary that was dynamically linked with glibc and libraries from rpi-userland.

Shouldn't it depend on glibc them? Does it run with uClibc*/musl?

No, it does not run with musl or uClibc/uClibc-ng, because it is linked to libc.so.6.

I'll fix that (and the typo). Thanks! :-)

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#4 lore raw

PATCH v2 2/6 configs/raspberrypi: update the DT-enabled config

In reply to Yann E. MORIN

Update to the latest stable kernel version; build an in-tree DTB; use a in-tree defconfig; enable C++ (to match what we have in the non-DT variant); do not install DTB overlays (this minimalist config does not make use of them).

Generate the DTBs for both the "original" variant (A and B) and the "Plus" variant (A+ and B+).

Drop our custom linux defconfig file now we use an in-tree one.

Cc Floris Bos <[email protected]>
Cc Pascal de Bruijn <[email protected]>
Cc Thomas Petazzoni <[email protected]>

---
Changes v1 -> v2:
- use a singled defconfig for a/B and A+/B+ (Thomas)
- further bump the kernel version

---
 board/raspberrypi/linux-3.18-rpi-dt.defconfig | 204 --------------------------
 configs/raspberrypi_dt_defconfig              |  21 ++-
 2 files changed, 14 insertions(+), 211 deletions(-)
 delete mode 100644 board/raspberrypi/linux-3.18-rpi-dt.defconfig
board/raspberrypi/linux-3.18-rpi-dt.defconfig deleted +0 -204
deleted file mode 100644
index 69c0fa3..0000000
@@ -1,204 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_KERNEL_XZ=y
-# CONFIG_SWAP is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_FHANDLE=y
-CONFIG_NO_HZ_IDLE=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_IKCONFIG=m
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=21
-# CONFIG_UTS_NS is not set
-# CONFIG_IPC_NS is not set
-# CONFIG_PID_NS is not set
-# CONFIG_NET_NS is not set
-CONFIG_RELAY=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_JUMP_LABEL=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_IOSCHED_DEADLINE is not set
-# CONFIG_IOSCHED_CFQ is not set
-CONFIG_ARCH_BCM2708=y
-CONFIG_BCM2708_DT=y
-CONFIG_PREEMPT=y
-CONFIG_AEABI=y
-CONFIG_KSM=y
-CONFIG_UACCESS_WITH_MEMCPY=y
-# CONFIG_ATAGS is not set
-CONFIG_KEXEC=y
-CONFIG_AUTO_ZRELADDR=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_STAT=m
-CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=m
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_VFP=y
-CONFIG_BINFMT_MISC=m
-# CONFIG_SUSPEND is not set
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_PACKET_DIAG=m
-CONFIG_UNIX=y
-CONFIG_UNIX_DIAG=m
-CONFIG_INET=y
-CONFIG_SYN_COOKIES=y
-# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
-# CONFIG_INET_XFRM_MODE_TUNNEL is not set
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
-CONFIG_INET_DIAG=m
-CONFIG_INET_UDP_DIAG=m
-# CONFIG_IPV6 is not set
-CONFIG_NETLINK_DIAG=y
-CONFIG_BPF_JIT=y
-# CONFIG_WIRELESS is not set
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-# CONFIG_FIRMWARE_IN_KERNEL is not set
-CONFIG_CONNECTOR=y
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_RAM=m
-CONFIG_SCSI=m
-# CONFIG_SCSI_PROC_FS is not set
-CONFIG_BLK_DEV_SD=m
-# CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_NETDEVICES=y
-CONFIG_DUMMY=m
-# CONFIG_ETHERNET is not set
-CONFIG_USB_USBNET=m
-# CONFIG_USB_NET_AX8817X is not set
-# CONFIG_USB_NET_AX88179_178A is not set
-# CONFIG_USB_NET_CDCETHER is not set
-# CONFIG_USB_NET_CDC_NCM is not set
-CONFIG_USB_NET_SMSC95XX=m
-# CONFIG_USB_NET_NET1080 is not set
-# CONFIG_USB_NET_CDC_SUBSET is not set
-# CONFIG_USB_NET_ZAURUS is not set
-# CONFIG_WLAN is not set
-CONFIG_INPUT_SPARSEKMAP=m
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_SERIO is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_DEVKMEM is not set
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-CONFIG_HW_RANDOM_BCM2708=m
-CONFIG_I2C=m
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_BCM2835=m
-CONFIG_I2C_BCM2708=m
-CONFIG_SPI=y
-CONFIG_SPI_BCM2835=m
-CONFIG_SPI_BCM2708=m
-CONFIG_SPI_BITBANG=m
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_GENERIC_PLATFORM=y
-# CONFIG_HWMON is not set
-CONFIG_THERMAL=y
-CONFIG_THERMAL_BCM2835=y
-CONFIG_WATCHDOG=y
-CONFIG_SOFT_WATCHDOG=m
-CONFIG_BCM2708_WDT=m
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=m
-CONFIG_REGULATOR_USERSPACE_CONSUMER=m
-CONFIG_FB=y
-CONFIG_FIRMWARE_EDID=y
-CONFIG_FB_MODE_HELPERS=y
-CONFIG_FB_BCM2708=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_SOUND=m
-CONFIG_SND=m
-CONFIG_SND_SEQUENCER=m
-CONFIG_SND_SEQ_DUMMY=m
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=m
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_DUMMY=m
-CONFIG_SND_BCM2835=m
-# CONFIG_SND_SPI is not set
-CONFIG_SND_USB_AUDIO=m
-CONFIG_HIDRAW=y
-CONFIG_UHID=y
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-CONFIG_USB_DYNAMIC_MINORS=y
-CONFIG_USB_DWCOTG=y
-CONFIG_USB_STORAGE=m
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_USB_STORAGE_DATAFAB=m
-CONFIG_USB_STORAGE_FREECOM=m
-CONFIG_USB_STORAGE_ISD200=m
-CONFIG_USB_STORAGE_USBAT=m
-CONFIG_USB_STORAGE_SDDR09=m
-CONFIG_USB_STORAGE_SDDR55=m
-CONFIG_USB_STORAGE_JUMPSHOT=m
-CONFIG_USB_STORAGE_ALAUDA=m
-CONFIG_USB_STORAGE_ONETOUCH=m
-CONFIG_USB_STORAGE_KARMA=m
-CONFIG_USB_STORAGE_CYPRESS_ATACB=m
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_MMC=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_BCM2835=y
-CONFIG_MMC_BCM2835_DMA=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=m
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_ONESHOT=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=m
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_CPU=y
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-CONFIG_LEDS_TRIGGER_TRANSIENT=m
-CONFIG_LEDS_TRIGGER_CAMERA=m
-# CONFIG_IOMMU_SUPPORT is not set
-CONFIG_EXT2_FS=m
-CONFIG_EXT3_FS=m
-# CONFIG_EXT3_FS_XATTR is not set
-CONFIG_EXT4_FS=y
-CONFIG_FANOTIFY=y
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=850
-CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_CONFIGFS_FS=m
-# CONFIG_MISC_FILESYSTEMS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_UTF8=m
-CONFIG_PRINTK_TIME=y
-CONFIG_STRIP_ASM_SYMS=y
-CONFIG_PANIC_ON_OOPS=y
-# CONFIG_RCU_CPU_STALL_VERBOSE is not set
-CONFIG_STRICT_DEVMEM=y
-CONFIG_DEBUG_USER=y
-CONFIG_CRYPTO_MANAGER=m
-# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
-CONFIG_CRYPTO_NULL=m
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-# CONFIG_CRYPTO_HW is not set
configs/raspberrypi_dt_defconfig +14 -7
index 991460e..61487a4 100644
@@ -3,18 +3,25 @@ BR2_arm1176jzf_s=y
 
 BR2_TARGET_GENERIC_GETTY_PORT="tty1"
 
-# Lock to 3.18 headers as the RPi kernel with
-# DT support is based off the 3.18 branch
+# Lock to 4.0 headers as the RPi kernel stable tree is
+# based off the 4.0 branch
 BR2_KERNEL_HEADERS_VERSION=y
-BR2_DEFAULT_KERNEL_VERSION="3.18"
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
+BR2_DEFAULT_KERNEL_VERSION="4.0.6"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0=y
+
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
 
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="2747cc0bde4ca441691260fae1e34c9ef954ccae"
-BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
-BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/raspberrypi/linux-3.18-rpi-dt.defconfig"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="f90f981770e3ac8506dc84c9cd01471faaa0b0c2"
+BR2_LINUX_KERNEL_USE_DEFCONFIG=y
+BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
 BR2_LINUX_KERNEL_ZIMAGE=y
 
+# Build the DTBs for A/B and A+/B+ from the kernel sources
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b bcm2708-rpi-b-plus"
+
 BR2_PACKAGE_RPI_FIRMWARE=y
+# BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set
Signature · 1 line
1.9.1
#5 lore raw

PATCH v2 3/6 configs/raspberrypi2: update our defconfig

In reply to Yann E. MORIN

Update to the latest stable kernel version (4.0.y); build an in-tree DTB.

Cc Floris Bos <[email protected]>
Cc Pascal de Bruijn <[email protected]>

---
Changes v1 -> v2:
- further bump kernel version

---
 configs/raspberrypi2_defconfig | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)
configs/raspberrypi2_defconfig +11 -5
index 5859749..7b12040 100644
@@ -7,16 +7,22 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y
 
 BR2_TARGET_GENERIC_GETTY_PORT="tty1"
 
-# Lock to 3.18 headers as the RPi2 kernel is based off the 3.18 branch
+# Lock to 4.0 headers as the RPi kernel stable tree is
+# based off the 4.0 branch
 BR2_KERNEL_HEADERS_VERSION=y
-BR2_DEFAULT_KERNEL_VERSION="3.18"
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y
+BR2_DEFAULT_KERNEL_VERSION="4.0.6"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0=y
 
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="2747cc0bde4ca441691260fae1e34c9ef954ccae"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="f90f981770e3ac8506dc84c9cd01471faaa0b0c2"
 BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
-BR2_LINUX_KERNEL_ZIMAGE=y
+BR2_LINUX_KERNEL_ZIMAGE=yo
+
+# Build the DTB from the kernel sources
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2709-rpi-2-b"
 
 BR2_PACKAGE_RPI_FIRMWARE=y
+# BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set
Signature · 1 line
1.9.1
#6 lore raw

PATCH v2 4/6 config/raspberrypi: remove non-DT defconfig

In reply to Yann E. MORIN

The RPi is slowly but surely dropping support for booting without a DTB, so just ditch our old defconfig now that we have up-to-date DT-enabled defconfigs for all RPi models (save for the compute module).

Cc Floris Bos <[email protected]>
Cc Pascal de Bruijn <[email protected]>
---
 configs/raspberrypi_defconfig | 21 ---------------------
 1 file changed, 21 deletions(-)
 delete mode 100644 configs/raspberrypi_defconfig
configs/raspberrypi_defconfig deleted +0 -21
deleted file mode 100644
index f9b8a1c..0000000
@@ -1,21 +0,0 @@
-BR2_arm=y
-BR2_arm1176jzf_s=y
-
-BR2_TOOLCHAIN_BUILDROOT_CXX=y
-
-BR2_TARGET_GENERIC_GETTY_PORT="tty1"
-
-BR2_PACKAGE_RPI_FIRMWARE=y
-
-# Lock to 3.12 headers as the RPi kernel is based off the 3.12 branch
-BR2_KERNEL_HEADERS_VERSION=y
-BR2_DEFAULT_KERNEL_VERSION="3.12.28"
-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_12=y
-
-BR2_LINUX_KERNEL=y
-BR2_LINUX_KERNEL_CUSTOM_GIT=y
-BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/raspberrypi/linux.git"
-BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="c256eb9968c8997dce47350d2075e42f1b3991d3"
-BR2_LINUX_KERNEL_USE_DEFCONFIG=y
-BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi_quick"
-BR2_LINUX_KERNEL_ZIMAGE=y
Signature · 1 line
1.9.1
#7 lore raw

PATCH v2 5/6 config/raspberrypi: rename our non-DT defconfig file

In reply to Yann E. MORIN

Since we no longer have a non-DT defconfig, and we no longer want to advertise such a possibility (non-DT is being phased out), just rename the DT-enabled defconfig file.

Cc Floris Bos <[email protected]>
Cc Pascal de Bruijn <[email protected]>
---
 configs/{raspberrypi_dt_defconfig => raspberrypi_defconfig} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename configs/{raspberrypi_dt_defconfig => raspberrypi_defconfig} (100%)
configs/raspberrypi_defconfig renamed from configs/raspberrypi_dt_defconfig +0 -0
similarity index 100%
rename from configs/raspberrypi_dt_defconfig
rename to configs/raspberrypi_defconfig
Signature · 1 line
1.9.1
#8 lore raw

PATCH v2 6/6 boards/raspberrypi: update instructions

In reply to Yann E. MORIN

Now that we have a sanitised set of defconfig files, and we no longer support non-DT setups, update and simplify the board readme file.

Cc Floris Bos <[email protected]>
Cc Pascal de Bruijn <[email protected]>

---
Changes v1 -> v2:
- update after merge of A/B and A+/B+ (Thomas)

---
 board/raspberrypi/readme.txt | 48 ++++++++++++++++++++------------------------
 1 file changed, 22 insertions(+), 26 deletions(-)
board/raspberrypi/readme.txt +22 -26
index 4ead046..cf95879 100644
@@ -22,17 +22,14 @@ How to build it
 Configure Buildroot
 -------------------
 
-The raspberrypi_defconfig configuration is a minimal configuration with
-all that is required to bring the Raspberry Pi up. You should base your
-work on this defconfig:
+There are two RaspberryPi defconfig files in Buildroot, one for each
+major variant, which you should base your work on:
 
-  $ make raspberrypi_defconfig
-
-Alternatively, if you want to test support for the Device Tree:
+For models A, B, A+ or B+:
 
-  $ make raspberrypi_dt_defconfig
+  $ make raspberrypi_defconfig
 
-For Raspberry Pi 2 use a different defconfig:
+And for model 2 B:
 
   $ make raspberrypi2_defconfig
 
@@ -64,20 +61,23 @@ Result of the build
 After building, you should obtain this tree:
 
     output/images/
-    +-- rootfs.tar                              [0]
+    +-- rootfs.tar                  [0]
     +-- rpi-firmware/
-    |   +-- bcm2708-rpi-b.dtb
-    |   +-- bcm2708-rpi-b-plus.dtb
-    |   +-- bcm2709-rpi-2-b.dtb
     |   +-- bootcode.bin
     |   +-- config.txt
     |   +-- fixup.dat
     |   `-- start.elf
+    +-- bcm2708-rpi-b.dtb           [1]
+    +-- bcm2708-rpi-b-plus.dtb      [1]
+    +-- bcm2709-rpi-2-b.dtb         [1]
     `-- zImage
 
 [0] Note for Volatile: rootfs.tar will only be there if you kept
     "tar the root filesystem" option selected in "Filesystem images".
 
+[1] Not all of them will be present, depending on the RaspberryPi
+    model you are using.
+
 Prepare you SDCard
 ==================
 
@@ -105,30 +105,26 @@ Install the binaries to the SDCard
 At the root of the boot partition, the Raspberry Pi must find the following
 files:
 
-    * bcm2708-rpi-b.dtb         [1]
-    * bcm2708-rpi-b-plus.dtb    [2]
-    * bcm2709-rpi-2-b.dtb       [3]
+    * bcm2708-rpi-b.dtb         [2]
+    * bcm2708-rpi-b-plus.dtb    [3]
+    * bcm2709-rpi-2-b.dtb       [4]
     * bootcode.bin
     * config.txt
     * fixup.dat
     * start.elf
     * zImage
 
-[1] For models A and B
-[2] For models A+ and B+
-[3] For model 2
+[2] For models A and B
+[3] For models A+ and B+
+[4] For model 2
 
 For example:
 
- $ cp output/images/rpi-firmware/* /mnt/mountpointboot
-
-If your kernel does *not* have support for the Device Tree, then install
-it with:
-
- $ cp output/images/zImage /mnt/mountpointboot
+  $ cp output/images/rpi-firmware/* /mnt/mountpointboot
+  $ cp output/images/*.dtb /mnt/mountpointboot
 
-If your kernel *does* have support for the Device Tree, then install it
-with:
+The kernel image must be marked with a special header so that the
+bootloader of the RaspberryPi knows it supports Device Tree:
 
   $ ./output/host/usr/bin/mkknlimg output/images/zImage /mnt/mountpointboot/zImage
 
Signature · 1 line
1.9.1
#9 lore raw

v2 cover raspberrypi: update packages and defconfigs (branch yem/rpi)

In reply to Yann E. MORIN

Dear Yann E. MORIN,

Quoted 2 lines · Yann E. MORIN

Yann E. MORIN (6):
package/rpi-firmware: add option to install vcdbg

There are still some pending questions on that one.

Quoted 5 lines

configs/raspberrypi: update the DT-enabled config configs/raspberrypi2: update our defconfig config/raspberrypi: remove non-DT defconfig config/raspberrypi: rename our non-DT defconfig file boards/raspberrypi: update instructions

All these ones applied, thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com