diff options
80 files changed, 1361 insertions, 596 deletions
@@ -9,6 +9,10 @@ Yocto BSP layer for the Raspberry Pi boards - <http://www.raspberrypi.org/>. [![Documentation Status](https://readthedocs.org/projects/meta-raspberrypi/badge/?version=latest)](https://meta-raspberrypi.readthedocs.io/en/latest/?badge=latest) [![Matrix](https://img.shields.io/matrix/meta-raspberrypi:cub.icu.svg?server_fqdn=matrix.cub.icu)](https://matrix.to/#/#meta-raspberrypi:cub.icu) +| | | +|:-: | :-: | +| Build server sponsored by | [![balena.io](./img/balena.png)](https://www.balena.io/). | + ## Quick links * Git repository web frontend: diff --git a/classes/sdcard_image-rpi.bbclass b/classes/sdcard_image-rpi.bbclass index 8197978..e803a0d 100644 --- a/classes/sdcard_image-rpi.bbclass +++ b/classes/sdcard_image-rpi.bbclass @@ -13,31 +13,30 @@ inherit image_types # Default Free space = 1.3x # Use IMAGE_OVERHEAD_FACTOR to add more space # <---------> -# 4MiB 40MiB SDIMG_ROOTFS +# 4MiB 48MiB SDIMG_ROOTFS # <-----------------------> <----------> <----------------------> # ------------------------ ------------ ------------------------ # | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE | # ------------------------ ------------ ------------------------ # ^ ^ ^ ^ # | | | | -# 0 4MiB 4MiB + 40MiB 4MiB + 40Mib + SDIMG_ROOTFS +# 0 4MiB 4MiB + 48MiB 4MiB + 48Mib + SDIMG_ROOTFS # This image depends on the rootfs image IMAGE_TYPEDEP_rpi-sdimg = "${SDIMG_ROOTFS_TYPE}" -# Set kernel and boot loader -IMAGE_BOOTLOADER ?= "bootfiles" - # Kernel image name SDIMG_KERNELIMAGE_raspberrypi ?= "kernel.img" SDIMG_KERNELIMAGE_raspberrypi2 ?= "kernel7.img" SDIMG_KERNELIMAGE_raspberrypi3-64 ?= "kernel8.img" # Boot partition volume id -BOOTDD_VOLUME_ID ?= "${MACHINE}" +# Shorten raspberrypi to just rpi to keep it under 11 characters +# now enforced by mkfs.vfat from dosfstools-4.2 +BOOTDD_VOLUME_ID ?= "${@d.getVar('MACHINE').replace('raspberrypi', 'rpi')}" # Boot partition size [in KiB] (will be rounded up to IMAGE_ROOTFS_ALIGNMENT) -BOOT_SPACE ?= "40960" +BOOT_SPACE ?= "49152" # Set alignment to 4MB [in KiB] IMAGE_ROOTFS_ALIGNMENT = "4096" @@ -56,8 +55,7 @@ do_image_rpi_sdimg[depends] = " \ mtools-native:do_populate_sysroot \ dosfstools-native:do_populate_sysroot \ virtual/kernel:do_deploy \ - ${IMAGE_BOOTLOADER}:do_deploy \ - rpi-config:do_deploy \ + rpi-bootfiles:do_deploy \ ${@bb.utils.contains('MACHINE_FEATURES', 'armstub', 'armstubs:do_deploy', '' ,d)} \ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot-default-script:do_deploy', '',d)} \ diff --git a/conf/layer.conf b/conf/layer.conf index 98cd6f4..211aaf8 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -9,7 +9,8 @@ BBFILE_COLLECTIONS += "raspberrypi" BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/" BBFILE_PRIORITY_raspberrypi = "9" -LAYERSERIES_COMPAT_raspberrypi = "sumo thud warrior zeus dunfell gatesgarth" +LAYERSERIES_COMPAT_raspberrypi = "dunfell gatesgarth" +LAYERDEPENDS_raspberrypi = "core" # Additional license directories. LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" diff --git a/conf/machine/include/rpi-base.inc b/conf/machine/include/rpi-base.inc index cd6d0b0..572fe22 100644 --- a/conf/machine/include/rpi-base.inc +++ b/conf/machine/include/rpi-base.inc @@ -15,48 +15,60 @@ XSERVER = " \ " RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ + overlays/overlay_map.dtb \ overlays/at86rf233.dtbo \ overlays/disable-bt.dtbo \ overlays/dwc2.dtbo \ + overlays/gpio-ir.dtbo \ + overlays/gpio-ir-tx.dtbo \ overlays/gpio-key.dtbo \ overlays/hifiberry-amp.dtbo \ overlays/hifiberry-dac.dtbo \ overlays/hifiberry-dacplus.dtbo \ overlays/hifiberry-digi.dtbo \ + overlays/justboom-both.dtbo \ + overlays/justboom-dac.dtbo \ + overlays/justboom-digi.dtbo \ overlays/i2c-rtc.dtbo \ + overlays/imx219.dtbo \ overlays/iqaudio-dac.dtbo \ overlays/iqaudio-dacplus.dtbo \ - overlays/miniuart-bt.dtbo \ overlays/mcp2515-can0.dtbo \ overlays/mcp2515-can1.dtbo \ + overlays/miniuart-bt.dtbo \ overlays/pitft22.dtbo \ - overlays/pitft28-resistive.dtbo \ overlays/pitft28-capacitive.dtbo \ + overlays/pitft28-resistive.dtbo \ overlays/pitft35-resistive.dtbo \ overlays/pps-gpio.dtbo \ overlays/rpi-ft5406.dtbo \ overlays/rpi-poe.dtbo \ - overlays/vc4-kms-v3d.dtbo \ overlays/vc4-fkms-v3d.dtbo \ - overlays/w1-gpio-pullup.dtbo \ + overlays/vc4-kms-v3d.dtbo \ + overlays/vc4-kms-v3d-pi4.dtbo \ + overlays/vc4-kms-dsi-7inch.dtbo \ overlays/w1-gpio.dtbo \ - overlays/gpio-ir.dtbo \ - overlays/gpio-ir-tx.dtbo \ + overlays/w1-gpio-pullup.dtbo \ " RPI_KERNEL_DEVICETREE ?= " \ + bcm2708-rpi-zero.dtb \ bcm2708-rpi-zero-w.dtb \ bcm2708-rpi-b.dtb \ + bcm2708-rpi-b-rev1.dtb \ bcm2708-rpi-b-plus.dtb \ bcm2709-rpi-2-b.dtb \ + bcm2710-rpi-2-b.dtb \ bcm2710-rpi-3-b.dtb \ bcm2710-rpi-3-b-plus.dtb \ bcm2711-rpi-4-b.dtb \ + bcm2711-rpi-400.dtb \ bcm2708-rpi-cm.dtb \ bcm2710-rpi-cm3.dtb \ + bcm2711-rpi-cm4.dtb \ " -KERNEL_DEVICETREE ?= " \ +KERNEL_DEVICETREE ??= " \ ${RPI_KERNEL_DEVICETREE} \ ${RPI_KERNEL_DEVICETREE_OVERLAYS} \ " @@ -100,17 +112,17 @@ def make_dtb_boot_files(d): def transform(dtb): base = os.path.basename(dtb) - if dtb.endswith('dtb'): - # eg: whatever/bcm2708-rpi-b.dtb has: - # DEPLOYDIR file: bcm2708-rpi-b.dtb - # destination: bcm2708-rpi-b.dtb - return base - elif dtb.endswith('dtbo'): + if dtb.endswith('dtbo') or base == 'overlay_map.dtb': # overlay dtb: # eg: overlays/hifiberry-amp.dtbo has: # DEPLOYDIR file: hifiberry-amp.dtbo # destination: overlays/hifiberry-amp.dtbo return '{};{}'.format(base, dtb) + elif dtb.endswith('dtb'): + # eg: whatever/bcm2708-rpi-b.dtb has: + # DEPLOYDIR file: bcm2708-rpi-b.dtb + # destination: bcm2708-rpi-b.dtb + return base return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb]) @@ -122,7 +134,7 @@ IMAGE_BOOT_FILES ?= "${BOOTFILES_DIR_NAME}/* \ '${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \ " do_image_wic[depends] += " \ - bootfiles:do_deploy \ + rpi-bootfiles:do_deploy \ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \ " diff --git a/conf/machine/include/rpi-default-providers.inc b/conf/machine/include/rpi-default-providers.inc index 181b936..c02d248 100644 --- a/conf/machine/include/rpi-default-providers.inc +++ b/conf/machine/include/rpi-default-providers.inc @@ -1,6 +1,6 @@ # RaspberryPi BSP default providers -PREFERRED_PROVIDER_virtual/kernel ?= "linux-raspberrypi" +PREFERRED_PROVIDER_virtual/kernel ??= "linux-raspberrypi" PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}" PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}" diff --git a/conf/machine/include/rpi-default-versions.inc b/conf/machine/include/rpi-default-versions.inc index e57c702..17d5bd6 100644 --- a/conf/machine/include/rpi-default-versions.inc +++ b/conf/machine/include/rpi-default-versions.inc @@ -1,3 +1,3 @@ # RaspberryPi BSP default versions -PREFERRED_VERSION_linux-raspberrypi ??= "5.4.%" +PREFERRED_VERSION_linux-raspberrypi ??= "5.10.%" diff --git a/conf/machine/raspberrypi3-64.conf b/conf/machine/raspberrypi3-64.conf index 65e3302..5394132 100644 --- a/conf/machine/raspberrypi3-64.conf +++ b/conf/machine/raspberrypi3-64.conf @@ -18,11 +18,12 @@ RPI_KERNEL_DEVICETREE = " \ broadcom/bcm2710-rpi-3-b.dtb \ broadcom/bcm2710-rpi-3-b-plus.dtb \ broadcom/bcm2837-rpi-3-b.dtb \ + broadcom/bcm2710-rpi-cm3.dtb \ " SERIAL_CONSOLES ?= "115200;ttyS0" -UBOOT_MACHINE = "rpi_3_config" +UBOOT_MACHINE = "rpi_arm64_config" # When u-boot is enabled we need to use the "Image" format and the "booti" # command to load the kernel diff --git a/conf/machine/raspberrypi4-64.conf b/conf/machine/raspberrypi4-64.conf index 633d188..12c8954 100644 --- a/conf/machine/raspberrypi4-64.conf +++ b/conf/machine/raspberrypi4-64.conf @@ -15,12 +15,14 @@ include conf/machine/include/rpi-base.inc RPI_KERNEL_DEVICETREE = " \ broadcom/bcm2711-rpi-4-b.dtb \ + broadcom/bcm2711-rpi-400.dtb \ + broadcom/bcm2711-rpi-cm4.dtb \ " SDIMG_KERNELIMAGE ?= "kernel8.img" SERIAL_CONSOLES ?= "115200;ttyS0" -UBOOT_MACHINE = "rpi_4_config" +UBOOT_MACHINE = "rpi_arm64_config" VC4DTBO ?= "vc4-fkms-v3d" @@ -31,6 +33,4 @@ KERNEL_IMAGETYPE_UBOOT ?= "Image" KERNEL_IMAGETYPE_DIRECT ?= "Image" KERNEL_BOOTCMD ?= "booti" -RPI_EXTRA_CONFIG ?= "\n# Force arm in 64bit mode. See: https://github.com/raspberrypi/firmware/issues/1193.\narm_64bit=1" - ARMSTUB ?= "armstub8-gic.bin" diff --git a/docs/extra-build-config.md b/docs/extra-build-config.md index 8460184..1caf904 100644 --- a/docs/extra-build-config.md +++ b/docs/extra-build-config.md @@ -269,6 +269,15 @@ local.conf: ENABLE_DWC2_PERIPHERAL = "1" +## Enable USB host support + +By default in case of the Compute Module 4 IO Board the standard USB driver +that usually supports host mode operations is disabled for power saving reasons. +Users who want to use the 2 USB built-in ports or the other ports provided via +the header extension should set the following in local.conf: + + ENABLE_DWC2_HOST = "1" + ## Enable Openlabs 802.15.4 radio module When using device tree kernels, set this variable to enable the 802.15.4 hat: @@ -326,3 +335,17 @@ option: # Raspberry Pi 7\" display/touch screen \n \ lcd_rotate=2 \n \ ' +## Enable Raspberrypi Camera V2 + +RaspberryPi does not have the unicam device ( RaspberryPi Camera ) enabled by default. +Because this unicam device ( bcm2835-unicam ) as of now is used by libcamera opensource. +So we have to explicitly set in local.conf. + + RASPBERRYPI_CAMERA_V2 = "1" + +This will add the device tree overlays imx219 ( RaspberryPi Camera sensor V2 driver ) to config.txt. +Also, this will enable adding Contiguous Memory Allocation value in the cmdline.txt. + +Ref.: +* <https://github.com/raspberrypi/documentation/blob/master/linux/software/libcamera/README.md> +* <https://www.raspberrypi.org/blog/an-open-source-camera-stack-for-raspberry-pi-using-libcamera/> diff --git a/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-rpi-test.bbappend b/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-rpi-test.bbappend new file mode 100644 index 0000000..63fedbb --- /dev/null +++ b/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-rpi-test.bbappend @@ -0,0 +1,4 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +RDEPENDS_${PN} += "python3-sense-hat" + diff --git a/recipes-devtools/python/python3-sense-hat_2.2.0.bb b/dynamic-layers/meta-python/recipes-devtools/python/python3-sense-hat_2.2.0.bb index 5ea0014..6195d28 100644 --- a/recipes-devtools/python/python3-sense-hat_2.2.0.bb +++ b/dynamic-layers/meta-python/recipes-devtools/python/python3-sense-hat_2.2.0.bb @@ -20,5 +20,5 @@ DEPENDS += " \ RDEPENDS_${PN} += " \ ${PYTHON_PN}-numpy \ ${PYTHON_PN}-rtimu \ - ${PYTHON_PN}-imaging \ + ${PYTHON_PN}-pillow \ " diff --git a/img/balena.png b/img/balena.png Binary files differnew file mode 100644 index 0000000..a872ce9 --- /dev/null +++ b/img/balena.png diff --git a/recipes-bsp/armstubs/armstubs.bb b/recipes-bsp/armstubs/armstubs.bb index d8f3fe7..7e389df 100644 --- a/recipes-bsp/armstubs/armstubs.bb +++ b/recipes-bsp/armstubs/armstubs.bb @@ -34,3 +34,5 @@ addtask deploy before do_build after do_install do_deploy[dirs] += "${DEPLOYDIR}/${PN}" PACKAGE_ARCH = "${MACHINE_ARCH}" + +TOOLCHAIN = "gcc" diff --git a/recipes-bsp/bootfiles/bootfiles.bb b/recipes-bsp/bootfiles/rpi-bootfiles.bb index 80e226d..f1248ee 100644 --- a/recipes-bsp/bootfiles/bootfiles.bb +++ b/recipes-bsp/bootfiles/rpi-bootfiles.bb @@ -9,7 +9,7 @@ include recipes-bsp/common/raspberrypi-firmware.inc INHIBIT_DEFAULT_DEPS = "1" -DEPENDS = "rpi-config" +DEPENDS = "rpi-config rpi-cmdline" COMPATIBLE_MACHINE = "^rpi$" @@ -18,26 +18,26 @@ S = "${RPIFW_S}/boot" PR = "r3" do_deploy() { - install -d ${DEPLOYDIR}/${PN} + install -d ${DEPLOYDIR}/${BOOTFILES_DIR_NAME} for i in ${S}/*.elf ; do - cp $i ${DEPLOYDIR}/${PN} + cp $i ${DEPLOYDIR}/${BOOTFILES_DIR_NAME} done for i in ${S}/*.dat ; do - cp $i ${DEPLOYDIR}/${PN} + cp $i ${DEPLOYDIR}/${BOOTFILES_DIR_NAME} done for i in ${S}/*.bin ; do - cp $i ${DEPLOYDIR}/${PN} + cp $i ${DEPLOYDIR}/${BOOTFILES_DIR_NAME} done # Add stamp in deploy directory - touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp + touch ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/${PN}-${PV}.stamp } -do_deploy[depends] += "rpi-config:do_deploy" +do_deploy[depends] += "rpi-config:do_deploy rpi-cmdline:do_deploy" addtask deploy before do_build after do_install -do_deploy[dirs] += "${DEPLOYDIR}/${PN}" +do_deploy[dirs] += "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}" PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/recipes-bsp/bootfiles/rpi-cmdline.bb b/recipes-bsp/bootfiles/rpi-cmdline.bb new file mode 100644 index 0000000..40a9949 --- /dev/null +++ b/recipes-bsp/bootfiles/rpi-cmdline.bb @@ -0,0 +1,49 @@ +SUMMARY = "cmdline.txt file used to boot the kernel on a Raspberry Pi device" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +COMPATIBLE_MACHINE = "^rpi$" +INHIBIT_DEFAULT_DEPS = "1" +inherit deploy nopackages + +CMDLINE_DWC_OTG ?= "dwc_otg.lpm_enable=0" +CMDLINE_ROOTFS ?= "root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" + +CMDLINE_SERIAL ?= "${@oe.utils.conditional("ENABLE_UART", "1", "console=serial0,115200", "", d)}" + +CMDLINE_CMA ?= "${@oe.utils.conditional("RASPBERRYPI_CAMERA_V2", "1", "cma=64M", "", d)}" + +CMDLINE_PITFT ?= "${@bb.utils.contains("MACHINE_FEATURES", "pitft", "fbcon=map:10 fbcon=font:VGA8x8", "", d)}" + +# Add the kernel debugger over console kernel command line option if enabled +CMDLINE_KGDB ?= '${@oe.utils.conditional("ENABLE_KGDB", "1", "kgdboc=serial0,115200", "", d)}' + +# Disable rpi logo on boot +CMDLINE_LOGO ?= '${@oe.utils.conditional("DISABLE_RPI_BOOT_LOGO", "1", "logo.nologo", "", d)}' + +# You can define CMDLINE_DEBUG as "debug" in your local.conf or distro.conf +# to enable kernel debugging. +CMDLINE_DEBUG ?= "" + +CMDLINE = " \ + ${CMDLINE_DWC_OTG} \ + ${CMDLINE_SERIAL} \ + ${CMDLINE_ROOTFS} \ + ${CMDLINE_CMA} \ + ${CMDLINE_KGDB} \ + ${CMDLINE_LOGO} \ + ${CMDLINE_PITFT} \ + ${CMDLINE_DEBUG} \ + " + +do_compile() { + echo "${@' '.join('${CMDLINE}'.split())}" > "${WORKDIR}/cmdline.txt" +} + +do_deploy() { + install -d "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}" + install -m 0644 "${WORKDIR}/cmdline.txt" "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}" +} + +addtask deploy before do_build after do_install +do_deploy[dirs] += "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}" diff --git a/recipes-bsp/bootfiles/rpi-config_git.bb b/recipes-bsp/bootfiles/rpi-config_git.bb index 9489951..de43c4b 100644 --- a/recipes-bsp/bootfiles/rpi-config_git.bb +++ b/recipes-bsp/bootfiles/rpi-config_git.bb @@ -34,204 +34,220 @@ inherit deploy nopackages do_deploy() { install -d ${DEPLOYDIR}/${BOOTFILES_DIR_NAME} + CONFIG=${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - cp ${S}/config.txt ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/ + cp ${S}/config.txt $CONFIG if [ -n "${KEY_DECODE_MPG2}" ]; then - sed -i '/#decode_MPG2=/ c\decode_MPG2=${KEY_DECODE_MPG2}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#decode_MPG2=/ c\decode_MPG2=${KEY_DECODE_MPG2}' $CONFIG fi if [ -n "${KEY_DECODE_WVC1}" ]; then - sed -i '/#decode_WVC1=/ c\decode_WVC1=${KEY_DECODE_WVC1}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#decode_WVC1=/ c\decode_WVC1=${KEY_DECODE_WVC1}' $CONFIG fi if [ -n "${DISABLE_OVERSCAN}" ]; then - sed -i '/#disable_overscan=/ c\disable_overscan=${DISABLE_OVERSCAN}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#disable_overscan=/ c\disable_overscan=${DISABLE_OVERSCAN}' $CONFIG fi if [ "${DISABLE_SPLASH}" = "1" ]; then - sed -i '/#disable_splash=/ c\disable_splash=${DISABLE_SPLASH}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#disable_splash=/ c\disable_splash=${DISABLE_SPLASH}' $CONFIG fi # Set overclocking options if [ -n "${ARM_FREQ}" ]; then - sed -i '/#arm_freq=/ c\arm_freq=${ARM_FREQ}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#arm_freq=/ c\arm_freq=${ARM_FREQ}' $CONFIG fi if [ -n "${GPU_FREQ}" ]; then - sed -i '/#gpu_freq=/ c\gpu_freq=${GPU_FREQ}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#gpu_freq=/ c\gpu_freq=${GPU_FREQ}' $CONFIG fi if [ -n "${CORE_FREQ}" ]; then - sed -i '/#core_freq=/ c\core_freq=${CORE_FREQ}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#core_freq=/ c\core_freq=${CORE_FREQ}' $CONFIG fi if [ -n "${SDRAM_FREQ}" ]; then - sed -i '/#sdram_freq=/ c\sdram_freq=${SDRAM_FREQ}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#sdram_freq=/ c\sdram_freq=${SDRAM_FREQ}' $CONFIG fi if [ -n "${OVER_VOLTAGE}" ]; then - sed -i '/#over_voltage=/ c\over_voltage=${OVER_VOLTAGE}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#over_voltage=/ c\over_voltage=${OVER_VOLTAGE}' $CONFIG fi # GPU memory if [ -n "${GPU_MEM}" ]; then - sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' $CONFIG fi if [ -n "${GPU_MEM_256}" ]; then - sed -i '/#gpu_mem_256=/ c\gpu_mem_256=${GPU_MEM_256}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#gpu_mem_256=/ c\gpu_mem_256=${GPU_MEM_256}' $CONFIG fi if [ -n "${GPU_MEM_512}" ]; then - sed -i '/#gpu_mem_512=/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#gpu_mem_512=/ c\gpu_mem_512=${GPU_MEM_512}' $CONFIG fi if [ -n "${GPU_MEM_1024}" ]; then - sed -i '/#gpu_mem_1024=/ c\gpu_mem_1024=${GPU_MEM_1024}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#gpu_mem_1024=/ c\gpu_mem_1024=${GPU_MEM_1024}' $CONFIG fi # Set boot delay if [ -n "${BOOT_DELAY}" ]; then - sed -i '/#boot_delay=/ c\boot_delay=${BOOT_DELAY}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#boot_delay=/ c\boot_delay=${BOOT_DELAY}' $CONFIG fi if [ -n "${BOOT_DELAY_MS}" ]; then - sed -i '/#boot_delay_ms=/ c\boot_delay_ms=${BOOT_DELAY_MS}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#boot_delay_ms=/ c\boot_delay_ms=${BOOT_DELAY_MS}' $CONFIG fi # Set HDMI and composite video options if [ -n "${HDMI_FORCE_HOTPLUG}" ]; then - sed -i '/#hdmi_force_hotplug=/ c\hdmi_force_hotplug=${HDMI_FORCE_HOTPLUG}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#hdmi_force_hotplug=/ c\hdmi_force_hotplug=${HDMI_FORCE_HOTPLUG}' $CONFIG fi if [ -n "${HDMI_DRIVE}" ]; then - sed -i '/#hdmi_drive=/ c\hdmi_drive=${HDMI_DRIVE}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#hdmi_drive=/ c\hdmi_drive=${HDMI_DRIVE}' $CONFIG fi if [ -n "${HDMI_GROUP}" ]; then - sed -i '/#hdmi_group=/ c\hdmi_group=${HDMI_GROUP}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#hdmi_group=/ c\hdmi_group=${HDMI_GROUP}' $CONFIG fi if [ -n "${HDMI_MODE}" ]; then - sed -i '/#hdmi_mode=/ c\hdmi_mode=${HDMI_MODE}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#hdmi_mode=/ c\hdmi_mode=${HDMI_MODE}' $CONFIG fi if [ -n "${CONFIG_HDMI_BOOST}" ]; then - sed -i '/#config_hdmi_boost=/ c\config_hdmi_boost=${CONFIG_HDMI_BOOST}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#config_hdmi_boost=/ c\config_hdmi_boost=${CONFIG_HDMI_BOOST}' $CONFIG fi if [ -n "${SDTV_MODE}" ]; then - sed -i '/#sdtv_mode=/ c\sdtv_mode=${SDTV_MODE}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#sdtv_mode=/ c\sdtv_mode=${SDTV_MODE}' $CONFIG fi if [ -n "${SDTV_ASPECT}" ]; then - sed -i '/#sdtv_aspect=/ c\sdtv_aspect=${SDTV_ASPECT}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#sdtv_aspect=/ c\sdtv_aspect=${SDTV_ASPECT}' $CONFIG fi if [ -n "${DISPLAY_ROTATE}" ]; then - sed -i '/#display_rotate=/ c\display_rotate=${DISPLAY_ROTATE}' ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + sed -i '/#display_rotate=/ c\display_rotate=${DISPLAY_ROTATE}' $CONFIG fi # Video camera support if [ "${VIDEO_CAMERA}" = "1" ]; then - echo "# Enable video camera" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "start_x=1" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + # TODO: It has been observed that Raspberry Pi 4B 4GB may fail to enable the camera if "start_x=1" is at the end + # of the file. The underlying cause is unknown, but it can be related with a file size limitation affecting + # this variable. Therefore, "start_x=1" has been set to replace the original occurrence in config.txt, + # which is at the middle of the file. + sed -i '/#start_x=/ c\start_x=1' $CONFIG fi # Offline compositing support if [ "${DISPMANX_OFFLINE}" = "1" ]; then - echo "# Enable offline compositing" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dispmanx_offline=1" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable offline compositing" >>$CONFIG + echo "dispmanx_offline=1" >>$CONFIG fi # SPI bus support if [ "${ENABLE_SPI_BUS}" = "1" ] || [ "${PITFT}" = "1" ]; then - echo "# Enable SPI bus" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtparam=spi=on" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable SPI bus" >>$CONFIG + echo "dtparam=spi=on" >>$CONFIG fi # I2C support if [ "${ENABLE_I2C}" = "1" ] || [ "${PITFT}" = "1" ]; then - echo "# Enable I2C" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtparam=i2c1=on" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtparam=i2c_arm=on" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable I2C" >>$CONFIG + echo "dtparam=i2c1=on" >>$CONFIG + echo "dtparam=i2c_arm=on" >>$CONFIG fi # PiTFT22 display support if [ "${PITFT22}" = "1" ]; then - echo "# Enable PITFT22 display" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=pitft22,rotate=270,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable PITFT22 display" >>$CONFIG + echo "dtoverlay=pitft22,rotate=270,speed=32000000,txbuflen=32768" >>$CONFIG fi if [ "${PITFT28r}" = "1" ]; then - echo "# Enable PITFT28r display" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=pitft28-resistive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable PITFT28r display" >>$CONFIG + echo "dtoverlay=pitft28-resistive,rotate=90,speed=32000000,txbuflen=32768" >>$CONFIG fi if [ "${PITFT28c}" = "1" ]; then - echo "# Enable PITFT28c display" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=pitft28-capacitive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=pitft28-capacitive,touch-swapxy,touch-invx" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable PITFT28c display" >>$CONFIG + echo "dtoverlay=pitft28-capacitive,rotate=90,speed=32000000,txbuflen=32768" >>$CONFIG + echo "dtoverlay=pitft28-capacitive,touch-swapxy,touch-invx" >>$CONFIG fi if [ "${PITFT35r}" = "1" ]; then - echo "# Enable PITFT35r display" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=pitft35-resistive,rotate=90,speed=42000000,fps=20" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable PITFT35r display" >>$CONFIG + echo "dtoverlay=pitft35-resistive,rotate=90,speed=42000000,fps=20" >>$CONFIG fi # UART support if [ "${ENABLE_UART}" = "1" ]; then - echo "# Enable UART" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "enable_uart=1" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable UART" >>$CONFIG + echo "enable_uart=1" >>$CONFIG fi # Infrared support if [ "${ENABLE_IR}" = "1" ]; then - echo "# Enable infrared" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=gpio-ir,gpio_pin=${GPIO_IR}" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=gpio-ir-tx,gpio_pin=${GPIO_IR_TX}" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable infrared" >>$CONFIG + echo "dtoverlay=gpio-ir,gpio_pin=${GPIO_IR}" >>$CONFIG + echo "dtoverlay=gpio-ir-tx,gpio_pin=${GPIO_IR_TX}" >>$CONFIG fi # VC4 Graphics support if [ "${VC4GRAPHICS}" = "1" ]; then - echo "# Enable VC4 Graphics" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=${VC4DTBO}" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable VC4 Graphics" >> $CONFIG + echo "dtoverlay=${VC4DTBO}" >> $CONFIG + fi + + # Choose Camera Sensor to be used, default imx219 sensor + if [ "${RASPBERRYPI_CAMERA_V2}" = "1" ]; then + echo "# Enable Sony RaspberryPi Camera" >> $CONFIG + echo "dtoverlay=imx219" >> $CONFIG fi # Waveshare "C" 1024x600 7" Rev2.1 IPS capacitive touch (http://www.waveshare.com/7inch-HDMI-LCD-C.htm) if [ "${WAVESHARE_1024X600_C_2_1}" = "1" ]; then - echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "max_usb_current=1" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "hdmi_group=2" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "hdmi_mode=87" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "hdmi_cvt 1024 600 60 6 0 0 0" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "hdmi_drive=1" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> $CONFIG + echo "max_usb_current=1" >> $CONFIG + echo "hdmi_group=2" >> $CONFIG + echo "hdmi_mode=87" >> $CONFIG + echo "hdmi_cvt 1024 600 60 6 0 0 0" >> $CONFIG + echo "hdmi_drive=1" >> $CONFIG fi # DWC2 USB peripheral support if [ "${ENABLE_DWC2_PERIPHERAL}" = "1" ]; then - echo "# Enable USB peripheral mode" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=dwc2,dr_mode=peripheral" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable USB peripheral mode" >> $CONFIG + echo "dtoverlay=dwc2,dr_mode=peripheral" >> $CONFIG + fi + + # DWC2 USB host mode support + if [ "${ENABLE_DWC2_HOST}" = "1" ]; then + echo "# Enable USB host mode" >> $CONFIG + echo "dtoverlay=dwc2,dr_mode=host" >> $CONFIG fi # AT86RF23X support if [ "${ENABLE_AT86RF}" = "1" ]; then - echo "# Enable AT86RF23X" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=at86rf233,speed=3000000" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable AT86RF23X" >>$CONFIG + echo "dtoverlay=at86rf233,speed=3000000" >>$CONFIG fi # ENABLE DUAL CAN if [ "${ENABLE_DUAL_CAN}" = "1" ]; then - echo "# Enable DUAL CAN" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=25" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=mcp2515-can1,oscillator=${CAN_OSCILLATOR},interrupt=24" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable DUAL CAN" >>$CONFIG + echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=25" >>$CONFIG + echo "dtoverlay=mcp2515-can1,oscillator=${CAN_OSCILLATOR},interrupt=24" >>$CONFIG # ENABLE CAN elif [ "${ENABLE_CAN}" = "1" ]; then - echo "# Enable CAN" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=25" >>${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable CAN" >>$CONFIG + echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=25" >>$CONFIG fi # Append extra config if the user has provided any - printf "${RPI_EXTRA_CONFIG}\n" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + printf "${RPI_EXTRA_CONFIG}\n" >> $CONFIG # Handle setup with armstub file if [ "${@bb.utils.contains("MACHINE_FEATURES", "armstub", "1", "0", d)}" = "1" ]; then - echo "\n# ARM stub configuration" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "armstub=${ARMSTUB}" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "\n# ARM stub configuration" >> $CONFIG + echo "armstub=${ARMSTUB}" >> $CONFIG case "${ARMSTUB}" in *-gic.bin) - echo "enable_gic=1" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "enable_gic=1" >> $CONFIG ;; esac fi } do_deploy_append_raspberrypi3-64() { - echo "# have a properly sized image" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "disable_overscan=1" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# have a properly sized image" >> $CONFIG + echo "disable_overscan=1" >> $CONFIG - echo "# Enable audio (loads snd_bcm2835)" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt - echo "dtparam=audio=on" >> ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/config.txt + echo "# Enable audio (loads snd_bcm2835)" >> $CONFIG + echo "dtparam=audio=on" >> $CONFIG } addtask deploy before do_build after do_install diff --git a/recipes-bsp/common/raspberrypi-firmware.inc b/recipes-bsp/common/raspberrypi-firmware.inc index 32cc480..5cebd7c 100644 --- a/recipes-bsp/common/raspberrypi-firmware.inc +++ b/recipes-bsp/common/raspberrypi-firmware.inc @@ -1,9 +1,9 @@ -RPIFW_DATE ?= "20201002" -SRCREV ?= "11e3c314bc2b64f7d862bac00ff3d9f42f3c5a50" +RPIFW_DATE ?= "20210225" +SRCREV ?= "5985247fb75681985547641d66196c77499f26b9" RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-firmware-${SRCREV}.tar.gz" RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}" SRC_URI = "${RPIFW_SRC_URI}" -SRC_URI[sha256sum] = "b8c9f5a3e987f418f11526cbf59f6a6c8103e8f5e94bccffb9ef3fd7ae834f98" +SRC_URI[sha256sum] = "3e2c00e1473bd70e808134925e1b25cd765789d9f0e0683749135b124d835000" PV = "${RPIFW_DATE}" diff --git a/recipes-bsp/common/raspberrypi-tools.inc b/recipes-bsp/common/raspberrypi-tools.inc index 93f9d7a..7879c0a 100644 --- a/recipes-bsp/common/raspberrypi-tools.inc +++ b/recipes-bsp/common/raspberrypi-tools.inc @@ -1,9 +1,9 @@ -RPITOOLS_DATE ?= "20200803" -SRCREV ?= "0c39cb5b5ac9851312a38c54f5aea770d976de7a" +RPITOOLS_DATE ?= "20201008" +SRCREV ?= "fc0e73c13865450e95edd046200e42a6e52d8256" RPITOOLS_SRC_URI ?= "https://github.com/raspberrypi/tools/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-tools-${SRCREV}.tar.gz" RPITOOLS_S ?= "${WORKDIR}/tools-${SRCREV}" SRC_URI = "${RPITOOLS_SRC_URI}" -SRC_URI[sha256sum] = "ef56a891eef387d2278e6f9d20b462021faace14aceeb2048b5e5973069c25c0" +SRC_URI[sha256sum] = "05217b942150830225e8ee04a8f16b8ecc2ffbbe5dd815541b15333f783e805e" PV = "${RPITOOLS_DATE}" diff --git a/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb b/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb index 4cb8978..9108f71 100644 --- a/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb +++ b/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb @@ -13,10 +13,10 @@ do_compile() { sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \ -e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \ "${WORKDIR}/boot.cmd.in" > "${WORKDIR}/boot.cmd" - mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr + mkimage -A ${UBOOT_ARCH} -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr } -inherit deploy nopackages +inherit kernel-arch deploy nopackages do_deploy() { install -d ${DEPLOYDIR} diff --git a/recipes-core/packagegroups/packagegroup-rpi-test.bb b/recipes-core/packagegroups/packagegroup-rpi-test.bb index 87de355..a3f4ac9 100644 --- a/recipes-core/packagegroups/packagegroup-rpi-test.bb +++ b/recipes-core/packagegroups/packagegroup-rpi-test.bb @@ -17,7 +17,6 @@ RDEPENDS_${PN} = "\ rpi-gpio \ pi-blaster \ python3-rtimu \ - python3-sense-hat \ connman \ connman-client \ wireless-regdb-static \ diff --git a/recipes-devtools/python/python3-adafruit-blinka_6.2.2.bb b/recipes-devtools/python/python3-adafruit-blinka_6.2.2.bb new file mode 100644 index 0000000..dc9e680 --- /dev/null +++ b/recipes-devtools/python/python3-adafruit-blinka_6.2.2.bb @@ -0,0 +1,30 @@ +SUMMARY = "CircuitPython APIs for non-CircuitPython versions of Python such as CPython on Linux and MicroPython." +HOMEPAGE = "https://github.com/adafruit/Adafruit_Blinka" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=660e614bc7efb0697cc793d8a22a55c2" + +SRC_URI = "git://github.com/adafruit/Adafruit_Blinka.git;branch=main" +SRCREV = "dc688f354fe779c9267c208b99f310af87e79272" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +DEPENDS += "python3-setuptools-scm-native" + +do_install_append() { +# it ships ./bcm283x/pulseio/libgpiod_pulsein which is a prebuilt +# 32bit binary therefore we should make this specific to 32bit rpi machines (based on bcm283x) only + if [ ${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '1', '0', d)} = "0" ]; then + rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}/adafruit_blinka/microcontroller/bcm283x + fi +} + +RDEPENDS_${PN} += " \ + libgpiod \ + python3-adafruit-platformdetect \ + python3-adafruit-pureio \ + python3-core \ +" + +RDEPENDS_${PN}_append_rpi = " rpi-gpio" diff --git a/recipes-devtools/python/python3-adafruit-circuitpython-busdevice_5.0.5.bb b/recipes-devtools/python/python3-adafruit-circuitpython-busdevice_5.0.5.bb new file mode 100644 index 0000000..7c1a267 --- /dev/null +++ b/recipes-devtools/python/python3-adafruit-circuitpython-busdevice_5.0.5.bb @@ -0,0 +1,18 @@ +SUMMARY = "CircuitPython bus device classes to manage bus sharing." +HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_BusDevice" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6ec69d6e9e6c85adfb7799d7f8cf044e" + +SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_BusDevice.git;branch=main" +SRCREV = "1bfe8005293205e2f7b2cc498ab5a946f1133b40" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS_${PN} += " \ + python3-adafruit-blinka \ + python3-core \ +" diff --git a/recipes-devtools/python/python3-adafruit-circuitpython-motor_3.2.6.bb b/recipes-devtools/python/python3-adafruit-circuitpython-motor_3.2.6.bb new file mode 100644 index 0000000..b0475e6 --- /dev/null +++ b/recipes-devtools/python/python3-adafruit-circuitpython-motor_3.2.6.bb @@ -0,0 +1,18 @@ +SUMMARY = "CircuitPython helper library provides higher level objects to control motors and servos." +HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_Motor" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b72678307cc7c10910b5ef460216af07" + +SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_Motor.git;branch=main" +SRCREV = "2251bfc0501d0acfb96c0a43f4f2b4c6a10ca14e" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS_${PN} += " \ + python3-adafruit-blinka \ + python3-core \ +" diff --git a/recipes-devtools/python/python3-adafruit-circuitpython-motorkit_1.6.1.bb b/recipes-devtools/python/python3-adafruit-circuitpython-motorkit_1.6.1.bb new file mode 100644 index 0000000..12a63f3 --- /dev/null +++ b/recipes-devtools/python/python3-adafruit-circuitpython-motorkit_1.6.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "CircuitPython helper library for DC & Stepper Motor FeatherWing, Shield, and Pi Hat kits." +HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_MotorKit" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6ad4a8854b39ad474755ef1aea813bac" + +SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_MotorKit.git;branch=main" +SRCREV = "8c1462b4129b21f6db156d1517abb017bb74b982" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS_${PN} += " \ + python3-adafruit-blinka \ + python3-adafruit-circuitpython-busdevice \ + python3-adafruit-circuitpython-motor \ + python3-adafruit-circuitpython-pca9685 \ + python3-adafruit-circuitpython-register \ + python3-core \ +" diff --git a/recipes-devtools/python/python3-adafruit-circuitpython-pca9685_3.3.4.bb b/recipes-devtools/python/python3-adafruit-circuitpython-pca9685_3.3.4.bb new file mode 100644 index 0000000..a46b130 --- /dev/null +++ b/recipes-devtools/python/python3-adafruit-circuitpython-pca9685_3.3.4.bb @@ -0,0 +1,20 @@ +SUMMARY = "CircuitPython driver for motor, stepper, and servo based on PCA9685." +HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_PCA9685" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e7eb6b599fb0cfb06485c64cd4242f62" + +SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_PCA9685.git;branch=main" +SRCREV = "2780c4102f4c23fbab252aa1198b61ba7e2d1b2c" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS_${PN} += " \ + python3-adafruit-blinka \ + python3-adafruit-circuitpython-busdevice \ + python3-adafruit-circuitpython-register \ + python3-core \ +" diff --git a/recipes-devtools/python/python3-adafruit-circuitpython-register_1.9.4.bb b/recipes-devtools/python/python3-adafruit-circuitpython-register_1.9.4.bb new file mode 100644 index 0000000..7d0377b --- /dev/null +++ b/recipes-devtools/python/python3-adafruit-circuitpython-register_1.9.4.bb @@ -0,0 +1,15 @@ +SUMMARY = "CircuitPython data descriptor classes to represent hardware registers on I2C and SPI devices." +HOMEPAGE = "https://github.com/adafruit/Adafruit_CircuitPython_Register" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6ec69d6e9e6c85adfb7799d7f8cf044e" + +SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_Register.git;branch=main" + +S = "${WORKDIR}/git" +SRCREV = "5fee6e0c3878110844bc51e16063eeae7d94c457" + +DEPENDS += "python3-setuptools-scm-native" + +inherit setuptools3 + +RDEPENDS_${PN} += "python3-core" diff --git a/recipes-devtools/python/python3-adafruit-platformdetect_3.1.1.bb b/recipes-devtools/python/python3-adafruit-platformdetect_3.1.1.bb new file mode 100644 index 0000000..0574c53 --- /dev/null +++ b/recipes-devtools/python/python3-adafruit-platformdetect_3.1.1.bb @@ -0,0 +1,15 @@ +SUMMARY = "Platform detection for use by libraries like Adafruit-Blinka." +HOMEPAGE = "https://github.com/adafruit/Adafruit_Python_PlatformDetect" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fccd531dce4b989c05173925f0bbb76c" + +SRC_URI = "git://github.com/adafruit/Adafruit_Python_PlatformDetect.git;branch=main" +SRCREV = "e0fe1b012898fa824944d6805ca74be0fa027968" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS_${PN} += "python3-core" diff --git a/recipes-devtools/python/python3-adafruit-pureio_1.1.8.bb b/recipes-devtools/python/python3-adafruit-pureio_1.1.8.bb new file mode 100644 index 0000000..a59e6f5 --- /dev/null +++ b/recipes-devtools/python/python3-adafruit-pureio_1.1.8.bb @@ -0,0 +1,19 @@ +SUMMARY = "Pure python (i.e. no native extensions) access to Linux IO including I2C and SPI. Drop in replacement for smbus and spidev modules." +HOMEPAGE = "https://github.com/adafruit/Adafruit_Python_PureIO" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2a21fcca821a506d4c36f7bbecc0d009" + +SRC_URI = "git://github.com/adafruit/Adafruit_Python_PureIO.git;branch=main" +SRCREV = "f4d0973da05b8b21905ff6bab69cdb652128f342" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +DEPENDS += "python3-setuptools-scm-native" + +RDEPENDS_${PN} += " \ + python3-core \ + python3-ctypes \ + python3-fcntl \ +" diff --git a/recipes-graphics/mesa/libglu_%.bbappend b/recipes-graphics/mesa/libglu_%.bbappend new file mode 100644 index 0000000..56ff421 --- /dev/null +++ b/recipes-graphics/mesa/libglu_%.bbappend @@ -0,0 +1,3 @@ +# when using userland graphic KHR/khrplatform.h is provided by userland but virtual/libgl is provided by mesa-gl where +# we explicitly delete KHR/khrplatform.h since its already coming from userland package +DEPENDS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'userland', d)}" diff --git a/recipes-graphics/mesa/mesa-gl_%.bbappend b/recipes-graphics/mesa/mesa-gl_%.bbappend index 08ec1c5..84cd479 100644 --- a/recipes-graphics/mesa/mesa-gl_%.bbappend +++ b/recipes-graphics/mesa/mesa-gl_%.bbappend @@ -1,6 +1,8 @@ PACKAGECONFIG_append_rpi = " gbm" PROVIDES_append_rpi = " virtual/libgbm" +DRIDRIVERS_append_rpi = ",swrast" + do_install_append_rpi() { rm -rf ${D}${includedir}/KHR/khrplatform.h } diff --git a/recipes-graphics/raspidmx/raspidmx/0001-gitignore-add-archives-from-lib-directory.patch b/recipes-graphics/raspidmx/raspidmx/0001-gitignore-add-archives-from-lib-directory.patch new file mode 100644 index 0000000..de9d5c3 --- /dev/null +++ b/recipes-graphics/raspidmx/raspidmx/0001-gitignore-add-archives-from-lib-directory.patch @@ -0,0 +1,24 @@ +From 070b114fd54b6ad38b4eff04279fe89ccaaef61b Mon Sep 17 00:00:00 2001 +From: Trevor Woerner <twoerner@gmail.com> +Date: Fri, 4 Dec 2020 01:39:30 -0500 +Subject: [PATCH] gitignore: add archives from lib directory + +The build creates two *.a files in the lib directory, add these to .gitignore. + +Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29] +Signed-off-by: Trevor Woerner <twoerner@gmail.com> +--- + .gitignore | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/.gitignore b/.gitignore +index 633f325..4a1ca0c 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -21,5 +21,6 @@ test_pattern/test_pattern + worms/worms + + # other directories ++lib/*.a + + *_/ diff --git a/recipes-graphics/raspidmx/raspidmx/0002-add-install-targets-to-Makefiles.patch b/recipes-graphics/raspidmx/raspidmx/0002-add-install-targets-to-Makefiles.patch new file mode 100644 index 0000000..c02a767 --- /dev/null +++ b/recipes-graphics/raspidmx/raspidmx/0002-add-install-targets-to-Makefiles.patch @@ -0,0 +1,214 @@ +From 3b60fa1598385fb36fef1c47f59cb08d3a6fba35 Mon Sep 17 00:00:00 2001 +From: Trevor Woerner <twoerner@gmail.com> +Date: Fri, 4 Dec 2020 01:54:37 -0500 +Subject: [PATCH] add "install" targets to Makefiles + +Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29] +Signed-off-by: Trevor Woerner <twoerner@gmail.com> +--- + Makefile | 3 +++ + game/Makefile | 4 ++++ + lib/Makefile | 1 + + life/Makefile | 4 ++++ + mandelbrot/Makefile | 4 ++++ + offscreen/Makefile | 4 ++++ + pngview/Makefile | 4 ++++ + radar_sweep/Makefile | 4 ++++ + radar_sweep_alpha/Makefile | 4 ++++ + rgb_triangle/Makefile | 4 ++++ + spriteview/Makefile | 4 ++++ + test_pattern/Makefile | 4 ++++ + worms/Makefile | 4 ++++ + 13 files changed, 48 insertions(+) + +diff --git a/Makefile b/Makefile +index 4e14e18..4a06de9 100644 +--- a/Makefile ++++ b/Makefile +@@ -16,6 +16,9 @@ default :all + all: + for target in $(TARGETS); do ($(MAKE) -C $$target); done + ++install: ++ for target in $(TARGETS); do ($(MAKE) -C $$target install); done ++ + clean: + for target in $(TARGETS); do ($(MAKE) -C $$target clean); done + +diff --git a/game/Makefile b/game/Makefile +index ced9cce..6da6a6d 100644 +--- a/game/Makefile ++++ b/game/Makefile +@@ -15,6 +15,10 @@ all: $(BIN) + $(BIN): $(OBJS) + $(CC) -o $@ -Wl,--whole-archive $(OBJS) $(LDFLAGS) -Wl,--no-whole-archive -rdynamic + ++install: $(BIN) ++ install -d $(DESTDIR)/usr/bin ++ install -m 0755 $(BIN) $(DESTDIR)/usr/bin ++ + clean: + @rm -f $(OBJS) + @rm -f $(BIN) +diff --git a/lib/Makefile b/lib/Makefile +index 15d7c37..2765c91 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -29,6 +29,7 @@ $(LIB): $(OBJS) + $(LIBPNG): $(OBJSPNG) + $(AR) rcs lib$(LIBPNG).a $(OBJSPNG) + ++install: + + clean: + @rm -f $(OBJS) +diff --git a/life/Makefile b/life/Makefile +index 2fcb034..44f1edb 100644 +--- a/life/Makefile ++++ b/life/Makefile +@@ -15,6 +15,10 @@ all: $(BIN) + $(BIN): $(OBJS) + $(CC) -o $@ -Wl,--whole-archive $(OBJS) $(LDFLAGS) -pthread -Wl,--no-whole-archive -rdynamic + ++install: $(BIN) ++ install -d $(DESTDIR)/usr/bin ++ install -m 0755 $(BIN) $(DESTDIR)/usr/bin ++ + clean: + @rm -f $(OBJS) + @rm -f $(BIN) +diff --git a/mandelbrot/Makefile b/mandelbrot/Makefile +index e61beb3..a6e6735 100644 +--- a/mandelbrot/Makefile ++++ b/mandelbrot/Makefile +@@ -15,6 +15,10 @@ all: $(BIN) + $(BIN): $(OBJS) + $(CC) -o $@ -Wl,--whole-archive $(OBJS) $(LDFLAGS) -pthread -Wl,--no-whole-archive -rdynamic + ++install: $(BIN) ++ install -d $(DESTDIR)/usr/bin ++ install -m 0755 $(BIN) $(DESTDIR)/usr/bin ++ + clean: + @rm -f $(OBJS) + @rm -f $(BIN) +diff --git a/offscreen/Makefile b/offscreen/Makefile +index 2bc81b9..8d23354 100644 +--- a/offscreen/Makefile ++++ b/offscreen/Makefile +@@ -15,6 +15,10 @@ all: $(BIN) + $(BIN): $(OBJS) + $(CC) -o $@ -Wl,--whole-archive $(OBJS) $(LDFLAGS) -Wl,--no-whole-archive -rdynamic + ++install: $(BIN) ++ install -d $(DESTDIR)/usr/bin ++ install -m 0755 $(BIN) $(DESTDIR)/usr/bin ++ + clean: + @rm -f $(OBJS) + @rm -f $(BIN) +diff --git a/pngview/Makefile b/pngview/Makefile +index f947320..8c037ec 100644 +--- a/pngview/Makefile ++++ b/pngview/Makefile +@@ -15,6 +15,10 @@ all: $(BIN) + $(BIN): $(OBJS) + $(CC) -o $@ -Wl,--whole-archive $(OBJS) $(LDFLAGS) -Wl,--no-whole-archive -rdynamic + ++install: $(BIN) ++ install -d $(DESTDIR)/usr/bin ++ install -m 0755 $(BIN) $(DESTDIR)/usr/bin ++ + clean: + @rm -f $(OBJS) + @rm -f $(BIN) +diff --git a/radar_sweep/Makefile b/radar_sweep/Makefile +index 3a46150..5f814b7 100644 +--- a/radar_sweep/Makefile ++++ b/radar_sweep/Makefile +@@ -15,6 +15,10 @@ all: $(BIN) + $(BIN): $(OBJS) + $(CC) -o $@ -Wl,--whole-archive $(OBJS) $(LDFLAGS) -Wl,--no-whole-archive -rdynamic + ++install: $(BIN) ++ install -d $(DESTDIR)/usr/bin ++ install -m 0755 $(BIN) $(DESTDIR)/usr/bin ++ + clean: + @rm -f $(OBJS) + @rm -f $(BIN) +diff --git a/radar_sweep_alpha/Makefile b/radar_sweep_alpha/Makefile +index 5680b9b..f66c338 100644 +--- a/radar_sweep_alpha/Makefile ++++ b/radar_sweep_alpha/Makefile +@@ -15,6 +15,10 @@ all: $(BIN) + $(BIN): $(OBJS) + $(CC) -o $@ -Wl,--whole-archive $(OBJS) $(LDFLAGS) -Wl,--no-whole-archive -rdynamic + ++install: $(BIN) ++ install -d $(DESTDIR)/usr/bin ++ install -m 0755 $(BIN) $(DESTDIR)/usr/bin ++ + clean: + @rm -f $(OBJS) + @rm -f $(BIN) +diff --git a/rgb_triangle/Makefile b/rgb_triangle/Makefile +index 2017956..2ce779d 100644 +--- a/rgb_triangle/Makefile ++++ b/rgb_triangle/Makefile +@@ -15,6 +15,10 @@ all: $(BIN) + $(BIN): $(OBJS) + $(CC) -o $@ -Wl,--whole-archive $(OBJS) $(LDFLAGS) -Wl,--no-whole-archive -rdynamic + ++install: $(BIN) ++ install -d $(DESTDIR)/usr/bin ++ install -m 0755 $(BIN) $(DESTDIR)/usr/bin ++ + clean: + @rm -f $(OBJS) + @rm -f $(BIN) +diff --git a/spriteview/Makefile b/spriteview/Makefile +index 2713936..ada9277 100644 +--- a/spriteview/Makefile ++++ b/spriteview/Makefile +@@ -15,6 +15,10 @@ all: $(BIN) + $(BIN): $(OBJS) + $(CC) -o $@ -Wl,--whole-archive $(OBJS) $(LDFLAGS) -Wl,--no-whole-archive -rdynamic + ++install: $(BIN) ++ install -d $(DESTDIR)/usr/bin ++ install -m 0755 $(BIN) $(DESTDIR)/usr/bin ++ + clean: + @rm -f $(OBJS) + @rm -f $(BIN) +diff --git a/test_pattern/Makefile b/test_pattern/Makefile +index be434d9..1e02b0a 100644 +--- a/test_pattern/Makefile ++++ b/test_pattern/Makefile +@@ -15,6 +15,10 @@ all: $(BIN) + $(BIN): $(OBJS) + $(CC) -o $@ -Wl,--whole-archive $(OBJS) $(LDFLAGS) -Wl,--no-whole-archive -rdynamic + ++install: $(BIN) ++ install -d $(DESTDIR)/usr/bin ++ install -m 0755 $(BIN) $(DESTDIR)/usr/bin ++ + clean: + @rm -f $(OBJS) + @rm -f $(BIN) +diff --git a/worms/Makefile b/worms/Makefile +index 2a21a4b..c249c8c 100644 +--- a/worms/Makefile ++++ b/worms/Makefile +@@ -15,6 +15,10 @@ all: $(BIN) + $(BIN): $(OBJS) + $(CC) -o $@ -Wl,--whole-archive $(OBJS) $(LDFLAGS) -Wl,--no-whole-archive -rdynamic + ++install: $(BIN) ++ install -d $(DESTDIR)/usr/bin ++ install -m 0755 $(BIN) $(DESTDIR)/usr/bin ++ + clean: + @rm -f $(OBJS) + @rm -f $(BIN) diff --git a/recipes-graphics/raspidmx/raspidmx/0003-switch-to-pkg-config.patch b/recipes-graphics/raspidmx/raspidmx/0003-switch-to-pkg-config.patch new file mode 100644 index 0000000..7adb12b --- /dev/null +++ b/recipes-graphics/raspidmx/raspidmx/0003-switch-to-pkg-config.patch @@ -0,0 +1,114 @@ +From 314fbde187e9187b1b3e18e50dd937c070e93633 Mon Sep 17 00:00:00 2001 +From: Trevor Woerner <twoerner@gmail.com> +Date: Fri, 4 Dec 2020 01:58:59 -0500 +Subject: [PATCH] switch to "pkg-config" + +I get a build error saying: + + ERROR: /usr/bin/libpng16-config should not be used, use an alternative such as pkg-config + +Therefore switch to the more common and more generic "pkg-config" instead of +using a libpng-specific tool for flags and libraries. + +Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29] +Signed-off-by: Trevor Woerner <twoerner@gmail.com> +--- + game/Makefile | 4 ++-- + lib/Makefile | 4 ++-- + mandelbrot/Makefile | 4 ++-- + offscreen/Makefile | 4 ++-- + pngview/Makefile | 4 ++-- + spriteview/Makefile | 4 ++-- + 6 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/game/Makefile b/game/Makefile +index 6da6a6d..0a90a38 100644 +--- a/game/Makefile ++++ b/game/Makefile +@@ -1,8 +1,8 @@ + OBJS=main.o + BIN=game + +-CFLAGS+=-Wall -g -O3 -I../common $(shell libpng-config --cflags) +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell libpng-config --ldflags) -L../lib -lraspidmx -lraspidmxPng ++CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) ++LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/lib/Makefile b/lib/Makefile +index 2765c91..1e8c759 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -11,9 +11,9 @@ OBJS=../common/backgroundLayer.o ../common/imageGraphics.o ../common/key.o \ + + OBJSPNG=../common/spriteLayer.o ../common/loadpng.o ../common/savepng.o ../common/scrollingLayer.o + +-CFLAGS+=-Wall -g -O3 -I../common $(shell libpng-config --cflags) ++CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) + LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm +-LDFLAGSPNG=${LDFLAGS} $(shell libpng-config --ldflags) ++LDFLAGSPNG=${LDFLAGS} $(shell pkg-config --libs libpng) + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/mandelbrot/Makefile b/mandelbrot/Makefile +index a6e6735..82910bb 100644 +--- a/mandelbrot/Makefile ++++ b/mandelbrot/Makefile +@@ -1,8 +1,8 @@ + OBJS=main.o mandelbrot.o info.o + BIN=mandelbrot + +-CFLAGS+=-Wall -g -O3 -I../common $(shell libpng-config --cflags) +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell libpng-config --ldflags) -L../lib -lraspidmx -lraspidmxPng ++CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) ++LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/offscreen/Makefile b/offscreen/Makefile +index 8d23354..0120796 100644 +--- a/offscreen/Makefile ++++ b/offscreen/Makefile +@@ -1,8 +1,8 @@ + OBJS=pngresize.o resizeDispmanX.o + BIN=pngresize + +-CFLAGS+=-Wall -g -O3 -I../common $(shell libpng-config --cflags) +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell libpng-config --ldflags) -L../lib -lraspidmx -lraspidmxPng ++CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) ++LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/pngview/Makefile b/pngview/Makefile +index 8c037ec..71a5d76 100644 +--- a/pngview/Makefile ++++ b/pngview/Makefile +@@ -1,8 +1,8 @@ + OBJS=pngview.o + BIN=pngview + +-CFLAGS+=-Wall -g -O3 -I../common $(shell libpng-config --cflags) +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell libpng-config --ldflags) -L../lib -lraspidmx -lraspidmxPng ++CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) ++LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/spriteview/Makefile b/spriteview/Makefile +index ada9277..904c1e8 100644 +--- a/spriteview/Makefile ++++ b/spriteview/Makefile +@@ -1,8 +1,8 @@ + OBJS=spriteview.o + BIN=spriteview + +-CFLAGS+=-Wall -g -O3 -I../common $(shell libpng-config --cflags) +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell libpng-config --ldflags) -L../lib -lraspidmx -lraspidmxPng ++CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) ++LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + diff --git a/recipes-graphics/raspidmx/raspidmx/0004-add-libvchostif-to-link.patch b/recipes-graphics/raspidmx/raspidmx/0004-add-libvchostif-to-link.patch new file mode 100644 index 0000000..908be62 --- /dev/null +++ b/recipes-graphics/raspidmx/raspidmx/0004-add-libvchostif-to-link.patch @@ -0,0 +1,170 @@ +From bde71fc22bde61ef8fe319c60f478ec370f5bc5d Mon Sep 17 00:00:00 2001 +From: Trevor Woerner <twoerner@gmail.com> +Date: Fri, 4 Dec 2020 02:13:39 -0500 +Subject: [PATCH] add libvchostif to link + +I end up with link errors of the type: + + libvchostif.so: error adding symbols: DSO missing from command line + +Which is caused by not having -lvchostif in the link. + +Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29] +Signed-off-by: Trevor Woerner <twoerner@gmail.com> +--- + game/Makefile | 2 +- + life/Makefile | 2 +- + mandelbrot/Makefile | 2 +- + offscreen/Makefile | 2 +- + pngview/Makefile | 2 +- + radar_sweep/Makefile | 2 +- + radar_sweep_alpha/Makefile | 2 +- + rgb_triangle/Makefile | 2 +- + spriteview/Makefile | 2 +- + test_pattern/Makefile | 2 +- + worms/Makefile | 2 +- + 11 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/game/Makefile b/game/Makefile +index 0a90a38..b756fa2 100644 +--- a/game/Makefile ++++ b/game/Makefile +@@ -2,7 +2,7 @@ OBJS=main.o + BIN=game + + CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/life/Makefile b/life/Makefile +index 44f1edb..2addf69 100644 +--- a/life/Makefile ++++ b/life/Makefile +@@ -2,7 +2,7 @@ OBJS=main.o life.o info.o + BIN=life + + CFLAGS+=-Wall -g -O3 -I../common +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -L../lib -lraspidmx ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -L../lib -lraspidmx + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/mandelbrot/Makefile b/mandelbrot/Makefile +index 82910bb..31097f2 100644 +--- a/mandelbrot/Makefile ++++ b/mandelbrot/Makefile +@@ -2,7 +2,7 @@ OBJS=main.o mandelbrot.o info.o + BIN=mandelbrot + + CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/offscreen/Makefile b/offscreen/Makefile +index 0120796..4f13fd0 100644 +--- a/offscreen/Makefile ++++ b/offscreen/Makefile +@@ -2,7 +2,7 @@ OBJS=pngresize.o resizeDispmanX.o + BIN=pngresize + + CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/pngview/Makefile b/pngview/Makefile +index 71a5d76..cce8d63 100644 +--- a/pngview/Makefile ++++ b/pngview/Makefile +@@ -2,7 +2,7 @@ OBJS=pngview.o + BIN=pngview + + CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/radar_sweep/Makefile b/radar_sweep/Makefile +index 5f814b7..aa1d32c 100644 +--- a/radar_sweep/Makefile ++++ b/radar_sweep/Makefile +@@ -2,7 +2,7 @@ OBJS=radar_sweep.o + BIN=radar_sweep + + CFLAGS+=-Wall -O3 -g -I../common +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm -L../lib -lraspidmx ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm -L../lib -lraspidmx + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/radar_sweep_alpha/Makefile b/radar_sweep_alpha/Makefile +index f66c338..571d47b 100644 +--- a/radar_sweep_alpha/Makefile ++++ b/radar_sweep_alpha/Makefile +@@ -2,7 +2,7 @@ OBJS=radar_sweep_alpha.o + BIN=radar_sweep_alpha + + CFLAGS+=-Wall -O3 -g -I../common +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm -L../lib -lraspidmx ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm -L../lib -lraspidmx + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/rgb_triangle/Makefile b/rgb_triangle/Makefile +index 2ce779d..0266715 100644 +--- a/rgb_triangle/Makefile ++++ b/rgb_triangle/Makefile +@@ -2,7 +2,7 @@ OBJS=rgb_triangle.o + BIN=rgb_triangle + + CFLAGS+=-Wall -O3 -g -I../common +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm -L../lib -lraspidmx ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm -L../lib -lraspidmx + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/spriteview/Makefile b/spriteview/Makefile +index 904c1e8..d2fb3c8 100644 +--- a/spriteview/Makefile ++++ b/spriteview/Makefile +@@ -2,7 +2,7 @@ OBJS=spriteview.o + BIN=spriteview + + CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/test_pattern/Makefile b/test_pattern/Makefile +index 1e02b0a..c231fb6 100644 +--- a/test_pattern/Makefile ++++ b/test_pattern/Makefile +@@ -2,7 +2,7 @@ OBJS=test_pattern.o + BIN=test_pattern + + CFLAGS+=-Wall -g -O3 -I../common +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm -L../lib -lraspidmx ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm -L../lib -lraspidmx + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/worms/Makefile b/worms/Makefile +index c249c8c..3b6c830 100644 +--- a/worms/Makefile ++++ b/worms/Makefile +@@ -2,7 +2,7 @@ OBJS=main.o worms.o + BIN=worms + + CFLAGS+=-Wall -g -O3 -I../common +-LDFLAGS+=-L/opt/vc/lib/ -lbcm_host -lm -L../lib -lraspidmx ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm -L../lib -lraspidmx + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + diff --git a/recipes-graphics/raspidmx/raspidmx/0005-change-library-linking-order.patch b/recipes-graphics/raspidmx/raspidmx/0005-change-library-linking-order.patch new file mode 100644 index 0000000..ceefd03 --- /dev/null +++ b/recipes-graphics/raspidmx/raspidmx/0005-change-library-linking-order.patch @@ -0,0 +1,87 @@ +From 07e7b727b7df7fc5bf0e1f296ba136e0653202ea Mon Sep 17 00:00:00 2001 +From: Trevor Woerner <twoerner@gmail.com> +Date: Fri, 4 Dec 2020 03:25:08 -0500 +Subject: [PATCH] change library linking order + +Since -lraspidmxPng requires the png library (libpng), re-arrange the order of +linking so that it succeeds. Otherwise I get errors like the following: + + undefined reference to `png_create_write_struct' + +...as well as undefined references to various other libpng objects. + +Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29] +Signed-off-by: Trevor Woerner <twoerner@gmail.com> +--- + game/Makefile | 2 +- + mandelbrot/Makefile | 2 +- + offscreen/Makefile | 2 +- + pngview/Makefile | 2 +- + spriteview/Makefile | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/game/Makefile b/game/Makefile +index b756fa2..f33916d 100644 +--- a/game/Makefile ++++ b/game/Makefile +@@ -2,7 +2,7 @@ OBJS=main.o + BIN=game + + CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) +-LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm -L../lib -lraspidmx -lraspidmxPng $(shell pkg-config --libs libpng) + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/mandelbrot/Makefile b/mandelbrot/Makefile +index 31097f2..08d1113 100644 +--- a/mandelbrot/Makefile ++++ b/mandelbrot/Makefile +@@ -2,7 +2,7 @@ OBJS=main.o mandelbrot.o info.o + BIN=mandelbrot + + CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) +-LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm -L../lib -lraspidmx -lraspidmxPng $(shell pkg-config --libs libpng) + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/offscreen/Makefile b/offscreen/Makefile +index 4f13fd0..49fc744 100644 +--- a/offscreen/Makefile ++++ b/offscreen/Makefile +@@ -2,7 +2,7 @@ OBJS=pngresize.o resizeDispmanX.o + BIN=pngresize + + CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) +-LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm -L../lib -lraspidmx -lraspidmxPng $(shell pkg-config --libs libpng) + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/pngview/Makefile b/pngview/Makefile +index cce8d63..bd6c154 100644 +--- a/pngview/Makefile ++++ b/pngview/Makefile +@@ -2,7 +2,7 @@ OBJS=pngview.o + BIN=pngview + + CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) +-LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm -L../lib -lraspidmx -lraspidmxPng $(shell pkg-config --libs libpng) + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + +diff --git a/spriteview/Makefile b/spriteview/Makefile +index d2fb3c8..89d9e01 100644 +--- a/spriteview/Makefile ++++ b/spriteview/Makefile +@@ -2,7 +2,7 @@ OBJS=spriteview.o + BIN=spriteview + + CFLAGS+=-Wall -g -O3 -I../common $(shell pkg-config --cflags libpng) +-LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm $(shell pkg-config --libs libpng) -L../lib -lraspidmx -lraspidmxPng ++LDFLAGS+=-L/opt/vc/lib/ -lvchostif -lbcm_host -lm -L../lib -lraspidmx -lraspidmxPng $(shell pkg-config --libs libpng) + + INCLUDES+=-I/opt/vc/include/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux + diff --git a/recipes-graphics/raspidmx/raspidmx/0006-game-Makefile-install-sample-png-files.patch b/recipes-graphics/raspidmx/raspidmx/0006-game-Makefile-install-sample-png-files.patch new file mode 100644 index 0000000..dae847d --- /dev/null +++ b/recipes-graphics/raspidmx/raspidmx/0006-game-Makefile-install-sample-png-files.patch @@ -0,0 +1,24 @@ +From 1868a111450be0053ab124df501cfcb7542f5e77 Mon Sep 17 00:00:00 2001 +From: Trevor Woerner <twoerner@gmail.com> +Date: Fri, 4 Dec 2020 03:47:17 -0500 +Subject: [PATCH] game/Makefile: install sample png files + +Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29] +Signed-off-by: Trevor Woerner <twoerner@gmail.com> +--- + game/Makefile | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/game/Makefile b/game/Makefile +index f33916d..d007972 100644 +--- a/game/Makefile ++++ b/game/Makefile +@@ -18,6 +18,8 @@ $(BIN): $(OBJS) + install: $(BIN) + install -d $(DESTDIR)/usr/bin + install -m 0755 $(BIN) $(DESTDIR)/usr/bin ++ install -d $(DESTDIR)/usr/share/raspidmx ++ install -m 444 spotlight.png sprite.png texture.png $(DESTDIR)/usr/share/raspidmx + + clean: + @rm -f $(OBJS) diff --git a/recipes-graphics/raspidmx/raspidmx/0007-Makefile-reorganize.patch b/recipes-graphics/raspidmx/raspidmx/0007-Makefile-reorganize.patch new file mode 100644 index 0000000..b5c743e --- /dev/null +++ b/recipes-graphics/raspidmx/raspidmx/0007-Makefile-reorganize.patch @@ -0,0 +1,57 @@ +From f195ffffb133c9cda88d5eac41c0f584fd4540c9 Mon Sep 17 00:00:00 2001 +From: Trevor Woerner <twoerner@gmail.com> +Date: Fri, 4 Dec 2020 03:48:36 -0500 +Subject: [PATCH] Makefile: reorganize + +Reorganize the main Makefile in order to: +1. be able to build in parallel +2. have build failures in subdirectories stop the build + +Now the "-j <#threads>" option can be used with 'make'. + +Also, if a build failure occurs in a subdirectory, this new arrangement will +cause the build to stop and fail instead of silently ignoring it. + +To build simply invoke 'make' with or without a -j option. +To install simply invoke: make TARGET=install +To clean simply invoke: make TARGET=clean + +Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29] +Signed-off-by: Trevor Woerner <twoerner@gmail.com> +--- + Makefile | 19 +++++++------------ + 1 file changed, 7 insertions(+), 12 deletions(-) + +diff --git a/Makefile b/Makefile +index 4a06de9..1f9f7c4 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,5 +1,4 @@ +-TARGETS=lib \ +- life \ ++TARGETS=life \ + mandelbrot \ + offscreen \ + pngview \ +@@ -10,15 +9,11 @@ TARGETS=lib \ + spriteview \ + test_pattern \ + worms ++.PHONY: all lib install clean $(TARGETS) + +-default :all +- +-all: +- for target in $(TARGETS); do ($(MAKE) -C $$target); done +- +-install: +- for target in $(TARGETS); do ($(MAKE) -C $$target install); done +- +-clean: +- for target in $(TARGETS); do ($(MAKE) -C $$target clean); done ++all: $(TARGETS) + ++$(TARGETS): lib ++ $(MAKE) -C $@ $(TARGET) ++lib: ++ $(MAKE) -C $@ $(TARGET) diff --git a/recipes-graphics/raspidmx/raspidmx_git.bb b/recipes-graphics/raspidmx/raspidmx_git.bb new file mode 100644 index 0000000..71590e3 --- /dev/null +++ b/recipes-graphics/raspidmx/raspidmx_git.bb @@ -0,0 +1,31 @@ +SUMMARY = "Some examples using the DispmanX API on the Raspberry Pi" +HOMEPAGE = "https://github.com/AndrewFromMelbourne/raspidmx" +SECTION = "graphics" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=52962875ab02c36df6cde47b1f463024" + +COMPATIBLE_HOST = "null" +COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'null', '(.*)', d)}" + +SRC_URI = "git://github.com/AndrewFromMelbourne/raspidmx;protocol=https \ + file://0001-gitignore-add-archives-from-lib-directory.patch \ + file://0002-add-install-targets-to-Makefiles.patch \ + file://0003-switch-to-pkg-config.patch \ + file://0004-add-libvchostif-to-link.patch \ + file://0005-change-library-linking-order.patch \ + file://0006-game-Makefile-install-sample-png-files.patch \ + file://0007-Makefile-reorganize.patch \ + " + +PV = "0.0+git${SRCPV}" +SRCREV = "e2ee6faa0d01a5ece06bcc74a47f37d7e6837310" + +S = "${WORKDIR}/git" + +inherit pkgconfig + +DEPENDS += "libpng userland" + +do_install () { + oe_runmake 'DESTDIR=${D}' 'TARGET=install' +} diff --git a/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch b/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch index ca39b78..295309c 100644 --- a/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch +++ b/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch @@ -1,7 +1,7 @@ -From d0956d198ceaf611314d61a0835fb5924b8a3577 Mon Sep 17 00:00:00 2001 +From 8a734f44beea9b10548ba696eaea1f5a76148fd5 Mon Sep 17 00:00:00 2001 From: Dom Cobley <dc4@broadcom.com> Date: Tue, 9 Jul 2013 09:26:26 -0400 -Subject: [PATCH 01/21] Allow applications to set next resource handle +Subject: [PATCH] Allow applications to set next resource handle This patch adds provisions in userland to let apps callers set the next rendereing dispmanx resource. @@ -203,6 +203,3 @@ index 8a5734c..51b3580 100644 FN(void, eglIntSelectMipmap_impl, (EGL_SURFACE_ID_T s, int level)) FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data)) --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch b/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch index d2d9b49..7945bff 100644 --- a/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch +++ b/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch @@ -1,7 +1,7 @@ -From 75eb8ab4bec3e462607214d2e14c9f2eef73435f Mon Sep 17 00:00:00 2001 +From 3c1566e9c3b356cfcd8327fed0e537ed978c8e78 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso <tomeu.vizoso@collabora.com> Date: Tue, 1 Oct 2013 13:19:20 +0200 -Subject: [PATCH 02/21] wayland: Add support for the Wayland winsys +Subject: [PATCH] wayland: Add support for the Wayland winsys * Adds EGL_WL_bind_wayland_display extension * Adds wayland-egl library @@ -43,13 +43,13 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> .../khronos/wayland-egl/wayland-egl-priv.h | 53 ++++ interface/khronos/wayland-egl/wayland-egl.c | 59 +++++ .../khronos/wayland-egl/wayland-egl.pc.in | 10 + - interface/vmcs_host/CMakeLists.txt | 21 +- + interface/vmcs_host/CMakeLists.txt | 13 +- interface/vmcs_host/vc_dispmanx.h | 10 + interface/vmcs_host/vc_vchi_dispmanx.c | 42 +++ interface/vmcs_host/vc_vchi_dispmanx.h | 15 ++ interface/wayland/dispmanx.xml | 123 +++++++++ makefiles/cmake/Wayland.cmake | 72 +++++ - 30 files changed, 1257 insertions(+), 99 deletions(-) + 30 files changed, 1253 insertions(+), 95 deletions(-) create mode 100644 interface/khronos/common/linux/khrn_wayland.c copy interface/{vmcs_host/vc_vchi_dispmanx.h => khronos/common/linux/khrn_wayland.h} (56%) create mode 100644 interface/khronos/ext/egl_wayland.c @@ -1551,7 +1551,7 @@ index 0000000..8bafc15 +Libs: -L${libdir} -lwayland-egl +Cflags: -I${includedir} diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt -index 4a914a7..c202204 100755 +index cbef80c..552312a 100755 --- a/interface/vmcs_host/CMakeLists.txt +++ b/interface/vmcs_host/CMakeLists.txt @@ -7,13 +7,24 @@ @@ -1559,15 +1559,11 @@ index 4a914a7..c202204 100755 add_definitions(-fno-strict-aliasing) -add_library(vchostif -- ${VMCS_TARGET}/vcfilesys.c ${VMCS_TARGET}/vcmisc.c -- vc_vchi_gencmd.c vc_vchi_filesys.c vc_vchi_gpuserv.c -- vc_vchi_tvservice.c vc_vchi_cecservice.c -- vc_vchi_dispmanx.c vc_service_common.c) +set(VCHOSTIF_SOURCE -+ ${VMCS_TARGET}/vcfilesys.c ${VMCS_TARGET}/vcmisc.c -+ vc_vchi_gencmd.c vc_vchi_filesys.c vc_vchi_gpuserv.c -+ vc_vchi_tvservice.c vc_vchi_cecservice.c -+ vc_vchi_dispmanx.c vc_service_common.c) + ${VMCS_TARGET}/vcmisc.c + vc_vchi_gencmd.c vc_vchi_gpuserv.c + vc_vchi_tvservice.c vc_vchi_cecservice.c + vc_vchi_dispmanx.c vc_service_common.c) # ${VMCS_TARGET}/vmcs_main.c # vc_vchi_haud.c + @@ -1893,6 +1889,3 @@ index 0000000..ad90d30 + list(APPEND ${_sources} "${_server_header}") + set(${_sources} ${${_sources}} PARENT_SCOPE) +endfunction() --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch b/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch index 59fc366..e10f9ab 100644 --- a/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch +++ b/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch @@ -1,7 +1,7 @@ -From 3b568db9460c0359e8bda8256aa2161e5aafe07c Mon Sep 17 00:00:00 2001 +From 03053b119a625a03e28a86be0f0ab2aa9e2a6a49 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso <tomeu.vizoso@collabora.com> Date: Tue, 1 Oct 2013 13:19:20 +0200 -Subject: [PATCH 03/21] wayland: Add Wayland example +Subject: [PATCH] wayland: Add Wayland example --- .../linux/apps/hello_pi/CMakeLists.txt | 1 + @@ -861,6 +861,3 @@ index 0000000..1a7bfc4 + return 0; +} + --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch b/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch index ac4c513..19608be 100644 --- a/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch +++ b/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch @@ -1,7 +1,7 @@ -From 3ce83fc1d4974d4db15ff72b4e856a29c60dbb83 Mon Sep 17 00:00:00 2001 +From 73e338f99f89bc85fe384759a385d95e904adb7f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 10 Aug 2015 02:38:27 -0700 -Subject: [PATCH 04/21] wayland-egl: Add bcm_host to dependencies +Subject: [PATCH] wayland-egl: Add bcm_host to dependencies It uses headers like vcos_platform_types.h but does not depend on module which should add the required include paths @@ -23,6 +23,3 @@ index 8bafc15..fd259c9 100644 +Requires: bcm_host Libs: -L${libdir} -lwayland-egl Cflags: -I${includedir} --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch b/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch index 33d4a55..2772323 100644 --- a/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch +++ b/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch @@ -1,8 +1,8 @@ -From cf4d2dba7150aad7f85eb7f5df0b0cfa9389da57 Mon Sep 17 00:00:00 2001 +From 8e79662e7b396325bee3f310a9406c74110cc7f4 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" <yann.morin.1998@free.fr> Date: Sat, 24 Jan 2015 22:07:19 +0100 -Subject: [PATCH 05/21] interface: remove faulty assert() to make weston happy - at runtime +Subject: [PATCH] interface: remove faulty assert() to make weston happy at + runtime This was removed after a discussion on IRC with the weston guys ('daniels' on irc.freenode.net/#wayland). @@ -24,6 +24,3 @@ index eab146e..29e0dee 100755 dispmanx_client.update_callback(handle, dispmanx_client.update_callback_param); } } else { --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch b/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch index 690d51d..5a1d8cf 100644 --- a/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch +++ b/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch @@ -1,7 +1,7 @@ -From ce90048cb25a0c2c49c585ce3a4cd8c73a8ff55b Mon Sep 17 00:00:00 2001 +From 22652fec1206eb6e5b3c05e2c4933feffce922e8 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 6 Feb 2016 11:10:47 -0800 -Subject: [PATCH 06/21] zero-out wl buffers in egl_surface_free +Subject: [PATCH] zero-out wl buffers in egl_surface_free origins from buildroot @@ -28,6 +28,3 @@ index 42350bf..1f923d9 100644 } #endif } --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch b/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch index d964ed5..bae39e1 100644 --- a/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch +++ b/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch @@ -1,7 +1,7 @@ -From 7f7e5b87104134b6710985c5f1c5936a59cccc98 Mon Sep 17 00:00:00 2001 +From 5c0fb637f8b1286da19b904c7be1692a4aa61244 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 6 Feb 2016 11:11:41 -0800 -Subject: [PATCH 07/21] initialize front back wayland buffers +Subject: [PATCH] initialize front back wayland buffers origins from metrological wayland support @@ -29,6 +29,3 @@ index 1f923d9..9a9582c 100644 resource = DISPMANX_NO_HANDLE; } #endif --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch b/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch index d9aba5e..1c15009 100644 --- a/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch +++ b/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch @@ -1,7 +1,7 @@ -From 2291cf20017c297e6ed3afd56945cf8768c9901e Mon Sep 17 00:00:00 2001 +From 18839d288b60aa3592ba5a3ac4ac44eb8328a793 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 6 Feb 2016 11:09:18 -0800 -Subject: [PATCH 08/21] Remove RPC_FLUSH +Subject: [PATCH] Remove RPC_FLUSH Origins from buildroot @@ -22,6 +22,3 @@ index f9b7287..b04ffef 100644 #if EGL_BRCM_global_image } #endif --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch b/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch index 898408b..7d28453 100644 --- a/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch +++ b/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch @@ -1,7 +1,7 @@ -From 736f489743b4a761afc928cbac197b28b3209bf1 Mon Sep 17 00:00:00 2001 +From f324e2724973aa76d054c3662d5d0903fd405390 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 6 Feb 2016 13:12:47 -0800 -Subject: [PATCH 09/21] fix cmake dependency race +Subject: [PATCH] fix cmake dependency race Fixes errors like @@ -42,7 +42,7 @@ index 1d81ca3..d6cd415 100644 add_library (vcos SHARED ${SOURCES}) target_link_libraries (vcos pthread dl rt) diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt -index c202204..16d3184 100755 +index 552312a..775742d 100755 --- a/interface/vmcs_host/CMakeLists.txt +++ b/interface/vmcs_host/CMakeLists.txt @@ -15,14 +15,6 @@ set(VCHOSTIF_SOURCE @@ -73,6 +73,3 @@ index f0bae30..8c44c58 100644 struct wl_dispmanx_server_buffer { struct wl_resource *resource; struct wl_dispmanx *dispmanx; --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch b/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch index 37f6abb..b6a4c58 100644 --- a/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch +++ b/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch @@ -1,7 +1,7 @@ -From 450341ccd98801be1c3dc648e18211177f81a60d Mon Sep 17 00:00:00 2001 +From 09de2ce12ed8a879cc822cd20c5f2756d030808a Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 29 Mar 2016 20:38:30 -0700 -Subject: [PATCH 10/21] Fix for framerate with nested composition +Subject: [PATCH] Fix for framerate with nested composition frame rate appears irregular and lower than expected when using nested composition. @@ -55,6 +55,3 @@ index 03fe67b..13a110c 100644 #ifdef ANDROID CLIENT_UNLOCK(); --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch b/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch index 77f9ccb..0d8ccd1 100644 --- a/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch +++ b/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch @@ -1,7 +1,7 @@ -From 13f2a4d1c6b6e79389ac3aa64512d78882a11b2f Mon Sep 17 00:00:00 2001 +From 140df8cbf93fc3295f57bffeb254adeb0b17d3a0 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 2 Apr 2016 10:37:24 -0700 -Subject: [PATCH 11/21] build shared library for vchostif +Subject: [PATCH] build shared library for vchostif Fixes #149 @@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt -index 16d3184..e54f046 100755 +index 775742d..76813c9 100755 --- a/interface/vmcs_host/CMakeLists.txt +++ b/interface/vmcs_host/CMakeLists.txt @@ -15,7 +15,7 @@ set(VCHOSTIF_SOURCE @@ -23,6 +23,3 @@ index 16d3184..e54f046 100755 #add_library(bufman vc_vchi_bufman.c ) set(INSTALL_TARGETS vchostif) --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch b/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch index 53403d7..e652cc2 100644 --- a/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch +++ b/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch @@ -1,7 +1,7 @@ -From a09feea5ceb0af717c17a3a7df8a638f8e858f52 Mon Sep 17 00:00:00 2001 +From bdb5bbe994b91a7c64ca6103fbf2bbd590e6b8e5 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 2 Apr 2016 10:54:59 -0700 -Subject: [PATCH 12/21] implement buffer wrapping interface for dispmanx +Subject: [PATCH] implement buffer wrapping interface for dispmanx Courtesy: Zan Dobersek @@ -87,6 +87,3 @@ index c18626d..11ed1ef 100644 </interface> </protocol> --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch b/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch index d5702cb..b60928a 100644 --- a/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch +++ b/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch @@ -1,7 +1,7 @@ -From dd8017ebccfa9c439a4e8dd501872e2052016f10 Mon Sep 17 00:00:00 2001 +From ffdcdf7605f4f266b408cf161e7c76dab54d689b Mon Sep 17 00:00:00 2001 From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com> Date: Thu, 19 Jan 2017 18:56:07 +0000 -Subject: [PATCH 13/21] Implement triple buffering for wayland +Subject: [PATCH] Implement triple buffering for wayland Change from double to triple buffering for wayland. This enables higher frame rates without tearing artifacts @@ -85,6 +85,3 @@ index e328b77..58a3184 100644 /* back_wl_buffer --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch b/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch index 52f0315..7e637a0 100644 --- a/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch +++ b/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch @@ -1,7 +1,7 @@ -From afe3917b1a236c08b1ed01053e3da9ab283db1ec Mon Sep 17 00:00:00 2001 +From 4624c934d1a783968306e61ded4389c153e3d009 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 10 May 2017 06:39:34 +0000 -Subject: [PATCH 14/21] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT +Subject: [PATCH] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT weston code uses these defines Upstream-Status: Pending @@ -30,6 +30,3 @@ index 4eacf7f..b1acc9f 100644 /* GL_EXT_texture_type_2_10_10_10_REV */ #ifndef GL_EXT_texture_type_2_10_10_10_REV #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch b/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch index 964d0ec..1c2e5bc 100644 --- a/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch +++ b/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch @@ -1,7 +1,7 @@ -From 47972590947e5da25d77cae0ce060f7b8d022a10 Mon Sep 17 00:00:00 2001 +From 528a439539a77e67bf136d425eac3240ca6f1cd7 Mon Sep 17 00:00:00 2001 From: Andrea Galbusera <gizero@gmail.com> Date: Fri, 14 Jul 2017 09:52:54 +0200 -Subject: [PATCH 15/21] EGL/glplatform.h: define EGL_CAST +Subject: [PATCH] EGL/glplatform.h: define EGL_CAST C++ / C typecast macros for special EGL handle values: used by libepoxy code The definition comes from the updated version of this header in mesa. @@ -27,6 +27,3 @@ index 1f7c930..c39d425 100644 +#endif + #endif /* __eglplatform_h */ --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch b/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch index 3790f80..fa7984c 100644 --- a/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch +++ b/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch @@ -1,8 +1,7 @@ -From 1eb8bdb4d45e3de9582145c120b0d3ede187c7a9 Mon Sep 17 00:00:00 2001 +From c5969e5e5c50e2c9b32c6f945040a8e5763ba06c Mon Sep 17 00:00:00 2001 From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com> Date: Sat, 27 Jan 2018 12:28:31 -0500 -Subject: [PATCH 16/21] Allow multiple wayland compositor state data per - process +Subject: [PATCH] Allow multiple wayland compositor state data per process When eglBindWaylandDisplayWL is called store the wl_global created in a list associated with the wayland display. @@ -140,6 +139,3 @@ index 9ef89cd..abd5ab3 100644 CLIENT_UNLOCK(); --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch b/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch index c3457cd..97340d7 100644 --- a/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch +++ b/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch @@ -1,8 +1,7 @@ -From 99a210c93019d37dd7f044102c4314c8cb988ed4 Mon Sep 17 00:00:00 2001 +From 8091dac73f792fb000e7ec97de6be23cd84b7cb7 Mon Sep 17 00:00:00 2001 From: Hugo Hromic <hhromic@gmail.com> Date: Sun, 13 May 2018 10:49:04 +0100 -Subject: [PATCH 17/21] khronos: backport typedef for - EGL_EXT_image_dma_buf_import +Subject: [PATCH] khronos: backport typedef for EGL_EXT_image_dma_buf_import The `gstreamer1.0-plugins-base` package version `1.14` uses `EGL_EXT_image_dma_buf_import`, which expects the `EGLuint64KHR` typedef that is present in recent versions of Khronos. @@ -33,6 +32,3 @@ index d7e5ba7..dcc90ce 100755 #ifndef EGL_WL_bind_wayland_display #define EGL_WL_bind_wayland_display 1 --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch b/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch index 5317c60..8843489 100644 --- a/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch +++ b/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch @@ -1,7 +1,7 @@ -From 82cf4bc5623c5220dfa1c096ea192f2509837782 Mon Sep 17 00:00:00 2001 +From 214f1895db14e3a88d5b2b3b6c844af3890e2eba Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 15 Jul 2018 00:48:38 -0700 -Subject: [PATCH 18/21] Add EGL_IMG_context_priority related defines +Subject: [PATCH] Add EGL_IMG_context_priority related defines These defines are needed for compiling weston 4.x taken from Khronos headers @@ -30,6 +30,3 @@ index dcc90ce..6842bf9 100755 #ifndef EGL_KHR_vg_parent_image #define EGL_KHR_vg_parent_image 1 #define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */ --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch b/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch index cd6306b..841341e 100644 --- a/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch +++ b/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch @@ -1,7 +1,7 @@ -From 1112539d9fde6428c1230b4fc9ea479623e9f968 Mon Sep 17 00:00:00 2001 +From bcdc525b2e4403f9e878e93cbd0d146ce9e37bb8 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 25 Jul 2019 23:30:27 -0700 -Subject: [PATCH 19/21] libfdt: Undefine __wordsize if already defined +Subject: [PATCH] libfdt: Undefine __wordsize if already defined glibc 2.30+ defines __wordsize, which is same so its easier to compile for multiple versions of glibc even ones which does not have this define @@ -26,6 +26,3 @@ index f4608be..5e83a27 100644 #ifdef __CHECKER__ #define FDT_FORCE __attribute__((force)) #define FDT_BITWISE __attribute__((bitwise)) --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch b/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch index e9d9da6..65fc5eb 100644 --- a/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch +++ b/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch @@ -1,7 +1,7 @@ -From 488916a6b366bfa5da2907b5892798eb2306a17d Mon Sep 17 00:00:00 2001 +From 372b3b75945300604c9b7b012ecb25c0548a1495 Mon Sep 17 00:00:00 2001 From: Martin Jansa <martin.jansa@lge.com> Date: Wed, 13 Jun 2018 18:22:22 +0000 -Subject: [PATCH 20/21] openmaxil: add pkg-config file +Subject: [PATCH] openmaxil: add pkg-config file --- CMakeLists.txt | 2 +- @@ -38,6 +38,3 @@ index 0000000..8793a61 +Version: 1 +Libs: -L${libdir} -lopenmaxil -lvcos -lvchiq_arm -pthread +Cflags: -I${includedir} -I${includedir}/IL -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch b/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch index c762a9f..43f9f29 100644 --- a/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch +++ b/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch @@ -1,7 +1,7 @@ -From ee842886f3c0589d6df5a0687973beb18a3be524 Mon Sep 17 00:00:00 2001 +From d08003ab30452b4268121bcf82e03fdf21c89cdd Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 31 Mar 2020 11:51:02 -0700 -Subject: [PATCH 21/21] cmake: Disable format-overflow warning as error +Subject: [PATCH] cmake: Disable format-overflow warning as error gcc10 complains about a check which could potentially be null @@ -20,7 +20,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/host_applications/linux/libs/bcm_host/CMakeLists.txt b/host_applications/linux/libs/bcm_host/CMakeLists.txt -index a863cb6..f358135 100644 +index 2f4beb9..7a4ab06 100644 --- a/host_applications/linux/libs/bcm_host/CMakeLists.txt +++ b/host_applications/linux/libs/bcm_host/CMakeLists.txt @@ -3,7 +3,7 @@ if (WIN32) @@ -32,6 +32,3 @@ index a863cb6..f358135 100644 endif () # set this as we want all the source of vchostif to be available in libbcm_host --- -2.27.0 - diff --git a/recipes-graphics/userland/files/0022-all-host_applications-remove-non-existent-projects.patch b/recipes-graphics/userland/files/0022-all-host_applications-remove-non-existent-projects.patch new file mode 100644 index 0000000..595eefb --- /dev/null +++ b/recipes-graphics/userland/files/0022-all-host_applications-remove-non-existent-projects.patch @@ -0,0 +1,30 @@ +From 451e8458e45926e4e1c0433864ac4cf8b05d792b Mon Sep 17 00:00:00 2001 +From: Trevor Woerner <twoerner@gmail.com> +Date: Fri, 27 Nov 2020 03:12:26 -0500 +Subject: [PATCH] all host_applications: remove non-existent projects + +The ALL_APPS symbol will optionally build an additional set of projects, +however, several of them don't exist anymore. Remove them from the list of +ALL_APPS. + +Upstream-status: submitted [https://github.com/raspberrypi/userland/pull/661] +Signed-off-by: Trevor Woerner <twoerner@gmail.com> +--- + host_applications/linux/CMakeLists.txt | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/host_applications/linux/CMakeLists.txt b/host_applications/linux/CMakeLists.txt +index 928b637..554ae46 100644 +--- a/host_applications/linux/CMakeLists.txt ++++ b/host_applications/linux/CMakeLists.txt +@@ -14,10 +14,6 @@ add_subdirectory(apps/dtoverlay) + add_subdirectory(apps/dtmerge) + + if(ALL_APPS) +- add_subdirectory(apps/vcdbg) +- add_subdirectory(libs/elftoolchain) +- # add_subdirectory(apps/smct) +- add_subdirectory(apps/edid_parser) + add_subdirectory(apps/hello_pi) + endif() + diff --git a/recipes-graphics/userland/files/0023-hello_pi-optionally-build-wayland-specific-app.patch b/recipes-graphics/userland/files/0023-hello_pi-optionally-build-wayland-specific-app.patch new file mode 100644 index 0000000..642ee86 --- /dev/null +++ b/recipes-graphics/userland/files/0023-hello_pi-optionally-build-wayland-specific-app.patch @@ -0,0 +1,28 @@ +From 5f4324a0008c2e8e1f511432f98bf85c9fffd35c Mon Sep 17 00:00:00 2001 +From: Trevor Woerner <twoerner@gmail.com> +Date: Fri, 27 Nov 2020 03:18:50 -0500 +Subject: [PATCH] hello_pi: optionally build wayland-specific app + +Only build the wayland-specific hello_pi app when building for wayland. + +Upstream-status: inappropriate [the wayland example is not part of upstream] +Signed-off-by: Trevor Woerner <twoerner@gmail.com> +--- + host_applications/linux/apps/hello_pi/CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/host_applications/linux/apps/hello_pi/CMakeLists.txt b/host_applications/linux/apps/hello_pi/CMakeLists.txt +index 2849fad..7de3265 100644 +--- a/host_applications/linux/apps/hello_pi/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/CMakeLists.txt +@@ -25,7 +25,9 @@ add_subdirectory(hello_encode) + add_subdirectory(hello_jpeg) + add_subdirectory(hello_videocube) + add_subdirectory(hello_teapot) +-add_subdirectory(hello_wayland) ++if (BUILD_WAYLAND) ++ add_subdirectory(hello_wayland) ++endif() + + if(BUILD_FONT) + set(VGFONT_SRCS libs/vgfont/font.c libs/vgfont/vgft.c libs/vgfont/graphics.c) diff --git a/recipes-graphics/userland/files/0024-userland-Sync-needed-defines-for-weston-build.patch b/recipes-graphics/userland/files/0024-userland-Sync-needed-defines-for-weston-build.patch new file mode 100644 index 0000000..ec74cc2 --- /dev/null +++ b/recipes-graphics/userland/files/0024-userland-Sync-needed-defines-for-weston-build.patch @@ -0,0 +1,38 @@ +From 4a3e515d3ea7ff0fc4063b9677b056af4ee7a3f6 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 2 Dec 2020 14:28:01 -0800 +Subject: [PATCH] userland: Sync needed defines for weston build + +eglext.h from userland is not sufficient to compile latest weston, +therefore import needed defines and typedefs from latest mesa + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + interface/khronos/include/EGL/eglext.h | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/interface/khronos/include/EGL/eglext.h b/interface/khronos/include/EGL/eglext.h +index 6842bf9..7118e92 100755 +--- a/interface/khronos/include/EGL/eglext.h ++++ b/interface/khronos/include/EGL/eglext.h +@@ -225,6 +225,20 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWL) (EGLDisplay dpy, st + + #endif + ++typedef void* EGLSyncKHR; ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); ++typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); ++#ifndef EGL_ANDROID_native_fence_sync ++#define EGL_ANDROID_native_fence_sync 1 ++#define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144 ++#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145 ++#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146 ++#define EGL_NO_NATIVE_FENCE_FD_ANDROID -1 ++typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync); ++#endif ++#endif /* EGL_ANDROID_native_fence_sync */ + + #ifdef __cplusplus + } diff --git a/recipes-graphics/userland/userland_git.bb b/recipes-graphics/userland/userland_git.bb index 1138da8..6dfc8a3 100644 --- a/recipes-graphics/userland/userland_git.bb +++ b/recipes-graphics/userland/userland_git.bb @@ -13,11 +13,11 @@ COMPATIBLE_MACHINE = "^rpi$" SRCBRANCH = "master" SRCFORK = "raspberrypi" -SRCREV = "188d3bfe4a0ac36b119a2cee35a6be8d0c68e09e" +SRCREV = "9f3f9054a692e53b60fca54221a402414e030335" # Use the date of the above commit as the package version. Update this when # SRCREV is changed. -PV = "20200624" +PV = "20201027" SRC_URI = "\ git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \ @@ -42,7 +42,13 @@ SRC_URI = "\ file://0019-libfdt-Undefine-__wordsize-if-already-defined.patch \ file://0020-openmaxil-add-pkg-config-file.patch \ file://0021-cmake-Disable-format-overflow-warning-as-error.patch \ + file://0022-all-host_applications-remove-non-existent-projects.patch \ + file://0023-hello_pi-optionally-build-wayland-specific-app.patch \ + file://0024-userland-Sync-needed-defines-for-weston-build.patch \ " + +SRC_URI_remove_toolchain-clang = "file://0021-cmake-Disable-format-overflow-warning-as-error.patch" + S = "${WORKDIR}/git" inherit cmake pkgconfig @@ -59,6 +65,7 @@ EXTRA_OECMAKE_append_aarch64 = " -DARM64=ON " PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}" PACKAGECONFIG[wayland] = "-DBUILD_WAYLAND=TRUE -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=${STAGING_BINDIR_NATIVE}/wayland-scanner,,wayland-native wayland" +PACKAGECONFIG[allapps] = "-DALL_APPS=true,,," CFLAGS_append = " -fPIC" diff --git a/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb index 99afde8..671dfa2 100644 --- a/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb +++ b/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb @@ -8,6 +8,7 @@ SECTION = "kernel" # In maintained upstream linux-firmware: # * brcmfmac43430-sdio falls under LICENCE.cypress # * brcmfmac43455-sdio falls under LICENCE.broadcom_bcm43xx +# * brcmfmac43456-sdio falls under LICENCE.broadcom_bcm43xx # # It is likely[^1] that both of these should be under LICENCE.cypress. # Further, at this time the text of LICENCE.broadcom_bcm43xx is the same @@ -35,8 +36,8 @@ NO_GENERIC_LICENSE[WHENCE] = "WHENCE" SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree" -SRCREV = "98e815735e2c805d65994ccc608f399595b74438" -PV = "20190114-1+rpt8" +SRCREV = "b66ab26cebff689d0d3257f56912b9bb03c20567" +PV = "20190114-1+rpt10" S = "${WORKDIR}/git" @@ -56,7 +57,7 @@ do_install() { # Replace outdated linux-firmware files with updated ones from # raspbian firmware-nonfree. Raspbian adds blobs and nvram # definitions that are also necessary so copy those too. - for fw in brcmfmac43430-sdio brcmfmac43455-sdio ; do + for fw in brcmfmac43430-sdio brcmfmac43455-sdio brcmfmac43456-sdio ; do install -m 0644 brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/ done # add compat links. Fixes errors like @@ -64,22 +65,27 @@ do_install() { ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt ln -s brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt + ln -s brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt } PACKAGES = "\ ${PN}-broadcom-license \ ${PN}-bcm43430 \ ${PN}-bcm43455 \ + ${PN}-bcm43456 \ " LICENSE_${PN}-bcm43430 = "Firmware-broadcom_bcm43xx-rpidistro" LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx-rpidistro" +LICENSE_${PN}-bcm43456 = "Firmware-broadcom_bcm43xx-rpidistro" LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx-rpidistro" FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx-rpidistro" FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430*" FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455*" +FILES_${PN}-bcm43456 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43456*" RDEPENDS_${PN}-bcm43430 += "${PN}-broadcom-license" RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license" +RDEPENDS_${PN}-bcm43456 += "${PN}-broadcom-license" RCONFLICTS_${PN}-bcm43430 = "\ linux-firmware-bcm43430 \ linux-firmware-raspbian-bcm43430 \ @@ -96,6 +102,14 @@ RREPLACES_${PN}-bcm43455 = "\ linux-firmware-bcm43455 \ linux-firmware-raspbian-bcm43455 \ " +RCONFLICTS_${PN}-bcm43456 = "\ + linux-firmware-bcm43456 \ + linux-firmware-raspbian-bcm43456 \ +" +RREPLACES_${PN}-bcm43456 = "\ + linux-firmware-bcm43456 \ + linux-firmware-raspbian-bcm43456 \ +" # Firmware files are generally not run on the CPU, so they can be # allarch despite being architecture specific diff --git a/recipes-kernel/linux/files/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch b/recipes-kernel/linux/files/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch deleted file mode 100644 index a9e9213..0000000 --- a/recipes-kernel/linux/files/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch +++ /dev/null @@ -1,62 +0,0 @@ -From e6ebc8e654bba53f28af5229a1069fc74fa58b7b Mon Sep 17 00:00:00 2001 -From: Jason Wessel <jason.wessel@windriver.com> -Date: Thu, 25 Sep 2014 11:26:49 -0700 -Subject: [PATCH] menuconfig,check-lxdiaglog.sh: Allow specification of ncurses - location - -In some cross build environments such as the Yocto Project build -environment it provides an ncurses library that is compiled -differently than the host's version. This causes display corruption -problems when the host's curses includes are used instead of the -includes from the provided compiler are overridden. There is a second -case where there is no curses libraries at all on the host system and -menuconfig will just fail entirely. - -The solution is simply to allow an override variable in -check-lxdialog.sh for environments such as the Yocto Project. Adding -a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing -compiling and linking against the right headers and libraries. - -Upstream-Status: submitted [https://lkml.org/lkml/2013/3/3/103] - -Signed-off-by: Jason Wessel <jason.wessel@windriver.com> -cc: Michal Marek <mmarek@suse.cz> -cc: linux-kbuild@vger.kernel.org -Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> -Signed-off-by: California Sullivan <california.l.sullivan@intel.com> ---- - scripts/kconfig/lxdialog/check-lxdialog.sh | 8 ++++++++ - 1 file changed, 8 insertions(+) - mode change 100755 => 100644 scripts/kconfig/lxdialog/check-lxdialog.sh - -diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh -old mode 100755 -new mode 100644 -index 5075ebf2d3b9..ba9242101190 ---- a/scripts/kconfig/lxdialog/check-lxdialog.sh -+++ b/scripts/kconfig/lxdialog/check-lxdialog.sh -@@ -4,6 +4,10 @@ - # What library to link - ldflags() - { -+ if [ "$CROSS_CURSES_LIB" != "" ]; then -+ echo "$CROSS_CURSES_LIB" -+ exit -+ fi - pkg-config --libs ncursesw 2>/dev/null && exit - pkg-config --libs ncurses 2>/dev/null && exit - for ext in so a dll.a dylib ; do -@@ -21,6 +25,10 @@ ldflags() - # Where is ncurses.h? - ccflags() - { -+ if [ x"$CROSS_CURSES_INC" != x ]; then -+ echo "$CROSS_CURSES_INC" -+ exit -+ fi - if pkg-config --cflags ncursesw 2>/dev/null; then - echo '-DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1' - elif pkg-config --cflags ncurses 2>/dev/null; then --- -2.14.3 - diff --git a/recipes-kernel/linux/files/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch b/recipes-kernel/linux/files/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch deleted file mode 100644 index e0e7b85..0000000 --- a/recipes-kernel/linux/files/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch +++ /dev/null @@ -1,57 +0,0 @@ -From e66a0be4fac135d67ab228a6fd1453b9e36a3644 Mon Sep 17 00:00:00 2001 -From: Changbin Du <changbin.du@gmail.com> -Date: Tue, 28 Jan 2020 23:29:38 +0800 -Subject: [PATCH] perf: Make perf able to build with latest libbfd - -libbfd has changed the bfd_section_* macros to inline functions -bfd_section_<field> since 2019-09-18. See below two commits: - o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html - o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html - -This fix make perf able to build with both old and new libbfd. - -Signed-off-by: Changbin Du <changbin.du@gmail.com> -Acked-by: Jiri Olsa <jolsa@redhat.com> -Cc: Peter Zijlstra <peterz@infradead.org> -Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com -Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> ---- - tools/perf/util/srcline.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c -index af3f9b9f1e8b..b8e77617fdc4 100644 ---- a/tools/perf/util/srcline.c -+++ b/tools/perf/util/srcline.c -@@ -191,16 +191,30 @@ static void find_address_in_section(bfd *abfd, asection *section, void *data) - bfd_vma pc, vma; - bfd_size_type size; - struct a2l_data *a2l = data; -+ flagword flags; - - if (a2l->found) - return; - -- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0) -+#ifdef bfd_get_section_flags -+ flags = bfd_get_section_flags(abfd, section); -+#else -+ flags = bfd_section_flags(section); -+#endif -+ if ((flags & SEC_ALLOC) == 0) - return; - - pc = a2l->addr; -+#ifdef bfd_get_section_vma - vma = bfd_get_section_vma(abfd, section); -+#else -+ vma = bfd_section_vma(section); -+#endif -+#ifdef bfd_get_section_size - size = bfd_get_section_size(section); -+#else -+ size = bfd_section_size(section); -+#endif - - if (pc < vma || pc >= vma + size) - return; diff --git a/recipes-kernel/linux/files/0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch b/recipes-kernel/linux/files/0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch deleted file mode 100644 index 1828934..0000000 --- a/recipes-kernel/linux/files/0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 4cd12df48b83cef9cc7d6b80b128afbf68746718 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 14 Mar 2020 07:31:34 -0700 -Subject: [PATCH] selftest/bpf: Use CHECK macro instead of RET_IF - -backporting 634efb750435d0a489dc58477d4fcb88b2692942 causes build -failures because RET_IF is defined in 7ee0d4e97b889c0478af9c1a6e5af658b181423f -but that is not backported - -Upstream-Status: Submitted -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Cc: Jakub Sitnicki <jakub@cloudflare.com> -Cc: Alexei Starovoitov <ast@kernel.org> -Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> ---- - tools/testing/selftests/bpf/test_select_reuseport.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tools/testing/selftests/bpf/test_select_reuseport.c b/tools/testing/selftests/bpf/test_select_reuseport.c -index 079d0f5a2909..7e4c91f2238d 100644 ---- a/tools/testing/selftests/bpf/test_select_reuseport.c -+++ b/tools/testing/selftests/bpf/test_select_reuseport.c -@@ -668,12 +668,12 @@ static void cleanup_per_test(void) - - for (i = 0; i < NR_RESULTS; i++) { - err = bpf_map_update_elem(result_map, &i, &zero, BPF_ANY); -- RET_IF(err, "reset elem in result_map", -+ CHECK(err, "reset elem in result_map", - "i:%u err:%d errno:%d\n", i, err, errno); - } - - err = bpf_map_update_elem(linum_map, &zero, &zero, BPF_ANY); -- RET_IF(err, "reset line number in linum_map", "err:%d errno:%d\n", -+ CHECK(err, "reset line number in linum_map", "err:%d errno:%d\n", - err, errno); - - for (i = 0; i < REUSEPORT_ARRAY_SIZE; i++) --- -2.26.0 - diff --git a/recipes-kernel/linux/files/initramfs-image-bundle.cfg b/recipes-kernel/linux/files/initramfs-image-bundle.cfg new file mode 100644 index 0000000..8d3ad16 --- /dev/null +++ b/recipes-kernel/linux/files/initramfs-image-bundle.cfg @@ -0,0 +1,5 @@ +CONFIG_OVERLAY_FS=y +CONFIG_SQUASHFS=y +CONFIG_MTD=y +CONFIG_MTD_UBI=y +CONFIG_UBIFS_FS=y diff --git a/recipes-kernel/linux/files/rpi-kernel-misc.cfg b/recipes-kernel/linux/files/rpi-kernel-misc.cfg deleted file mode 100644 index 07b1437..0000000 --- a/recipes-kernel/linux/files/rpi-kernel-misc.cfg +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SENSORS_RPI_POE_FAN=m diff --git a/recipes-kernel/linux/files/vc4graphics.cfg b/recipes-kernel/linux/files/vc4graphics.cfg new file mode 100644 index 0000000..0b4ba48 --- /dev/null +++ b/recipes-kernel/linux/files/vc4graphics.cfg @@ -0,0 +1,6 @@ +CONFIG_I2C_BCM2835=y +CONFIG_DRM=y +CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_VC4=y +CONFIG_SND=y +CONFIG_SND_SOC=y diff --git a/recipes-kernel/linux/linux-raspberrypi-dev.bb b/recipes-kernel/linux/linux-raspberrypi-dev.bb index bb4a64e..1506c94 100644 --- a/recipes-kernel/linux/linux-raspberrypi-dev.bb +++ b/recipes-kernel/linux/linux-raspberrypi-dev.bb @@ -5,19 +5,31 @@ python __anonymous() { raise bb.parse.SkipRecipe(msg) } -FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:" +LINUX_VERSION ?= "5.10.y" +LINUX_RPI_BRANCH ?= "rpi-5.10.y" +LINUX_RPI_KMETA_BRANCH ?= "yocto-5.10" -LINUX_VERSION ?= "4.19" -LINUX_RPI_BRANCH ?= "rpi-4.19.y" +# Set default SRCREVs. Both the machine and meta SRCREVs are statically set +# to the as in 5.10 recipe, and hence prevent network access during parsing. If +# linux-yocto-dev is the preferred provider, they will be overridden to +# AUTOREV in following anonymous python routine and resolved when the +# variables are finalized. +SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-raspberrypi-dev", "${AUTOREV}", "89399e6e7e33d6260a954603ca03857df594ffd3", d)}' +SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-raspberrypi-dev", "${AUTOREV}", "a19886b00ea7d874fdd60d8e3435894bb16e6434", d)}' + +KMETA = "kernel-meta" -SRCREV = "${AUTOREV}" SRC_URI = " \ - git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_BRANCH} \ + git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH} \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ + file://powersave.cfg \ + file://android-drivers.cfg \ " + require linux-raspberrypi.inc +KERNEL_EXTRA_ARGS += "DTC_FLAGS='-@ -H epapr'" + # Disable version check so that we don't have to edit this recipe every time # upstream bumps the version KERNEL_VERSION_SANITY_SKIP = "1" - -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" diff --git a/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb b/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb deleted file mode 100644 index 224bc6d..0000000 --- a/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb +++ /dev/null @@ -1,9 +0,0 @@ -LINUX_VERSION ?= "4.14.91" - -SRCREV = "0b520d5f1f580d36a742a9457a5673fa1578fff3" -SRC_URI = " \ - git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y-rt \ - file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \ - " - -require linux-raspberrypi.inc diff --git a/recipes-kernel/linux/linux-raspberrypi-rt_4.19.bb b/recipes-kernel/linux/linux-raspberrypi-rt_4.19.bb deleted file mode 100644 index 2d9363f..0000000 --- a/recipes-kernel/linux/linux-raspberrypi-rt_4.19.bb +++ /dev/null @@ -1,6 +0,0 @@ -LINUX_VERSION ?= "4.19.71" -LINUX_RPI_BRANCH ?= "rpi-4.19.y-rt" - -SRCREV = "e2e9cec6fb061ba58304fd391ef76747f2963557" - -require linux-raspberrypi_4.19.inc diff --git a/recipes-kernel/linux/linux-raspberrypi.inc b/recipes-kernel/linux/linux-raspberrypi.inc index 3219a23..5ad9b78 100644 --- a/recipes-kernel/linux/linux-raspberrypi.inc +++ b/recipes-kernel/linux/linux-raspberrypi.inc @@ -1,17 +1,20 @@ DESCRIPTION = "Linux Kernel for Raspberry Pi" SECTION = "kernel" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" COMPATIBLE_MACHINE = "^rpi$" PE = "1" PV = "${LINUX_VERSION}+git${SRCPV}" -inherit kernel siteinfo +inherit siteinfo require recipes-kernel/linux/linux-yocto.inc -SRC_URI += "file://rpi-kernel-misc.cfg" +SRC_URI += " \ + ${@bb.utils.contains("INITRAMFS_IMAGE_BUNDLE", "1", "file://initramfs-image-bundle.cfg", "", d)} \ + ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "file://vc4graphics.cfg", "", d)} \ + " KCONFIG_MODE = "--alldefconfig" KBUILD_DEFCONFIG_raspberrypi0-wifi ?= "bcmrpi_defconfig" @@ -25,118 +28,9 @@ KBUILD_DEFCONFIG_raspberrypi4-64 ?= "bcm2711_defconfig" LINUX_VERSION_EXTENSION ?= "" -# CMDLINE for raspberrypi -SERIAL = "${@oe.utils.conditional("ENABLE_UART", "1", "console=serial0,115200", "", d)}" -CMDLINE ?= "dwc_otg.lpm_enable=0 ${SERIAL} root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" - -# Add the kernel debugger over console kernel command line option if enabled -CMDLINE_append = ' ${@oe.utils.conditional("ENABLE_KGDB", "1", "kgdboc=serial0,115200", "", d)}' - -# Disable rpi logo on boot -CMDLINE_append += ' ${@oe.utils.conditional("DISABLE_RPI_BOOT_LOGO", "1", "logo.nologo", "", d)}' - -# You can define CMDLINE_DEBUG as "debug" in your local.conf or distro.conf -# to enable kernel debugging. -CMDLINE_DEBUG ?= "" -CMDLINE_append = " ${CMDLINE_DEBUG}" - KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "stmpe-ts", "", d)}" # A LOADADDR is needed when building a uImage format kernel. This value is not # set by default in rpi-4.8.y and later branches so we need to provide it # manually. This value unused if KERNEL_IMAGETYPE is not uImage. KERNEL_EXTRA_ARGS += "LOADADDR=0x00008000" - -# Set a variable in .configure -# $1 - Configure variable to be set -# $2 - value [n/y/value] -kernel_configure_variable() { - # Remove the config - CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;" - if test "$2" = "n" - then - echo "# CONFIG_$1 is not set" >> ${B}/.config - else - echo "CONFIG_$1=$2" >> ${B}/.config - fi -} - -config_setup() { - # From kernel.bbclass. Unfortunately, this is needed to support builds that - # use devtool. The reason is as follows: - # - # - In devtool builds, externalsrc.bbclass gets inherited and sets a list of - # SRCTREECOVEREDTASKS, which don't get run because they affect the source - # tree and, when using devtool, we want the developer's changes to be the - # single source of truth. kernel-yocto.bbclass adds do_kernel_configme to - # SRCTREECOVEREDTASKS, so it doesn't run in a devtool build., In a normal - # non-devtool build, do_kernel_configme creates ${B}.config. - # - # - Normally (e.g. in linux-yocto), it would be OK that do_kernel_configme - # doesn't run, because the first few lines of do_configure in kernel.bbclass - # populate ${B}.config from either ${S}.config (if it exists) for custom - # developer changes, or otherwise from ${WORDIR}/defconfig. - # - # - In linux-raspberrypi, we add do_configure_prepend, which tweaks - # ${B}.config. Since this runs *before* the kernel.bbclass do_configure, - # ${B}.config doesn't yet exist and we hit an error. Thus we need to move - # the logic from do_configure up to before our do_configure_prepend. Because - # we are copying only a portion of do_configure and not the whole thing, - # there is no clean way to do it using OE functionality, so we just - # copy-and-paste. - if [ "${S}" != "${B}" ] && [ -f "${S}/.config" ] && [ ! -f "${B}/.config" ]; then - mv "${S}/.config" "${B}/.config" - fi - - # Copy defconfig to .config if .config does not exist. This allows - # recipes to manage the .config themselves in do_configure_prepend(). - if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then - cp "${WORKDIR}/defconfig" "${B}/.config" - fi -} - -do_configure_prepend() { - config_setup - - mv -f ${B}/.config ${B}/.config.patched - CONF_SED_SCRIPT="" - - if [ "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then - kernel_configure_variable OVERLAY_FS y - kernel_configure_variable SQUASHFS y - kernel_configure_variable UBIFS_FS y - fi - - # Activate the configuration options for VC4 - VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}" - if [ "${VC4GRAPHICS}" = "1" ]; then - kernel_configure_variable I2C_BCM2835 y - kernel_configure_variable DRM y - kernel_configure_variable DRM_FBDEV_EMULATION y - kernel_configure_variable DRM_VC4 y - fi - - # Keep this the last line - # Remove all modified configs and add the rest to .config - sed -e "${CONF_SED_SCRIPT}" < '${B}/.config.patched' >> '${B}/.config' - rm -f ${B}/.config.patched -} - -do_compile_append() { - if [ "${SITEINFO_BITS}" = "64" ]; then - cc_extra=$(get_cc_option) - oe_runmake dtbs CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} - fi -} - -do_deploy_append() { - # Deploy cmdline.txt only for the main kernel package - if [ ${KERNEL_PACKAGE_NAME} = "kernel" ]; then - install -d ${DEPLOYDIR}/${BOOTFILES_DIR_NAME} - PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}" - if [ ${PITFT} = "1" ]; then - PITFT_PARAMS="fbcon=map:10 fbcon=font:VGA8x8" - fi - echo "${CMDLINE}${PITFT_PARAMS}" > ${DEPLOYDIR}/${BOOTFILES_DIR_NAME}/cmdline.txt - fi -} diff --git a/recipes-kernel/linux/linux-raspberrypi_4.14.bb b/recipes-kernel/linux/linux-raspberrypi_4.14.bb deleted file mode 100644 index 03710ed..0000000 --- a/recipes-kernel/linux/linux-raspberrypi_4.14.bb +++ /dev/null @@ -1,9 +0,0 @@ -LINUX_VERSION ?= "4.14.114" - -SRCREV = "7688b39276ff9952df381d79de63b258e73971ce" -SRC_URI = " \ - git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y \ - file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \ - " - -require linux-raspberrypi.inc diff --git a/recipes-kernel/linux/linux-raspberrypi_4.19.bb b/recipes-kernel/linux/linux-raspberrypi_4.19.bb deleted file mode 100644 index 93a29f0..0000000 --- a/recipes-kernel/linux/linux-raspberrypi_4.19.bb +++ /dev/null @@ -1,10 +0,0 @@ -LINUX_VERSION ?= "4.19.126" -LINUX_RPI_BRANCH ?= "rpi-4.19.y" - -SRCREV = "f6b3ac28f0a9137d4c24c0b8832e693bbd16f5b7" - -require linux-raspberrypi_4.19.inc - -SRC_URI += "file://0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch \ - file://0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch \ - " diff --git a/recipes-kernel/linux/linux-raspberrypi_4.19.inc b/recipes-kernel/linux/linux-raspberrypi_4.19.inc deleted file mode 100644 index d6c1223..0000000 --- a/recipes-kernel/linux/linux-raspberrypi_4.19.inc +++ /dev/null @@ -1,12 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:" - -SRC_URI = " \ - git://github.com/raspberrypi/linux.git;branch=${LINUX_RPI_BRANCH} \ - " -SRC_URI_append_raspberrypi4-64 = " file://rpi4-64-kernel-misc.cfg" - -require linux-raspberrypi.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" - -KERNEL_EXTRA_ARGS_append_rpi = " DTC_FLAGS='-@ -H epapr'" diff --git a/recipes-kernel/linux/linux-raspberrypi_5.10.bb b/recipes-kernel/linux/linux-raspberrypi_5.10.bb new file mode 100644 index 0000000..e1292fe --- /dev/null +++ b/recipes-kernel/linux/linux-raspberrypi_5.10.bb @@ -0,0 +1,19 @@ +LINUX_VERSION ?= "5.10.17" +LINUX_RPI_BRANCH ?= "rpi-5.10.y" +LINUX_RPI_KMETA_BRANCH ?= "yocto-5.10" + +SRCREV_machine = "ec967eb45f8d4ed59bebafb5748da38118383be7" +SRCREV_meta = "5833ca701711d487c9094bd1efc671e8ef7d001e" + +KMETA = "kernel-meta" + +SRC_URI = " \ + git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH} \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ + file://powersave.cfg \ + file://android-drivers.cfg \ + " + +require linux-raspberrypi.inc + +KERNEL_EXTRA_ARGS += "DTC_FLAGS='-@ -H epapr'" diff --git a/recipes-kernel/linux/linux-raspberrypi_5.4.bb b/recipes-kernel/linux/linux-raspberrypi_5.4.bb index 4a7182f..5d78a04 100644 --- a/recipes-kernel/linux/linux-raspberrypi_5.4.bb +++ b/recipes-kernel/linux/linux-raspberrypi_5.4.bb @@ -1,13 +1,23 @@ -LINUX_VERSION ?= "5.4.72" +LINUX_VERSION ?= "5.4.83" LINUX_RPI_BRANCH ?= "rpi-5.4.y" +LINUX_RPI_KMETA_BRANCH ?= "yocto-5.4" -SRCREV_machine = "154de7bbd5844a824a635d4f9e3f773c15c6ce11" -SRCREV_meta = "5d52d9eea95fa09d404053360c2351b2b91b323b" +SRCREV_machine = "08ae2dd9e7dc89c20bff823a3ef045de09bfd090" +SRCREV_meta = "d676bf5ff7b7071e14f44498d2482c0a596f14cd" -require linux-raspberrypi_5.4.inc +KMETA = "kernel-meta" -SRC_URI += "file://0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch \ - file://0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch \ - file://powersave.cfg \ - file://android-drivers.cfg \ - " +SRC_URI = " \ + git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH} \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ + file://0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch \ + file://0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch \ + file://powersave.cfg \ + file://android-drivers.cfg \ + " + +require linux-raspberrypi.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" + +KERNEL_EXTRA_ARGS += "DTC_FLAGS='-@ -H epapr'" diff --git a/recipes-kernel/linux/linux-raspberrypi_5.4.inc b/recipes-kernel/linux/linux-raspberrypi_5.4.inc deleted file mode 100644 index 9e8934a..0000000 --- a/recipes-kernel/linux/linux-raspberrypi_5.4.inc +++ /dev/null @@ -1,15 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:" - -KMETA = "kernel-meta" - -SRC_URI = " \ - git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH} \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA} \ - " -SRC_URI_remove = "file://rpi-kernel-misc.cfg" - -require linux-raspberrypi.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" - -KERNEL_EXTRA_ARGS_append_rpi = " DTC_FLAGS='-@ -H epapr'" |