diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 15badc1db2..0999c6d342 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -40,7 +40,7 @@ case "$LINUX" in PKG_SOURCE_DIR="$PKG_NAME-amlogic-$PKG_VERSION*" ;; amlogic-3.14) - PKG_VERSION="9c0ad98" + PKG_VERSION="7618021" PKG_URL="https://github.com/LibreELEC/linux-amlogic/archive/$PKG_VERSION.tar.gz" PKG_SOURCE_DIR="$PKG_NAME-amlogic-$PKG_VERSION*" ;; diff --git a/projects/WeTek_Hub/linux/linux.aarch64.conf b/projects/WeTek_Hub/linux/linux.aarch64.conf index 7629b3620b..0d56380cca 100644 --- a/projects/WeTek_Hub/linux/linux.aarch64.conf +++ b/projects/WeTek_Hub/linux/linux.aarch64.conf @@ -3,9 +3,14 @@ # Linux/arm64 3.14.29 Kernel Configuration # CONFIG_ARM64=y +CONFIG_ARM64_HAS_SG_CHAIN=y CONFIG_64BIT=y CONFIG_ARCH_PHYS_ADDR_T_64BIT=y CONFIG_MMU=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=18 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 CONFIG_NO_IOPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_LOCKDEP_SUPPORT=y @@ -179,6 +184,11 @@ CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11 CONFIG_CLONE_BACKWARDS=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_COMPAT_OLD_SIGACTION=y @@ -775,7 +785,9 @@ CONFIG_RFKILL_LEDS=y # # Amlogic Device Drivers # -# CONFIG_MESON_TIMER is not set +CONFIG_MESON_TIMER=y +# CONFIG_MESON_LOCAL_TIMER is not set +CONFIG_MESON_BC_TIMER=y CONFIG_AM_UART=y CONFIG_SERIAL_MESON_CONSOLE=y # CONFIG_PRINTK_NOBLOCK_MODE is not set @@ -1039,12 +1051,10 @@ CONFIG_GXBB_SUSPEND=y # # CONFIG_AM_DVB is not set # CONFIG_AM_ATVDEMOD is not set -# CONFIG_AM_DTVDEMOD is not set # # AMLOGIC CI Driver # -# CONFIG_AM_CI is not set # CONFIG_AM_PCMCIA is not set # CONFIG_AM_IOBUS is not set # CONFIG_AML_SMARTCARD is not set @@ -2211,6 +2221,7 @@ CONFIG_RC_DEVICES=y CONFIG_RC_ATI_REMOTE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m +CONFIG_IR_MESON=m CONFIG_IR_REDRAT3=m CONFIG_IR_STREAMZAP=m CONFIG_IR_IGUANA=m @@ -2646,6 +2657,8 @@ CONFIG_SND_SOC=y # CONFIG_SND_DESIGNWARE_I2S is not set CONFIG_SND_AML_M8_SOC=y CONFIG_SND_AML_M8=y +CONFIG_SND_AML_SPLIT_MODE=y +# CONFIG_SND_AML_SPLIT_MODE_MMAP is not set CONFIG_SND_SOC_I2C_AND_SPI=y CONFIG_SND_SOC_DUMMY_CODEC=y CONFIG_SND_SOC_TAS5707=y @@ -2653,6 +2666,7 @@ CONFIG_SND_SOC_TAS5717=y CONFIG_SND_SOC_TAS5731=y CONFIG_SND_SOC_PCM2BT=y CONFIG_SND_SOC_AMLT9015=y +CONFIG_SND_SOC_AMLT9015S=y # CONFIG_SND_SIMPLE_CARD is not set # CONFIG_SOUND_PRIME is not set diff --git a/projects/WeTek_Hub/patches/linux/temporarily_use_hdmimode_param_instead_of_vout.patch b/projects/WeTek_Hub/patches/linux/temporarily_use_hdmimode_param_instead_of_vout.patch index 58a287d54a..23f6b0e9f6 100644 --- a/projects/WeTek_Hub/patches/linux/temporarily_use_hdmimode_param_instead_of_vout.patch +++ b/projects/WeTek_Hub/patches/linux/temporarily_use_hdmimode_param_instead_of_vout.patch @@ -1,39 +1,46 @@ +diff --git a/drivers/amlogic/display/logo/logo.c b/drivers/amlogic/display/logo/logo.c +index 9266be3..6803f10 100644 +--- a/drivers/amlogic/display/logo/logo.c ++++ b/drivers/amlogic/display/logo/logo.c +@@ -246,6 +246,7 @@ __setup("logo=", logo_setup); + static int __init get_hdmi_mode(char *str) + { + hdmimode = vmode_name_to_mode(str); ++ set_vout_init_vmode(str); + + pr_info("get hdmimode: %s\n", str); + return 1; diff --git a/drivers/amlogic/display/vout/vout_serve.c b/drivers/amlogic/display/vout/vout_serve.c -index d91d40d..029b36d 100644 +index fae61b3..a248367 100644 --- a/drivers/amlogic/display/vout/vout_serve.c +++ b/drivers/amlogic/display/vout/vout_serve.c -@@ -596,10 +596,16 @@ static int __init get_vout_init_mode(char *str) - char *option; - int count = 3; - char find = 0; -+ char str2[1024]; -+ char *ptr2 = str2; - - if (NULL == str) - return -EINVAL; - -+ strcpy(str2, str); -+ strcat(str2, ",en"); // logo was already displayed by uboot -+ ptr = ptr2 = str2; -+ - do { - if (!isalpha(*ptr) && !isdigit(*ptr)) { - find = 1; -@@ -611,7 +617,7 @@ static int __init get_vout_init_mode(char *str) - - sep[0] = *ptr; - sep[1] = '\0'; -- while ((count--) && (option = strsep(&str, sep))) { -+ while ((count--) && (option = strsep(&ptr2, sep))) { - /* vout_log_info("%s\n", option); */ - str2lower(option); - vout_init_mode_parse(option); -@@ -619,7 +625,7 @@ static int __init get_vout_init_mode(char *str) +@@ -664,7 +664,16 @@ static int __init get_vout_init_mode(char *str) return 0; } -__setup("vout=", get_vout_init_mode); -+__setup("hdmimode=", get_vout_init_mode); ++//__setup("vout=", get_vout_init_mode); ++ ++void set_vout_init_vmode(char *str) ++{ ++ char str2[1024]; ++ strcpy(str2, str); ++ strcat(str2, ",en"); // logo was already displayed by uboot ++ get_vout_init_mode(str2); ++} ++EXPORT_SYMBOL(set_vout_init_vmode); MODULE_AUTHOR("Platform-BJ "); MODULE_DESCRIPTION("VOUT Server Module"); +diff --git a/include/linux/amlogic/vout/vout_notify.h b/include/linux/amlogic/vout/vout_notify.h +index 2e4922a..659da93 100644 +--- a/include/linux/amlogic/vout/vout_notify.h ++++ b/include/linux/amlogic/vout/vout_notify.h +@@ -102,6 +102,7 @@ extern enum vmode_e validate_vmode2(char *); + extern void set_vout2_mode_internal(char *name); + extern enum vmode_e get_logo_vmode(void); + extern int set_logo_vmode(enum vmode_e); ++extern void set_vout_init_vmode(char *); + + extern int vout2_suspend(void); + extern int vout2_resume(void);