Odroid xu4 updates (#425)

* Odroid-XU4: Attempt to fix some eMMC devices

* Linux-firmware: add s5p to buildroot

* Odroid-XU4: fix uboot env size
This commit is contained in:
Ryan Bray 2019-07-15 01:24:43 -06:00 committed by Pascal Vizeli
parent 2e205cafd3
commit f3f9bd9697
9 changed files with 74 additions and 50 deletions

View File

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

View File

@ -4,4 +4,4 @@ CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=zImage
BOOT_SYS=mbr
BOOT_ENV_SIZE=0x2000
BOOT_ENV_SIZE=0x4000

View File

@ -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 <linux/mm_types.h>
#include <linux/scatterlist.h>
+#include <linux/device.h>
#include <linux/dma-debug.h>
+#include <linux/dma-direction.h>
#include <asm/memory.h>
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 <linux/init.h>
#include <linux/of.h>
#include <linux/of_address.h>
+#include <linux/sizes.h>
#include <asm/cacheflush.h>
#include <asm/cputype.h>
#include <asm/firmware.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/suspend.h>
+#include <asm/dma-mapping.h>
#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)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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