From efc61a57d99fbb010ddd2479bfb6849e40d903ab Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 28 Jun 2019 12:17:17 +0200 Subject: [PATCH 01/12] Bump version 3.3 --- buildroot-external/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot-external/meta b/buildroot-external/meta index b022f5ac5..0f113f677 100644 --- a/buildroot-external/meta +++ b/buildroot-external/meta @@ -1,5 +1,5 @@ VERSION_MAJOR=3 -VERSION_BUILD=2 +VERSION_BUILD=3 HASSOS_NAME="HassOS" HASSOS_ID="hassos" From ee4b3a101eb9a5ff02eaad7fcd8ad7ae620e68c9 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 28 Jun 2019 13:08:06 +0200 Subject: [PATCH 02/12] Update azure-pipelines-release.yml for Azure Pipelines --- azure-pipelines-release.yml | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/azure-pipelines-release.yml b/azure-pipelines-release.yml index 7555251d3..8fca0e72b 100644 --- a/azure-pipelines-release.yml +++ b/azure-pipelines-release.yml @@ -17,9 +17,34 @@ variables: jobs: +- job: 'VersionValidate' + pool: + vmImage: 'ubuntu-latest' + steps: + - script: | + . buildroot-external/meta + + if [ "${VERSION_MAJOR}.${VERSION_BUILD}" != "$(Build.SourceBranchName)" ]; then + exit 1 + fi + displayName: 'Check version of branch/tag' + - script: | + sudo apt-get install -y --no-install-recommends \ + jq curl + release="$(Build.SourceBranchName)" + created_by="$(curl -s https://api.github.com/repos/home-assistant/hassos/releases/tags/${release} | jq --raw-output '.author.login')" + if [[ "${created_by}" =~ ^(balloob|pvizeli|fabaff|robbiet480)$ ]]; then + exit 0 + fi + echo "${created_by} is not allowed to create an release!" + exit 1 + displayName: 'Check rights' + - job: 'Release' - condition: startsWith(variables['Build.SourceBranch'], 'refs/tags') + condition: and(startsWith(variables['Build.SourceBranch'], 'refs/tags'), succeeded('VersionValidate')) + dependsOn: + - 'VersionValidate' timeoutInMinutes: 240 dependsOn: - 'ShellCheck' From 5a612922f3a9be571682f2cbadcba6c5b4545dce Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 28 Jun 2019 13:10:31 +0200 Subject: [PATCH 03/12] Update azure-pipelines-release.yml for Azure Pipelines --- azure-pipelines-release.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/azure-pipelines-release.yml b/azure-pipelines-release.yml index 8fca0e72b..a2fb2d1dd 100644 --- a/azure-pipelines-release.yml +++ b/azure-pipelines-release.yml @@ -18,6 +18,7 @@ variables: jobs: - job: 'VersionValidate' + condition: startsWith(variables['Build.SourceBranch'], 'refs/tags') pool: vmImage: 'ubuntu-latest' steps: @@ -42,12 +43,9 @@ jobs: - job: 'Release' - condition: and(startsWith(variables['Build.SourceBranch'], 'refs/tags'), succeeded('VersionValidate')) dependsOn: - 'VersionValidate' timeoutInMinutes: 240 - dependsOn: - - 'ShellCheck' pool: name: 'Buildroot' strategy: From 2caaf89186fb7a9ebbdc58936e01eb1fb07e8823 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Fri, 28 Jun 2019 13:16:49 +0200 Subject: [PATCH 04/12] Update azure-pipelines-release.yml for Azure Pipelines --- azure-pipelines-release.yml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/azure-pipelines-release.yml b/azure-pipelines-release.yml index a2fb2d1dd..8632caf68 100644 --- a/azure-pipelines-release.yml +++ b/azure-pipelines-release.yml @@ -29,17 +29,6 @@ jobs: exit 1 fi displayName: 'Check version of branch/tag' - - script: | - sudo apt-get install -y --no-install-recommends \ - jq curl - release="$(Build.SourceBranchName)" - created_by="$(curl -s https://api.github.com/repos/home-assistant/hassos/releases/tags/${release} | jq --raw-output '.author.login')" - if [[ "${created_by}" =~ ^(balloob|pvizeli|fabaff|robbiet480)$ ]]; then - exit 0 - fi - echo "${created_by} is not allowed to create an release!" - exit 1 - displayName: 'Check rights' - job: 'Release' From fa6f7ac74ddba50e76f5779c613c56d937684844 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 30 Jun 2019 23:29:34 +0200 Subject: [PATCH 05/12] Fix build error raspberry pi3 --- buildroot-external/configs/rpi3_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index cf7fb6c1e..9e0123c75 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -84,7 +84,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3_32b" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y From 0f93fcc4770585ae8d1a21e57b5dabf8a9accb07 Mon Sep 17 00:00:00 2001 From: Brenton Date: Mon, 8 Jul 2019 18:41:03 -0400 Subject: [PATCH 06/12] Update ova.md I had issues with "Other Linux (64-bit)", and "Other 4.x or later Linux (64-bit)" appears to be the correct choice. --- Documentation/boards/ova.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation/boards/ova.md b/Documentation/boards/ova.md index 2f737ff6c..642193619 100644 --- a/Documentation/boards/ova.md +++ b/Documentation/boards/ova.md @@ -1,7 +1,7 @@ # OVA -OVA stands for Open Virtual Appliance. Currently we had remove the ova files and publish a vmdk virtual disk, -until we have better OVF template to generate our OVA. This VMDK work with (maybe you need convert the disk): +OVA stands for Open Virtual Appliance. We had to remove the ova files and publish as a vmdk virtual disk, +until we have a better OVF template to generate an OVA. This VMDK work with (you may need to convert the disk): - HyperV - VirtualBox - VMware @@ -9,7 +9,7 @@ until we have better OVF template to generate our OVA. This VMDK work with (mayb ## Virtual Machine You can use this vmdk in a virtual machine with follow requirements: -- OS: Linux 64bit +- OS: Other 4.x or later Linux (64-bit) - UEFI boot - min. 1GB RAM - 2x vcpu From 4d7e0977acb02861c6df05fb2165e65fb03acb90 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sat, 13 Jul 2019 15:38:59 +0200 Subject: [PATCH 07/12] :pencil2: More improvements --- Documentation/boards/ova.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Documentation/boards/ova.md b/Documentation/boards/ova.md index 642193619..b0ec10fe9 100644 --- a/Documentation/boards/ova.md +++ b/Documentation/boards/ova.md @@ -1,16 +1,19 @@ -# OVA +# Virtual Machine + +Using this VMDK in a virtual machine requires the following: + +- Operating system: Other 4.x or later Linux (64-bit) +- Enabled support for UEFI boot +- Minimal of 1GB RAM +- At least 2x vCPU +- An assigned network + +# OVA (Open Virtual Appliance) + +Currently, we only publish a VMDK virtual disk, due to issues with our previous OVA distribution. We are currently investigating our options to bring back the OVA distribution. However, the VMDK works on the following hypervisors: -OVA stands for Open Virtual Appliance. We had to remove the ova files and publish as a vmdk virtual disk, -until we have a better OVF template to generate an OVA. This VMDK work with (you may need to convert the disk): - HyperV - VirtualBox - VMware -## Virtual Machine - -You can use this vmdk in a virtual machine with follow requirements: -- OS: Other 4.x or later Linux (64-bit) -- UEFI boot -- min. 1GB RAM -- 2x vcpu -- 1x Network +You might need to convert the VMDK into a different format that is accepted by your virtualization platform of choice. From f3f9bd9697e32fca5faa55fc9b968c2a32fb1973 Mon Sep 17 00:00:00 2001 From: Ryan Bray Date: Mon, 15 Jul 2019 01:24:43 -0600 Subject: [PATCH 08/12] Odroid xu4 updates (#425) * Odroid-XU4: Attempt to fix some eMMC devices * Linux-firmware: add s5p to buildroot * Odroid-XU4: fix uboot env size --- .../board/hardkernel/odroid-xu4/kernel.config | 4 +- .../board/hardkernel/odroid-xu4/meta | 2 +- ...e_the_default_dma_coherent_pool_size.patch | 42 ------------------- ...ed_strobe_timing_for_emmc_hs400_mode.patch | 13 ++++++ .../hardkernel/odroid-xu4/uboot-boot.ush | 13 ++++-- .../configs/odroid_xu4_defconfig | 4 +- .../0010-odroid-ux4-firmware.patch | 34 +++++++++++++++ buildroot/package/linux-firmware/Config.in | 6 +++ .../package/linux-firmware/linux-firmware.mk | 6 +++ 9 files changed, 74 insertions(+), 50 deletions(-) delete mode 100644 buildroot-external/board/hardkernel/odroid-xu4/patches/linux/000-arm-exynos_change_the_default_dma_coherent_pool_size.patch create mode 100644 buildroot-external/board/hardkernel/odroid-xu4/patches/linux/000-odroid_xu4_modified_strobe_timing_for_emmc_hs400_mode.patch create mode 100644 buildroot-patches/0010-odroid-ux4-firmware.patch diff --git a/buildroot-external/board/hardkernel/odroid-xu4/kernel.config b/buildroot-external/board/hardkernel/odroid-xu4/kernel.config index 524be0e50..70f913b5d 100644 --- a/buildroot-external/board/hardkernel/odroid-xu4/kernel.config +++ b/buildroot-external/board/hardkernel/odroid-xu4/kernel.config @@ -1583,8 +1583,8 @@ CONFIG_STANDALONE=y # CONFIG_PREVENT_FIRMWARE_BUILD is not set CONFIG_FW_LOADER=y CONFIG_FIRMWARE_IN_KERNEL=y -#CONFIG_EXTRA_FIRMWARE="edid/480x320.bin edid/1920x1080_24hz.bin edid/1920x1080_23_976hz.bin edid/848x480.bin edid/1152x864_75hz.bin edid/1280x768.bin edid/1920x800.bin edid/1400x1050.bin edid/1792x1344.bin edid/1024x768.bin edid/1280x800.bin edid/1920x1080.bin edid/720x480.bin edid/800x600.bin edid/800x480.bin edid/480x800.bin edid/1280x1024.bin edid/1280x720.bin edid/1440x900.bin edid/1680x1050.bin edid/1360x768.bin edid/1366x768.bin edid/1600x1200.bin edid/1600x900.bin edid/1920x1200_30hz.bin edid/1920x1200_60hz.bin edid/1920x1080_50hz.bin edid/640x480.bin edid/720x576.bin edid/1024x600.bin" -#CONFIG_EXTRA_FIRMWARE_DIR="firmware" +CONFIG_EXTRA_FIRMWARE="s5p-mfc-v8.fw" +CONFIG_EXTRA_FIRMWARE_DIR="/build/buildroot/output/target/usr/lib/firmware/" # CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set CONFIG_WANT_DEV_COREDUMP=y CONFIG_ALLOW_DEV_COREDUMP=y diff --git a/buildroot-external/board/hardkernel/odroid-xu4/meta b/buildroot-external/board/hardkernel/odroid-xu4/meta index 6faf5412f..41110e03d 100644 --- a/buildroot-external/board/hardkernel/odroid-xu4/meta +++ b/buildroot-external/board/hardkernel/odroid-xu4/meta @@ -4,4 +4,4 @@ CHASSIS=embedded BOOTLOADER=uboot KERNEL_FILE=zImage BOOT_SYS=mbr -BOOT_ENV_SIZE=0x2000 +BOOT_ENV_SIZE=0x4000 diff --git a/buildroot-external/board/hardkernel/odroid-xu4/patches/linux/000-arm-exynos_change_the_default_dma_coherent_pool_size.patch b/buildroot-external/board/hardkernel/odroid-xu4/patches/linux/000-arm-exynos_change_the_default_dma_coherent_pool_size.patch deleted file mode 100644 index 26642d590..000000000 --- a/buildroot-external/board/hardkernel/odroid-xu4/patches/linux/000-arm-exynos_change_the_default_dma_coherent_pool_size.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/arch/arm/include/asm/dma-mapping.h b/arch/arm/include/asm/dma-mapping.h -index bf02dbd9ccda3..8029e21eee149 100644 ---- a/arch/arm/include/asm/dma-mapping.h -+++ b/arch/arm/include/asm/dma-mapping.h -@@ -5,7 +5,9 @@ - - #include - #include -+#include - #include -+#include - - #include - -diff --git a/arch/arm/mach-exynos/firmware.c b/arch/arm/mach-exynos/firmware.c -index fd6da5419b510..5b3abc935e7fc 100644 ---- a/arch/arm/mach-exynos/firmware.c -+++ b/arch/arm/mach-exynos/firmware.c -@@ -13,12 +13,14 @@ - #include - #include - #include -+#include - - #include - #include - #include - #include - #include -+#include - - #include "common.h" - #include "smc.h" -@@ -225,6 +227,8 @@ void __init exynos_firmware_init(void) - outer_cache.write_sec = exynos_l2_write_sec; - outer_cache.configure = exynos_l2_configure; - } -+ -+ init_dma_coherent_pool_size(SZ_1M); - } - - #define REG_CPU_STATE_ADDR (sysram_ns_base_addr + 0x28) diff --git a/buildroot-external/board/hardkernel/odroid-xu4/patches/linux/000-odroid_xu4_modified_strobe_timing_for_emmc_hs400_mode.patch b/buildroot-external/board/hardkernel/odroid-xu4/patches/linux/000-odroid_xu4_modified_strobe_timing_for_emmc_hs400_mode.patch new file mode 100644 index 000000000..6f30398a3 --- /dev/null +++ b/buildroot-external/board/hardkernel/odroid-xu4/patches/linux/000-odroid_xu4_modified_strobe_timing_for_emmc_hs400_mode.patch @@ -0,0 +1,13 @@ +diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi +index d0ae8c5315048..3ccf2c5be034c 100755 +--- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi ++++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi +@@ -402,7 +402,7 @@ + samsung,dw-mshc-sdr-timing = <0 4>; + samsung,dw-mshc-ddr-timing = <0 2>; + samsung,dw-mshc-hs400-timing = <0 2>; +- samsung,read-strobe-delay = <90>; ++ samsung,read-strobe-delay = <150>; + pinctrl-names = "default"; + pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd &sd0_rclk>; + bus-width = <8>; diff --git a/buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush b/buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush index ee4cbded6..b5bcc1d29 100644 --- a/buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush +++ b/buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush @@ -3,15 +3,20 @@ part start mmc ${devnum} 9 mmc_env mmc dev ${devnum} + +# Note that import is performed twice for backwards compatability. setenv loadbootstate " \ echo 'loading env...'; \ - mmc read ${ramdisk_addr_r} ${mmc_env} 0x10; \ - env import -c ${ramdisk_addr_r} 0x2000;" + mw.b ${ramdisk_addr_r} 0 0x4000; \ + mmc read ${ramdisk_addr_r} ${mmc_env} 0x20; \ + env import -c ${ramdisk_addr_r} 0x2000 || \ + env import -c ${ramdisk_addr_r} 0x4000;" setenv storebootstate " \ echo 'storing env...'; \ - env export -c -s 0x2000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT; \ - mmc write ${ramdisk_addr_r} ${mmc_env} 0x10;" + mw.b ${ramdisk_addr_r} 0 0x4000; \ + env export -c -s 0x4000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT; \ + mmc write ${ramdisk_addr_r} ${mmc_env} 0x20;" run loadbootstate test -n "${BOOT_ORDER}" || setenv BOOT_ORDER "A B" diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index a920fb296..cb8ff9757 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -3,7 +3,7 @@ BR2_cortex_a7=y BR2_DL_DIR="/cache/dl" BR2_CCACHE=y BR2_CCACHE_DIR="/cache/cc" -BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/patches" BR2_TOOLCHAIN_BUILDROOT_GLIBC=y BR2_GCC_VERSION_7_X=y BR2_TOOLCHAIN_BUILDROOT_CXX=y @@ -40,6 +40,8 @@ BR2_PACKAGE_JQ=y BR2_PACKAGE_E2FSPROGS=y BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y BR2_PACKAGE_SQUASHFS=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8=y BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_UBOOT_TOOLS=y diff --git a/buildroot-patches/0010-odroid-ux4-firmware.patch b/buildroot-patches/0010-odroid-ux4-firmware.patch new file mode 100644 index 000000000..ecbfab213 --- /dev/null +++ b/buildroot-patches/0010-odroid-ux4-firmware.patch @@ -0,0 +1,34 @@ +diff --git a/buildroot/package/linux-firmware/Config.in b/buildroot/package/linux-firmware/Config.in +index 6b182dc6..8e3be238 100644 +--- a/buildroot/package/linux-firmware/Config.in ++++ b/buildroot/package/linux-firmware/Config.in +@@ -44,6 +44,12 @@ config BR2_PACKAGE_LINUX_FIRMWARE_QCOM_ADRENO + help + Firmware files for Qualcomm Adreno GPU firmware + ++ ++config BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8 ++ bool "Samsung MFC video encoder/decoder driver v8" ++ help ++ Firmware files for samsung MFC video encoder/decoder driver v8 ++ + endmenu # Video + + menu "Bluetooth firmware" +diff --git a/buildroot/package/linux-firmware/linux-firmware.mk b/buildroot/package/linux-firmware/linux-firmware.mk +index 86e1d1e7..6453c402 100644 +--- a/buildroot/package/linux-firmware/linux-firmware.mk ++++ b/buildroot/package/linux-firmware/linux-firmware.mk +@@ -39,6 +39,12 @@ LINUX_FIRMWARE_FILES += qcom/a* + LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom qcom/NOTICE.txt + endif + ++ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8),y) ++LINUX_FIRMWARE_FILES += s5p-mfc-v8.fw ++# No license file; the license is in the file WHENCE ++# which is installed unconditionally ++endif ++ + # Intel Wireless Bluetooth + ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IBT),y) + LINUX_FIRMWARE_FILES += intel/ibt-* diff --git a/buildroot/package/linux-firmware/Config.in b/buildroot/package/linux-firmware/Config.in index 6b182dc64..8e3be238a 100644 --- a/buildroot/package/linux-firmware/Config.in +++ b/buildroot/package/linux-firmware/Config.in @@ -44,6 +44,12 @@ config BR2_PACKAGE_LINUX_FIRMWARE_QCOM_ADRENO help Firmware files for Qualcomm Adreno GPU firmware + +config BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8 + bool "Samsung MFC video encoder/decoder driver v8" + help + Firmware files for samsung MFC video encoder/decoder driver v8 + endmenu # Video menu "Bluetooth firmware" diff --git a/buildroot/package/linux-firmware/linux-firmware.mk b/buildroot/package/linux-firmware/linux-firmware.mk index 86e1d1e75..6453c4022 100644 --- a/buildroot/package/linux-firmware/linux-firmware.mk +++ b/buildroot/package/linux-firmware/linux-firmware.mk @@ -39,6 +39,12 @@ LINUX_FIRMWARE_FILES += qcom/a* LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom qcom/NOTICE.txt endif +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8),y) +LINUX_FIRMWARE_FILES += s5p-mfc-v8.fw +# No license file; the license is in the file WHENCE +# which is installed unconditionally +endif + # Intel Wireless Bluetooth ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IBT),y) LINUX_FIRMWARE_FILES += intel/ibt-* From 219e9ca1ef0e74a01f72ec32adad3bfe20476261 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 15 Jul 2019 14:44:22 +0200 Subject: [PATCH 09/12] Raspberry Pi Firmware/Kernel update (#426) * Raspberry Pi Firmware/Kernel update * Fix checksum * Update Kernel doc --- Documentation/kernel.md | 2 +- buildroot-external/configs/rpi0_w_defconfig | 4 ++-- buildroot-external/configs/rpi2_defconfig | 4 ++-- buildroot-external/configs/rpi3_64_defconfig | 4 ++-- buildroot-external/configs/rpi3_defconfig | 4 ++-- buildroot-external/configs/rpi_defconfig | 4 ++-- ...> 0004-rpi-firmware-Bump-firmware-for-kernel-4.19.patch} | 6 +++--- buildroot/package/rpi-firmware/rpi-firmware.hash | 2 +- buildroot/package/rpi-firmware/rpi-firmware.mk | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) rename buildroot-patches/{0004-rpi-firmware-Bump-firmware-for-kernel-4.14.patch => 0004-rpi-firmware-Bump-firmware-for-kernel-4.19.patch} (83%) diff --git a/Documentation/kernel.md b/Documentation/kernel.md index bbebee1f7..5560e8cca 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -4,7 +4,7 @@ | Board | Version | |-------|---------| | Open Virtual Applicance | 4.19.56 | -| Raspberry Pi | 4.14.98 | +| Raspberry Pi | 4.19.57 | | Tinker Board | 4.19.56 | | Odroid-C2 | 4.19.56 | | Odroid-XU4 | 4.19.56 | diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index d10837815..2525fe4da 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -22,7 +22,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi0- BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="877656cd145497db7c09a7de06ea85db98bd72a3" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8222f38b1ceadd0642d49812fd34a3a6cb00e264" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -84,7 +84,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_0_w" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 11214f455..6939e0001 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -22,7 +22,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi2 BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="877656cd145497db7c09a7de06ea85db98bd72a3" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8222f38b1ceadd0642d49812fd34a3a6cb00e264" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -83,7 +83,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_2" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index f87add6bf..6454d21ab 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -22,7 +22,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3- BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="877656cd145497db7c09a7de06ea85db98bd72a3" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8222f38b1ceadd0642d49812fd34a3a6cb00e264" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -84,7 +84,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3-64/uboot-boot.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 9e0123c75..c8f75f927 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -22,7 +22,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3 BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="877656cd145497db7c09a7de06ea85db98bd72a3" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8222f38b1ceadd0642d49812fd34a3a6cb00e264" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -84,7 +84,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3_32b" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index 503e9c107..26a49dbd8 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -22,7 +22,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi $ BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="877656cd145497db7c09a7de06ea85db98bd72a3" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8222f38b1ceadd0642d49812fd34a3a6cb00e264" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" BR2_LINUX_KERNEL_LZ4=y @@ -83,7 +83,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_GPTFDISK=y diff --git a/buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.14.patch b/buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.19.patch similarity index 83% rename from buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.14.patch rename to buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.19.patch index 1a96f52f0..86028247f 100644 --- a/buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.14.patch +++ b/buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.19.patch @@ -1,7 +1,7 @@ From 86fe49bf731e36138fef39790afacaef9555469b Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Wed, 26 Jun 2019 10:12:53 +0000 -Subject: [PATCH 1/1] rpi-firmware: Bump firmware for kernel 4.14 +Subject: [PATCH 1/1] rpi-firmware: Bump firmware for kernel 4.19 Signed-off-by: Pascal Vizeli --- @@ -16,7 +16,7 @@ index 9988dda717..c81935c913 100644 @@ -1,2 +1,2 @@ # Locally computed -sha256 f1d631920ed4ae15f368ba7b8b3caa4ed604f5223372cc6debbd39a101eb8d74 rpi-firmware-81cca1a9380c828299e884dba5efd0d4acb39e8d.tar.gz -+sha256 9a34ccc4a51695a33206cc6c8534f615ba5a30fcbce5fa3add400ecc6b80ad8a rpi-firmware-83977fe3b6ef54c1d29c83b0a778d330f523441f.tar.gz ++sha256 3d5bf3d4f1f93bbba97ce5ed8d0608a2dcbba52bede4a5643a23f4edbbdff3f3 rpi-firmware-f6d9f139037bf421d5d25b1cebe1a67394542b4b.tar.gz diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index 630bc670ca..b57ed2ef4c 100644 --- a/package/rpi-firmware/rpi-firmware.mk @@ -26,7 +26,7 @@ index 630bc670ca..b57ed2ef4c 100644 ################################################################################ -RPI_FIRMWARE_VERSION = 81cca1a9380c828299e884dba5efd0d4acb39e8d -+RPI_FIRMWARE_VERSION = 83977fe3b6ef54c1d29c83b0a778d330f523441f ++RPI_FIRMWARE_VERSION = f6d9f139037bf421d5d25b1cebe1a67394542b4b RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom diff --git a/buildroot/package/rpi-firmware/rpi-firmware.hash b/buildroot/package/rpi-firmware/rpi-firmware.hash index c81935c91..24b635ae7 100644 --- a/buildroot/package/rpi-firmware/rpi-firmware.hash +++ b/buildroot/package/rpi-firmware/rpi-firmware.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 9a34ccc4a51695a33206cc6c8534f615ba5a30fcbce5fa3add400ecc6b80ad8a rpi-firmware-83977fe3b6ef54c1d29c83b0a778d330f523441f.tar.gz +sha256 3d5bf3d4f1f93bbba97ce5ed8d0608a2dcbba52bede4a5643a23f4edbbdff3f3 rpi-firmware-f6d9f139037bf421d5d25b1cebe1a67394542b4b.tar.gz diff --git a/buildroot/package/rpi-firmware/rpi-firmware.mk b/buildroot/package/rpi-firmware/rpi-firmware.mk index b57ed2ef4..5a8454196 100644 --- a/buildroot/package/rpi-firmware/rpi-firmware.mk +++ b/buildroot/package/rpi-firmware/rpi-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = 83977fe3b6ef54c1d29c83b0a778d330f523441f +RPI_FIRMWARE_VERSION = f6d9f139037bf421d5d25b1cebe1a67394542b4b RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom From 2f40d76b6f070b13d16be5b24a2661b420723711 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 15 Jul 2019 15:47:54 +0200 Subject: [PATCH 10/12] Update bootloader RPi (#427) --- buildroot-external/configs/rpi0_w_defconfig | 2 +- buildroot-external/configs/rpi2_defconfig | 2 +- buildroot-external/configs/rpi3_64_defconfig | 2 +- buildroot-external/configs/rpi3_defconfig | 2 +- buildroot-external/configs/rpi_defconfig | 2 +- scripts/update-uboot.sh | 9 --------- 6 files changed, 5 insertions(+), 14 deletions(-) delete mode 100755 scripts/update-uboot.sh diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index 2525fe4da..f640c9e51 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -79,7 +79,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_0_w" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 6939e0001..535d47df7 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -78,7 +78,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_2" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index 6454d21ab..a96b9d7b2 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -79,7 +79,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index c8f75f927..149839a88 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -79,7 +79,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3_32b" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index 26a49dbd8..ba2d58cc2 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -78,7 +78,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y diff --git a/scripts/update-uboot.sh b/scripts/update-uboot.sh deleted file mode 100755 index 5d2f22de6..000000000 --- a/scripts/update-uboot.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -set -e - -if [ -z "$1" ]; then - echo "Need a version!" - exit 1 -fi - -sed -i "s/UBOOT_CUSTOM_VERSION_VALUE=\".*\"/UBOOT_CUSTOM_VERSION_VALUE=\"$1\"/g" buildroot-external/configs/* From 14d91e094a27c1083c92bfadeb6ee8c0abdca08c Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 16 Jul 2019 09:44:29 +0200 Subject: [PATCH 11/12] RaspberryPi 4 (#428) * RaspberryPi4 support * Update kernel file * Fix lint * Fix uboot defconfig * Update firmware for rpi4 * fix naming * Add support for 64bit * fix path for dts --- Documentation/boards/raspberrypi.md | 1 + Documentation/kernel.md | 2 +- azure-pipelines-release.yml | 12 +- .../board/raspberrypi/hassos-hook.sh | 17 +- .../board/raspberrypi/rpi4-64/meta | 7 + .../board/raspberrypi/rpi4/meta | 7 + ...nfigs-rpi4-Add-defconfig-for-rpi4-64.patch | 65 ++++ ...i-for-BCM2835-6-7-specific-configura.patch | 208 +++++++++++ ...-dts-Add-initial-support-for-bcm2838.patch | 337 ++++++++++++++++++ ...83x-Define-configs-for-RaspberryPi-4.patch | 66 ++++ ...283x-Define-mbox-address-for-BCM2838.patch | 34 ++ ...dd-rpi_model-entry-for-RaspberryPi-4.patch | 29 ++ ...ne-BCM2838_CLOCK_EMMC2-needed-for-Ra.patch | 27 ++ ...ude-definition-for-additional-emmc-c.patch | 31 ++ ...sdhci-Add-support-for-bcm2711-device.patch | 51 +++ ...ne-device-base-addresses-for-bcm2835.patch | 63 ++++ ...il-out-early-if-querying-video-infor.patch | 36 ++ ...box-Correctly-wait-for-space-to-send.patch | 65 ++++ ...onfig-rpi4-Add-defconfig-for-rpi4-32.patch | 63 ++++ ...4-b-Use-the-emmc2-interface-for-sdhc.patch | 45 +++ .../0015-rpi-Add-memory-map-for-bcm2838.patch | 58 +++ ...i4-Remove-DWC2-and-USB_ETHER-configs.patch | 52 +++ ...4-b-Use-the-emmc2-2811-compatible-st.patch | 27 ++ .../uboot-boot.ush => uboot-boot64.ush} | 0 buildroot-external/configs/rpi3_64_defconfig | 2 +- buildroot-external/configs/rpi4_64_defconfig | 106 ++++++ buildroot-external/configs/rpi4_defconfig | 106 ++++++ ...e-Bump-firmware-for-kernel-4.19-RPi4.patch | 68 ++++ ...rmware-Bump-firmware-for-kernel-4.19.patch | 35 -- buildroot/package/rpi-firmware/Config.in | 6 + .../package/rpi-firmware/rpi-firmware.hash | 2 +- .../package/rpi-firmware/rpi-firmware.mk | 6 +- 32 files changed, 1585 insertions(+), 49 deletions(-) create mode 100644 buildroot-external/board/raspberrypi/rpi4-64/meta create mode 100644 buildroot-external/board/raspberrypi/rpi4/meta create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0001-configs-rpi4-Add-defconfig-for-rpi4-64.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0002-dts-Create-a-dtsi-for-BCM2835-6-7-specific-configura.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0003-dts-Add-initial-support-for-bcm2838.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0004-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0005-arm-mach-bcm283x-Define-mbox-address-for-BCM2838.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0006-rpi-Add-rpi_model-entry-for-RaspberryPi-4.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0007-dt-bindings-Define-BCM2838_CLOCK_EMMC2-needed-for-Ra.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0008-arm-bcm283x-Include-definition-for-additional-emmc-c.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0009-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0010-arm-bcm283x-Define-device-base-addresses-for-bcm2835.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0011-bcm2835-video-Bail-out-early-if-querying-video-infor.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0012-bcm283x-mbox-Correctly-wait-for-space-to-send.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0013-config-rpi4-Add-defconfig-for-rpi4-32.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0014-dts-bcm2838-rpi-4-b-Use-the-emmc2-interface-for-sdhc.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0015-rpi-Add-memory-map-for-bcm2838.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0016-configs-rpi4-Remove-DWC2-and-USB_ETHER-configs.patch create mode 100644 buildroot-external/board/raspberrypi/rpi4/patches/uboot/0017-dts-bcm2838-rpi-4-b-Use-the-emmc2-2811-compatible-st.patch rename buildroot-external/board/raspberrypi/{rpi3-64/uboot-boot.ush => uboot-boot64.ush} (100%) create mode 100644 buildroot-external/configs/rpi4_64_defconfig create mode 100644 buildroot-external/configs/rpi4_defconfig create mode 100644 buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.19-RPi4.patch delete mode 100644 buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.19.patch diff --git a/Documentation/boards/raspberrypi.md b/Documentation/boards/raspberrypi.md index 52317e58f..86dd997a8 100644 --- a/Documentation/boards/raspberrypi.md +++ b/Documentation/boards/raspberrypi.md @@ -9,6 +9,7 @@ Supported Hardware: | Raspberry Pi Zero W | rpi0-w | | Raspberry Pi 2 B | rpi2 | | Raspberry Pi 3 B/B+ | rpi3 / rpi3-64 | +| Raspberry Pi 4 B | rpi4 / rpi4-64 | ## Limitation 64bit diff --git a/Documentation/kernel.md b/Documentation/kernel.md index 5560e8cca..8bd97dbeb 100644 --- a/Documentation/kernel.md +++ b/Documentation/kernel.md @@ -4,7 +4,7 @@ | Board | Version | |-------|---------| | Open Virtual Applicance | 4.19.56 | -| Raspberry Pi | 4.19.57 | +| Raspberry Pi | 4.19.58 | | Tinker Board | 4.19.56 | | Odroid-C2 | 4.19.56 | | Odroid-XU4 | 4.19.56 | diff --git a/azure-pipelines-release.yml b/azure-pipelines-release.yml index 8632caf68..79ca9b74a 100644 --- a/azure-pipelines-release.yml +++ b/azure-pipelines-release.yml @@ -50,16 +50,20 @@ jobs: board: 'odroid_xu4' OrangePiPrime: board: 'opi_prime' + RaspberryPi: + board: 'rpi' RaspberryPi0-W: board: 'rpi0_w' + RaspberryPi2: + board: 'rpi2' RaspberryPi3: board: 'rpi3' RaspberryPi3-64: board: 'rpi3_64' - RaspberryPi2: - board: 'rpi2' - RaspberryPi: - board: 'rpi' + RaspberryPi4: + board: 'rpi4' + RaspberryPi4-64: + board: 'rpi4_64' AsusTinker: board: 'tinker' workspace: diff --git a/buildroot-external/board/raspberrypi/hassos-hook.sh b/buildroot-external/board/raspberrypi/hassos-hook.sh index 0db52a27f..d9fa7ea9d 100755 --- a/buildroot-external/board/raspberrypi/hassos-hook.sh +++ b/buildroot-external/board/raspberrypi/hassos-hook.sh @@ -9,17 +9,26 @@ function hassos_pre_image() { "${BINARIES_DIR}/boot.scr" cp -t "${BOOT_DATA}" \ "${BINARIES_DIR}"/*.dtb \ - "${BINARIES_DIR}/rpi-firmware/bootcode.bin" \ - "${BINARIES_DIR}/rpi-firmware/fixup.dat" \ - "${BINARIES_DIR}/rpi-firmware/start.elf" + "${BINARIES_DIR}/rpi-firmware/bootcode.bin" cp -r "${BINARIES_DIR}/rpi-firmware/overlays" "${BOOT_DATA}/" cp -f "${BOARD_DIR}/../boot-env.txt" "${BOOT_DATA}/config.txt" + # Firmware + if [[ "${BOARD_ID}" =~ "rpi4" ]]; then + cp -t "${BOOT_DATA}" \ + "${BINARIES_DIR}/rpi-firmware/fixup4.dat" \ + "${BINARIES_DIR}/rpi-firmware/start4.elf" + else + cp -t "${BOOT_DATA}" \ + "${BINARIES_DIR}/rpi-firmware/fixup.dat" \ + "${BINARIES_DIR}/rpi-firmware/start.elf" + fi + # Set cmd options echo "dwc_otg.lpm_enable=0 console=tty1" > "${BOOT_DATA}/cmdline.txt" # Enable 64bit support - if [ "${BOARD_ID}" == "rpi3-64" ]; then + if [[ "${BOARD_ID}" =~ "64" ]]; then echo "arm_64bit=1" >> "${BOOT_DATA}/config.txt" fi } diff --git a/buildroot-external/board/raspberrypi/rpi4-64/meta b/buildroot-external/board/raspberrypi/rpi4-64/meta new file mode 100644 index 000000000..6de3cd3f6 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4-64/meta @@ -0,0 +1,7 @@ +BOARD_ID=rpi4-64 +BOARD_NAME="RaspberryPi 4 64bit" +CHASSIS=embedded +BOOTLOADER=uboot +KERNEL_FILE=Image +BOOT_SYS=hyprid +BOOT_ENV_SIZE=0x4000 diff --git a/buildroot-external/board/raspberrypi/rpi4/meta b/buildroot-external/board/raspberrypi/rpi4/meta new file mode 100644 index 000000000..de2f55976 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/meta @@ -0,0 +1,7 @@ +BOARD_ID=rpi4 +BOARD_NAME="RaspberryPi 4" +CHASSIS=embedded +BOOTLOADER=uboot +KERNEL_FILE=zImage +BOOT_SYS=hyprid +BOOT_ENV_SIZE=0x4000 diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0001-configs-rpi4-Add-defconfig-for-rpi4-64.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0001-configs-rpi4-Add-defconfig-for-rpi4-64.patch new file mode 100644 index 000000000..f9ef6ca53 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0001-configs-rpi4-Add-defconfig-for-rpi4-64.patch @@ -0,0 +1,65 @@ +From 9f471bee7e230bc9b99155506388fb98903bd3c3 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Sat, 6 Jul 2019 23:49:47 +0100 +Subject: [PATCH 01/17] configs: rpi4: Add defconfig for rpi4-64 + +This config is based on the the rpi3 counterpart. + +Signed-off-by: Andrei Gherzan +--- + configs/rpi_4_defconfig | 43 +++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 43 insertions(+) + create mode 100644 configs/rpi_4_defconfig + +diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig +new file mode 100644 +index 0000000000..83d1bd0cdb +--- /dev/null ++++ b/configs/rpi_4_defconfig +@@ -0,0 +1,43 @@ ++CONFIG_ARM=y ++CONFIG_ARCH_BCM283X=y ++CONFIG_SYS_TEXT_BASE=0x00080000 ++CONFIG_TARGET_RPI_4=y ++CONFIG_SYS_MALLOC_F_LEN=0x2000 ++CONFIG_DISTRO_DEFAULTS=y ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_OF_BOARD_SETUP=y ++CONFIG_MISC_INIT_R=y ++# CONFIG_DISPLAY_CPUINFO is not set ++# CONFIG_DISPLAY_BOARDINFO is not set ++CONFIG_SYS_PROMPT="U-Boot> " ++# CONFIG_CMD_FLASH is not set ++CONFIG_CMD_GPIO=y ++CONFIG_CMD_MMC=y ++CONFIG_CMD_USB=y ++CONFIG_CMD_FS_UUID=y ++CONFIG_OF_EMBED=y ++CONFIG_DEFAULT_DEVICE_TREE="bcm2838-rpi-4-b" ++CONFIG_ENV_FAT_INTERFACE="mmc" ++CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" ++CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y ++CONFIG_DM_KEYBOARD=y ++CONFIG_DM_MMC=y ++CONFIG_MMC_SDHCI=y ++CONFIG_MMC_SDHCI_BCM2835=y ++CONFIG_PHYLIB=y ++CONFIG_DM_ETH=y ++CONFIG_PINCTRL=y ++# CONFIG_PINCTRL_GENERIC is not set ++# CONFIG_REQUIRE_SERIAL_CONSOLE is not set ++CONFIG_USB=y ++CONFIG_DM_USB=y ++CONFIG_USB_DWC2=y ++CONFIG_USB_KEYBOARD=y ++CONFIG_USB_HOST_ETHER=y ++CONFIG_USB_ETHER_LAN78XX=y ++CONFIG_USB_ETHER_SMSC95XX=y ++CONFIG_DM_VIDEO=y ++CONFIG_SYS_WHITE_ON_BLACK=y ++CONFIG_CONSOLE_SCROLL_LINES=10 ++CONFIG_PHYS_TO_BUS=y ++CONFIG_OF_LIBFDT_OVERLAY=y +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0002-dts-Create-a-dtsi-for-BCM2835-6-7-specific-configura.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0002-dts-Create-a-dtsi-for-BCM2835-6-7-specific-configura.patch new file mode 100644 index 000000000..17b09c752 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0002-dts-Create-a-dtsi-for-BCM2835-6-7-specific-configura.patch @@ -0,0 +1,208 @@ +From 24f5e0b88b88f2e47e420e6f2f123b8726c9f396 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Sat, 6 Jul 2019 23:58:44 +0100 +Subject: [PATCH 02/17] dts: Create a dtsi for BCM2835/6/7 specific + configuration + +This follows a similar change in kernel[1]. The change moves +configuration that was not applicable for all bcm2835/6/7/8 out of +bcm283x.dtsi. The new file is bcm2835-common.dtsi and contains +conifguration that is common for bcm2835/6/7 (not bcm2838). + +[1] https://github.com/raspberrypi/linux/commit/769a7330aa5bebcc98b1ff12ecb767db4e5c644d#diff-5979fba23a5bab2cf66dde09db872dfc + +Signed-off-by: Andrei Gherzan +--- + arch/arm/dts/bcm2835-common.dtsi | 53 ++++++++++++++++++++++++++++++++ + arch/arm/dts/bcm2835.dtsi | 1 + + arch/arm/dts/bcm2836.dtsi | 1 + + arch/arm/dts/bcm2837.dtsi | 1 + + arch/arm/dts/bcm283x.dtsi | 45 +-------------------------- + 5 files changed, 57 insertions(+), 44 deletions(-) + create mode 100644 arch/arm/dts/bcm2835-common.dtsi + +diff --git a/arch/arm/dts/bcm2835-common.dtsi b/arch/arm/dts/bcm2835-common.dtsi +new file mode 100644 +index 0000000000..17771730a3 +--- /dev/null ++++ b/arch/arm/dts/bcm2835-common.dtsi +@@ -0,0 +1,53 @@ ++// SPDX-License-Identifier: GPL-2.0 ++ ++/* This include file covers the common peripherals and configuration between ++ * bcm2835, bcm2836 and bcm2837 implementations. ++ */ ++ ++/ { ++ soc { ++ timer@7e003000 { ++ compatible = "brcm,bcm2835-system-timer"; ++ reg = <0x7e003000 0x1000>; ++ interrupts = <1 0>, <1 1>, <1 2>, <1 3>; ++ /* This could be a reference to BCM2835_CLOCK_TIMER, ++ * but we don't have the driver using the common clock ++ * support yet. ++ */ ++ clock-frequency = <1000000>; ++ }; ++ ++ intc: interrupt-controller@7e00b200 { ++ compatible = "brcm,bcm2835-armctrl-ic"; ++ reg = <0x7e00b200 0x200>; ++ interrupt-controller; ++ #interrupt-cells = <2>; ++ }; ++ ++ thermal: thermal@7e212000 { ++ compatible = "brcm,bcm2835-thermal"; ++ reg = <0x7e212000 0x8>; ++ clocks = <&clocks BCM2835_CLOCK_TSENS>; ++ #thermal-sensor-cells = <0>; ++ status = "disabled"; ++ }; ++ ++ v3d: v3d@7ec00000 { ++ compatible = "brcm,bcm2835-v3d"; ++ reg = <0x7ec00000 0x1000>; ++ interrupts = <1 10>; ++ }; ++ }; ++}; ++ ++&gpio { ++ i2c_slave_gpio18: i2c_slave_gpio18 { ++ brcm,pins = <18 19 20 21>; ++ brcm,function = ; ++ }; ++ ++ jtag_gpio4: jtag_gpio4 { ++ brcm,pins = <4 5 6 12 13>; ++ brcm,function = ; ++ }; ++}; +diff --git a/arch/arm/dts/bcm2835.dtsi b/arch/arm/dts/bcm2835.dtsi +index a5c3824c80..53bf4579cc 100644 +--- a/arch/arm/dts/bcm2835.dtsi ++++ b/arch/arm/dts/bcm2835.dtsi +@@ -1,5 +1,6 @@ + // SPDX-License-Identifier: GPL-2.0 + #include "bcm283x.dtsi" ++#include "bcm2835-common.dtsi" + + / { + compatible = "brcm,bcm2835"; +diff --git a/arch/arm/dts/bcm2836.dtsi b/arch/arm/dts/bcm2836.dtsi +index c933e84138..82d6c4662a 100644 +--- a/arch/arm/dts/bcm2836.dtsi ++++ b/arch/arm/dts/bcm2836.dtsi +@@ -1,5 +1,6 @@ + // SPDX-License-Identifier: GPL-2.0 + #include "bcm283x.dtsi" ++#include "bcm2835-common.dtsi" + + / { + compatible = "brcm,bcm2836"; +diff --git a/arch/arm/dts/bcm2837.dtsi b/arch/arm/dts/bcm2837.dtsi +index beb6c502da..9e95fee78e 100644 +--- a/arch/arm/dts/bcm2837.dtsi ++++ b/arch/arm/dts/bcm2837.dtsi +@@ -1,4 +1,5 @@ + #include "bcm283x.dtsi" ++#include "bcm2835-common.dtsi" + + / { + compatible = "brcm,bcm2837"; +diff --git a/arch/arm/dts/bcm283x.dtsi b/arch/arm/dts/bcm283x.dtsi +index 9777644c6c..a024727e4d 100644 +--- a/arch/arm/dts/bcm283x.dtsi ++++ b/arch/arm/dts/bcm283x.dtsi +@@ -56,17 +56,6 @@ + #address-cells = <1>; + #size-cells = <1>; + +- timer@7e003000 { +- compatible = "brcm,bcm2835-system-timer"; +- reg = <0x7e003000 0x1000>; +- interrupts = <1 0>, <1 1>, <1 2>, <1 3>; +- /* This could be a reference to BCM2835_CLOCK_TIMER, +- * but we don't have the driver using the common clock +- * support yet. +- */ +- clock-frequency = <1000000>; +- }; +- + txp@7e004000 { + compatible = "brcm,bcm2835-txp"; + reg = <0x7e004000 0x20>; +@@ -114,13 +103,6 @@ + brcm,dma-channel-mask = <0x7f35>; + }; + +- intc: interrupt-controller@7e00b200 { +- compatible = "brcm,bcm2835-armctrl-ic"; +- reg = <0x7e00b200 0x200>; +- interrupt-controller; +- #interrupt-cells = <2>; +- }; +- + pm: watchdog@7e100000 { + compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt"; + #power-domain-cells = <1>; +@@ -184,8 +166,7 @@ + interrupt-controller; + #interrupt-cells = <2>; + +- /* Defines pin muxing groups according to +- * BCM2835-ARM-Peripherals.pdf page 102. ++ /* Defines common pin muxing groups + * + * While each pin can have its mux selected + * for various functions individually, some +@@ -263,15 +244,6 @@ + brcm,pins = <44 45>; + brcm,function = ; + }; +- i2c_slave_gpio18: i2c_slave_gpio18 { +- brcm,pins = <18 19 20 21>; +- brcm,function = ; +- }; +- +- jtag_gpio4: jtag_gpio4 { +- brcm,pins = <4 5 6 12 13>; +- brcm,function = ; +- }; + jtag_gpio22: jtag_gpio22 { + brcm,pins = <22 23 24 25 26 27>; + brcm,function = ; +@@ -488,14 +460,6 @@ + + }; + +- thermal: thermal@7e212000 { +- compatible = "brcm,bcm2835-thermal"; +- reg = <0x7e212000 0x8>; +- clocks = <&clocks BCM2835_CLOCK_TSENS>; +- #thermal-sensor-cells = <0>; +- status = "disabled"; +- }; +- + aux: aux@7e215000 { + compatible = "brcm,bcm2835-aux"; + #clock-cells = <1>; +@@ -635,13 +599,6 @@ + phy-names = "usb2-phy"; + }; + +- v3d: v3d@7ec00000 { +- compatible = "brcm,bcm2835-v3d"; +- reg = <0x7ec00000 0x1000>; +- interrupts = <1 10>; +- power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>; +- }; +- + vc4: gpu { + compatible = "brcm,bcm2835-vc4"; + }; +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0003-dts-Add-initial-support-for-bcm2838.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0003-dts-Add-initial-support-for-bcm2838.patch new file mode 100644 index 000000000..6a8339a8b --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0003-dts-Add-initial-support-for-bcm2838.patch @@ -0,0 +1,337 @@ +From d7532dbcde253d824d4fe3d1f1f40e92e62ad291 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Sun, 7 Jul 2019 00:12:36 +0100 +Subject: [PATCH 03/17] dts: Add initial support for bcm2838 + +Signed-off-by: Andrei Gherzan +--- + arch/arm/dts/Makefile | 4 +- + arch/arm/dts/bcm2838-rpi-4-b.dts | 56 ++++++++ + arch/arm/dts/bcm2838.dtsi | 237 +++++++++++++++++++++++++++++++ + 3 files changed, 296 insertions(+), 1 deletion(-) + create mode 100644 arch/arm/dts/bcm2838-rpi-4-b.dts + create mode 100644 arch/arm/dts/bcm2838.dtsi + +diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile +index 20dbc2ff84..16790af1e1 100644 +--- a/arch/arm/dts/Makefile ++++ b/arch/arm/dts/Makefile +@@ -749,7 +749,9 @@ dtb-$(CONFIG_ARCH_BCM283X) += \ + bcm2837-rpi-3-a-plus.dtb \ + bcm2837-rpi-3-b.dtb \ + bcm2837-rpi-3-b-plus.dtb \ +- bcm2837-rpi-cm3-io3.dtb ++ bcm2837-rpi-cm3-io3.dtb \ ++ bcm2837-rpi-3-b.dtb \ ++ bcm2838-rpi-4-b.dtb + + dtb-$(CONFIG_ARCH_BCM63158) += \ + bcm963158.dtb +diff --git a/arch/arm/dts/bcm2838-rpi-4-b.dts b/arch/arm/dts/bcm2838-rpi-4-b.dts +new file mode 100644 +index 0000000000..07e9a78e8d +--- /dev/null ++++ b/arch/arm/dts/bcm2838-rpi-4-b.dts +@@ -0,0 +1,56 @@ ++/dts-v1/; ++#include "bcm2838.dtsi" ++ ++/ { ++ compatible = "raspberrypi,4-model-b","brcm,bcm2838","brcm,bcm2837"; ++ model = "Raspberry Pi 4 Model B"; ++ ++ memory { ++ reg = <0 0 0x40000000>; ++ }; ++ ++ leds { ++ act { ++ gpios = <&gpio 47 0>; ++ }; ++ }; ++}; ++ ++/* uart0 communicates with the BT module */ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_gpio32 &gpclk2_gpio43>; ++ status = "okay"; ++}; ++ ++/* uart1 is mapped to the pin header */ ++&uart1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart1_pins>; ++ status = "okay"; ++}; ++ ++/* SDHCI is used to control the SDIO for wireless */ ++&sdhci { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&emmc_gpio34>; ++ status = "okay"; ++ bus-width = <4>; ++ non-removable; ++}; ++ ++/* SDHOST is used to drive the SD card */ ++&sdhost { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdhost_gpio48>; ++ status = "okay"; ++ bus-width = <4>; ++}; ++ ++&gpio { ++ uart1_pins: uart1_pins { ++ brcm,pins; ++ brcm,function; ++ brcm,pull; ++ }; ++}; +diff --git a/arch/arm/dts/bcm2838.dtsi b/arch/arm/dts/bcm2838.dtsi +new file mode 100644 +index 0000000000..19b2d7b905 +--- /dev/null ++++ b/arch/arm/dts/bcm2838.dtsi +@@ -0,0 +1,237 @@ ++#include "bcm283x.dtsi" ++#include ++#include ++ ++/ { ++ compatible = "brcm,bcm2838"; ++ ++ #address-cells = <2>; ++ #size-cells = <1>; ++ ++ interrupt-parent = <&gic>; ++ ++ soc { ++ ranges = <0x7e000000 0x0 0xfe000000 0x01800000>, ++ <0x7c000000 0x0 0xfc000000 0x02000000>, ++ <0x40000000 0x0 0xff800000 0x00800000>; ++ dma-ranges = <0xc0000000 0x0 0x00000000 0x3c000000>; ++ ++ gic: gic400@40041000 { ++ interrupt-controller; ++ #interrupt-cells = <3>; ++ compatible = "arm,gic-400"; ++ reg = <0x40041000 0x1000>, ++ <0x40042000 0x2000>, ++ <0x40044000 0x2000>, ++ <0x40046000 0x2000>; ++ }; ++ ++ thermal: thermal@7d5d2200 { ++ compatible = "brcm,avs-tmon-bcm2838"; ++ reg = <0x7d5d2200 0x2c>; ++ interrupts = ; ++ interrupt-names = "tmon"; ++ clocks = <&clocks BCM2835_CLOCK_TSENS>; ++ #thermal-sensor-cells = <0>; ++ status = "okay"; ++ }; ++ ++ spi@7e204000 { ++ reg = <0x7e204000 0x0200>; ++ interrupts = ; ++ }; ++ ++ pixelvalve@7e206000 { ++ interrupts = ; ++ }; ++ ++ pixelvalve@7e207000 { ++ interrupts = ; ++ }; ++ ++ hvs@7e400000 { ++ interrupts = ; ++ }; ++ ++ emmc2: emmc2@7e340000 { ++ compatible = "brcm,bcm2711-emmc2"; ++ status = "okay"; ++ interrupts = ; ++ clocks = <&clocks BCM2838_CLOCK_EMMC2>; ++ reg = <0x7e340000 0x100>; ++ }; ++ ++ pixelvalve@7e807000 { ++ interrupts = ; ++ }; ++ ++ }; ++ ++ arm-pmu { ++ /* ++ * N.B. the A72 PMU support only exists in arch/arm64, hence ++ * the fallback to the A53 version. ++ */ ++ compatible = "arm,cortex-a72-pmu", "arm,cortex-a53-pmu"; ++ interrupts = , ++ , ++ , ++ ; ++ }; ++ ++ timer { ++ compatible = "arm,armv7-timer"; ++ interrupts = , ++ , ++ , ++ ; ++ arm,cpu-registers-not-fw-configured; ++ always-on; ++ }; ++ ++ cpus: cpus { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ enable-method = "brcm,bcm2836-smp"; // for ARM 32-bit ++ ++ cpu0: cpu@0 { ++ device_type = "cpu"; ++ compatible = "arm,cortex-a72"; ++ reg = <0>; ++ enable-method = "spin-table"; ++ cpu-release-addr = <0x0 0x000000d8>; ++ }; ++ ++ cpu1: cpu@1 { ++ device_type = "cpu"; ++ compatible = "arm,cortex-a72"; ++ reg = <1>; ++ enable-method = "spin-table"; ++ cpu-release-addr = <0x0 0x000000e0>; ++ }; ++ ++ cpu2: cpu@2 { ++ device_type = "cpu"; ++ compatible = "arm,cortex-a72"; ++ reg = <2>; ++ enable-method = "spin-table"; ++ cpu-release-addr = <0x0 0x000000e8>; ++ }; ++ ++ cpu3: cpu@3 { ++ device_type = "cpu"; ++ compatible = "arm,cortex-a72"; ++ reg = <3>; ++ enable-method = "spin-table"; ++ cpu-release-addr = <0x0 0x000000f0>; ++ }; ++ }; ++}; ++ ++&clk_osc { ++ clock-frequency = <54000000>; ++}; ++ ++&clocks { ++ compatible = "brcm,bcm2838-cprman"; ++}; ++ ++&cpu_thermal { ++ coefficients = <(-487) 410040>; ++}; ++ ++&dsi0 { ++ interrupts = ; ++}; ++ ++&dsi1 { ++ interrupts = ; ++}; ++ ++&gpio { ++ compatible = "brcm,bcm2838-gpio", "brcm,bcm2835-gpio"; ++ interrupts = , ++ , ++ , ++ ; ++}; ++ ++&vec { ++ interrupts = ; ++}; ++ ++&usb { ++ interrupts = ; ++}; ++ ++&hdmi { ++ interrupts = , ++ ; ++}; ++ ++&uart1 { ++ interrupts = ; ++}; ++ ++&spi1 { ++ interrupts = ; ++}; ++ ++&spi2 { ++ interrupts = ; ++}; ++ ++&i2c0 { ++ interrupts = ; ++}; ++ ++&i2c1 { ++ interrupts = ; ++}; ++ ++&i2c2 { ++ interrupts = ; ++}; ++ ++&mailbox { ++ interrupts = ; ++}; ++ ++&sdhost { ++ interrupts = ; ++}; ++ ++&uart0 { ++ interrupts = ; ++}; ++ ++&dma { ++ reg = <0x7e007000 0xb00>; ++ interrupts = , ++ , ++ , ++ , ++ , ++ , ++ , ++ , /* dmalite 7 */ ++ , /* dmalite 8 */ ++ , /* dmalite 9 */ ++ ; /* dmalite 10 */ ++ interrupt-names = "dma0", ++ "dma1", ++ "dma2", ++ "dma3", ++ "dma4", ++ "dma5", ++ "dma6", ++ "dma7", ++ "dma8", ++ "dma9", ++ "dma10"; ++ brcm,dma-channel-mask = <0x07f5>; ++}; +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0004-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0004-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch new file mode 100644 index 000000000..9f28a9dd3 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0004-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch @@ -0,0 +1,66 @@ +From 865218f2dc973492c872dac51a66cff1833c916a Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Sun, 7 Jul 2019 00:21:33 +0100 +Subject: [PATCH 04/17] arm: mach-bcm283x: Define configs for RaspberryPi 4 + +Signed-off-by: Andrei Gherzan +--- + arch/arm/mach-bcm283x/Kconfig | 35 +++++++++++++++++++++++++++++++++++ + 1 file changed, 35 insertions(+) + +diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig +index 3eb5a9a897..d5069fe688 100644 +--- a/arch/arm/mach-bcm283x/Kconfig ++++ b/arch/arm/mach-bcm283x/Kconfig +@@ -26,6 +26,23 @@ config BCM2837_64B + select BCM2837 + select ARM64 + ++config BCM2838 ++ bool "Broadcom BCM2838 SoC support" ++ depends on ARCH_BCM283X ++ ++config BCM2838_32B ++ bool "Broadcom BCM2838 SoC 32-bit support" ++ depends on ARCH_BCM283X ++ select BCM2838 ++ select ARMV7_LPAE ++ select CPU_V7A ++ ++config BCM2838_64B ++ bool "Broadcom BCM2838 SoC 64-bit support" ++ depends on ARCH_BCM283X ++ select BCM2838 ++ select ARM64 ++ + menu "Broadcom BCM283X family" + depends on ARCH_BCM283X + +@@ -127,6 +144,24 @@ config TARGET_RPI_3 + This option creates a build targeting the ARMv8/AArch64 ISA. + select BCM2837_64B + ++config TARGET_RPI_4 ++ bool "Raspberry Pi 4 64-bit build" ++ help ++ Support for all BCM2838-based Raspberry Pi variants, such as ++ the RPi 4 model B, in AArch64 (64-bit) mode. ++ ++ This option creates a build targeting the ARMv8/AArch64 ISA. ++ select BCM2838_64B ++ ++config TARGET_RPI_4_32B ++ bool "Raspberry Pi 4 32-bit build" ++ help ++ Support for all BCM2838-based Raspberry Pi variants, such as ++ the RPi 4 model B, in AArch32 (32-bit) mode. ++ ++ This option creates a build targeting the ARMv7/AArch32 ISA. ++ select BCM2838_32B ++ + endchoice + + config SYS_BOARD +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0005-arm-mach-bcm283x-Define-mbox-address-for-BCM2838.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0005-arm-mach-bcm283x-Define-mbox-address-for-BCM2838.patch new file mode 100644 index 000000000..9b221561c --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0005-arm-mach-bcm283x-Define-mbox-address-for-BCM2838.patch @@ -0,0 +1,34 @@ +From 98ae56bf35b2102310d2e88f56639e9055aa10be Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Sun, 7 Jul 2019 00:23:15 +0100 +Subject: [PATCH 05/17] arm: mach-bcm283x: Define mbox address for BCM2838 + +Signed-off-by: Andrei Gherzan +--- + arch/arm/mach-bcm283x/include/mach/mbox.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h +index e3a893e49c..2d711daaa8 100644 +--- a/arch/arm/mach-bcm283x/include/mach/mbox.h ++++ b/arch/arm/mach-bcm283x/include/mach/mbox.h +@@ -38,11 +38,16 @@ + /* Raw mailbox HW */ + + #ifndef CONFIG_BCM2835 ++#ifdef CONFIG_BCM2838 ++#define BCM2835_MBOX_PHYSADDR 0xfe00b880 ++#else + #define BCM2835_MBOX_PHYSADDR 0x3f00b880 ++#endif + #else + #define BCM2835_MBOX_PHYSADDR 0x2000b880 + #endif + ++ + struct bcm2835_mbox_regs { + u32 read; + u32 rsvd0[5]; +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0006-rpi-Add-rpi_model-entry-for-RaspberryPi-4.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0006-rpi-Add-rpi_model-entry-for-RaspberryPi-4.patch new file mode 100644 index 000000000..6fd0c06e7 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0006-rpi-Add-rpi_model-entry-for-RaspberryPi-4.patch @@ -0,0 +1,29 @@ +From eef9e7760c367dd848ac90780ecce8dcd82d9bb4 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Sun, 7 Jul 2019 00:25:58 +0100 +Subject: [PATCH 06/17] rpi: Add rpi_model entry for RaspberryPi 4 + +Signed-off-by: Andrei Gherzan +--- + board/raspberrypi/rpi/rpi.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c +index 617c892dde..6d6f1ef39a 100644 +--- a/board/raspberrypi/rpi/rpi.c ++++ b/board/raspberrypi/rpi/rpi.c +@@ -148,6 +148,11 @@ static const struct rpi_model rpi_models_new_scheme[] = { + DTB_DIR "bcm2837-rpi-cm3.dtb", + false, + }, ++ [0x11] = { ++ "4 Model B", ++ DTB_DIR "bcm2711-rpi-4-b.dtb", ++ true, ++ }, + }; + + static const struct rpi_model rpi_models_old_scheme[] = { +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0007-dt-bindings-Define-BCM2838_CLOCK_EMMC2-needed-for-Ra.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0007-dt-bindings-Define-BCM2838_CLOCK_EMMC2-needed-for-Ra.patch new file mode 100644 index 000000000..316da99bf --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0007-dt-bindings-Define-BCM2838_CLOCK_EMMC2-needed-for-Ra.patch @@ -0,0 +1,27 @@ +From fe0cff5d5f6e6fa56d83f04166d402ca13a0f23c Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Sun, 7 Jul 2019 00:31:27 +0100 +Subject: [PATCH 07/17] dt-bindings: Define BCM2838_CLOCK_EMMC2 needed for + RaspberryPi 4 + +On BCM2838 there is an additional clock. This clock was added in the +same bcm2835-cprman driver and is used by the emmc2 dt node. + +Signed-off-by: Andrei Gherzan +--- + include/dt-bindings/clock/bcm2835.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/dt-bindings/clock/bcm2835.h b/include/dt-bindings/clock/bcm2835.h +index 2cec01f968..457fd4e23c 100644 +--- a/include/dt-bindings/clock/bcm2835.h ++++ b/include/dt-bindings/clock/bcm2835.h +@@ -58,3 +58,5 @@ + #define BCM2835_CLOCK_DSI1E 48 + #define BCM2835_CLOCK_DSI0P 49 + #define BCM2835_CLOCK_DSI1P 50 ++ ++#define BCM2838_CLOCK_EMMC2 51 +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0008-arm-bcm283x-Include-definition-for-additional-emmc-c.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0008-arm-bcm283x-Include-definition-for-additional-emmc-c.patch new file mode 100644 index 000000000..3b0fc12a8 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0008-arm-bcm283x-Include-definition-for-additional-emmc-c.patch @@ -0,0 +1,31 @@ +From 05c24bc9579b958f637ca1497387a6149581c644 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Fri, 12 Jul 2019 11:26:10 +0100 +Subject: [PATCH 08/17] arm: bcm283x: Include definition for additional emmc + clock + +This clock has a different mbox ID[1] so have this included in the +relevant header file. + +[1] https://github.com/raspberrypi/firmware/issues/1179 + +Signed-off-by: Andrei Gherzan +--- + arch/arm/mach-bcm283x/include/mach/mbox.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h +index 2d711daaa8..cad035e8cd 100644 +--- a/arch/arm/mach-bcm283x/include/mach/mbox.h ++++ b/arch/arm/mach-bcm283x/include/mach/mbox.h +@@ -239,6 +239,7 @@ struct bcm2835_mbox_tag_set_power_state { + #define BCM2835_MBOX_CLOCK_ID_SDRAM 8 + #define BCM2835_MBOX_CLOCK_ID_PIXEL 9 + #define BCM2835_MBOX_CLOCK_ID_PWM 10 ++#define BCM2835_MBOX_CLOCK_ID_EMMC2 12 + + struct bcm2835_mbox_tag_get_clock_rate { + struct bcm2835_mbox_tag_hdr tag_hdr; +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0009-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0009-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch new file mode 100644 index 000000000..bd515eb5a --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0009-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch @@ -0,0 +1,51 @@ +From 6e0d51199f2d089c84f45202587a9f17abd1ab0a Mon Sep 17 00:00:00 2001 +From: Matthias Brugger +Date: Wed, 10 Jul 2019 13:24:36 +0200 +Subject: [PATCH 09/17] mmc: bcm2835_sdhci: Add support for bcm2711 device + +The bcm2711 has two emmc controller. The difference is the clocks +they use. Add support for the second emmc contoller. + +Signed-off-by: Matthias Brugger +--- + drivers/mmc/bcm2835_sdhci.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/drivers/mmc/bcm2835_sdhci.c b/drivers/mmc/bcm2835_sdhci.c +index 08bddd410e..e68dec3be7 100644 +--- a/drivers/mmc/bcm2835_sdhci.c ++++ b/drivers/mmc/bcm2835_sdhci.c +@@ -178,12 +178,13 @@ static int bcm2835_sdhci_probe(struct udevice *dev) + fdt_addr_t base; + int emmc_freq; + int ret; ++ int clock_id = (int)dev_get_driver_data(dev); + + base = devfdt_get_addr(dev); + if (base == FDT_ADDR_T_NONE) + return -EINVAL; + +- ret = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_EMMC); ++ ret = bcm2835_get_mmc_clock(clock_id); + if (ret < 0) { + debug("%s: Failed to set MMC clock (err=%d)\n", __func__, ret); + return ret; +@@ -228,7 +229,14 @@ static int bcm2835_sdhci_probe(struct udevice *dev) + } + + static const struct udevice_id bcm2835_sdhci_match[] = { +- { .compatible = "brcm,bcm2835-sdhci" }, ++ { ++ .compatible = "brcm,bcm2835-sdhci", ++ .data = BCM2835_MBOX_CLOCK_ID_EMMC ++ }, ++ { ++ .compatible = "brcm,bcm2711-emmc2", ++ .data = BCM2835_MBOX_CLOCK_ID_EMMC2 ++ }, + { /* sentinel */ } + }; + +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0010-arm-bcm283x-Define-device-base-addresses-for-bcm2835.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0010-arm-bcm283x-Define-device-base-addresses-for-bcm2835.patch new file mode 100644 index 000000000..974e69ee5 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0010-arm-bcm283x-Define-device-base-addresses-for-bcm2835.patch @@ -0,0 +1,63 @@ +From c00c6048006ebe1822355b6ba4f2da8ccebb4786 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Fri, 12 Jul 2019 11:38:11 +0100 +Subject: [PATCH 10/17] arm: bcm283x: Define device base addresses for bcm2835 + +Signed-off-by: Andrei Gherzan +--- + arch/arm/mach-bcm283x/include/mach/sdhci.h | 4 ++++ + arch/arm/mach-bcm283x/include/mach/timer.h | 4 ++++ + arch/arm/mach-bcm283x/include/mach/wdog.h | 4 ++++ + 3 files changed, 12 insertions(+) + +diff --git a/arch/arm/mach-bcm283x/include/mach/sdhci.h b/arch/arm/mach-bcm283x/include/mach/sdhci.h +index 5cb6ec3340..262b016a1b 100644 +--- a/arch/arm/mach-bcm283x/include/mach/sdhci.h ++++ b/arch/arm/mach-bcm283x/include/mach/sdhci.h +@@ -7,7 +7,11 @@ + #define _BCM2835_SDHCI_H_ + + #ifndef CONFIG_BCM2835 ++#ifdef CONFIG_BCM2838 ++#define BCM2835_SDHCI_BASE 0xfe300000 ++#else + #define BCM2835_SDHCI_BASE 0x3f300000 ++#endif + #else + #define BCM2835_SDHCI_BASE 0x20300000 + #endif +diff --git a/arch/arm/mach-bcm283x/include/mach/timer.h b/arch/arm/mach-bcm283x/include/mach/timer.h +index 56b0c356bb..dc3ed98879 100644 +--- a/arch/arm/mach-bcm283x/include/mach/timer.h ++++ b/arch/arm/mach-bcm283x/include/mach/timer.h +@@ -7,7 +7,11 @@ + #define _BCM2835_TIMER_H + + #ifndef CONFIG_BCM2835 ++#ifdef CONFIG_BCM2838 ++#define BCM2835_TIMER_PHYSADDR 0xfe003000 ++#else + #define BCM2835_TIMER_PHYSADDR 0x3f003000 ++#endif + #else + #define BCM2835_TIMER_PHYSADDR 0x20003000 + #endif +diff --git a/arch/arm/mach-bcm283x/include/mach/wdog.h b/arch/arm/mach-bcm283x/include/mach/wdog.h +index 99c88e5df7..ef040f385d 100644 +--- a/arch/arm/mach-bcm283x/include/mach/wdog.h ++++ b/arch/arm/mach-bcm283x/include/mach/wdog.h +@@ -7,7 +7,11 @@ + #define _BCM2835_WDOG_H + + #ifndef CONFIG_BCM2835 ++#ifdef CONFIG_BCM2838 ++#define BCM2835_WDOG_PHYSADDR 0xfe100000 ++#else + #define BCM2835_WDOG_PHYSADDR 0x3f100000 ++#endif + #else + #define BCM2835_WDOG_PHYSADDR 0x20100000 + #endif +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0011-bcm2835-video-Bail-out-early-if-querying-video-infor.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0011-bcm2835-video-Bail-out-early-if-querying-video-infor.patch new file mode 100644 index 000000000..9d084ce82 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0011-bcm2835-video-Bail-out-early-if-querying-video-infor.patch @@ -0,0 +1,36 @@ +From d0357e50e58894eeb9dcbb1497689b410b667f08 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Fri, 28 Jun 2019 14:14:01 +0200 +Subject: [PATCH 11/17] bcm2835 video: Bail out early if querying video + information fails + +Otherwise there is a crash with newer RPi firmware, see +https://github.com/raspberrypi/firmware/issues/1157 +--- + drivers/video/bcm2835.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/video/bcm2835.c b/drivers/video/bcm2835.c +index bc41090aed..4c7962cad8 100644 +--- a/drivers/video/bcm2835.c ++++ b/drivers/video/bcm2835.c +@@ -19,13 +19,15 @@ static int bcm2835_video_probe(struct udevice *dev) + + debug("bcm2835: Query resolution...\n"); + ret = bcm2835_get_video_size(&w, &h); +- if (ret) ++ if (ret || w == 0 || h == 0) + return -EIO; + + debug("bcm2835: Setting up display for %d x %d\n", w, h); + ret = bcm2835_set_video_params(&w, &h, 32, BCM2835_MBOX_PIXEL_ORDER_RGB, + BCM2835_MBOX_ALPHA_MODE_IGNORED, + &fb_base, &fb_size, &pitch); ++ if(ret) ++ return -EIO; + + debug("bcm2835: Final resolution is %d x %d\n", w, h); + +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0012-bcm283x-mbox-Correctly-wait-for-space-to-send.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0012-bcm283x-mbox-Correctly-wait-for-space-to-send.patch new file mode 100644 index 000000000..abba33b03 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0012-bcm283x-mbox-Correctly-wait-for-space-to-send.patch @@ -0,0 +1,65 @@ +From 2cbeae8a88c3f50e322a2434cbbf37bfe0b76d9a Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Fri, 28 Jun 2019 14:25:53 +0200 +Subject: [PATCH 12/17] bcm283x mbox: Correctly wait for space to send + +For sending, the second mailbox is used, but previously the status register of +the first one was read. +--- + arch/arm/mach-bcm283x/include/mach/mbox.h | 7 +++++-- + arch/arm/mach-bcm283x/mbox.c | 6 +++--- + 2 files changed, 8 insertions(+), 5 deletions(-) + +diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h +index cad035e8cd..cd78966150 100644 +--- a/arch/arm/mach-bcm283x/include/mach/mbox.h ++++ b/arch/arm/mach-bcm283x/include/mach/mbox.h +@@ -51,9 +51,12 @@ + struct bcm2835_mbox_regs { + u32 read; + u32 rsvd0[5]; +- u32 status; +- u32 config; ++ u32 status_r; ++ u32 config_r; + u32 write; ++ u32 rsvd1[5]; ++ u32 status_w; ++ u32 config_w; + }; + + #define BCM2835_MBOX_STATUS_WR_FULL 0x80000000 +diff --git a/arch/arm/mach-bcm283x/mbox.c b/arch/arm/mach-bcm283x/mbox.c +index 1642ebd103..f7483bf423 100644 +--- a/arch/arm/mach-bcm283x/mbox.c ++++ b/arch/arm/mach-bcm283x/mbox.c +@@ -27,7 +27,7 @@ int bcm2835_mbox_call_raw(u32 chan, u32 send, u32 *recv) + /* Drain any stale responses */ + + for (;;) { +- val = readl(®s->status); ++ val = readl(®s->status_r); + if (val & BCM2835_MBOX_STATUS_RD_EMPTY) + break; + if (get_timer(0) >= endtime) { +@@ -40,7 +40,7 @@ int bcm2835_mbox_call_raw(u32 chan, u32 send, u32 *recv) + /* Wait for space to send */ + + for (;;) { +- val = readl(®s->status); ++ val = readl(®s->status_w); + if (!(val & BCM2835_MBOX_STATUS_WR_FULL)) + break; + if (get_timer(0) >= endtime) { +@@ -58,7 +58,7 @@ int bcm2835_mbox_call_raw(u32 chan, u32 send, u32 *recv) + /* Wait for the response */ + + for (;;) { +- val = readl(®s->status); ++ val = readl(®s->status_r); + if (!(val & BCM2835_MBOX_STATUS_RD_EMPTY)) + break; + if (get_timer(0) >= endtime) { +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0013-config-rpi4-Add-defconfig-for-rpi4-32.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0013-config-rpi4-Add-defconfig-for-rpi4-32.patch new file mode 100644 index 000000000..1558712bb --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0013-config-rpi4-Add-defconfig-for-rpi4-32.patch @@ -0,0 +1,63 @@ +From 21a3e9ed27f83d83851cbee57ee6d83a58ef2775 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Fri, 12 Jul 2019 11:55:52 +0100 +Subject: [PATCH 13/17] config: rpi4: Add defconfig for rpi4-32 + +Signed-off-by: Andrei Gherzan +--- + configs/rpi_4_32b_defconfig | 43 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 43 insertions(+) + create mode 100644 configs/rpi_4_32b_defconfig + +diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig +new file mode 100644 +index 0000000000..9f2b805d0f +--- /dev/null ++++ b/configs/rpi_4_32b_defconfig +@@ -0,0 +1,43 @@ ++CONFIG_ARM=y ++CONFIG_ARCH_BCM283X=y ++CONFIG_SYS_TEXT_BASE=0x00008000 ++CONFIG_TARGET_RPI_4_32B=y ++CONFIG_SYS_MALLOC_F_LEN=0x2000 ++CONFIG_DISTRO_DEFAULTS=y ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_OF_BOARD_SETUP=y ++CONFIG_MISC_INIT_R=y ++# CONFIG_DISPLAY_CPUINFO is not set ++# CONFIG_DISPLAY_BOARDINFO is not set ++CONFIG_SYS_PROMPT="U-Boot> " ++# CONFIG_CMD_FLASH is not set ++CONFIG_CMD_GPIO=y ++CONFIG_CMD_MMC=y ++CONFIG_CMD_USB=y ++CONFIG_CMD_FS_UUID=y ++CONFIG_OF_EMBED=y ++CONFIG_DEFAULT_DEVICE_TREE="bcm2838-rpi-4-b" ++CONFIG_ENV_FAT_INTERFACE="mmc" ++CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" ++CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y ++CONFIG_DM_KEYBOARD=y ++CONFIG_DM_MMC=y ++CONFIG_MMC_SDHCI=y ++CONFIG_MMC_SDHCI_BCM2835=y ++CONFIG_PHYLIB=y ++CONFIG_DM_ETH=y ++CONFIG_PINCTRL=y ++# CONFIG_PINCTRL_GENERIC is not set ++# CONFIG_REQUIRE_SERIAL_CONSOLE is not set ++CONFIG_USB=y ++CONFIG_DM_USB=y ++CONFIG_USB_DWC2=y ++CONFIG_USB_KEYBOARD=y ++CONFIG_USB_HOST_ETHER=y ++CONFIG_USB_ETHER_LAN78XX=y ++CONFIG_USB_ETHER_SMSC95XX=y ++CONFIG_DM_VIDEO=y ++CONFIG_SYS_WHITE_ON_BLACK=y ++CONFIG_CONSOLE_SCROLL_LINES=10 ++CONFIG_PHYS_TO_BUS=y ++CONFIG_OF_LIBFDT_OVERLAY=y +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0014-dts-bcm2838-rpi-4-b-Use-the-emmc2-interface-for-sdhc.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0014-dts-bcm2838-rpi-4-b-Use-the-emmc2-interface-for-sdhc.patch new file mode 100644 index 000000000..7a1d33f73 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0014-dts-bcm2838-rpi-4-b-Use-the-emmc2-interface-for-sdhc.patch @@ -0,0 +1,45 @@ +From 07801a834dfe2d53827ad5a61fe3d59776e0c5b1 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Fri, 12 Jul 2019 11:58:42 +0100 +Subject: [PATCH 14/17] dts: bcm2838-rpi-4-b: Use the emmc2 interface for sdhci + +Signed-off-by: Andrei Gherzan +--- + arch/arm/dts/bcm2838-rpi-4-b.dts | 16 ++++++---------- + 1 file changed, 6 insertions(+), 10 deletions(-) + +diff --git a/arch/arm/dts/bcm2838-rpi-4-b.dts b/arch/arm/dts/bcm2838-rpi-4-b.dts +index 07e9a78e8d..168179c17c 100644 +--- a/arch/arm/dts/bcm2838-rpi-4-b.dts ++++ b/arch/arm/dts/bcm2838-rpi-4-b.dts +@@ -30,21 +30,17 @@ + status = "okay"; + }; + +-/* SDHCI is used to control the SDIO for wireless */ + &sdhci { +- pinctrl-names = "default"; +- pinctrl-0 = <&emmc_gpio34>; +- status = "okay"; +- bus-width = <4>; +- non-removable; ++ status = "disabled"; + }; + +-/* SDHOST is used to drive the SD card */ + &sdhost { +- pinctrl-names = "default"; +- pinctrl-0 = <&sdhost_gpio48>; ++ status = "disabled"; ++}; ++ ++&emmc2 { ++ compatible = "brcm,bcm2835-sdhci"; + status = "okay"; +- bus-width = <4>; + }; + + &gpio { +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0015-rpi-Add-memory-map-for-bcm2838.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0015-rpi-Add-memory-map-for-bcm2838.patch new file mode 100644 index 000000000..8510637cc --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0015-rpi-Add-memory-map-for-bcm2838.patch @@ -0,0 +1,58 @@ +From bfa71106beb565c2f3bc2f5f948477e0d3801285 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Fri, 12 Jul 2019 14:27:31 +0100 +Subject: [PATCH 15/17] rpi: Add memory map for bcm2838 + +Signed-off-by: Andrei Gherzan +--- + board/raspberrypi/rpi/rpi.c | 27 ++++++++++++++++++++++++--- + 1 file changed, 24 insertions(+), 3 deletions(-) + +diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c +index 6d6f1ef39a..4242ef35a4 100644 +--- a/board/raspberrypi/rpi/rpi.c ++++ b/board/raspberrypi/rpi/rpi.c +@@ -249,7 +249,8 @@ static uint32_t rev_type; + static const struct rpi_model *model; + + #ifdef CONFIG_ARM64 +-static struct mm_region bcm2837_mem_map[] = { ++#ifndef CONFIG_BCM2838 ++static struct mm_region bcm283x_mem_map[] = { + { + .virt = 0x00000000UL, + .phys = 0x00000000UL, +@@ -268,8 +269,28 @@ static struct mm_region bcm2837_mem_map[] = { + 0, + } + }; +- +-struct mm_region *mem_map = bcm2837_mem_map; ++#else ++static struct mm_region bcm283x_mem_map[] = { ++ { ++ .virt = 0x00000000UL, ++ .phys = 0x00000000UL, ++ .size = 0xf3000000UL, ++ .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | ++ PTE_BLOCK_INNER_SHARE ++ }, { ++ .virt = 0xfe000000UL, ++ .phys = 0xfe000000UL, ++ .size = 0x01800000UL, ++ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | ++ PTE_BLOCK_NON_SHARE | ++ PTE_BLOCK_PXN | PTE_BLOCK_UXN ++ }, { ++ /* List terminator */ ++ 0, ++ } ++}; ++#endif ++struct mm_region *mem_map = bcm283x_mem_map; + #endif + + int dram_init(void) +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0016-configs-rpi4-Remove-DWC2-and-USB_ETHER-configs.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0016-configs-rpi4-Remove-DWC2-and-USB_ETHER-configs.patch new file mode 100644 index 000000000..0bc54c85e --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0016-configs-rpi4-Remove-DWC2-and-USB_ETHER-configs.patch @@ -0,0 +1,52 @@ +From c73747171c8a91e204405e144d0906c439d3bff3 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Mon, 15 Jul 2019 14:05:25 +0100 +Subject: [PATCH 16/17] configs: rpi4: Remove DWC2 and USB_ETHER configs + +dwc2 is only connected to the usb-c port so we don't have any real +benefit in having it enabled in uboot. + +Also, the GENET interface is connected directly to the SoC so we can +drop the USB_ETHER configs. + +Signed-off-by: Andrei Gherzan +--- + configs/rpi_4_32b_defconfig | 3 --- + configs/rpi_4_defconfig | 3 --- + 2 files changed, 6 deletions(-) + +diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig +index 9f2b805d0f..b71a14735a 100644 +--- a/configs/rpi_4_32b_defconfig ++++ b/configs/rpi_4_32b_defconfig +@@ -31,11 +31,8 @@ CONFIG_PINCTRL=y + # CONFIG_REQUIRE_SERIAL_CONSOLE is not set + CONFIG_USB=y + CONFIG_DM_USB=y +-CONFIG_USB_DWC2=y + CONFIG_USB_KEYBOARD=y + CONFIG_USB_HOST_ETHER=y +-CONFIG_USB_ETHER_LAN78XX=y +-CONFIG_USB_ETHER_SMSC95XX=y + CONFIG_DM_VIDEO=y + CONFIG_SYS_WHITE_ON_BLACK=y + CONFIG_CONSOLE_SCROLL_LINES=10 +diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig +index 83d1bd0cdb..b27e3f823b 100644 +--- a/configs/rpi_4_defconfig ++++ b/configs/rpi_4_defconfig +@@ -31,11 +31,8 @@ CONFIG_PINCTRL=y + # CONFIG_REQUIRE_SERIAL_CONSOLE is not set + CONFIG_USB=y + CONFIG_DM_USB=y +-CONFIG_USB_DWC2=y + CONFIG_USB_KEYBOARD=y + CONFIG_USB_HOST_ETHER=y +-CONFIG_USB_ETHER_LAN78XX=y +-CONFIG_USB_ETHER_SMSC95XX=y + CONFIG_DM_VIDEO=y + CONFIG_SYS_WHITE_ON_BLACK=y + CONFIG_CONSOLE_SCROLL_LINES=10 +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0017-dts-bcm2838-rpi-4-b-Use-the-emmc2-2811-compatible-st.patch b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0017-dts-bcm2838-rpi-4-b-Use-the-emmc2-2811-compatible-st.patch new file mode 100644 index 000000000..4481f4157 --- /dev/null +++ b/buildroot-external/board/raspberrypi/rpi4/patches/uboot/0017-dts-bcm2838-rpi-4-b-Use-the-emmc2-2811-compatible-st.patch @@ -0,0 +1,27 @@ +From 62b6e39a53c56a9085aeab1b47b5cc6020fcdb6f Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Mon, 15 Jul 2019 14:11:10 +0100 +Subject: [PATCH 17/17] dts: bcm2838-rpi-4-b: Use the emmc2/2811 compatible + string for SDHCI + +Signed-off-by: Andrei Gherzan +--- + arch/arm/dts/bcm2838-rpi-4-b.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/dts/bcm2838-rpi-4-b.dts b/arch/arm/dts/bcm2838-rpi-4-b.dts +index 168179c17c..b7241be3fd 100644 +--- a/arch/arm/dts/bcm2838-rpi-4-b.dts ++++ b/arch/arm/dts/bcm2838-rpi-4-b.dts +@@ -39,7 +39,7 @@ + }; + + &emmc2 { +- compatible = "brcm,bcm2835-sdhci"; ++ compatible = "brcm,bcm2711-emmc2"; + status = "okay"; + }; + +-- +2.17.1 + diff --git a/buildroot-external/board/raspberrypi/rpi3-64/uboot-boot.ush b/buildroot-external/board/raspberrypi/uboot-boot64.ush similarity index 100% rename from buildroot-external/board/raspberrypi/rpi3-64/uboot-boot.ush rename to buildroot-external/board/raspberrypi/uboot-boot64.ush diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index a96b9d7b2..3d316d8e7 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -83,7 +83,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3" BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3-64/uboot-boot.ush" +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot64.ush" BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig new file mode 100644 index 000000000..27a068f36 --- /dev/null +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -0,0 +1,106 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_DL_DIR="/cache/dl" +BR2_CCACHE=y +BR2_CCACHE_DIR="/cache/cc" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi4/patches" +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_GCC_VERSION_7_X=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_BINUTILS_ENABLE_LTO=y +BR2_GCC_ENABLE_LTO=y +BR2_TARGET_GENERIC_HOSTNAME="hassio" +BR2_TARGET_GENERIC_ISSUE="Welcome to HassOS" +BR2_INIT_SYSTEMD=y +BR2_TARGET_GENERIC_GETTY_PORT="tty1" +# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_HASSOS_PATH)/rootfs-overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi4-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8222f38b1ceadd0642d49812fd34a3a6cb00e264" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" +BR2_LINUX_KERNEL_LZ4=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" +BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_JQ=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y +BR2_PACKAGE_SQUASHFS=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_PI4=y +BR2_PACKAGE_RPI_WIFI_FIRMWARE=y +BR2_PACKAGE_GPTFDISK=y +BR2_PACKAGE_GPTFDISK_SGDISK=y +BR2_PACKAGE_UBOOT_TOOLS=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBDNET=y +BR2_PACKAGE_LIBCGROUP=y +BR2_PACKAGE_LIBCGROUP_TOOLS=y +BR2_PACKAGE_AVAHI=y +# BR2_PACKAGE_AVAHI_AUTOIPD is not set +BR2_PACKAGE_AVAHI_DAEMON=y +BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_DHCP=y +BR2_PACKAGE_DHCP_CLIENT=y +BR2_PACKAGE_WIREGUARD=y +BR2_PACKAGE_DROPBEAR=y +# BR2_PACKAGE_DROPBEAR_CLIENT is not set +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_NETWORK_MANAGER=y +BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y +BR2_PACKAGE_TINI=y +BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOCKER_CLI=y +BR2_PACKAGE_RAUC=y +BR2_PACKAGE_RAUC_NETWORK=y +BR2_PACKAGE_RNG_TOOLS=y +# BR2_PACKAGE_SYSTEMD_HWDB is not set +# BR2_PACKAGE_SYSTEMD_NETWORKD is not set +BR2_PACKAGE_SYSTEMD_RANDOMSEED=y +# BR2_PACKAGE_SYSTEMD_RESOLVED is not set +BR2_PACKAGE_SYSTEMD_COREDUMP=y +BR2_PACKAGE_UTIL_LINUX_PARTX=y +BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_4" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" +BR2_TARGET_UBOOT_BOOT_SCRIPT=y +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot64.ush" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_GPTFDISK=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_RAUC=y +BR2_PACKAGE_HASSOS=y +BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/aarch64-hassio-supervisor" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi4-64-homeassistant" +BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" +BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" +BR2_PACKAGE_HASSOS_CLI="homeassistant/aarch64-hassio-cli" +BR2_PACKAGE_HASSOS_CLI_VERSION="11" +BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2" +BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" +BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" +BR2_PACKAGE_APPARMOR=y +BR2_PACKAGE_BLUETOOTH_BCM43XX=y diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig new file mode 100644 index 000000000..cf3d561d1 --- /dev/null +++ b/buildroot-external/configs/rpi4_defconfig @@ -0,0 +1,106 @@ +BR2_arm=y +BR2_cortex_a72=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_DL_DIR="/cache/dl" +BR2_CCACHE=y +BR2_CCACHE_DIR="/cache/cc" +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi4/patches" +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_GCC_VERSION_7_X=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_BINUTILS_ENABLE_LTO=y +BR2_GCC_ENABLE_LTO=y +BR2_TARGET_GENERIC_HOSTNAME="hassio" +BR2_TARGET_GENERIC_ISSUE="Welcome to HassOS" +BR2_INIT_SYSTEMD=y +BR2_TARGET_GENERIC_GETTY_PORT="tty1" +# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_HASSOS_PATH)/rootfs-overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi4 $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/hassos-hook.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8222f38b1ceadd0642d49812fd34a3a6cb00e264" +BR2_LINUX_KERNEL_DEFCONFIG="bcm2711" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config" +BR2_LINUX_KERNEL_LZ4=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2711-rpi-4-b" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" +BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_JQ=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y +BR2_PACKAGE_SQUASHFS=y +BR2_PACKAGE_RPI_FIRMWARE=y +BR2_PACKAGE_RPI_FIRMWARE_PI4=y +BR2_PACKAGE_RPI_WIFI_FIRMWARE=y +BR2_PACKAGE_GPTFDISK=y +BR2_PACKAGE_GPTFDISK_SGDISK=y +BR2_PACKAGE_UBOOT_TOOLS=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBDNET=y +BR2_PACKAGE_LIBCGROUP=y +BR2_PACKAGE_LIBCGROUP_TOOLS=y +BR2_PACKAGE_AVAHI=y +# BR2_PACKAGE_AVAHI_AUTOIPD is not set +BR2_PACKAGE_AVAHI_DAEMON=y +BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_DHCP=y +BR2_PACKAGE_DHCP_CLIENT=y +BR2_PACKAGE_WIREGUARD=y +BR2_PACKAGE_DROPBEAR=y +# BR2_PACKAGE_DROPBEAR_CLIENT is not set +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_NETWORK_MANAGER=y +BR2_PACKAGE_NETWORK_MANAGER_MODEM_MANAGER=y +BR2_PACKAGE_TINI=y +BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOCKER_CLI=y +BR2_PACKAGE_RAUC=y +BR2_PACKAGE_RAUC_NETWORK=y +BR2_PACKAGE_RNG_TOOLS=y +# BR2_PACKAGE_SYSTEMD_HWDB is not set +# BR2_PACKAGE_SYSTEMD_NETWORKD is not set +BR2_PACKAGE_SYSTEMD_RANDOMSEED=y +# BR2_PACKAGE_SYSTEMD_RESOLVED is not set +BR2_PACKAGE_SYSTEMD_COREDUMP=y +BR2_PACKAGE_UTIL_LINUX_PARTX=y +BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_4_32b" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot.config" +BR2_TARGET_UBOOT_BOOT_SCRIPT=y +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/uboot-boot.ush" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_GPTFDISK=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_RAUC=y +BR2_PACKAGE_HASSOS=y +BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armv7-hassio-supervisor" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi4-homeassistant" +BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" +BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" +BR2_PACKAGE_HASSOS_CLI="homeassistant/armv7-hassio-cli" +BR2_PACKAGE_HASSOS_CLI_VERSION="11" +BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2" +BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" +BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" +BR2_PACKAGE_APPARMOR=y +BR2_PACKAGE_BLUETOOTH_BCM43XX=y diff --git a/buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.19-RPi4.patch b/buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.19-RPi4.patch new file mode 100644 index 000000000..0aff18a72 --- /dev/null +++ b/buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.19-RPi4.patch @@ -0,0 +1,68 @@ +From 3c3fc8727fcdfec1521f5dde0b70c0a1dcc722cc Mon Sep 17 00:00:00 2001 +From: Pascal Vizeli +Date: Mon, 15 Jul 2019 17:11:29 +0000 +Subject: [PATCH 1/1] rpi-firmware: Bump firmware for kernel 4.19 / RPi4 + +--- + package/rpi-firmware/Config.in | 6 ++++++ + package/rpi-firmware/rpi-firmware.hash | 2 +- + package/rpi-firmware/rpi-firmware.mk | 6 +++--- + 3 files changed, 10 insertions(+), 4 deletions(-) + +diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in +index 0ebbe7a4cd..143ef4c712 100644 +--- a/package/rpi-firmware/Config.in ++++ b/package/rpi-firmware/Config.in +@@ -40,11 +40,17 @@ config BR2_PACKAGE_RPI_FIRMWARE_CD + The cut-down firmware, for emergency situations, with only + features required to boot a Linux kernel. + ++config BR2_PACKAGE_RPI_FIRMWARE_PI4 ++ bool "Pi 4" ++ help ++ The Raspberry Pi 4 boot files ++ + endchoice + + config BR2_PACKAGE_RPI_FIRMWARE_BOOT + string + default "" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT ++ default "4" if BR2_PACKAGE_RPI_FIRMWARE_PI4 + default "_x" if BR2_PACKAGE_RPI_FIRMWARE_X + default "_cd" if BR2_PACKAGE_RPI_FIRMWARE_CD + +diff --git a/package/rpi-firmware/rpi-firmware.hash b/package/rpi-firmware/rpi-firmware.hash +index 9988dda717..3eae7e270b 100644 +--- a/package/rpi-firmware/rpi-firmware.hash ++++ b/package/rpi-firmware/rpi-firmware.hash +@@ -1,2 +1,2 @@ + # Locally computed +-sha256 f1d631920ed4ae15f368ba7b8b3caa4ed604f5223372cc6debbd39a101eb8d74 rpi-firmware-81cca1a9380c828299e884dba5efd0d4acb39e8d.tar.gz ++sha256 62a63b4a8be10da779342799148919d1a50c1939bf6cae93d61cb1b5daed810f rpi-firmware-cba4be275b9943b353ea2e5201ab2badd4c760e9.tar.gz +diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk +index 630bc670ca..fd2970333e 100644 +--- a/package/rpi-firmware/rpi-firmware.mk ++++ b/package/rpi-firmware/rpi-firmware.mk +@@ -4,7 +4,7 @@ + # + ################################################################################ + +-RPI_FIRMWARE_VERSION = 81cca1a9380c828299e884dba5efd0d4acb39e8d ++RPI_FIRMWARE_VERSION = cba4be275b9943b353ea2e5201ab2badd4c760e9 + RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) + RPI_FIRMWARE_LICENSE = BSD-3-Clause + RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom +@@ -43,8 +43,8 @@ endif # INSTALL_VCDBG + + define RPI_FIRMWARE_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/boot/bootcode.bin $(BINARIES_DIR)/rpi-firmware/bootcode.bin +- $(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf +- $(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup.dat ++ $(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf ++ $(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat + $(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt + $(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt $(BINARIES_DIR)/rpi-firmware/cmdline.txt + $(RPI_FIRMWARE_INSTALL_DTB) +-- +2.17.1 + diff --git a/buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.19.patch b/buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.19.patch deleted file mode 100644 index 86028247f..000000000 --- a/buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.19.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 86fe49bf731e36138fef39790afacaef9555469b Mon Sep 17 00:00:00 2001 -From: Pascal Vizeli -Date: Wed, 26 Jun 2019 10:12:53 +0000 -Subject: [PATCH 1/1] rpi-firmware: Bump firmware for kernel 4.19 - -Signed-off-by: Pascal Vizeli ---- - package/rpi-firmware/rpi-firmware.hash | 2 +- - package/rpi-firmware/rpi-firmware.mk | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/package/rpi-firmware/rpi-firmware.hash b/package/rpi-firmware/rpi-firmware.hash -index 9988dda717..c81935c913 100644 ---- a/package/rpi-firmware/rpi-firmware.hash -+++ b/package/rpi-firmware/rpi-firmware.hash -@@ -1,2 +1,2 @@ - # Locally computed --sha256 f1d631920ed4ae15f368ba7b8b3caa4ed604f5223372cc6debbd39a101eb8d74 rpi-firmware-81cca1a9380c828299e884dba5efd0d4acb39e8d.tar.gz -+sha256 3d5bf3d4f1f93bbba97ce5ed8d0608a2dcbba52bede4a5643a23f4edbbdff3f3 rpi-firmware-f6d9f139037bf421d5d25b1cebe1a67394542b4b.tar.gz -diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk -index 630bc670ca..b57ed2ef4c 100644 ---- a/package/rpi-firmware/rpi-firmware.mk -+++ b/package/rpi-firmware/rpi-firmware.mk -@@ -4,7 +4,7 @@ - # - ################################################################################ - --RPI_FIRMWARE_VERSION = 81cca1a9380c828299e884dba5efd0d4acb39e8d -+RPI_FIRMWARE_VERSION = f6d9f139037bf421d5d25b1cebe1a67394542b4b - RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) - RPI_FIRMWARE_LICENSE = BSD-3-Clause - RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom --- -2.17.1 - diff --git a/buildroot/package/rpi-firmware/Config.in b/buildroot/package/rpi-firmware/Config.in index 0ebbe7a4c..143ef4c71 100644 --- a/buildroot/package/rpi-firmware/Config.in +++ b/buildroot/package/rpi-firmware/Config.in @@ -40,11 +40,17 @@ config BR2_PACKAGE_RPI_FIRMWARE_CD The cut-down firmware, for emergency situations, with only features required to boot a Linux kernel. +config BR2_PACKAGE_RPI_FIRMWARE_PI4 + bool "Pi 4" + help + The Raspberry Pi 4 boot files + endchoice config BR2_PACKAGE_RPI_FIRMWARE_BOOT string default "" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT + default "4" if BR2_PACKAGE_RPI_FIRMWARE_PI4 default "_x" if BR2_PACKAGE_RPI_FIRMWARE_X default "_cd" if BR2_PACKAGE_RPI_FIRMWARE_CD diff --git a/buildroot/package/rpi-firmware/rpi-firmware.hash b/buildroot/package/rpi-firmware/rpi-firmware.hash index 24b635ae7..57b45b2bc 100644 --- a/buildroot/package/rpi-firmware/rpi-firmware.hash +++ b/buildroot/package/rpi-firmware/rpi-firmware.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 3d5bf3d4f1f93bbba97ce5ed8d0608a2dcbba52bede4a5643a23f4edbbdff3f3 rpi-firmware-f6d9f139037bf421d5d25b1cebe1a67394542b4b.tar.gz +sha256 62a63b4a8be10da779342799148919d1a50c1939bf6cae93d61cb1b5daed810f rpi-firmware-cba4be275b9943b353ea2e5201ab2badd4c760e9.tar.gz diff --git a/buildroot/package/rpi-firmware/rpi-firmware.mk b/buildroot/package/rpi-firmware/rpi-firmware.mk index 5a8454196..9dbec1ad3 100644 --- a/buildroot/package/rpi-firmware/rpi-firmware.mk +++ b/buildroot/package/rpi-firmware/rpi-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = f6d9f139037bf421d5d25b1cebe1a67394542b4b +RPI_FIRMWARE_VERSION = cba4be275b9943b353ea2e5201ab2badd4c760e9 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom @@ -43,8 +43,8 @@ endif # INSTALL_VCDBG define RPI_FIRMWARE_INSTALL_IMAGES_CMDS $(INSTALL) -D -m 0644 $(@D)/boot/bootcode.bin $(BINARIES_DIR)/rpi-firmware/bootcode.bin - $(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf - $(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup.dat + $(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf + $(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt $(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt $(BINARIES_DIR)/rpi-firmware/cmdline.txt $(RPI_FIRMWARE_INSTALL_DTB) From 8c691e8e56a4fc4fbaff70c16ef038a2e62c60a0 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 16 Jul 2019 13:47:03 +0200 Subject: [PATCH 12/12] Update Hass.io Supervisor (#431) --- buildroot-external/configs/intel_nuc_defconfig | 2 +- buildroot-external/configs/odroid_c2_defconfig | 2 +- buildroot-external/configs/odroid_xu4_defconfig | 2 +- buildroot-external/configs/opi_prime_defconfig | 2 +- buildroot-external/configs/ova_defconfig | 2 +- buildroot-external/configs/rpi0_w_defconfig | 2 +- buildroot-external/configs/rpi2_defconfig | 2 +- buildroot-external/configs/rpi3_64_defconfig | 2 +- buildroot-external/configs/rpi3_defconfig | 2 +- buildroot-external/configs/rpi4_64_defconfig | 2 +- buildroot-external/configs/rpi4_defconfig | 2 +- buildroot-external/configs/rpi_defconfig | 2 +- buildroot-external/configs/tinker_defconfig | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/buildroot-external/configs/intel_nuc_defconfig b/buildroot-external/configs/intel_nuc_defconfig index 8d85d8a28..70c60057c 100644 --- a/buildroot-external/configs/intel_nuc_defconfig +++ b/buildroot-external/configs/intel_nuc_defconfig @@ -95,7 +95,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/amd64-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/intel-nuc-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" diff --git a/buildroot-external/configs/odroid_c2_defconfig b/buildroot-external/configs/odroid_c2_defconfig index d07989232..a99bd9c47 100644 --- a/buildroot-external/configs/odroid_c2_defconfig +++ b/buildroot-external/configs/odroid_c2_defconfig @@ -89,7 +89,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/aarch64-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/odroid-c2-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" diff --git a/buildroot-external/configs/odroid_xu4_defconfig b/buildroot-external/configs/odroid_xu4_defconfig index cb8ff9757..c240d09f9 100644 --- a/buildroot-external/configs/odroid_xu4_defconfig +++ b/buildroot-external/configs/odroid_xu4_defconfig @@ -98,7 +98,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armv7-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/odroid-xu-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" diff --git a/buildroot-external/configs/opi_prime_defconfig b/buildroot-external/configs/opi_prime_defconfig index 5278b7336..bdfad7bc6 100644 --- a/buildroot-external/configs/opi_prime_defconfig +++ b/buildroot-external/configs/opi_prime_defconfig @@ -103,7 +103,7 @@ BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HOST_SWIG=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/aarch64-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/orangepi-prime-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" diff --git a/buildroot-external/configs/ova_defconfig b/buildroot-external/configs/ova_defconfig index eda39baed..226a41def 100644 --- a/buildroot-external/configs/ova_defconfig +++ b/buildroot-external/configs/ova_defconfig @@ -85,7 +85,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/amd64-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/qemux86-64-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" diff --git a/buildroot-external/configs/rpi0_w_defconfig b/buildroot-external/configs/rpi0_w_defconfig index f640c9e51..17f75a458 100644 --- a/buildroot-external/configs/rpi0_w_defconfig +++ b/buildroot-external/configs/rpi0_w_defconfig @@ -92,7 +92,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" diff --git a/buildroot-external/configs/rpi2_defconfig b/buildroot-external/configs/rpi2_defconfig index 535d47df7..f253a177c 100644 --- a/buildroot-external/configs/rpi2_defconfig +++ b/buildroot-external/configs/rpi2_defconfig @@ -91,7 +91,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armv7-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi2-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" diff --git a/buildroot-external/configs/rpi3_64_defconfig b/buildroot-external/configs/rpi3_64_defconfig index 3d316d8e7..bffe6143d 100644 --- a/buildroot-external/configs/rpi3_64_defconfig +++ b/buildroot-external/configs/rpi3_64_defconfig @@ -92,7 +92,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/aarch64-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi3-64-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 149839a88..73a097662 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -92,7 +92,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armv7-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi3-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index 27a068f36..aa22f41e8 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -93,7 +93,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/aarch64-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi4-64-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" diff --git a/buildroot-external/configs/rpi4_defconfig b/buildroot-external/configs/rpi4_defconfig index cf3d561d1..8fd27dc1d 100644 --- a/buildroot-external/configs/rpi4_defconfig +++ b/buildroot-external/configs/rpi4_defconfig @@ -93,7 +93,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armv7-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi4-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" diff --git a/buildroot-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index ba2d58cc2..eb18ec27f 100644 --- a/buildroot-external/configs/rpi_defconfig +++ b/buildroot-external/configs/rpi_defconfig @@ -91,7 +91,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" diff --git a/buildroot-external/configs/tinker_defconfig b/buildroot-external/configs/tinker_defconfig index 2485d4bdf..4dee4e58e 100644 --- a/buildroot-external/configs/tinker_defconfig +++ b/buildroot-external/configs/tinker_defconfig @@ -96,7 +96,7 @@ BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armv7-hassio-supervisor" -BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="167" +BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="169" BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/tinker-homeassistant" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"