projects/Odroid_C2: switch to linux-amlogic-3.14

This makes Odroid C2 use linux-amlogic and similar linux patches as WeTek Hub
u-boot patch updated to allow overwriting env vars
boot.ini updated to reflect missing features in linux-amlogic
This commit is contained in:
Jonas Karlman 2016-09-19 21:52:29 +02:00
parent 23037b8288
commit 73b406c456
21 changed files with 388 additions and 3584 deletions

View File

@ -40,7 +40,7 @@ case "$LINUX" in
PKG_SOURCE_DIR="$PKG_NAME-amlogic-$PKG_VERSION*"
;;
amlogic-3.14)
PKG_VERSION="c733661"
PKG_VERSION="a0d96f4"
PKG_URL="https://github.com/LibreELEC/linux-amlogic/archive/$PKG_VERSION.tar.gz"
PKG_SOURCE_DIR="$PKG_NAME-amlogic-$PKG_VERSION*"
;;

View File

@ -55,8 +55,10 @@ dd if=$SYSTEM_ROOT/usr/share/bootloader/u-boot of=$BOOT_DISK conv=fsync bs=1 cou
dd if=$SYSTEM_ROOT/usr/share/bootloader/u-boot of=$BOOT_DISK conv=fsync bs=512 skip=1 seek=1
# monkey patch boot.ini for updated kernel
sed -i '/setenv bootcmd "${kernel}; ${dtb}; ${bootseq}"/i \setenv timer "fdt addr 0x1000000; fdt rm /timer"' /flash/boot.ini
sed -i 's|setenv bootcmd "${kernel}; ${dtb}; ${bootseq}"|setenv bootcmd "${kernel}; ${dtb}; ${timer}; ${bootseq}"|' /flash/boot.ini
sed -i 's|setenv odroidp1 "no_console_suspend hdmimode=${video_output} m_bpp=${video_bpp} vout=${video_mode}"|setenv odroidp1 "no_console_suspend logo=${logoopt} vout=${outputmode},enable hdmimode=${hdmimode} cvbsmode=nocvbs"|' /flash/boot.ini
sed -i 's|setenv odroidp2 "${disableuhs} consoleblank=0|setenv odroidp2 "mac=${ethaddr} consoleblank=0|' /flash/boot.ini
sed -i 's|setenv bootcmd "${kernel}; ${dtb}; ${timer}; ${bootseq}"|setenv bootcmd "${kernel}; ${dtb}; ${bootseq}"|' /flash/boot.ini
sed -i 's|setenv bootargs "${console} ${bootrootfs} ${odroid} ${cec} ${hpd} ${dac} ${libreelec}"|setenv bootargs "${console} ${bootrootfs} ${odroid} ${cec} ${libreelec}"|' /flash/boot.ini
# mount $BOOT_ROOT r/o
sync

View File

@ -25,62 +25,44 @@ setenv console "console=tty0"
#------------------------------------------------------------------------------------------------------
#
# Video
# Setup the video output
# Setup the video output (default is 1080p60hz)
# 480 Lines (720x480)
# setenv video_output "480i60hz" # Interlaced 60Hz
# setenv video_output "480i_rpt" # Interlaced for Rear Projection Televisions 60Hz
# setenv video_output "480p60hz" # 480 Progressive 60Hz
# setenv video_output "480p_rpt" # 480 Progressive for Rear Projection Televisions 60Hz
# setenv hdmimode "480i60hz" # Interlaced 60Hz
# setenv hdmimode "480i_rpt" # Interlaced for Rear Projection Televisions 60Hz
# setenv hdmimode "480p60hz" # 480 Progressive 60Hz
# setenv hdmimode "480p_rpt" # 480 Progressive for Rear Projection Televisions 60Hz
# 576 Lines (720x576)
# setenv video_output "576i50hz" # Interlaced 50Hz
# setenv video_output "576i_rpt" # Interlaced for Rear Projection Televisions 50Hz
# setenv video_output "576p50hz" # Progressive 50Hz
# setenv video_output "576p_rpt" # Progressive for Rear Projection Televisions 50Hz
# setenv hdmimode "576i50hz" # Interlaced 50Hz
# setenv hdmimode "576i_rpt" # Interlaced for Rear Projection Televisions 50Hz
# setenv hdmimode "576p50hz" # Progressive 50Hz
# setenv hdmimode "576p_rpt" # Progressive for Rear Projection Televisions 50Hz
# 720 Lines (1280x720)
# setenv video_output "720p50hz" # Progressive 50Hz
# setenv video_output "720p60hz" # Progressive 60Hz
# setenv hdmimode "720p60hz" # Progressive 60Hz
# setenv hdmimode "720p50hz" # Progressive 50Hz
# 1080 Lines (1920x1080)
# setenv video_output "1080i60hz" # Interlaced 60Hz
# setenv video_output "1080p60hz" # Progressive 60Hz
# setenv video_output "1080i50hz" # Interlaced 50Hz
# setenv video_output "1080p50hz" # Progressive 50Hz
# setenv video_output "1080p24hz" # Progressive 24Hz
# setenv hdmimode "1080i60hz" # Interlaced 60Hz
# setenv hdmimode "1080p60hz" # Progressive 60Hz
# setenv hdmimode "1080i50hz" # Interlaced 50Hz
# setenv hdmimode "1080p50hz" # Progressive 50Hz
# setenv hdmimode "1080p30hz" # Progressive 30Hz
# setenv hdmimode "1080p25hz" # Progressive 25Hz
# setenv hdmimode "1080p24hz" # Progressive 24Hz
# 4K (3840x2160)
# setenv video_output "2160p30hz" # Progressive 30Hz
# setenv video_output "2160p25hz" # Progressive 25Hz
# setenv video_output "2160p24hz" # Progressive 24Hz
# setenv video_output "smpte24hz" # Progressive 24Hz SMPTE
# setenv video_output "2160p50hz" # Progressive 50Hz
# setenv video_output "2160p60hz" # Progressive 60Hz
# setenv video_output "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# setenv video_output "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# VESA modes
# setenv video_output "640x480p60hz"
# setenv video_output "800x480p60hz"
# setenv video_output "800x600p60hz"
# setenv video_output "1024x600p60hz"
# setenv video_output "1024x768p60hz"
# setenv video_output "1280x800p60hz"
# setenv video_output "1280x1024p60hz"
# setenv video_output "1360x768p60hz"
# setenv video_output "1366x768p60hz"
# setenv video_output "1440x900p60hz"
# setenv video_output "1600x900p60hz"
# setenv video_output "1680x1050p60hz"
# setenv video_output "1920x1200p60hz"
#
# Setup the HDMI video mode (Must be one or the other)
# setenv video_mode "dvi" # DVI
# setenv video_mode "vga" # VGA
#
# Setup the HDMI BPP Mode
# setenv video_bpp "32" # 32-bit
# setenv video_bpp "24" # 24-bit
# setenv video_bpp "16" # 16-bit
#
# Enable|Disable HDMI Hotplug Detection
# setenv hdmihotplug "0" # Disabled
# setenv hdmihotplug "1" # Enabled
# setenv hdmimode "2160p60hz" # Progressive 60Hz
# setenv hdmimode "2160p50hz" # Progressive 50Hz
# setenv hdmimode "2160p30hz" # Progressive 30Hz
# setenv hdmimode "2160p25hz" # Progressive 25Hz
# setenv hdmimode "2160p24hz" # Progressive 24Hz
# setenv hdmimode "2160p60hz420" # Progressive 60Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# setenv hdmimode "2160p50hz420" # Progressive 50Hz with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# 4K2K (4096x2160)
# setenv hdmimode "smpte60hz" # Progressive 60Hz SMPTE
# setenv hdmimode "smpte50hz" # Progressive 50Hz SMPTE
# setenv hdmimode "smpte30hz" # Progressive 30Hz SMPTE
# setenv hdmimode "smpte25hz" # Progressive 25Hz SMPTE
# setenv hdmimode "smpte24hz" # Progressive 24Hz SMPTE
# setenv hdmimode "smpte60hz420" # Progressive 60Hz SMPTE with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
# setenv hdmimode "smpte50hz420" # Progressive 50Hz SMPTE with YCbCr 4:2:0 (Requires TV/Monitor that supports it)
#
# Enable|Disable HDMI (Saves RAM)
# setenv hdmioutput "0" # Disabled
@ -91,10 +73,6 @@ setenv console "console=tty0"
# setenv vpu "1" # Enabled
#
#------------------------------------------------------------------------------------------------------
setenv video_output "1080p60hz"
setenv video_mode "hdmi"
setenv video_bpp "32"
setenv hdmihotplug "1"
setenv hdmioutput "1"
setenv vpu "1"
@ -107,15 +85,6 @@ setenv vpu "1"
#------------------------------------------------------------------------------------------------------
setenv libreelec "quiet"
#------------------------------------------------------------------------------------------------------
#
# UHS Card Configuration
# Uncomment the line below to __DISABLE__ UHS-1 MicroSD support
# This might break boot for some brand models of cards.
#
#------------------------------------------------------------------------------------------------------
# setenv disableuhs "disableuhs"
#------------------------------------------------------------------------------------------------------
#
# Enable|Disable HDMI CEC Control
@ -125,17 +94,6 @@ setenv libreelec "quiet"
#------------------------------------------------------------------------------------------------------
setenv hdmi_cec "1"
#------------------------------------------------------------------------------------------------------
#
# PCM5102 I2S Audio DAC (HiFi Shield)
# PCM5102 is an I2S Audio DAC Addon board for ODROID-C1+
#
# Enable|Disable Audio DAC
# setenv audio_dac "0" # Disabled
# setenv audio_dac "1" # Enabled
#------------------------------------------------------------------------------------------------------
setenv audio_dac "0"
#------------------------------------------------------------------------------------------------------
#
# CPU Frequency / Cores control
@ -167,11 +125,11 @@ setenv max_freq "1536"
#------------------------------------------------------------------------------------------------------
#
# Odroid C1 specific
# Odroid C2 specific
#
#------------------------------------------------------------------------------------------------------
setenv odroidp1 "no_console_suspend hdmimode=${video_output} m_bpp=${video_bpp} vout=${video_mode}"
setenv odroidp2 "${disableuhs} consoleblank=0 max_freq=${max_freq} maxcpus=${maxcpus}"
setenv odroidp1 "no_console_suspend logo=${logoopt} vout=${outputmode},enable hdmimode=${hdmimode} cvbsmode=nocvbs"
setenv odroidp2 "mac=${ethaddr} consoleblank=0 max_freq=${max_freq} maxcpus=${maxcpus}"
setenv odroid "${odroidp1} ${odroidp2}"
#------------------------------------------------------------------------------------------------------
@ -182,8 +140,7 @@ setenv odroid "${odroidp1} ${odroidp2}"
setenv kernel "fatload mmc 0:1 0x11000000 KERNEL"
setenv dtb "fatload mmc 0:1 0x1000000 meson64_odroidc2.dtb"
setenv bootseq "booti 0x11000000 - 0x1000000"
setenv timer "fdt addr 0x1000000; fdt rm /timer"
setenv bootcmd "${kernel}; ${dtb}; ${timer}; ${bootseq}"
setenv bootcmd "${kernel}; ${dtb}; ${bootseq}"
#------------------------------------------------------------------------------------------------------
#
@ -193,13 +150,11 @@ setenv bootcmd "${kernel}; ${dtb}; ${timer}; ${bootseq}"
# Prepare to boot
if test "${hdmi_cec}" = "1"; then setenv cec "hdmitx=cec17"; fi
if test "${hdmi_hotplug}" = "0"; then setenv hpd "disablehpd=true"; fi
if test "${audio_dac}" = "1"; then setenv dac "enabledac"; fi
if test "${vpu}" = "0"; then fdt rm /mesonstream; fdt rm /vdec; fdt rm /ppmgr; fi
if test "${hdmioutput}" = "0"; then fdt rm /mesonfb; fi
# Populate the final bootcmd
setenv bootargs "${console} ${bootrootfs} ${odroid} ${cec} ${hpd} ${dac} ${libreelec}"
setenv bootargs "${console} ${bootrootfs} ${odroid} ${cec} ${libreelec}"
# Boot the board
run bootcmd

View File

@ -1,8 +0,0 @@
KERNEL=="mali",SUBSYSTEM=="misc",MODE="0777"
KERNEL=="mali0",SUBSYSTEM=="misc",MODE="0777"
KERNEL=="ump",SUBSYSTEM=="ump",MODE="0777"
KERNEL=="ttySAC0", SYMLINK+="ttyACM99"
KERNEL=="event*", SUBSYSTEM=="input", MODE="0777"
KERNEL=="CEC", MODE="0777"
KERNEL=="amvideo", MODE="0666"
KERNEL=="amstream*", MODE="0666"

View File

@ -1,50 +1,69 @@
#!/bin/sh
################################################################################
# This file is part of LibreELEC - https://LibreELEC.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2016 Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
for x in $(cat /proc/cmdline); do
case ${x} in
m_bpp=*) export bpp=${x#*=} ;;
hdmimode=*) export mode=${x#*=} ;;
hdmimode=1080p60hz
# Parse command line arguments
for arg in $(cat /proc/cmdline); do
case $arg in
hdmimode=*)
hdmimode="${arg#*=}"
;;
esac
done
common_display_setup() {
M="0 0 $(($X - 1)) $(($Y - 1))"
Y_VIRT=$(($Y * 2))
fbset -fb /dev/fb0 -g $X $Y $X $Y_VIRT $bpp
fbset -fb /dev/fb1 -g 32 32 32 32 32
echo $mode > /sys/class/display/mode
echo 0 > /sys/class/graphics/fb0/free_scale
echo 1 > /sys/class/graphics/fb0/freescale_mode
echo $M > /sys/class/graphics/fb0/free_scale_axis
echo $M > /sys/class/graphics/fb0/window_axis
echo 0 > /sys/class/graphics/fb1/free_scale
echo 1 > /sys/class/video/disable_video
}
# Enable first framebuffer
echo 0 > /sys/class/graphics/fb0/blank
case $mode in
480*) export X=720 Y=480 ;;
576*) export X=720 Y=576 ;;
720p*) export X=1280 Y=720 ;;
1080*) export X=1920 Y=1080 ;;
2160p*) export X=3840 Y=2160 ;;
smpte24hz*) export X=3840 Y=2160 ;;
640x480p60hz*) export X=640 Y=480 ;;
800x480p60hz*) export X=800 Y=480 ;;
800x600p60hz*) export X=800 Y=600 ;;
1024x600p60hz*) export X=1024 Y=600 ;;
1024x768p60hz*) export X=1024 Y=768 ;;
1280x800p60hz*) export X=1280 Y=800 ;;
1280x1024p60hz*) export X=1280 Y=1024 ;;
1360x768p60hz*) export X=1360 Y=768 ;;
1366x768p60hz*) export X=1366 Y=768 ;;
1440x900p60hz*) export X=1440 Y=900 ;;
1600x900p60hz*) export X=1600 Y=900 ;;
1680x1050p60hz*) export X=1680 Y=1050 ;;
1920x1200p60hz*) export X=1920 Y=1200 ;;
# Disable second framebuffer
echo 1 > /sys/class/graphics/fb1/blank
# Disable framebuffer scaling
echo 0 > /sys/class/graphics/fb0/free_scale
echo 0 > /sys/class/graphics/fb1/free_scale
# set initial video state
echo 1 > /sys/class/video/disable_video
# Set framebuffer geometry to match the resolution
case $hdmimode in
480*) X=720 Y=480 ;;
576*) X=720 Y=576 ;;
720p*) X=1280 Y=720 ;;
*) X=1920 Y=1080 ;;
esac
common_display_setup
fbset -fb /dev/fb0 -g $X $Y 1920 2160 32
fbset -fb /dev/fb1 -g 32 32 32 32 32
# Console unblack
echo 0 > /sys/class/graphics/fb0/blank
echo 0 > /sys/class/graphics/fb1/blank
# Enable scaling for 4K output
case $hdmimode in
4k*|smpte*|2160*)
echo 0 0 1919 1079 > /sys/class/graphics/fb0/free_scale_axis
echo 0 0 3839 2159 > /sys/class/graphics/fb0/window_axis
echo 1920 > /sys/class/graphics/fb0/scale_width
echo 1080 > /sys/class/graphics/fb0/scale_height
echo 0x10001 > /sys/class/graphics/fb0/free_scale
;;
esac
# Include deinterlacer into default VFM map
echo rm default > /sys/class/vfm/map
echo add default decoder ppmgr deinterlace amvideo > /sys/class/vfm/map

View File

@ -1,15 +1,18 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 3.14.79 Kernel Configuration
# 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_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
@ -36,7 +39,7 @@ CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_DEFAULT_HOSTNAME="@DISTRONAME@"
# CONFIG_SWAP is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
@ -123,7 +126,7 @@ CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
@ -203,6 +206,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
@ -211,7 +219,6 @@ CONFIG_COMPAT_OLD_SIGACTION=y
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
@ -268,19 +275,27 @@ CONFIG_ARCH_MESON64_ODROIDC2=y
CONFIG_ARM_AMBA=y
#
# Kernel Features
# ARM errata workarounds via the alternatives framework
#
CONFIG_ARM64_ERRATUM_845719=y
CONFIG_ARM64_ERRATUM_843419=y
CONFIG_ARM64_ERRATUM_835769=y
#
# ARM errata workarounds
# Kernel Features
#
# CONFIG_ARM64_ERRATUM_845719 is not set
# CONFIG_ARM64_64K_PAGES is not set
# CONFIG_CPU_BIG_ENDIAN is not set
CONFIG_SMP=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_SMT is not set
# CONFIG_DISABLE_CPU_SCHED_DOMAIN_BALANCE is not set
CONFIG_SCHED_HMP=y
# CONFIG_SCHED_HMP_PRIO_FILTER is not set
CONFIG_HMP_FAST_CPU_MASK=""
CONFIG_HMP_SLOW_CPU_MASK=""
# CONFIG_HMP_VARIABLE_SCALE is not set
# CONFIG_SCHED_HMP_LITTLE_PACKING is not set
CONFIG_NR_CPUS=4
CONFIG_HOTPLUG_CPU=y
CONFIG_SWP_EMULATE=y
@ -300,7 +315,6 @@ CONFIG_ARMV7_COMPAT_CPUINFO=y
CONFIG_SYS_SUPPORTS_HUGETLBFS=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
@ -329,6 +343,8 @@ CONFIG_CMA_AREAS=7
# CONFIG_ZBUD is not set
# CONFIG_ZSMALLOC is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
# CONFIG_XEN is not set
CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_SECCOMP=y
@ -341,7 +357,6 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y
# CONFIG_CMDLINE_EXTEND is not set
# CONFIG_CMDLINE_FORCE is not set
# CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE is not set
# CONFIG_EFI is not set
#
# Userspace binary formats
@ -402,11 +417,17 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_HOTPLUG=y
# CONFIG_CPU_FREQ_GOV_INTERACTIVE is not set
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
# CONFIG_GENERIC_CPUFREQ_CPU0 is not set
#
# ARM CPU frequency scaling drivers
#
# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARM64_CPU_SUSPEND=y
@ -420,7 +441,6 @@ CONFIG_ARM64_CPU_SUSPEND=y
#
# CONFIG_CPU_IDLE is not set
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
# CONFIG_ARM64_ERRATUM_843419 is not set
CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
@ -779,14 +799,12 @@ CONFIG_MAC80211_LEDS=y
#
# Amlogic Device Drivers
#
#
# AO CEC Support
#
CONFIG_AML_AO_CEC=y
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
CONFIG_AML_CPU_VERSION=y
CONFIG_AML_MESON64_VERSION=y
# CONFIG_AML_M8_VERSION is not set
@ -804,8 +822,10 @@ CONFIG_USB_HOST_ELECT_TEST=y
# I2C Hardware Bus support
#
CONFIG_I2C_AML=y
# CONFIG_I2C_SLAVE_AML is not set
# CONFIG_I2C_SW_AML is not set
# CONFIG_BCM2079X_I2C is not set
# CONFIG_AML_PWM is not set
#
# HDMI TX Support
@ -824,6 +844,7 @@ CONFIG_AML_REG_ACCESS=y
#
# CONFIG_AML_POWER_SUPPORT is not set
# CONFIG_AML_PMU_ALGORITHM_SUPPORT is not set
# CONFIG_AML_PMU4 is not set
#
# Ethernet Support
@ -878,7 +899,6 @@ CONFIG_AM_VOUT=y
CONFIG_AM_TV_OUTPUT=y
CONFIG_AML_VOUT_FRAMERATE_AUTOMATION=y
# CONFIG_AML_VDAC_HW_SWITCH is not set
# CONFIG_AM_LCD_OUTPUT is not set
#
# Amlogic OSD Module
@ -902,10 +922,15 @@ CONFIG_FB_OSD2_CURSOR=y
CONFIG_AM_GE2D=y
CONFIG_AM_LOGO=y
#
# Amlogic LCD Output Module
#
# CONFIG_AML_LCD is not set
#
# Amlogic Backlight Support
#
# CONFIG_AMLOGIC_BACKLIGHT is not set
# CONFIG_AML_BACKLIGHT is not set
# CONFIG_AMLOGIC_LED is not set
#
@ -914,6 +939,7 @@ CONFIG_AM_LOGO=y
CONFIG_AML_CANVAS=y
CONFIG_AMLOGIC_CLK=y
CONFIG_AMLOGIC_SEC=y
# CONFIG_AML_SERR is not set
CONFIG_AMLOGIC_SECURITY_KEY=y
CONFIG_AM_PTSSERVER=y
# CONFIG_H264_4K2K_SINGLE_CORE is not set
@ -934,6 +960,7 @@ CONFIG_AM_VDEC_H264=y
CONFIG_AM_VDEC_H264MVC=y
CONFIG_AM_VDEC_H264_4K2K=y
CONFIG_AM_VDEC_H265=y
CONFIG_AM_VDEC_VP9=y
CONFIG_AM_VDEC_MJPEG=y
CONFIG_AM_ENCODER=y
CONFIG_AM_JPEG_ENCODER=y
@ -945,6 +972,7 @@ CONFIG_AM_TIMESYNC=y
CONFIG_AM_STREAMING=y
CONFIG_AM_SUBTITLE=y
# CONFIG_AM_VIDEOCAPTURE is not set
# CONFIG_AM_HEVCENC is not set
#
# Deinterlace driver
@ -984,7 +1012,7 @@ CONFIG_AML_AUDIO_DSP=y
#
CONFIG_POST_PROCESS_MANAGER=y
CONFIG_POST_PROCESS_MANAGER_PPSCALER=y
# CONFIG_POST_PROCESS_MANAGER_3D_PROCESS is not set
CONFIG_POST_PROCESS_MANAGER_3D_PROCESS=y
#
# Amlogic Wifi Driver
@ -997,6 +1025,7 @@ CONFIG_GXBB_POWER_RESET=y
#
# Amlogic Bt Rfkill Driver
#
# CONFIG_BLUESLEEP is not set
#
# Amlogic ion video support
@ -1013,7 +1042,14 @@ CONFIG_V4L_AMLOGIC_VIDEO=y
#
# Amlogic TVIN Drivers
#
# CONFIG_TVIN is not set
CONFIG_TVIN=y
# CONFIG_TVIN_VDIN is not set
# CONFIG_TVIN_AFE is not set
CONFIG_TVIN_HDMI=y
# CONFIG_TVIN_HDMI_CEC is not set
# CONFIG_TVIN_BT656 is not set
# CONFIG_VIUIN is not set
# CONFIG_TVIN_ISP is not set
#
# Amlogic VECM Drivers
@ -1036,6 +1072,7 @@ CONFIG_MESON_INPUT_KEYBOARD=y
CONFIG_ADC_KEYPADS_AM=y
CONFIG_AML_GPIO_KEY=y
# CONFIG_SENSOR_DEVICES is not set
# CONFIG_AMLOGIC_AVIN_DETECT is not set
# CONFIG_AMLOGIC_MESON_CPUFREQ is not set
CONFIG_AMLOGIC_SCPI_CPUFREQ=y
CONFIG_MESON_SUSPEND=y
@ -1053,6 +1090,7 @@ CONFIG_GXBB_SUSPEND=y
#
# CONFIG_AM_PCMCIA is not set
# CONFIG_AM_IOBUS is not set
# CONFIG_AML_SMARTCARD is not set
#
# MESON MHU mailbox Support
@ -1068,7 +1106,7 @@ CONFIG_AML_RDMA=y
#
# Amlogic temperature sensor
#
# CONFIG_AML_TEMP_SENSOR is not set
CONFIG_AML_TEMP_SENSOR=y
CONFIG_AUDIO_DATA=y
# CONFIG_INSTABOOT is not set
@ -1078,8 +1116,29 @@ CONFIG_AUDIO_DATA=y
# CONFIG_VIDEO_AMLOGIC_CAPTURE is not set
CONFIG_AML_CODEC_MM=y
# CONFIG_AML_WDT is not set
CONFIG_MESON_PWM=y
CONFIG_MESON_PWM_CTRL=y
#
# AMLOGIC SPI Hardware bus support
#
# CONFIG_AMLOGIC_SPICC_MASTER is not set
# CONFIG_AMLOGIC_JTAG is not set
CONFIG_AMLOGIC_CPU_INFO=y
#
# defend img file update support
#
# CONFIG_DEFEND_IMG is not set
#
# AO CEC Support
#
CONFIG_AML_AO_CEC=y
#
# Amlogic Crypto Support
#
# CONFIG_CRYPTO_AML is not set
# CONFIG_AMLOGIC_WATCHPOINT is not set
#
# Generic Driver Options
@ -1214,7 +1273,8 @@ CONFIG_OF=y
#
# Device Tree and Open Firmware support
#
# CONFIG_OF_UNITTEST is not set
CONFIG_PROC_DEVICETREE=y
# CONFIG_OF_SELFTEST is not set
CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_ADDRESS=y
@ -1403,6 +1463,7 @@ CONFIG_NET_VENDOR_WIZNET=y
#
# MII PHY device drivers
#
# CONFIG_AMLOGIC_PHY is not set
# CONFIG_AT803X_PHY is not set
# CONFIG_AMD_PHY is not set
# CONFIG_MARVELL_PHY is not set
@ -1548,13 +1609,12 @@ CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG is not set
# CONFIG_RTL_CARDS is not set
# CONFIG_WL_TI is not set
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set
# CONFIG_MWIFIEX is not set
# CONFIG_CW1200 is not set
# CONFIG_RTL8821AU is not set
# CONFIG_RTL8192CU is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
@ -1657,8 +1717,7 @@ CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_LEGACY_PTYS is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
@ -1687,6 +1746,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_XILINX_PS_UART is not set
# CONFIG_SERIAL_ARC is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SUPPORT_SYSRQ is not set
CONFIG_TTY_PRINTK=y
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
@ -2196,7 +2256,6 @@ CONFIG_IR_IGUANA=m
CONFIG_IR_TTUSBIR=m
# CONFIG_RC_LOOPBACK is not set
CONFIG_IR_GPIO_CIR=m
CONFIG_IR_GPIOPLUG_CIR=m
CONFIG_MEDIA_USB_SUPPORT=y
#
@ -2591,21 +2650,6 @@ CONFIG_FRAMEBUFFER_CONSOLE=m
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_LOGO is not set
# CONFIG_FB_SSD1307 is not set
CONFIG_MALI400=y
CONFIG_MALI450=y
# CONFIG_MALI470 is not set
# CONFIG_MALI400_DEBUG is not set
# CONFIG_MALI400_PROFILING is not set
CONFIG_MALI400_UMP=y
# CONFIG_MALI_DVFS is not set
CONFIG_MALI_DMA_BUF_MAP_ON_ATTACH=y
# CONFIG_MALI_SHARED_INTERRUPTS is not set
# CONFIG_MALI_PMU_PARALLEL_POWER_UP is not set
CONFIG_MALI_DT=y
# CONFIG_MALI_QUIET is not set
CONFIG_UMP=y
# CONFIG_UMP_DEBUG is not set
# CONFIG_FB_TFT is not set
CONFIG_SOUND=y
# CONFIG_SOUND_OSS_CORE is not set
CONFIG_SND=y
@ -2649,10 +2693,16 @@ 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_G9TV is not set
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
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
@ -2676,6 +2726,7 @@ CONFIG_HID_AUREAL=y
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
# CONFIG_HID_DIA_REMOTE is not set
# CONFIG_HID_PRODIKEYS is not set
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=m
@ -2931,6 +2982,9 @@ CONFIG_USB_PHY=y
CONFIG_USB_ISP1301=y
# CONFIG_USB_RCAR_PHY is not set
CONFIG_USB_ULPI=y
# CONFIG_AMLOGIC_USBPHY is not set
# CONFIG_AMLOGIC_USB2PHY is not set
# CONFIG_AMLOGIC_USB3PHY is not set
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not set
@ -3181,14 +3235,11 @@ CONFIG_DVB_AS102=m
# Android
#
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
# CONFIG_ANDROID_BINDER_IPC_32BIT is not set
CONFIG_ASHMEM=y
CONFIG_ANDROID_LOGGER=y
CONFIG_ANDROID_TIMED_OUTPUT=y
# CONFIG_ANDROID_TIMED_GPIO is not set
CONFIG_ANDROID_LOW_MEMORY_KILLER=y
CONFIG_ANDROID_LOW_MEMORY_KILLER_AUTODETECT_OOM_ADJ_VALUES=y
# CONFIG_ANDROID_BINDER_IPC is not set
# CONFIG_ASHMEM is not set
# CONFIG_ANDROID_LOGGER is not set
# CONFIG_ANDROID_TIMED_OUTPUT is not set
# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
# CONFIG_ANDROID_INTF_ALARM_DEV is not set
CONFIG_SYNC=y
CONFIG_SW_SYNC=y
@ -3262,11 +3313,7 @@ CONFIG_RESET_CONTROLLER=y
# CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set
# CONFIG_PHY_EXYNOS_DP_VIDEO is not set
# CONFIG_POWERCAP is not set
#
# Firmware Drivers
#
# CONFIG_FIRMWARE_MEMMAP is not set
# CONFIG_CORESIGHT is not set
#
# File systems
@ -3311,7 +3358,6 @@ CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
# CONFIG_CUSE is not set
# CONFIG_OVERLAY_FS is not set
#
# Caches
@ -3335,6 +3381,7 @@ CONFIG_FAT_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
# CONFIG_EXFAT_FS is not set
# CONFIG_NTFS_FS is not set
#
@ -3391,7 +3438,6 @@ CONFIG_F2FS_FS=y
CONFIG_F2FS_STAT_FS=y
# CONFIG_F2FS_FS_XATTR is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_AUFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
@ -3501,7 +3547,7 @@ CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_INFO_REDUCED is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
CONFIG_FRAME_WARN=2048
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
# CONFIG_UNUSED_SYMBOLS is not set
@ -3629,6 +3675,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_TEST_MODULE is not set
# CONFIG_TEST_USER_COPY is not set
# CONFIG_CHECK_ISR_TIME is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set

View File

@ -45,7 +45,7 @@
# Kernel to use. values can be:
# default: default mainline kernel
LINUX="hardkernel"
LINUX="amlogic-3.14"
################################################################################
# setup build defaults
@ -97,7 +97,7 @@
# for a list of additinoal drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8188EU RTL8192EU RTL8812AU"
ADDITIONAL_DRIVERS="gpu-aml RTL8192CU RTL8192DU RTL8188EU RTL8192EU RTL8812AU"
# additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
# Space separated list is supported,
@ -113,9 +113,6 @@
# Amlogic IR remote support (yes / no)
AMREMOTE_SUPPORT="no"
# Odroid IR remote support (yes / no)
ODROIDREMOTE_SUPPORT="yes"
# build with swap support (yes / no)
SWAP_SUPPORT="no"

View File

@ -25,7 +25,7 @@ index 0fdd48e..881a805 100644
/*!
+ * the path to use for the AOCEC HDMI CEC device
+ */
+#define CEC_AOCEC_PATH "/dev/cec"
+#define CEC_AOCEC_PATH "/dev/aocec"
+
+/*!
+ * the name of the virtual COM port to use for the AOCEC' CEC wire

View File

@ -0,0 +1,113 @@
From fa89009a1869844f9a9360eb07c45d457446ac0e Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@arndb.de>
Date: Thu, 5 Jun 2014 22:48:15 +0200
Subject: [PATCH] staging: rtl8712, rtl8712: avoid lots of build warnings
commit 0c9f3a65c5eb7fe1fc611a22eb8a8b71ea865998 upstream.
The rtl8712 driver has an 'extern inline' function that contains an
'if', which causes lots of warnings with CONFIG_PROFILE_ALL_BRANCHES
overriding the definition of 'if':
drivers/staging/rtl8712/ieee80211.h:759:229: warning: '______f' is static but declared in inline function 'ieee80211_get_hdrlen' which is not static [enabled by default]
This changes the driver to use 'static inline' instead, which happens
to be the correct annotation anyway.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/staging/rtl8187se/ieee80211/ieee80211.h | 4 ++--
drivers/staging/rtl8192u/ieee80211/ieee80211.h | 10 +++++-----
drivers/staging/rtl8712/ieee80211.h | 4 ++--
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211.h b/drivers/staging/rtl8187se/ieee80211/ieee80211.h
index 09ffd9b..6ebdd3f 100644
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211.h
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211.h
@@ -1460,12 +1460,12 @@ extern void ieee80211_sta_ps_send_null_frame(struct ieee80211_device *ieee,
extern const long ieee80211_wlan_frequencies[];
-extern inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
+static inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
{
ieee->scans++;
}
-extern inline int ieee80211_get_scans(struct ieee80211_device *ieee)
+static inline int ieee80211_get_scans(struct ieee80211_device *ieee)
{
return ieee->scans;
}
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
index bc64f05..b1a0380 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
@@ -2250,7 +2250,7 @@ static inline void *ieee80211_priv(struct net_device *dev)
return ((struct ieee80211_device *)netdev_priv(dev))->priv;
}
-extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
+static inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
{
/* Single white space is for Linksys APs */
if (essid_len == 1 && essid[0] == ' ')
@@ -2266,7 +2266,7 @@ extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
return 1;
}
-extern inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mode)
+static inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mode)
{
/*
* It is possible for both access points and our device to support
@@ -2292,7 +2292,7 @@ extern inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mod
return 0;
}
-extern inline int ieee80211_get_hdrlen(u16 fc)
+static inline int ieee80211_get_hdrlen(u16 fc)
{
int hdrlen = IEEE80211_3ADDR_LEN;
@@ -2578,12 +2578,12 @@ void ieee80211_softmac_scan_syncro(struct ieee80211_device *ieee);
extern const long ieee80211_wlan_frequencies[];
-extern inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
+static inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
{
ieee->scans++;
}
-extern inline int ieee80211_get_scans(struct ieee80211_device *ieee)
+static inline int ieee80211_get_scans(struct ieee80211_device *ieee)
{
return ieee->scans;
}
diff --git a/drivers/staging/rtl8712/ieee80211.h b/drivers/staging/rtl8712/ieee80211.h
index da4000e..8269be8 100644
--- a/drivers/staging/rtl8712/ieee80211.h
+++ b/drivers/staging/rtl8712/ieee80211.h
@@ -734,7 +734,7 @@ enum ieee80211_state {
#define IEEE_G (1<<2)
#define IEEE_MODE_MASK (IEEE_A|IEEE_B|IEEE_G)
-extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
+static inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
{
/* Single white space is for Linksys APs */
if (essid_len == 1 && essid[0] == ' ')
@@ -748,7 +748,7 @@ extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
return 1;
}
-extern inline int ieee80211_get_hdrlen(u16 fc)
+static inline int ieee80211_get_hdrlen(u16 fc)
{
int hdrlen = 24;

View File

@ -1,17 +0,0 @@
diff -Naur a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
--- a/include/linux/compiler-gcc.h 2016-02-09 12:52:30.000000000 +0100
+++ b/include/linux/compiler-gcc.h 2016-02-09 21:43:41.133285186 +0100
@@ -53,9 +53,10 @@
*/
#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \
!defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4)
-# define inline inline __attribute__((always_inline)) notrace
-# define __inline__ __inline__ __attribute__((always_inline)) notrace
-# define __inline __inline __attribute__((always_inline)) notrace
+/* XXX: check __GNUC_STDC_INLINE__, fix line length */
+# define inline inline __attribute__((always_inline)) __attribute__((__gnu_inline__))
+# define __inline__ __inline__ __attribute__((always_inline)) __attribute__((__gnu_inline__))
+# define __inline __inline __attribute__((always_inline)) __attribute__((__gnu_inline__))
#else
/* A lot of inline functions can cause havoc with function tracing */
# define inline inline notrace

View File

@ -1,7 +1,8 @@
diff -Naur a/init/main.c b/init/main.c
--- a/init/main.c 2016-08-22 17:01:25.000000000 +0200
+++ b/init/main.c 2016-08-22 17:09:48.000000000 +0200
@@ -915,8 +915,14 @@
diff --git a/init/main.c b/init/main.c
index 9484f4b..db55edd 100644
--- a/init/main.c
+++ b/init/main.c
@@ -880,8 +880,14 @@ static noinline void __init kernel_init_freeable(void)
do_basic_setup();
/* Open the /dev/console on the rootfs, this should never fail */

View File

@ -1,79 +0,0 @@
From a7d02c5cbc830b1a49d9de7c2941edce3d4f2da0 Mon Sep 17 00:00:00 2001
From: Zongdong Jiao <zongdong.jiao@amlogic.com>
Date: Thu, 10 Dec 2015 20:01:32 +0800
Subject: [PATCH] PD#116527: hdmitx20: add PCM 8ch feature
Change-Id: I2208275be4c4a9c5442441945f9d4a83099f75ff
---
drivers/amlogic/hdmi/hdmi_tx_20/hw/hdmi_tx_hw.c | 24 ++++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/drivers/amlogic/hdmi/hdmi_tx_20/hw/hdmi_tx_hw.c b/drivers/amlogic/hdmi/hdmi_tx_20/hw/hdmi_tx_hw.c
index a1dc9e0..f6d1006 100644
--- a/drivers/amlogic/hdmi/hdmi_tx_20/hw/hdmi_tx_hw.c
+++ b/drivers/amlogic/hdmi/hdmi_tx_20/hw/hdmi_tx_hw.c
@@ -2075,13 +2075,20 @@ static void set_aud_info_pkt(struct hdmitx_dev *hdev,
hdmitx_set_reg_bits(HDMITX_DWC_FC_AUDICONF0, 7, 4, 3);
hdmitx_wr_reg(HDMITX_DWC_FC_AUDICONF2, 0x13);
break;
+ case CT_PCM:
+ hdmitx_set_reg_bits(HDMITX_DWC_FC_AUDICONF0,
+ audio_param->channel_num, 4, 3);
+ if (audio_param->channel_num == 0x7)
+ hdmitx_wr_reg(HDMITX_DWC_FC_AUDICONF2, 0x13);
+ else
+ hdmitx_wr_reg(HDMITX_DWC_FC_AUDICONF2, 0x00);
+ break;
case CT_DTS:
case CT_DTS_HD:
default:
/* CC: 2ch */
hdmitx_set_reg_bits(HDMITX_DWC_FC_AUDICONF0, 1, 4, 3);
hdmitx_wr_reg(HDMITX_DWC_FC_AUDICONF2, 0x0);
- hdmitx_wr_reg(HDMITX_DWC_FC_AUDICONF2, 0x0);
break;
}
hdmitx_wr_reg(HDMITX_DWC_FC_AUDICONF3, 0);
@@ -2162,6 +2169,14 @@ static void set_aud_samp_pkt(struct hdmitx_dev *hdev,
hdmitx_set_reg_bits(HDMITX_DWC_FC_AUDSCONF, 1, 0, 1);
break;
case CT_PCM: /* AudSamp */
+ hdmitx_set_reg_bits(HDMITX_DWC_AUD_SPDIF1, 0, 7, 1);
+ hdmitx_set_reg_bits(HDMITX_DWC_AUD_SPDIF1, 0, 6, 1);
+ hdmitx_set_reg_bits(HDMITX_DWC_AUD_SPDIF1, 24, 0, 5);
+ if (audio_param->channel_num == 0x7)
+ hdmitx_set_reg_bits(HDMITX_DWC_FC_AUDSCONF, 1, 0, 1);
+ else
+ hdmitx_set_reg_bits(HDMITX_DWC_FC_AUDSCONF, 0, 0, 1);
+ break;
case CT_AC_3:
case CT_DOLBY_D:
case CT_DTS:
@@ -2171,7 +2186,7 @@ static void set_aud_samp_pkt(struct hdmitx_dev *hdev,
hdmitx_set_reg_bits(HDMITX_DWC_AUD_SPDIF1, 0, 6, 1);
hdmitx_set_reg_bits(HDMITX_DWC_AUD_SPDIF1, 24, 0, 5);
hdmitx_set_reg_bits(HDMITX_DWC_FC_AUDSCONF, 0, 0, 1);
- break;
+ break;
}
}
@@ -2207,7 +2222,8 @@ static int hdmitx_set_audmode(struct hdmitx_dev *hdev,
tx_aud_src = 0;
pr_info("hdmitx tx_aud_src = %d\n", tx_aud_src);
- set_hdmi_audio_source(tx_aud_src ? 1 : 2);
+ /* set_hdmi_audio_source(tx_aud_src ? 1 : 2); */
+ set_hdmi_audio_source(2);
/* config IP */
/* Configure audio */
@@ -3808,7 +3824,7 @@ static void config_hdmi20_tx(enum hdmi_vic vic,
data32 |= (0 << 0);
hdmitx_wr_reg(HDMITX_DWC_FC_AUDICONF1, data32);
- hdmitx_wr_reg(HDMITX_DWC_FC_AUDICONF2, 0x13);
+ hdmitx_wr_reg(HDMITX_DWC_FC_AUDICONF2, 0x00);
data32 = 0;
data32 |= (1 << 5);

View File

@ -1,85 +0,0 @@
diff --git a/drivers/amlogic/cec/hdmi_ao_cec.c b/drivers/amlogic/cec/hdmi_ao_cec.c
index 21ca8bb..9f4686f 100644
--- a/drivers/amlogic/cec/hdmi_ao_cec.c
+++ b/drivers/amlogic/cec/hdmi_ao_cec.c
@@ -225,14 +225,13 @@ unsigned int aocec_rd_reg(unsigned long addr)
{
unsigned int data32;
unsigned long flags;
- waiting_aocec_free();
spin_lock_irqsave(&cec_dev->cec_reg_lock, flags);
+ waiting_aocec_free();
data32 = 0;
data32 |= 0 << 16; /* [16] cec_reg_wr */
data32 |= 0 << 8; /* [15:8] cec_reg_wrdata */
- data32 |= addr << 0; /* [7:0] cec_reg_addr */
+ data32 |= (addr & 0xff) << 0; /* [7:0] cec_reg_addr */
writel(data32, cec_dev->cec_reg + AO_CEC_RW_REG);
-
waiting_aocec_free();
data32 = ((readl(cec_dev->cec_reg + AO_CEC_RW_REG)) >> 24) & 0xff;
spin_unlock_irqrestore(&cec_dev->cec_reg_lock, flags);
@@ -241,15 +240,16 @@ unsigned int aocec_rd_reg(unsigned long addr)
void aocec_wr_reg(unsigned long addr, unsigned long data)
{
- unsigned long data32;
+ unsigned int data32;
unsigned long flags;
- waiting_aocec_free();
spin_lock_irqsave(&cec_dev->cec_reg_lock, flags);
+ waiting_aocec_free();
data32 = 0;
data32 |= 1 << 16; /* [16] cec_reg_wr */
- data32 |= data << 8; /* [15:8] cec_reg_wrdata */
- data32 |= addr << 0; /* [7:0] cec_reg_addr */
+ data32 |= (data & 0xff) << 8; /* [15:8] cec_reg_wrdata */
+ data32 |= (addr & 0xff) << 0; /* [7:0] cec_reg_addr */
writel(data32, cec_dev->cec_reg + AO_CEC_RW_REG);
+ waiting_aocec_free();
spin_unlock_irqrestore(&cec_dev->cec_reg_lock, flags);
} /* aocec_wr_only_reg */
@@ -737,6 +737,8 @@ static void cec_pre_init(void)
{
ao_cec_init();
+ cec_config(cec_dev->tx_dev->cec_func_config, 1);
+
cec_arbit_bit_time_set(3, 0x118, 0);
cec_arbit_bit_time_set(5, 0x000, 0);
cec_arbit_bit_time_set(7, 0x2aa, 0);
@@ -1452,8 +1454,6 @@ static int hdmitx_cec_open(struct inode *inode, struct file *file)
cec_dev->cec_info.open_count++;
if (cec_dev->cec_info.open_count) {
cec_dev->cec_info.hal_ctl = 1;
- /* enable all cec features */
- cec_config(0x2f, 1);
}
return 0;
}
@@ -1463,8 +1463,6 @@ static int hdmitx_cec_release(struct inode *inode, struct file *file)
cec_dev->cec_info.open_count--;
if (!cec_dev->cec_info.open_count) {
cec_dev->cec_info.hal_ctl = 0;
- /* disable all cec features */
- cec_config(0x0, 1);
}
return 0;
}
diff --git a/drivers/amlogic/hdmi/hdmi_tx_20/hdmi_tx_main.c b/drivers/amlogic/hdmi/hdmi_tx_20/hdmi_tx_main.c
index 57105b6..0a7f914 100644
--- a/drivers/amlogic/hdmi/hdmi_tx_20/hdmi_tx_main.c
+++ b/drivers/amlogic/hdmi/hdmi_tx_20/hdmi_tx_main.c
@@ -2467,9 +2467,9 @@ static int __init hdmitx_boot_para_setup(char *s)
init_flag |= INIT_FLAG_NOT_LOAD;
} else if (strncmp(token, "cec", 3) == 0) {
ret = kstrtoul(token+3, 16, &list);
- if ((list >= 0) && (list <= 0x2f))
+ if ((list >= 0) && (list <= 0xff))
hdmitx_device.cec_func_config = list;
- hdmi_print(INF, CEC "HDMI hdmi_cec_func_config:0x%x\n",
+ hdmi_print(IMP, CEC "HDMI hdmi_cec_func_config:0x%x\n",
hdmitx_device.cec_func_config);
} else if (strcmp(token, "forcergb") == 0) {
hdmitx_output_rgb();

View File

@ -1,31 +1,15 @@
From 5b29cd4f629f63a0e594152b49753e36e215ef26 Mon Sep 17 00:00:00 2001
From: Jamie Coldhill <wrxtasy@amnet.net.au>
Date: Fri, 9 Sep 2016 10:33:29 +0800
Subject: [PATCH] Report only working frequecies and bit depths
From edab2a489829689fdaadb90f1897c948ea3c9020 Mon Sep 17 00:00:00 2001
From: kszaq <kszaquitto@gmail.com>
Date: Wed, 3 Jun 2015 10:20:04 +0200
Subject: [PATCH] sound/soc/aml/m8: Report only working frequecies and bit
depths
---
sound/soc/aml/m8/aml_i2s_dai.c | 5 ++---
sound/soc/aml/m8/aml_spdif_codec.c | 5 ++---
2 files changed, 4 insertions(+), 6 deletions(-)
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/sound/soc/aml/m8/aml_i2s_dai.c b/sound/soc/aml/m8/aml_i2s_dai.c
index 5dfbaf1..cc6e5b6 100644
--- a/sound/soc/aml/m8/aml_i2s_dai.c
+++ b/sound/soc/aml/m8/aml_i2s_dai.c
@@ -324,9 +324,8 @@ static int aml_dai_i2s_resume(struct snd_soc_dai *dai)
return 0;
}
-#define AML_DAI_I2S_RATES (SNDRV_PCM_RATE_8000_192000)
-#define AML_DAI_I2S_FORMATS (SNDRV_PCM_FMTBIT_S16_LE |\
- SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)
+#define AML_DAI_I2S_RATES SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 | SNDRV_PCM_RATE_192000
+#define AML_DAI_I2S_FORMATS SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE
static struct snd_soc_dai_ops aml_dai_i2s_ops = {
.startup = aml_dai_i2s_startup,
diff --git a/sound/soc/aml/m8/aml_spdif_codec.c b/sound/soc/aml/m8/aml_spdif_codec.c
index 5ef287b..85f2833 100644
index ac76ef6..cf0e929 100644
--- a/sound/soc/aml/m8/aml_spdif_codec.c
+++ b/sound/soc/aml/m8/aml_spdif_codec.c
@@ -26,9 +26,8 @@
@ -35,10 +19,40 @@ index 5ef287b..85f2833 100644
-#define STUB_RATES SNDRV_PCM_RATE_8000_192000
-#define STUB_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | \
- SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)
+#define STUB_RATES SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 | SNDRV_PCM_RATE_192000
+#define STUB_FORMATS SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE
static struct snd_soc_codec_driver soc_codec_spdif_dit;
+#define STUB_RATES SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 | SNDRV_PCM_RATE_192000
+#define STUB_FORMATS SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE
struct pinctrl *pin_spdif_ctl;
struct device *spdif_dev;
--
1.9.1
1.8.3.1
From 1e6294498438359c4ac39b2ab563487d750fbaaf Mon Sep 17 00:00:00 2001
From: kszaq <kszaquitto@gmail.com>
Date: Tue, 30 Aug 2016 23:31:29 +0200
Subject: [PATCH] sound/soc/aml/m8: report only working frequencies and bit
depths for I2S
---
sound/soc/aml/m8/aml_i2s_dai.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/sound/soc/aml/m8/aml_i2s_dai.c b/sound/soc/aml/m8/aml_i2s_dai.c
index 3626676..d2ebad1 100644
--- a/sound/soc/aml/m8/aml_i2s_dai.c
+++ b/sound/soc/aml/m8/aml_i2s_dai.c
@@ -290,9 +290,8 @@ static int aml_dai_i2s_resume(struct snd_soc_dai *dai)
return 0;
}
-#define AML_DAI_I2S_RATES (SNDRV_PCM_RATE_8000_192000)
-#define AML_DAI_I2S_FORMATS (SNDRV_PCM_FMTBIT_S16_LE |\
- SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)
+#define AML_DAI_I2S_RATES SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 | SNDRV_PCM_RATE_192000
+#define AML_DAI_I2S_FORMATS SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE
static struct snd_soc_dai_ops aml_dai_i2s_ops = {
.startup = aml_dai_i2s_startup,
--
1.8.3.1

View File

@ -17,7 +17,7 @@ diff --git a/drivers/amlogic/mailbox/scpi_protocol.c b/drivers/amlogic/mailbox/s
index ec787d2..f3aa3e0 100644
--- a/drivers/amlogic/mailbox/scpi_protocol.c
+++ b/drivers/amlogic/mailbox/scpi_protocol.c
@@ -129,6 +129,12 @@ static int high_priority_cmds[] = {
@@ -85,6 +85,12 @@ static int high_priority_cmds[] = {
SCPI_CMD_SENSOR_CFG_BOUNDS,
};
@ -30,7 +30,7 @@ index ec787d2..f3aa3e0 100644
static struct scpi_opp *scpi_opps[MAX_DVFS_DOMAINS];
static int scpi_linux_errmap[SCPI_ERR_MAX] = {
@@ -267,6 +273,9 @@ struct scpi_opp *scpi_dvfs_get_opps(u8 domain)
@@ -236,6 +242,9 @@ struct scpi_opp *scpi_dvfs_get_opps(u8 domain)
struct scpi_opp *opps;
size_t opps_sz;
int count, ret;
@ -40,7 +40,7 @@ index ec787d2..f3aa3e0 100644
if (domain >= MAX_DVFS_DOMAINS)
return ERR_PTR(-EINVAL);
@@ -285,6 +294,27 @@ struct scpi_opp *scpi_dvfs_get_opps(u8 domain)
@@ -254,6 +263,27 @@ struct scpi_opp *scpi_dvfs_get_opps(u8 domain)
return ERR_PTR(-ENOMEM);
count = DVFS_OPP_COUNT(buf.header);
@ -68,11 +68,10 @@ index ec787d2..f3aa3e0 100644
opps_sz = count * sizeof(*(opps->opp));
opps->count = count;
@@ -416,3 +446,26 @@ int scpi_get_sensor_value(u16 sensor, u32 *val)
return ret;
@@ -422,3 +452,25 @@ int scpi_send_usr_data(u32 client_id, u32 *val, u32 size)
}
EXPORT_SYMBOL_GPL(scpi_get_sensor_value);
+
EXPORT_SYMBOL_GPL(scpi_send_usr_data);
+#if defined(CONFIG_ARCH_MESON64_ODROIDC2)
+static int __init get_max_freq(char *str)
+{

View File

@ -1,12 +0,0 @@
diff -Naur a/arch/arm64/include/uapi/asm/sigcontext.h b/arch/arm64/include/uapi/asm/sigcontext.h
--- a/arch/arm64/include/uapi/asm/sigcontext.h 2016-04-06 23:18:37.000000000 -0700
+++ b/arch/arm64/include/uapi/asm/sigcontext.h 2016-04-07 16:00:47.870241223 -0700
@@ -58,7 +58,7 @@
struct esr_context {
struct _aarch64_ctx head;
- u64 esr;
+ __u64 esr;
};
#endif /* _UAPI__ASM_SIGCONTEXT_H */

View File

@ -24,13 +24,12 @@ diff -Naur a/include/configs/odroidc2.h b/include/configs/odroidc2.h
#define CONFIG_ENV_SIZE (32 * SZ_1K) /* 32kB */
#define CONFIG_ENV_OFFSET (720 * SZ_1K) /* FIXME: should be
close to U-boot image
@@ -176,8 +168,8 @@
@@ -176,7 +168,7 @@
#define CONFIG_LZO 1
/* storage: emmc/nand/sd */
-#define CONFIG_ENV_OVERWRITE
#define CONFIG_ENV_OVERWRITE
-#define CONFIG_ENV_IS_IN_MMC 1
+//#define CONFIG_ENV_OVERWRITE
+#define CONFIG_ENV_IS_IN_MMC 0
#define CONFIG_SYS_MMC_ENV_DEV 0
#define CONFIG_AML_SD_EMMC 1

View File

@ -263,8 +263,9 @@ CONFIG_FREEZER=y
#
# Platform selection
#
CONFIG_ARCH_VEXPRESS=y
# CONFIG_ARCH_VEXPRESS is not set
# CONFIG_ARCH_XGENE is not set
# CONFIG_ARCH_MESON64_ODROIDC2 is not set
#
# Bus support