Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi)
@ 2015-06-29 22:07 Yann E. MORIN
  2015-06-29 22:07 ` [Buildroot] [PATCH 1/6 v2] package/rpi-firmware: add option to install vcdbg Yann E. MORIN
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Yann E. MORIN @ 2015-06-29 22:07 UTC (permalink / raw)
  To: buildroot

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

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 1/6 v2] package/rpi-firmware: add option to install vcdbg
  2015-06-29 22:07 [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi) Yann E. MORIN
@ 2015-06-29 22:07 ` Yann E. MORIN
  2015-06-30  3:35   ` Baruch Siach
  2015-06-29 22:07 ` [Buildroot] [PATCH 2/6 v2] configs/raspberrypi: update the DT-enabled config Yann E. MORIN
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 10+ messages in thread
From: Yann E. MORIN @ 2015-06-29 22:07 UTC (permalink / raw)
  To: buildroot

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.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc; Floris Bos <bos@je-eigen-domein.nl>
Cc: Pascal de Bruijn <pmjdebruijn@pcode.nl>
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

---
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(+)

diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in
index a060b4e..7e8ab19 100644
--- a/package/rpi-firmware/Config.in
+++ b/package/rpi-firmware/Config.in
@@ -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
diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
index 56d6925..6299b04 100644
--- a/package/rpi-firmware/rpi-firmware.mk
+++ b/package/rpi-firmware/rpi-firmware.mk
@@ -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
-- 
1.9.1

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

* [Buildroot] [PATCH 2/6 v2] configs/raspberrypi: update the DT-enabled config
  2015-06-29 22:07 [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi) Yann E. MORIN
  2015-06-29 22:07 ` [Buildroot] [PATCH 1/6 v2] package/rpi-firmware: add option to install vcdbg Yann E. MORIN
@ 2015-06-29 22:07 ` Yann E. MORIN
  2015-06-29 22:07 ` [Buildroot] [PATCH 3/6 v2] configs/raspberrypi2: update our defconfig Yann E. MORIN
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Yann E. MORIN @ 2015-06-29 22:07 UTC (permalink / raw)
  To: buildroot

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.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Floris Bos <bos@je-eigen-domein.nl>
Cc: Pascal de Bruijn <pmjdebruijn@pcode.nl>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

---
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

diff --git a/board/raspberrypi/linux-3.18-rpi-dt.defconfig b/board/raspberrypi/linux-3.18-rpi-dt.defconfig
deleted file mode 100644
index 69c0fa3..0000000
--- a/board/raspberrypi/linux-3.18-rpi-dt.defconfig
+++ /dev/null
@@ -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
diff --git a/configs/raspberrypi_dt_defconfig b/configs/raspberrypi_dt_defconfig
index 991460e..61487a4 100644
--- a/configs/raspberrypi_dt_defconfig
+++ b/configs/raspberrypi_dt_defconfig
@@ -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
-- 
1.9.1

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

* [Buildroot] [PATCH 3/6 v2] configs/raspberrypi2: update our defconfig
  2015-06-29 22:07 [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi) Yann E. MORIN
  2015-06-29 22:07 ` [Buildroot] [PATCH 1/6 v2] package/rpi-firmware: add option to install vcdbg Yann E. MORIN
  2015-06-29 22:07 ` [Buildroot] [PATCH 2/6 v2] configs/raspberrypi: update the DT-enabled config Yann E. MORIN
@ 2015-06-29 22:07 ` Yann E. MORIN
  2015-06-29 22:07 ` [Buildroot] [PATCH 4/6 v2] config/raspberrypi: remove non-DT defconfig Yann E. MORIN
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Yann E. MORIN @ 2015-06-29 22:07 UTC (permalink / raw)
  To: buildroot

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

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Floris Bos <bos@je-eigen-domein.nl>
Cc: Pascal de Bruijn <pmjdebruijn@pcode.nl>

---
Changes v1 -> v2:
  - further bump kernel version
---
 configs/raspberrypi2_defconfig | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/configs/raspberrypi2_defconfig b/configs/raspberrypi2_defconfig
index 5859749..7b12040 100644
--- a/configs/raspberrypi2_defconfig
+++ b/configs/raspberrypi2_defconfig
@@ -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
-- 
1.9.1

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

* [Buildroot] [PATCH 4/6 v2] config/raspberrypi: remove non-DT defconfig
  2015-06-29 22:07 [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi) Yann E. MORIN
                   ` (2 preceding siblings ...)
  2015-06-29 22:07 ` [Buildroot] [PATCH 3/6 v2] configs/raspberrypi2: update our defconfig Yann E. MORIN
@ 2015-06-29 22:07 ` Yann E. MORIN
  2015-06-29 22:07 ` [Buildroot] [PATCH 5/6 v2] config/raspberrypi: rename our non-DT defconfig file Yann E. MORIN
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Yann E. MORIN @ 2015-06-29 22:07 UTC (permalink / raw)
  To: buildroot

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).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Floris Bos <bos@je-eigen-domein.nl>
Cc: Pascal de Bruijn <pmjdebruijn@pcode.nl>
---
 configs/raspberrypi_defconfig | 21 ---------------------
 1 file changed, 21 deletions(-)
 delete mode 100644 configs/raspberrypi_defconfig

diff --git a/configs/raspberrypi_defconfig b/configs/raspberrypi_defconfig
deleted file mode 100644
index f9b8a1c..0000000
--- a/configs/raspberrypi_defconfig
+++ /dev/null
@@ -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
-- 
1.9.1

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

* [Buildroot] [PATCH 5/6 v2] config/raspberrypi: rename our non-DT defconfig file
  2015-06-29 22:07 [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi) Yann E. MORIN
                   ` (3 preceding siblings ...)
  2015-06-29 22:07 ` [Buildroot] [PATCH 4/6 v2] config/raspberrypi: remove non-DT defconfig Yann E. MORIN
@ 2015-06-29 22:07 ` Yann E. MORIN
  2015-06-29 22:07 ` [Buildroot] [PATCH 6/6 v2] boards/raspberrypi: update instructions Yann E. MORIN
  2015-06-30 12:41 ` [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi) Thomas Petazzoni
  6 siblings, 0 replies; 10+ messages in thread
From: Yann E. MORIN @ 2015-06-29 22:07 UTC (permalink / raw)
  To: buildroot

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.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Floris Bos <bos@je-eigen-domein.nl>
Cc: Pascal de Bruijn <pmjdebruijn@pcode.nl>
---
 configs/{raspberrypi_dt_defconfig => raspberrypi_defconfig} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename configs/{raspberrypi_dt_defconfig => raspberrypi_defconfig} (100%)

diff --git a/configs/raspberrypi_dt_defconfig b/configs/raspberrypi_defconfig
similarity index 100%
rename from configs/raspberrypi_dt_defconfig
rename to configs/raspberrypi_defconfig
-- 
1.9.1

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

* [Buildroot] [PATCH 6/6 v2] boards/raspberrypi: update instructions
  2015-06-29 22:07 [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi) Yann E. MORIN
                   ` (4 preceding siblings ...)
  2015-06-29 22:07 ` [Buildroot] [PATCH 5/6 v2] config/raspberrypi: rename our non-DT defconfig file Yann E. MORIN
@ 2015-06-29 22:07 ` Yann E. MORIN
  2015-06-30 12:41 ` [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi) Thomas Petazzoni
  6 siblings, 0 replies; 10+ messages in thread
From: Yann E. MORIN @ 2015-06-29 22:07 UTC (permalink / raw)
  To: buildroot

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.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Floris Bos <bos@je-eigen-domein.nl>
Cc: Pascal de Bruijn <pmjdebruijn@pcode.nl>

---
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(-)

diff --git a/board/raspberrypi/readme.txt b/board/raspberrypi/readme.txt
index 4ead046..cf95879 100644
--- a/board/raspberrypi/readme.txt
+++ b/board/raspberrypi/readme.txt
@@ -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
 
-- 
1.9.1

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

* [Buildroot] [PATCH 1/6 v2] package/rpi-firmware: add option to install vcdbg
  2015-06-29 22:07 ` [Buildroot] [PATCH 1/6 v2] package/rpi-firmware: add option to install vcdbg Yann E. MORIN
@ 2015-06-30  3:35   ` Baruch Siach
  2015-06-30 18:17     ` Yann E. MORIN
  0 siblings, 1 reply; 10+ messages in thread
From: Baruch Siach @ 2015-06-30  3:35 UTC (permalink / raw)
  To: buildroot

Hi Yann,

On Tue, Jun 30, 2015 at 12:07:41AM +0200, Yann E. MORIN wrote:
> 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/

> 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?

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

baruch

-- 
     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 -

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

* [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi)
  2015-06-29 22:07 [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi) Yann E. MORIN
                   ` (5 preceding siblings ...)
  2015-06-29 22:07 ` [Buildroot] [PATCH 6/6 v2] boards/raspberrypi: update instructions Yann E. MORIN
@ 2015-06-30 12:41 ` Thomas Petazzoni
  6 siblings, 0 replies; 10+ messages in thread
From: Thomas Petazzoni @ 2015-06-30 12:41 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Tue, 30 Jun 2015 00:07:41 +0200, Yann E. MORIN wrote:

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

There are still some pending questions on that one.

>       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
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 1/6 v2] package/rpi-firmware: add option to install vcdbg
  2015-06-30  3:35   ` Baruch Siach
@ 2015-06-30 18:17     ` Yann E. MORIN
  0 siblings, 0 replies; 10+ messages in thread
From: Yann E. MORIN @ 2015-06-30 18:17 UTC (permalink / raw)
  To: buildroot

Baruch, All,

On 2015-06-30 06:35 +0300, Baruch Siach spake thusly:
> On Tue, Jun 30, 2015 at 12:07:41AM +0200, Yann E. MORIN wrote:
> > 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/
> 
> > 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.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

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

end of thread, other threads:[~2015-06-30 18:17 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-29 22:07 [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi) Yann E. MORIN
2015-06-29 22:07 ` [Buildroot] [PATCH 1/6 v2] package/rpi-firmware: add option to install vcdbg Yann E. MORIN
2015-06-30  3:35   ` Baruch Siach
2015-06-30 18:17     ` Yann E. MORIN
2015-06-29 22:07 ` [Buildroot] [PATCH 2/6 v2] configs/raspberrypi: update the DT-enabled config Yann E. MORIN
2015-06-29 22:07 ` [Buildroot] [PATCH 3/6 v2] configs/raspberrypi2: update our defconfig Yann E. MORIN
2015-06-29 22:07 ` [Buildroot] [PATCH 4/6 v2] config/raspberrypi: remove non-DT defconfig Yann E. MORIN
2015-06-29 22:07 ` [Buildroot] [PATCH 5/6 v2] config/raspberrypi: rename our non-DT defconfig file Yann E. MORIN
2015-06-29 22:07 ` [Buildroot] [PATCH 6/6 v2] boards/raspberrypi: update instructions Yann E. MORIN
2015-06-30 12:41 ` [Buildroot] [PATCH 0/6 v2] raspberrypi: update packages and defconfigs (branch yem/rpi) Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox