diff --git a/Documentation/boards/ova.md b/Documentation/boards/ova.md index 2f737ff6c..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. 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): - HyperV - VirtualBox - VMware -## Virtual Machine - -You can use this vmdk in a virtual machine with follow requirements: -- OS: Linux 64bit -- 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. 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 bbebee1f7..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.14.98 | +| 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/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/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/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 a920fb296..c240d09f9 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 @@ -96,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 d10837815..17f75a458 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 @@ -79,12 +79,12 @@ 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 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 @@ -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 11214f455..f253a177c 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 @@ -78,12 +78,12 @@ 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 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 @@ -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 f87add6bf..bffe6143d 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 @@ -79,12 +79,12 @@ 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 -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_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 @@ -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 cf7fb6c1e..73a097662 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 @@ -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 @@ -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 new file mode 100644 index 000000000..aa22f41e8 --- /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="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" +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..8fd27dc1d --- /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="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" +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-external/configs/rpi_defconfig b/buildroot-external/configs/rpi_defconfig index 503e9c107..eb18ec27f 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 @@ -78,12 +78,12 @@ 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 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 @@ -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" 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" 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.14.patch deleted file mode 100644 index 1a96f52f0..000000000 --- a/buildroot-patches/0004-rpi-firmware-Bump-firmware-for-kernel-4.14.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.14 - -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 9a34ccc4a51695a33206cc6c8534f615ba5a30fcbce5fa3add400ecc6b80ad8a rpi-firmware-83977fe3b6ef54c1d29c83b0a778d330f523441f.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 = 83977fe3b6ef54c1d29c83b0a778d330f523441f - 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-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/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-* 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 c81935c91..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 9a34ccc4a51695a33206cc6c8534f615ba5a30fcbce5fa3add400ecc6b80ad8a rpi-firmware-83977fe3b6ef54c1d29c83b0a778d330f523441f.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 b57ed2ef4..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 = 83977fe3b6ef54c1d29c83b0a778d330f523441f +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) 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/*