diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2017-02-23 20:31:26 -0600 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2017-03-29 21:31:40 +0000 |
commit | b2e6a9b5bcc725ab21f4a319e32ea09700a732b6 (patch) | |
tree | ea703254597ea62d8ea0055c428b2709b80d649e /import-layers/meta-raspberrypi/recipes-bsp | |
parent | ddad1a1568cc6c729bcb317fae411152024437fa (diff) | |
download | talos-openbmc-b2e6a9b5bcc725ab21f4a319e32ea09700a732b6.tar.gz talos-openbmc-b2e6a9b5bcc725ab21f4a319e32ea09700a732b6.zip |
Squashed 'import-layers/meta-raspberrypi/'.
cce6292 linux-raspberrypi_4.9.bb: Upgrade to 4.9.10
c34a6b0 linux-raspberrypi_4.4: Update to 4.4.48
7398030 Revert "u-boot: drop patch to include lowlevel_init"
69c5675 README: Mention CM1 and CM3 support
56b0c59 rpi-base.inc: Include dtb file for CM1 and CM3
a735477 raspberrypi*.conf: Minor tweaks
9923618 raspberrypi-cm3.conf: Add dummy machine for CM3 (alias for RPi2)
d5aa048 raspberrypi-cm.conf: Add dummy machine for CM1 (alias for RPi1)
5b5c4d9 linux-raspberrypi_4.9: Update to 4.9.4
f81f022 linux-raspberrypi_4.4: Update to 4.4.43
263e6bd linux-raspberrypi: Drop v4.8
121e200 linux-raspberrypi: Drop v4.7
cb7068a linux-raspberrypi: Upgrade to v4.4.39
38bc324 linux-raspberrypi: Drop v4.1
e1f69da linux-raspberrypi_4.9.bb: Add recipe for 4.9 release
02c0d41 linux-raspberrypi_4.8.bb: Upgrade to 4.8.16
031e2695 u-boot: drop patch to include lowlevel_init
c405581 rpi-base.inc: remove input modules form XSERVER
d77f3d4 rpi-base.inc: add xserver-xorg-extension-glx to XSERVER for vc4 enabled
672e025 linux-raspberrypi-4.8: Upgrade to 4.8.15
1bf09a4 userland: Fix building on aarch64
22fb2b4 linux-raspberrypi-4.8: Upgrade to 4.8.13
90c45b4 userland: Update to latest
96b9c63 linux-raspberrypi-base.bbclass: remove version hack
17f0c23 linux-rpi.inc: Do not rely on DISTRO_TYPE to enable/disable kernel debug
064aa0a u-boot: Simplify boot script
0e66d69 linux-raspberrypi_4.8.bb: upgrade to 4.8.12
18cf04d firmware: Update to 20161125
1f64604 linux-raspberrypi_4.4.bb: upgrade to 4.4.35
44d41bf raspberrypi3.conf: fix typo for BCM43430
6bd1bfe linux-raspberrypi: remove not needed bundle_initramfs_append()
b030814 u-boot: Fix appending to RDEPENDS
9c12ac8 linux-raspberrypi_4.8.bb: Upgrade to 4.8.6
380740d linux-firmware_git.bbappend: Delete
a5f95f4 userland: Bump to latest and add ASNEEDED = ""
716b6a9 firmware: Use release tarballs
6c755af weston: Unify bbappends for weston into single file
b9e6f04 userland: Update to latest master tip
00300d9 firmware: Update to 20161030
3e6e890 linux-raspberrypi-4.4: Update to 4.4.28
12aa27d gstreamer1.0-plugins-bad_%.bbappend: Set PACKAGECONFIG_GL for RPi
ab39653 rpi-base.inc: Include pi3-disable-bt-overlay.dtb
17a6933 linux-raspberrypi: Update to 4.8.4
ddc9390 linux-firmware: Fix "No generic license file exists" warning
d51a8a7 linux-raspberrypi_4.8.bb: Update to 4.8.2
e991148 firmware: Update to latest
ed54bd3 linux-firmware: Correct the LICENSE for brcm43430-license
3360f98 sdcard_image-rpi.bbclass: Include boot script when using u-boot
1d629b1 u-boot: Add RDEPENDS on rpi-u-boot-scr
56047ad rpi-u-boot-scr: Add recipe to create u-boot boot script
1f24992 rpi-base.inc: Don't install kernel image into rootfs
c62e088 eglinfo-x11: align to VC4
1ebb370 vc4: why no framebuffer device?
8d17669 xorg align for vc4
3b9aebd mesa: align for vc4
de016ce bluez5: correctly append brcm43438 service
b6c954d Fix DISPMANX_OFFLINE variable typo
d778d0a README: Replace references to Redmine with Github Issues
1e3983f linux-raspberrypi_4.7.bb: Update to 4.7.7
ecd8875 linux-raspberrypi: Add recipe for 4.8 release
05be947 firmware: Upgrade to latest
585838e userland: Upgrade to latest
41689e8 sdcard_image-rpi.bbclass: Remove redundant RPI_KERNEL_VERSION
5697e77 linux-raspberrypi_4.4: Upgrade to 4.4.23
4817e2c sdcard_image-rpi.bbclass: avoid corrupted images with latest oe-core
ac6f357 weston: Fix typo with override
760ddd0 Switch to using 4.4 as default kernel
ed84c2c vc4graphics: Support X11 with the VC4 driver.
55388a5 firmware, userland: Bump to latest
b24afdc linux-raspberrypi_3.18: Remove
e993bdc linux-raspberrypi: Add recipe for 4.7 release
c2f7643 linux-raspberrypi_4.4: upgrade to 4.4.16
d511c7c linux-raspberrypi-4.4: add patch to enable proper operation of renderD128 device
ef22ff4 linux-rpi.inc: add the configuration options required to support vc4graphics
6b4de2b mesa_%.bbappend: new file to add the correct configuration options to support vc4graphics
bee7643 weston/weston_%.bbappend: modify configuration options to support vc4graphics
72b9635 wayland/weston_%.bbappend: modify configuration options to support vc4graphics
ba9c466 rpi-config_git.bb: add v4c overlay to config.txt to support vc4graphics
5d2722c raspberrypi3.conf: set the default value of VC4_CMA_SIZE to support vc4graphics
824b78c raspberrypi2.conf: set the default value of VC4_CMA_SIZE to support vc4graphics
dfce95f raspberrypi0.conf: set the default value of VC4_CMA_SIZE to support vc4graphics
224b9e9 raspberrypi.conf: set the default value of VC4_CMA_SIZE to support vc4graphics
0035bc8 rpi-base.inc: add vc4-kms-v3d to the overlays to support vc4graphics
6e535dd rpi-default-providers.inc: change default providers to support vc4graphics
1a32817 sdcard_image-rpi.bbclass: support for .dtbo files for dtb overlays
d98f2a7 linux-raspberrypi-base.bbclass: support for .dtbo files for dtb overlays
09b76a4 rpi-base.inc: support for .dtbo files for dtb overlays
18a2fb6 linux-raspberrypi_4.4.bb: support for .dtbo files for dtb overlays
a5f9b07 bcm2835: Compile examples correct LDFLAGS to avoid HASH errors
8c5eba1 bcm2835: Update to 1.50
5229f75 wiringPi: Fix compilation of libraries
5771c7f wiringpi: Fix prepend space
1b2c25e wiringpi: Update to 2.32
4c02c7c sdcard_image-rpi.bbclass: remove redundant IMAGEDATESTAMP
cc64d63 userland: Add bash to RDEPENDS
Change-Id: Ic9e50299fcba012068cea0c0a971c48c6da4138f
git-subtree-dir: import-layers/meta-raspberrypi
git-subtree-split: cce6292e41493158c26f5b1b7fded97faacf10d7
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'import-layers/meta-raspberrypi/recipes-bsp')
8 files changed, 284 insertions, 6 deletions
diff --git a/import-layers/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb b/import-layers/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb index 4bc8eb73d..f6107180d 100644 --- a/import-layers/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb +++ b/import-layers/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb @@ -13,12 +13,14 @@ SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=git;branch=master \ S = "${WORKDIR}/git" -PR = "r4" +PR = "r5" PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}" PITFT22="${@bb.utils.contains("MACHINE_FEATURES", "pitft22", "1", "0", d)}" PITFT28r="${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "1", "0", d)}" +VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}" + inherit deploy do_deploy() { @@ -102,6 +104,12 @@ do_deploy() { echo "# Enable UART" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo "enable_uart=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt fi + + # VC4 Graphics support + if [ "${VC4GRAPHICS}" = "1" ]; then + echo "# Enable VC4 Graphics" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt + echo "dtoverlay=vc4-kms-v3d,${VC4_CMA_SIZE}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt + fi } addtask deploy before do_package after do_install diff --git a/import-layers/meta-raspberrypi/recipes-bsp/common/firmware.inc b/import-layers/meta-raspberrypi/recipes-bsp/common/firmware.inc index 9df61565c..1961b48bc 100644 --- a/import-layers/meta-raspberrypi/recipes-bsp/common/firmware.inc +++ b/import-layers/meta-raspberrypi/recipes-bsp/common/firmware.inc @@ -1,8 +1,10 @@ -RPIFW_SRCREV ?= "390f53ed0fd79df274bdcc81d99e09fa262f03ab" -RPIFW_DATE ?= "20160622" -RPIFW_SRC_URI ?= "git://github.com/raspberrypi/firmware.git;protocol=git;branch=master" -RPIFW_S ?= "${WORKDIR}/git" +RPIFW_DATE ?= "20161125" +RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/1.${RPIFW_DATE}.tar.gz" +RPIFW_S ?= "${WORKDIR}/firmware-1.${RPIFW_DATE}" SRC_URI = "${RPIFW_SRC_URI}" -SRCREV = "${RPIFW_SRCREV}" +SRC_URI[md5sum] = "a9281d2869e2d7673a83d41bacfa66c2" +SRC_URI[sha256sum] = "744e050630621c70991c91e0ee8663dc2f579e743583ca762b13b00bc75859bc" + PV = "${RPIFW_DATE}" + diff --git a/import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd b/import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd new file mode 100644 index 000000000..2e8452e89 --- /dev/null +++ b/import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd @@ -0,0 +1,3 @@ +fdt addr ${fdt_addr} && fdt get value bootargs /chosen bootargs +fatload mmc 0:1 ${kernel_addr_r} uImage +bootm ${kernel_addr_r} - ${fdt_addr} diff --git a/import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb b/import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb new file mode 100644 index 000000000..4936dcfd3 --- /dev/null +++ b/import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb @@ -0,0 +1,21 @@ +SUMMARY = "U-boot boot scripts for Raspberry Pi" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +COMPATIBLE_MACHINE = "rpi" + +DEPENDS = "u-boot-mkimage-native" + +SRC_URI = "file://boot.cmd" + +do_compile() { + mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr +} + +inherit deploy + +do_deploy() { + install -d ${DEPLOYDIR} + install -m 0644 boot.scr ${DEPLOYDIR} +} + +addtask do_deploy after do_compile before do_build diff --git a/import-layers/meta-raspberrypi/recipes-bsp/u-boot/files/0001-arm-add-save_boot_params-for-ARM1176.patch b/import-layers/meta-raspberrypi/recipes-bsp/u-boot/files/0001-arm-add-save_boot_params-for-ARM1176.patch new file mode 100644 index 000000000..a5ebff510 --- /dev/null +++ b/import-layers/meta-raspberrypi/recipes-bsp/u-boot/files/0001-arm-add-save_boot_params-for-ARM1176.patch @@ -0,0 +1,56 @@ +From 3e10fcde3f3c24a488866dd33fa3f5d46ff3d7a3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?C=C3=A9dric=20Schieli?= <cschieli@gmail.com> +Date: Fri, 11 Nov 2016 11:59:06 +0100 +Subject: [PATCH] arm: add save_boot_params for ARM1176 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Implement a hook to allow boards to save boot-time CPU state for later +use. When U-Boot is chain-loaded by another bootloader, CPU registers may +contain useful information such as system configuration information. This +feature mirrors the equivalent ARMv7 feature. + +Signed-off-by: Cédric Schieli <cschieli@gmail.com> +Acked-by: Stephen Warren <swarren@nvidia.com> +Signed-off-by: Paul Barker <paul@paulbarker.me.uk> +Upstream-status: Backport +--- + arch/arm/cpu/arm1176/start.S | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/arch/arm/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S +index a602d4e..7c00201 100644 +--- a/arch/arm/cpu/arm1176/start.S ++++ b/arch/arm/cpu/arm1176/start.S +@@ -16,6 +16,7 @@ + + #include <asm-offsets.h> + #include <config.h> ++#include <linux/linkage.h> + + #ifndef CONFIG_SYS_PHY_UBOOT_BASE + #define CONFIG_SYS_PHY_UBOOT_BASE CONFIG_SYS_UBOOT_BASE +@@ -37,6 +38,11 @@ + .globl reset + + reset: ++ /* Allow the board to save important registers */ ++ b save_boot_params ++.globl save_boot_params_ret ++save_boot_params_ret: ++ + /* + * set the cpu to SVC32 mode + */ +@@ -110,3 +116,7 @@ mmu_disable_phys: + c_runtime_cpu_setup: + + mov pc, lr ++ ++WEAK(save_boot_params) ++ b save_boot_params_ret /* back to my caller */ ++ENDPROC(save_boot_params) +-- +2.1.4 + diff --git a/import-layers/meta-raspberrypi/recipes-bsp/u-boot/files/0002-rpi-passthrough-of-the-firmware-provided-FDT-blob.patch b/import-layers/meta-raspberrypi/recipes-bsp/u-boot/files/0002-rpi-passthrough-of-the-firmware-provided-FDT-blob.patch new file mode 100644 index 000000000..323b7ab40 --- /dev/null +++ b/import-layers/meta-raspberrypi/recipes-bsp/u-boot/files/0002-rpi-passthrough-of-the-firmware-provided-FDT-blob.patch @@ -0,0 +1,156 @@ +From ade243a211d62327e9ebadce27bbbff7981e37f0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?C=C3=A9dric=20Schieli?= <cschieli@gmail.com> +Date: Fri, 11 Nov 2016 11:59:07 +0100 +Subject: [PATCH] rpi: passthrough of the firmware provided FDT blob +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Raspberry firmware used to pass a FDT blob at a fixed address (0x100), +but this is not true anymore. The address now depends on both the +memory size and the blob size [1]. + +If one wants to passthrough this FDT blob to the kernel, the most +reliable way is to save its address from the r2/x0 register in the +U-Boot entry point and expose it in a environment variable for +further processing. + +This patch just does this: +- save the provided address in the global variable fw_dtb_pointer +- expose it in ${fdt_addr} if it points to a a valid FDT blob + +There are many different ways to use it. One can, for example, use +the following script which will extract from the tree the command +line built by the firmware, then hand over the blob to a previously +loaded kernel: + +fdt addr ${fdt_addr} +fdt get value bootargs /chosen bootargs +bootz ${kernel_addr_r} - ${fdt_addr} + +Alternatively, users relying on sysboot/pxe can simply omit any FDT +statement in their extlinux.conf file, U-Boot will automagically pick +${fdt_addr} and pass it to the kernel. + +[1] https://www.raspberrypi.org/forums//viewtopic.php?f=107&t=134018 + +Upstream-Status: Backport + +Signed-off-by: Cédric Schieli <cschieli@gmail.com> +Acked-by: Stephen Warren <swarren@nvidia.com> +Signed-off-by: Jonathan Liu <net147@gmail.com> +--- + board/raspberrypi/rpi/Makefile | 1 + + board/raspberrypi/rpi/lowlevel_init.S | 36 +++++++++++++++++++++++++++++++++++ + board/raspberrypi/rpi/rpi.c | 29 ++++++++++++++++++++++++++++ + 3 files changed, 66 insertions(+) + create mode 100644 board/raspberrypi/rpi/lowlevel_init.S + +diff --git a/board/raspberrypi/rpi/Makefile b/board/raspberrypi/rpi/Makefile +index 4ce2c98..dcb25ac 100644 +--- a/board/raspberrypi/rpi/Makefile ++++ b/board/raspberrypi/rpi/Makefile +@@ -5,3 +5,4 @@ + # + + obj-y := rpi.o ++obj-y += lowlevel_init.o +diff --git a/board/raspberrypi/rpi/lowlevel_init.S b/board/raspberrypi/rpi/lowlevel_init.S +new file mode 100644 +index 0000000..cdbd8e1 +--- /dev/null ++++ b/board/raspberrypi/rpi/lowlevel_init.S +@@ -0,0 +1,36 @@ ++/* ++ * (C) Copyright 2016 ++ * Cédric Schieli <cschieli@gmail.com> ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ */ ++ ++#include <config.h> ++ ++.align 8 ++.global fw_dtb_pointer ++fw_dtb_pointer: ++#ifdef CONFIG_ARM64 ++ .dword 0x0 ++#else ++ .word 0x0 ++#endif ++ ++/* ++ * Routine: save_boot_params (called after reset from start.S) ++ * Description: save ATAG/FDT address provided by the firmware at boot time ++ */ ++ ++.global save_boot_params ++save_boot_params: ++ ++ /* The firmware provided ATAG/FDT address can be found in r2/x0 */ ++#ifdef CONFIG_ARM64 ++ adr x8, fw_dtb_pointer ++ str x0, [x8] ++#else ++ str r2, fw_dtb_pointer ++#endif ++ ++ /* Returns */ ++ b save_boot_params_ret +diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c +index 6245b36..ffd6d31 100644 +--- a/board/raspberrypi/rpi/rpi.c ++++ b/board/raspberrypi/rpi/rpi.c +@@ -25,6 +25,9 @@ + + DECLARE_GLOBAL_DATA_PTR; + ++/* From lowlevel_init.S */ ++extern unsigned long fw_dtb_pointer; ++ + static const struct bcm2835_gpio_platdata gpio_platdata = { + .base = BCM2835_GPIO_BASE, + }; +@@ -285,6 +288,31 @@ static void set_fdtfile(void) + setenv("fdtfile", fdtfile); + } + ++/* ++ * If the firmware provided a valid FDT at boot time, let's expose it in ++ * ${fdt_addr} so it may be passed unmodified to the kernel. ++ */ ++static void set_fdt_addr(void) ++{ ++ if (getenv("fdt_addr")) ++ return; ++ ++ if (fdt_magic(fw_dtb_pointer) != FDT_MAGIC) ++ return; ++ ++ setenv_hex("fdt_addr", fw_dtb_pointer); ++} ++ ++/* ++ * Prevent relocation from stomping on a firmware provided FDT blob. ++ */ ++unsigned long board_get_usable_ram_top(unsigned long total_size) ++{ ++ if ((gd->ram_top - fw_dtb_pointer) > SZ_64M) ++ return gd->ram_top; ++ return fw_dtb_pointer & ~0xffff; ++} ++ + static void set_usbethaddr(void) + { + ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_mac_address, msg, 1); +@@ -356,6 +384,7 @@ static void set_serial_number(void) + + int misc_init_r(void) + { ++ set_fdt_addr(); + set_fdtfile(); + set_usbethaddr(); + #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG +-- +2.10.2 + diff --git a/import-layers/meta-raspberrypi/recipes-bsp/u-boot/files/0003-Include-lowlevel_init.o-for-rpi2.patch b/import-layers/meta-raspberrypi/recipes-bsp/u-boot/files/0003-Include-lowlevel_init.o-for-rpi2.patch new file mode 100644 index 000000000..1431a2e62 --- /dev/null +++ b/import-layers/meta-raspberrypi/recipes-bsp/u-boot/files/0003-Include-lowlevel_init.o-for-rpi2.patch @@ -0,0 +1,25 @@ +From 1eb01436bc57ad32519a4567a1c9ec82d52d60a1 Mon Sep 17 00:00:00 2001 +From: Paul Barker <paul@paulbarker.me.uk> +Date: Tue, 29 Nov 2016 19:47:49 +0000 +Subject: [PATCH] Include lowlevel_init.o for rpi2 + +Signed-off-by: Paul Barker <paul@paulbarker.me.uk> +Upstream-status: Inappropriate + (not needed upstream as rpi_2 board directory is removed in latest + version) +--- + board/raspberrypi/rpi_2/Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/board/raspberrypi/rpi_2/Makefile b/board/raspberrypi/rpi_2/Makefile +index d82cd21..9f865c5 100644 +--- a/board/raspberrypi/rpi_2/Makefile ++++ b/board/raspberrypi/rpi_2/Makefile +@@ -5,3 +5,4 @@ + # + + obj-y := ../rpi/rpi.o ++obj-y += ../rpi/lowlevel_init.o +-- +2.1.4 + diff --git a/import-layers/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend b/import-layers/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend new file mode 100644 index 000000000..a4545f005 --- /dev/null +++ b/import-layers/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend @@ -0,0 +1,7 @@ +FILESEXTRAPATHS_prepend_rpi := "${THISDIR}/files:" +RDEPENDS_${PN}_append_rpi = " rpi-u-boot-scr" +SRC_URI_append_rpi = " \ + file://0001-arm-add-save_boot_params-for-ARM1176.patch \ + file://0002-rpi-passthrough-of-the-firmware-provided-FDT-blob.patch \ + file://0003-Include-lowlevel_init.o-for-rpi2.patch \ + " |