mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
Compare commits
104 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8a8d878a5 | ||
|
|
d60a579dfc | ||
|
|
0d3512d492 | ||
|
|
c34104feed | ||
|
|
3585439653 | ||
|
|
926ed98ad4 | ||
|
|
243886e415 | ||
|
|
8744b4876c | ||
|
|
1b99a105fc | ||
|
|
6d192350c3 | ||
|
|
094be53b37 | ||
|
|
48cb2b7581 | ||
|
|
86f796d618 | ||
|
|
62ede1ba96 | ||
|
|
5703acd71f | ||
|
|
b147dc33ab | ||
|
|
a1047be164 | ||
|
|
ff9b487fe9 | ||
|
|
b4a494f231 | ||
|
|
885cb9c2f2 | ||
|
|
1ba716ff1a | ||
|
|
2b45337f3b | ||
|
|
0dfe65f0b2 | ||
|
|
313060e13e | ||
|
|
f4eb2af766 | ||
|
|
93987c3c2e | ||
|
|
1af41effbc | ||
|
|
1fecfa9bcb | ||
|
|
3cbed0708e | ||
|
|
83163d7603 | ||
|
|
94b5be6fc3 | ||
|
|
8dc105dc43 | ||
|
|
32d9edfa4e | ||
|
|
f7e1f6702d | ||
|
|
f98750943c | ||
|
|
3a164d0a84 | ||
|
|
ad1e4fb8fe | ||
|
|
04600bf444 | ||
|
|
89aabaaf9f | ||
|
|
f0187ecbfe | ||
|
|
2d2557f31b | ||
|
|
815f2e7547 | ||
|
|
752cfd01f0 | ||
|
|
d282b30f4e | ||
|
|
917501c9b7 | ||
|
|
c1b70632ba | ||
|
|
54db1b3339 | ||
|
|
8e2b320b99 | ||
|
|
cc9335d6e5 | ||
|
|
4145cfe956 | ||
|
|
4a3bd93539 | ||
|
|
f107fee66f | ||
|
|
aa9b78065d | ||
|
|
aaa2c58989 | ||
|
|
d37c22d61f | ||
|
|
0f820b3068 | ||
|
|
b0482f422b | ||
|
|
792a28b64b | ||
|
|
cb4f28a577 | ||
|
|
7a30bdab0d | ||
|
|
8cc3a30690 | ||
|
|
8e4c355a16 | ||
|
|
a3cc43c4ef | ||
|
|
d90ad6a0af | ||
|
|
3a844a56af | ||
|
|
4e8086843a | ||
|
|
7f8f2e09c3 | ||
|
|
81e511484d | ||
|
|
28493a0ecb | ||
|
|
0f1e2130e6 | ||
|
|
8fe7fb4eaf | ||
|
|
1a3380a66f | ||
|
|
cc49129ea6 | ||
|
|
dbe59534c6 | ||
|
|
171e9da663 | ||
|
|
273585c995 | ||
|
|
9ef4973efa | ||
|
|
9999a2a864 | ||
|
|
7e4ab7250f | ||
|
|
e92c0b39d6 | ||
|
|
e423e70267 | ||
|
|
261b9f041b | ||
|
|
ed84d28cb3 | ||
|
|
e152b81ec6 | ||
|
|
233710a48f | ||
|
|
0908a504c9 | ||
|
|
769122992d | ||
|
|
2ba5ddac6c | ||
|
|
0fca33726d | ||
|
|
adfcd74f37 | ||
|
|
6408e17a5d | ||
|
|
3b96de2f8a | ||
|
|
091ae119ad | ||
|
|
dd83d899f5 | ||
|
|
6690b7360e | ||
|
|
b52a555a22 | ||
|
|
76f4e6db01 | ||
|
|
e0dc3d7e9e | ||
|
|
4fcc3ce6d9 | ||
|
|
443b4fd6a6 | ||
|
|
8e45336ea0 | ||
|
|
3bffa1bf6c | ||
|
|
07407b98f3 | ||
|
|
f3b9188ac1 |
@@ -277,6 +277,9 @@ dashes="==========================="
|
||||
}
|
||||
|
||||
show_config() {
|
||||
# load graphic configuration
|
||||
get_graphicdrivers
|
||||
|
||||
dashes="==========================="
|
||||
config_message="$config_message\n $dashes$dashes$dashes"
|
||||
config_message="$config_message\n Configuration for $DISTRONAME ($([ "$OFFICIAL" = "yes" ] && echo "official" || echo "unofficial"))"
|
||||
@@ -312,6 +315,7 @@ show_config() {
|
||||
config_message="$config_message\n - OpenGLES support (provider):\t\t $OPENGLES_SUPPORT ($OPENGLES)"
|
||||
config_message="$config_message\n - WindowManager:\t\t\t $WINDOWMANAGER"
|
||||
config_message="$config_message\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
|
||||
config_message="$config_message\n - uvesafb support:\t\t\t $UVESAFB_SUPPORT"
|
||||
|
||||
# Hardware decoder support
|
||||
|
||||
@@ -319,8 +323,8 @@ show_config() {
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - Kodi Player driver:\t\t\t $KODIPLAYER_DRIVER"
|
||||
config_message="$config_message\n - VAAPI Support:\t\t\t $VAAPI"
|
||||
config_message="$config_message\n - VDPAU Support:\t\t\t $VDPAU"
|
||||
config_message="$config_message\n - VAAPI Support:\t\t\t $VAAPI_SUPPORT"
|
||||
config_message="$config_message\n - VDPAU Support:\t\t\t $VDPAU_SUPPORT"
|
||||
|
||||
# Input device configuration
|
||||
|
||||
@@ -340,7 +344,6 @@ show_config() {
|
||||
|
||||
config_message="$config_message\n - ALSA support:\t\t\t $ALSA_SUPPORT"
|
||||
config_message="$config_message\n - Pulseaudio support:\t\t\t $PULSEAUDIO_SUPPORT"
|
||||
config_message="$config_message\n - Blu-Ray support:\t\t\t $BLURAY_SUPPORT"
|
||||
config_message="$config_message\n - Bluetooth support:\t\t\t $BLUETOOTH_SUPPORT"
|
||||
config_message="$config_message\n - Hardware Sensors support:\t\t $SENSOR_SUPPORT"
|
||||
config_message="$config_message\n - LCD drivers:\t\t\t\t $LCD_DRIVER"
|
||||
@@ -353,23 +356,22 @@ show_config() {
|
||||
config_message="$config_message\n - Include firmware:\t\t\t $config_firmware"
|
||||
done
|
||||
|
||||
for config_modules in $INITRAMFS_MODULES; do
|
||||
config_message="$config_message\n - Initramfs modules:\t\t\t $config_modules"
|
||||
done
|
||||
|
||||
# Network service configuration
|
||||
|
||||
config_message="$config_message\n\n Network service configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - Avahi (Zeroconf) support:\t\t $AVAHI_DAEMON"
|
||||
config_message="$config_message\n - NFS mounting support:\t\t $NFS_SUPPORT"
|
||||
config_message="$config_message\n - SAMBA mounting support:\t\t $SAMBA_SUPPORT"
|
||||
config_message="$config_message\n - SAMBA server support:\t\t $SAMBA_SERVER"
|
||||
config_message="$config_message\n - SFTP server support:\t\t\t $SFTP_SERVER"
|
||||
config_message="$config_message\n - PPTP support:\t\t\t $PPTP_SUPPORT"
|
||||
config_message="$config_message\n - OpenVPN support:\t\t\t $OPENVPN_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Airplay support:\t\t $AIRPLAY_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Airtunes support:\t\t $AIRTUNES_SUPPORT"
|
||||
config_message="$config_message\n - Kodi AFP support:\t\t\t $AFP_SUPPORT"
|
||||
config_message="$config_message\n - Kodi NFS support:\t\t\t $NFS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi SAMBA client support:\t\t $SAMBA_SUPPORT"
|
||||
config_message="$config_message\n - Kodi UPNP support:\t\t\t $UPNP_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Webserver support:\t\t $WEBSERVER"
|
||||
|
||||
# OS configuration
|
||||
|
||||
@@ -405,8 +407,22 @@ fi
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
config_message="$config_message\n - Kodi version:\t\t\t $MEDIACENTER"
|
||||
config_message="$config_message\n - Kodi nonfree support:\t\t $NONFREE_SUPPORT"
|
||||
config_message="$config_message\n - Kodi DVDCSS support:\t\t\t $DVDCSS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi nonfree support:\t\t $KODI_NONFREE_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Blu-Ray support:\t\t $KODI_BLURAY_SUPPORT"
|
||||
config_message="$config_message\n - Bluray BD+ support:\t\t\t $BLURAY_BDPLUS_SUPPORT"
|
||||
config_message="$config_message\n - Bluray AACS support:\t\t\t $BLURAY_AACS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi DVDCSS support:\t\t\t $KODI_DVDCSS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Airplay support:\t\t $KODI_AIRPLAY_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Airtunes support:\t\t $KODI_AIRTUNES_SUPPORT"
|
||||
config_message="$config_message\n - Kodi AFP support:\t\t\t $KODI_AFP_SUPPORT"
|
||||
config_message="$config_message\n - Kodi NFS support:\t\t\t $KODI_NFS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi MySQL support:\t\t\t $KODI_MYSQL_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Optical Drive support:\t\t $KODI_OPTICAL_SUPPORT"
|
||||
config_message="$config_message\n - Kodi SAMBA client support:\t\t $KODI_SAMBA_SUPPORT"
|
||||
config_message="$config_message\n - Kodi SSH client support:\t\t $KODI_SSHLIB_SUPPORT"
|
||||
config_message="$config_message\n - Kodi UPNP support:\t\t\t $KODI_UPNP_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Webserver support:\t\t $KODI_WEBSERVER_SUPPORT"
|
||||
|
||||
|
||||
for config_skin in $SKINS; do
|
||||
config_message="$config_message\n - Include Skin:\t\t\t $config_skin"
|
||||
|
||||
@@ -40,12 +40,14 @@ get_graphicdrivers() {
|
||||
DRI_DRIVERS="$DRI_DRIVERS,i915"
|
||||
XORG_DRIVERS="$XORG_DRIVERS intel"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "i965" ]; then
|
||||
DRI_DRIVERS="$DRI_DRIVERS,i965"
|
||||
XORG_DRIVERS="$XORG_DRIVERS intel"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VAAPI_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "nouveau" ]; then
|
||||
@@ -56,15 +58,16 @@ get_graphicdrivers() {
|
||||
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,nouveau"
|
||||
XORG_DRIVERS="$XORG_DRIVERS nouveau"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
# LLVM_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "nvidia" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS nvidia"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "nvidia-legacy" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS nvidia-legacy"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "r200" ]; then
|
||||
@@ -78,6 +81,7 @@ get_graphicdrivers() {
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "r600" ]; then
|
||||
@@ -85,6 +89,7 @@ get_graphicdrivers() {
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "radeonsi" ]; then
|
||||
@@ -92,6 +97,7 @@ get_graphicdrivers() {
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
# set default language for buildsystem
|
||||
export LC_ALL=C
|
||||
|
||||
# determines DISTRO, if not forced by user
|
||||
# default is OpenELEC
|
||||
if [ -z "$DISTRO" ]; then
|
||||
DISTRO="OpenELEC"
|
||||
else
|
||||
DISTRO="$DISTRO"
|
||||
fi
|
||||
|
||||
# determines PROJECT, if not forced by user
|
||||
# default is Generic
|
||||
if [ -z "$PROJECT" ]; then
|
||||
@@ -18,20 +26,26 @@ else
|
||||
fi
|
||||
|
||||
ROOT=`pwd`
|
||||
DISTRO_DIR="$ROOT/distributions"
|
||||
PROJECT_DIR="$ROOT/projects"
|
||||
LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $ROOT/packages/linux/package.mk"
|
||||
|
||||
# include versioning
|
||||
. config/version
|
||||
|
||||
# read project options if available
|
||||
if [ -f "$PROJECT_DIR/$PROJECT/options" ]; then
|
||||
. $PROJECT_DIR/$PROJECT/options
|
||||
# read distro versioning if available
|
||||
if [ -f "$DISTRO_DIR/$DISTRO/version" ]; then
|
||||
. $DISTRO_DIR/$DISTRO/version
|
||||
fi
|
||||
|
||||
# read distro options if available
|
||||
if [ -f "$PROJECT_DIR/options.$DISTRO" ]; then
|
||||
. $PROJECT_DIR/options.$DISTRO
|
||||
if [ -f "$DISTRO_DIR/$DISTRO/options" ]; then
|
||||
. $DISTRO_DIR/$DISTRO/options
|
||||
fi
|
||||
|
||||
# read project options if available
|
||||
if [ -f "$PROJECT_DIR/$PROJECT/options" ]; then
|
||||
. $PROJECT_DIR/$PROJECT/options
|
||||
fi
|
||||
|
||||
# Need to point to your actual cc
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# VERSION: set full version, use "devel" for development version
|
||||
OPENELEC_VERSION="devel"
|
||||
OPENELEC_VERSION="4.95.2"
|
||||
|
||||
# OS_VERSION: OS Version
|
||||
OS_VERSION="5.0"
|
||||
|
||||
244
distributions/OpenELEC/options
Normal file
244
distributions/OpenELEC/options
Normal file
@@ -0,0 +1,244 @@
|
||||
# Name of the Distro to build (full name, without special characters)
|
||||
DISTRONAME="OpenELEC"
|
||||
|
||||
# short project description
|
||||
DESCRIPTION="OpenELEC is a fast and userfriendly Kodi Entertainment Center distribution."
|
||||
|
||||
# Welcome Message for e.g. SSH Server (up to 5 Lines)
|
||||
GREETING0="##############################################"
|
||||
GREETING1="# OpenELEC - The living room PC for everyone #"
|
||||
GREETING2="# ...... visit http://www.openelec.tv ...... #"
|
||||
GREETING3="##############################################"
|
||||
GREETING4=""
|
||||
|
||||
# Root password to integrate in the target system
|
||||
ROOT_PASSWORD="openelec"
|
||||
|
||||
# Mediacenter to use (kodi / no)
|
||||
MEDIACENTER="kodi"
|
||||
|
||||
# Skins to install (Confluence)
|
||||
# Space separated list is supported,
|
||||
# e.g. SKINS="Confluence"
|
||||
SKINS="Confluence"
|
||||
|
||||
# Default Skin (Confluence)
|
||||
SKIN_DEFAULT="Confluence"
|
||||
|
||||
# install extra subtitle Fonts for KODI (yes / no)
|
||||
KODI_EXTRA_FONTS="yes"
|
||||
|
||||
# build and install 'RSXS' Screensaver (yes / no)
|
||||
KODI_SCR_RSXS="yes"
|
||||
|
||||
# build and install 'ProjectM' Visualization (yes / no)
|
||||
KODI_VIS_PROJECTM="yes"
|
||||
|
||||
# build and install 'GOOM' Visualization (yes / no)
|
||||
KODI_VIS_GOOM="yes"
|
||||
|
||||
# build and install 'Waveform' Visualization (yes / no)
|
||||
KODI_VIS_WAVEFORM="yes"
|
||||
|
||||
# build and install 'Spectrum' Visualization (yes / no)
|
||||
KODI_VIS_SPECTRUM="yes"
|
||||
|
||||
# build and install 'FishBMC' Visualization (yes / no)
|
||||
# does not work on RPi
|
||||
KODI_VIS_FISHBMC="yes"
|
||||
|
||||
# build and install PulseAudio support (yes / no)
|
||||
PULSEAUDIO_SUPPORT="no"
|
||||
|
||||
# build and install espeak support (yes / no)
|
||||
ESPEAK_SUPPORT="yes"
|
||||
|
||||
# build and install with non-free support
|
||||
# (RAR compression support in KODI) (yes / no)
|
||||
KODI_NONFREE_SUPPORT="yes"
|
||||
|
||||
# build and install with BluRay support (yes / no)
|
||||
KODI_BLURAY_SUPPORT="yes"
|
||||
|
||||
# build and install with BD+ support
|
||||
# (BD+ decryption support in KODI) (yes / no)
|
||||
BLURAY_BDPLUS_SUPPORT="yes"
|
||||
|
||||
# build and install with AACS support
|
||||
# (BD decryption support in KODI) (yes / no)
|
||||
BLURAY_AACS_SUPPORT="yes"
|
||||
|
||||
# build and install with DVDCSS support
|
||||
# (DVD decryption support in KODI) (yes / no)
|
||||
KODI_DVDCSS_SUPPORT="yes"
|
||||
|
||||
# additional drivers to install:
|
||||
# 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 RTL8812AU dvbhdhomerun"
|
||||
|
||||
# build and install bluetooth support (yes / no)
|
||||
BLUETOOTH_SUPPORT="yes"
|
||||
|
||||
# build and install with KODI webfrontend (yes / no)
|
||||
KODI_WEBSERVER_SUPPORT="yes"
|
||||
|
||||
# build and install Avahi (Zeroconf) daemon (yes / no)
|
||||
AVAHI_DAEMON="yes"
|
||||
|
||||
# build with UPnP support (yes / no)
|
||||
KODI_UPNP_SUPPORT="yes"
|
||||
|
||||
# build with MySQL support (yes / no)
|
||||
KODI_MYSQL_SUPPORT="yes"
|
||||
|
||||
# build xbmc with sshlib support (yes / no)
|
||||
KODI_SSHLIB_SUPPORT="yes"
|
||||
|
||||
# build xbmc with optical drive support (yes / no)
|
||||
KODI_OPTICAL_SUPPORT="yes"
|
||||
|
||||
# KODI Audio encoders for usage with optical drive support
|
||||
# Space separated list is supported,
|
||||
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
|
||||
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
|
||||
|
||||
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
|
||||
KODI_AIRPLAY_SUPPORT="yes"
|
||||
|
||||
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
|
||||
KODI_AIRTUNES_SUPPORT="yes"
|
||||
|
||||
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
|
||||
KODI_NFS_SUPPORT="yes"
|
||||
|
||||
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
|
||||
KODI_AFP_SUPPORT="no"
|
||||
|
||||
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
|
||||
KODI_SAMBA_SUPPORT="yes"
|
||||
|
||||
# build with NFS support (mounting nfs shares via the OS) (yes / no)
|
||||
NFS_SUPPORT="yes"
|
||||
|
||||
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
|
||||
SAMBA_SUPPORT="yes"
|
||||
|
||||
# build and install Samba Server (yes / no)
|
||||
SAMBA_SERVER="yes"
|
||||
|
||||
# build and install SFTP Server (yes / no)
|
||||
SFTP_SERVER="yes"
|
||||
|
||||
# build and install PPP support (yes / no)
|
||||
PPTP_SUPPORT="yes"
|
||||
|
||||
# build and install OpenVPN support (yes / no)
|
||||
OPENVPN_SUPPORT="yes"
|
||||
|
||||
# build and install diskmounter support (udevil)
|
||||
# this service provide auto mounting support for external drives in the
|
||||
# mediacenter also automount internally drives at boottime via udev (yes / no)
|
||||
UDEVIL="yes"
|
||||
|
||||
# build and install exFAT fuse support (yes / no)
|
||||
EXFAT="yes"
|
||||
|
||||
# build and install NTFS-3G fuse support (yes / no)
|
||||
NTFS3G="yes"
|
||||
|
||||
# build and install hfs filesystem utilities (yes / no)
|
||||
HFSTOOLS="yes"
|
||||
|
||||
# Windowmanager to use (ratpoison / fluxbox / none)
|
||||
WINDOWMANAGER="fluxbox"
|
||||
|
||||
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
|
||||
# Space separated list is supported,
|
||||
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
|
||||
if [ "$TARGET_ARCH" = "i386" ]; then
|
||||
# TODO: create Legacy build with OpenELEC-4.2
|
||||
# install legacy drivers to i386 ARCH
|
||||
GRAPHIC_DRIVERS="r200 r300 r600 i915 i965 nvidia-legacy"
|
||||
elif [ "$TARGET_ARCH" = "x86_64" ]; then
|
||||
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nvidia"
|
||||
fi
|
||||
|
||||
# build and install remote support (yes / no)
|
||||
REMOTE_SUPPORT="yes"
|
||||
|
||||
# build and install ATV IR remote support (yes / no)
|
||||
ATVCLIENT_SUPPORT="yes"
|
||||
|
||||
# build and install IRServer IR/LCD support (yes / no)
|
||||
IRSERVER_SUPPORT="yes"
|
||||
|
||||
# build and install Joystick support (yes / no)
|
||||
JOYSTICK_SUPPORT="yes"
|
||||
|
||||
# build and install CEC adapter support (yes / no)
|
||||
CEC_SUPPORT="yes"
|
||||
|
||||
# build and install iSCSI support - iscsistart (yes / no)
|
||||
ISCSI_SUPPORT="yes"
|
||||
|
||||
# LCD driver to Use - Possible drivers are ( Comma seperated:
|
||||
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
|
||||
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
|
||||
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
|
||||
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
|
||||
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
|
||||
# picolcd,pyramid,sed1330,sed1520,serialPOS,
|
||||
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
|
||||
# 'all' compiles all drivers;
|
||||
# 'all,!xxx,!yyy' de-selects previously selected drivers
|
||||
# "none" for disable LCD support
|
||||
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428,serialVFD,shuttleVFD"
|
||||
|
||||
# Support for partitioning and formating disks in initramfs (yes / no)
|
||||
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
|
||||
INITRAMFS_PARTED_SUPPORT="no"
|
||||
|
||||
# additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
|
||||
# Space separated list is supported,
|
||||
# e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
|
||||
FIRMWARE="misc-firmware wlan-firmware dvb-firmware"
|
||||
|
||||
# build with swap support (yes / no)
|
||||
SWAP_SUPPORT="no"
|
||||
|
||||
# swap support enabled per default (yes / no)
|
||||
SWAP_ENABLED_DEFAULT="no"
|
||||
|
||||
# swapfile size if SWAP_SUPPORT=yes in MB
|
||||
SWAPFILESIZE="256"
|
||||
|
||||
# build with installer (yes / no)
|
||||
INSTALLER_SUPPORT="yes"
|
||||
|
||||
# Testpackages for development (yes / no)
|
||||
TESTING="no"
|
||||
|
||||
# OEM packages for OEM's (yes / no)
|
||||
OEM_SUPPORT="no"
|
||||
|
||||
# build and install nano text editor (yes / no)
|
||||
NANO_EDITOR="yes"
|
||||
|
||||
# cron support (yes / no)
|
||||
CRON_SUPPORT="yes"
|
||||
|
||||
# Perf support in development builds (yes / no)
|
||||
PERF_SUPPORT="yes"
|
||||
|
||||
# Distribution Specific source location
|
||||
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
|
||||
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
|
||||
|
||||
# Addon Server Url
|
||||
ADDON_SERVER_URL="http://addons.openelec.tv"
|
||||
|
||||
# set the addon dirs
|
||||
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
|
||||
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
||||
|
Before Width: | Height: | Size: 207 KiB After Width: | Height: | Size: 207 KiB |
|
Before Width: | Height: | Size: 439 KiB After Width: | Height: | Size: 439 KiB |
@@ -1,3 +1,9 @@
|
||||
4.3.4
|
||||
fixed xbmc/kodi rebranding error
|
||||
removed driver update option (can't run script from addon settings anymore)
|
||||
4.3.3
|
||||
addon transformed to service addon
|
||||
new addon settings option to enable to check for new driver at boot
|
||||
4.3.2
|
||||
new addon settings option to enable to update driver from web with latest version
|
||||
4.3.1
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
PKG_NAME="sundtek-mediatv"
|
||||
PKG_VERSION="4.3"
|
||||
PKG_REV="2"
|
||||
PKG_REV="4"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://support.sundtek.com/"
|
||||
@@ -29,7 +29,7 @@ PKG_SECTION="driver/dvb"
|
||||
PKG_SHORTDESC="Sundtek USB Stick DVB userspace driver"
|
||||
PKG_LONGDESC="Driver for Sundtek MediaTV Pro (DVB-C, DVB-T, AnalogTV, Composite, S-Video, FM-Radio USB Stick) and Sundtek SkyTV Ultimate (DVB-S/S2 USB)."
|
||||
PKG_IS_ADDON="yes"
|
||||
PKG_ADDON_TYPE="xbmc.python.script"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
make_target() {
|
||||
@@ -49,9 +49,9 @@ make_target() {
|
||||
esac
|
||||
wget -O installer.tar.gz $INSTALLER_URL
|
||||
tar -xzf installer.tar.gz
|
||||
# we run this via wrapper
|
||||
mv opt/bin/mediaclient opt/bin/mediaclient.bin
|
||||
chmod 755 opt/bin/*
|
||||
chmod -R 755 opt/ etc/
|
||||
|
||||
wget -O version.used http://sundtek.de/media/latest.phtml
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
@@ -64,4 +64,5 @@ addon() {
|
||||
cp -P $PKG_DIR/settings-default.xml $ADDON_BUILD/$PKG_ADDON_ID/
|
||||
cp -Pa $PKG_BUILD/opt/bin $ADDON_BUILD/$PKG_ADDON_ID/
|
||||
cp -Pa $PKG_BUILD/opt/lib $ADDON_BUILD/$PKG_ADDON_ID/
|
||||
cp $PKG_BUILD/version.used $ADDON_BUILD/$PKG_ADDON_ID/
|
||||
}
|
||||
|
||||
@@ -17,4 +17,5 @@
|
||||
<setting id="DEVICE4_NUM" value="1" />
|
||||
<setting id="DEVICE5_IP" value="" />
|
||||
<setting id="DEVICE5_NUM" value="1" />
|
||||
<setting id="CHECK_BOOT" value="false" />
|
||||
</settings>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
LD_PRELOAD=/storage/.xbmc/addons/driver.dvb.sundtek-mediatv/lib/libmediaclient.so exec mediaclient.bin "$@"
|
||||
@@ -0,0 +1,247 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2013 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
. /etc/profile
|
||||
|
||||
net_tuner_num_fix() {
|
||||
local num=$1
|
||||
|
||||
[ -z "$num" ] && num=1
|
||||
num=$(( $num *1 ))
|
||||
[ $num -lt 1 ] && num=1
|
||||
num=$(( $num -1 ))
|
||||
echo $num
|
||||
}
|
||||
|
||||
SUNDTEK_ADDON_DIR="$HOME/.kodi/addons/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_HOME="$HOME/.kodi/userdata/addon_data/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_SETTINGS="$SUNDTEK_ADDON_HOME/settings.xml"
|
||||
|
||||
mkdir -p $SUNDTEK_ADDON_HOME
|
||||
|
||||
if [ ! -f "$SUNDTEK_ADDON_HOME/sundtek.conf" ]; then
|
||||
cp $SUNDTEK_ADDON_DIR/config/* $SUNDTEK_ADDON_HOME/
|
||||
else
|
||||
# in case of missing entries in addon home's sundtek.conf
|
||||
entry_set="$(grep use_hwpidfilter $SUNDTEK_ADDON_HOME/sundtek.conf 2>/dev/null)"
|
||||
if [ -z "$entry_set" ]; then
|
||||
sed -i 's|^device_attach=.*|# device_attach not used anymore\n\n# enable HW PID filter\nuse_hwpidfilter=off\n\n# enable listening on network\nenablenetwork=off|g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
sed -i 's|^#first_adapter=.*|first_adapter=0|g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
|
||||
sed -i 's|.*network tuner IP address (OpenELEC specific).*||g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
sed -i 's|.*network_tuner_ip=.*||g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f "$SUNDTEK_ADDON_SETTINGS" ]; then
|
||||
cp $SUNDTEK_ADDON_DIR/settings-default.xml $SUNDTEK_ADDON_SETTINGS
|
||||
fi
|
||||
|
||||
[ ! -f $SUNDTEK_ADDON_HOME/rc_key_enter.map ] && mv $SUNDTEK_ADDON_HOME/rc_key_enter $SUNDTEK_ADDON_HOME/rc_key_enter.map
|
||||
[ ! -f $SUNDTEK_ADDON_HOME/rc_key_ok.map ] && mv $SUNDTEK_ADDON_HOME/rc_key_ok $SUNDTEK_ADDON_HOME/rc_key_ok.map
|
||||
|
||||
mkdir -p /var/config
|
||||
cat "$SUNDTEK_ADDON_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/sundtek-addon.conf
|
||||
. /var/config/sundtek-addon.conf
|
||||
|
||||
# check if there is new driver on web
|
||||
if [ "$CHECK_BOOT" = "true" ]; then
|
||||
if [ ! -f /var/run/sundtek.checked ]; then
|
||||
# only once after boot
|
||||
touch /var/run/sundtek.checked
|
||||
|
||||
(
|
||||
# wait some time before checking
|
||||
sleep 20
|
||||
cd $SUNDTEK_ADDON_DIR
|
||||
|
||||
wget -O version.latest http://sundtek.de/media/latest.phtml
|
||||
|
||||
version_used=$(cat version.used)
|
||||
version_latest=$(cat version.latest)
|
||||
if [ "$version_used" != "$version_latest" ]; then
|
||||
# new version exist
|
||||
kodi-send -a "Notification(Sundtek, \"New driver version exist, update manually\", 7000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
fi
|
||||
)&
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$(pidof mediasrv)" ]; then
|
||||
rm -f /var/log/mediasrv.log
|
||||
rm -f /var/log/mediaclient.log
|
||||
|
||||
SUNDTEK_CONF_TMP=/tmp/sundtek.conf
|
||||
cp $SUNDTEK_ADDON_HOME/sundtek.conf $SUNDTEK_CONF_TMP
|
||||
|
||||
[ -z "$LOWEST_ADAPTER_NUM" ] && LOWEST_ADAPTER_NUM=0
|
||||
sed -i "s|^first_adapter=.*|first_adapter=$LOWEST_ADAPTER_NUM|g" $SUNDTEK_CONF_TMP
|
||||
|
||||
# enable HW PID filter
|
||||
if [ "$ENABLE_HW_PID_FILTER" = "true" ]; then
|
||||
sed -i 's|^use_hwpidfilter=.*|use_hwpidfilter=on|g' $SUNDTEK_CONF_TMP
|
||||
else
|
||||
sed -i 's|^use_hwpidfilter=.*|use_hwpidfilter=off|g' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
# enable IR receiver
|
||||
if [ "$ENABLE_IR_RECEIVER" = "true" ]; then
|
||||
sed -i 's|^ir_disabled=.*|ir_disabled=0|g' $SUNDTEK_CONF_TMP
|
||||
else
|
||||
sed -i 's|^ir_disabled=.*|ir_disabled=1|g' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
if [ "$ALLOW_NET_USE" = "true" ]; then
|
||||
sed -i 's|^enablenetwork=.*|enablenetwork=on|g' $SUNDTEK_CONF_TMP
|
||||
else
|
||||
sed -i 's|^enablenetwork=.*|enablenetwork=off|g' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
[ "$DEVICE1_IP" = "0.0.0.0" ] && DEVICE1_IP=""
|
||||
[ "$DEVICE2_IP" = "0.0.0.0" ] && DEVICE2_IP=""
|
||||
[ "$DEVICE3_IP" = "0.0.0.0" ] && DEVICE3_IP=""
|
||||
[ "$DEVICE4_IP" = "0.0.0.0" ] && DEVICE4_IP=""
|
||||
[ "$DEVICE5_IP" = "0.0.0.0" ] && DEVICE5_IP=""
|
||||
DEVICE1_NUM=$(net_tuner_num_fix $DEVICE1_NUM)
|
||||
DEVICE2_NUM=$(net_tuner_num_fix $DEVICE2_NUM)
|
||||
DEVICE3_NUM=$(net_tuner_num_fix $DEVICE3_NUM)
|
||||
DEVICE4_NUM=$(net_tuner_num_fix $DEVICE4_NUM)
|
||||
DEVICE5_NUM=$(net_tuner_num_fix $DEVICE5_NUM)
|
||||
|
||||
if [ "$USE_NET_TUNERS" = "true" -a -n "$DEVICE1_IP" ]; then
|
||||
# delete all network tuner entries
|
||||
awk '/^\[NETWORK\]/{flag=1; next} /^device=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-net
|
||||
mv ${SUNDTEK_CONF_TMP}-net $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
# add entries
|
||||
echo -e "\n[NETWORK]" >>$SUNDTEK_CONF_TMP
|
||||
for dev in $(seq 0 $DEVICE1_NUM); do
|
||||
echo "device=$DEVICE1_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE2_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE2_NUM); do
|
||||
echo "device=$DEVICE2_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE3_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE3_NUM); do
|
||||
echo "device=$DEVICE3_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE4_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE4_NUM); do
|
||||
echo "device=$DEVICE4_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE5_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE5_NUM); do
|
||||
echo "device=$DEVICE5_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# delete all network tuner entries
|
||||
awk '/^\[NETWORK\]/{flag=1; next} /^device=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-net
|
||||
mv ${SUNDTEK_CONF_TMP}-net $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
if [ "$ENABLE_TUNER_TYPES" = "true" ]; then
|
||||
# get tuner serial numbers
|
||||
SERIALS=$(cat /var/config/sundtek-addon.conf | sed -n 's|^ATTACHED_TUNER_\(.*\)_DVBMODE=.*|\1|gp' | sort | uniq)
|
||||
. /var/config/sundtek-addon.conf
|
||||
|
||||
for SERIAL in $SERIALS; do
|
||||
DVBMODE=$(eval echo \$ATTACHED_TUNER_${SERIAL}_DVBMODE)
|
||||
IRPROT=$(eval echo \$ATTACHED_TUNER_${SERIAL}_IRPROT)
|
||||
KEYMAP=$(eval echo \$ATTACHED_TUNER_${SERIAL}_KEYMAP)
|
||||
|
||||
if [ "$DVBMODE" = "DVB-T" ]; then
|
||||
# only set DVB-T because default is DVB-C (and DVB-S is not set either)
|
||||
DVBMODE="DVBT"
|
||||
else
|
||||
DVBMODE=""
|
||||
fi
|
||||
|
||||
[ "$IRPROT" = "NEC" -o "$IRPROT" = "auto" ] && IRPROT=""
|
||||
|
||||
[ ! -f $KEYMAP ] && KEYMAP=""
|
||||
|
||||
# remove setttings for this tuner
|
||||
awk -v val="[$SERIAL]" '$0 == val {flag=1; next} /^ir_protocol=|^rcmap=|^initial_dvb_mode=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-types
|
||||
mv ${SUNDTEK_CONF_TMP}-types $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
|
||||
ADDNEW=true
|
||||
if [ -n "$DVBMODE" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "initial_dvb_mode=$DVBMODE" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
if [ -n "$IRPROT" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "ir_protocol=$IRPROT" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
if [ -n "$KEYMAP" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "rcmap=$KEYMAP" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
fi
|
||||
|
||||
md5_1=$(md5sum -b $SUNDTEK_CONF_TMP | awk '{print $1}')
|
||||
md5_2=$(md5sum -b $SUNDTEK_ADDON_HOME/sundtek.conf | awk '{print $1}')
|
||||
if [ "$md5_1" != "$md5_2" ]; then
|
||||
# file changed - copy to addon home
|
||||
cp $SUNDTEK_CONF_TMP $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
fi
|
||||
|
||||
chmod +x $SUNDTEK_ADDON_DIR/bin/*
|
||||
mediasrv --wait-for-devices -p $SUNDTEK_ADDON_DIR/bin -c $SUNDTEK_ADDON_HOME/sundtek.conf -d
|
||||
|
||||
# wait few seconds
|
||||
[ -z "$SETTLE_TIME" ] && SETTLE_TIME=0
|
||||
SETTLE_TIME=$(( $SETTLE_TIME *1 ))
|
||||
if [ $SETTLE_TIME -gt 0 ]; then
|
||||
logger -t Sundtek "### Settle for $SETTLE_TIME sec ###"
|
||||
sleep $SETTLE_TIME
|
||||
fi
|
||||
|
||||
if [ "$RUN_USER_SCRIPT" = "true" -a -f "$SUNDTEK_ADDON_HOME/userscript.sh" ]; then
|
||||
logger -t Sundtek "### Running user script $SUNDTEK_ADDON_HOME/userscript.sh ###"
|
||||
cat $SUNDTEK_ADDON_HOME/userscript.sh | dos2unix >/var/run/sundtek-userscript.sh
|
||||
sh /var/run/sundtek-userscript.sh
|
||||
fi
|
||||
|
||||
# save adapter serial number
|
||||
serial_number_old=$(cat $SUNDTEK_ADDON_HOME/adapters.txt 2>/dev/null)
|
||||
serial_number_new=$(mediaclient -e | awk '/device / {print $0} /SERIAL/ {id=1} /ID:/ {if (id==1) print $2}')
|
||||
if [ "$serial_number_old" != "$serial_number_new" ]; then
|
||||
echo "$serial_number_new" >$SUNDTEK_ADDON_HOME/adapters.txt
|
||||
fi
|
||||
fi
|
||||
|
||||
logger -t Sundtek "### Sundtek ready ###"
|
||||
@@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2013 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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 OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
. /etc/profile
|
||||
|
||||
ADDON_DIR="$HOME/.kodi/addons/driver.dvb.sundtek-mediatv"
|
||||
|
||||
logger -t Sundtek "### Sundtek driver stop ###"
|
||||
mediaclient --shutdown
|
||||
@@ -20,18 +20,27 @@
|
||||
|
||||
. /etc/profile
|
||||
|
||||
SUNDTEK_ADDON_DIR="$HOME/.xbmc/addons/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_HOME="$HOME/.xbmc/userdata/addon_data/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_DIR="$HOME/.kodi/addons/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_HOME="$HOME/.kodi/userdata/addon_data/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_SETTINGS="$SUNDTEK_ADDON_HOME/settings.xml"
|
||||
|
||||
logger -t Sundtek "### Starting updating driver ###"
|
||||
xbmc-send -a "Notification(Sundtek, Starting updating driver, 2000)"
|
||||
kodi-send -a "Notification(Sundtek, Starting updating driver, 2000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
|
||||
cd "$SUNDTEK_ADDON_DIR"
|
||||
rm -fr tmp
|
||||
mkdir tmp
|
||||
cd tmp
|
||||
|
||||
wget -O ../version.used http://sundtek.de/media/latest.phtml
|
||||
if [ $? -ne 0 ]; then
|
||||
logger -t Sundtek "### Can't get latest version ###"
|
||||
kodi-send -a "Notification(Sundtek, Can't get latest version, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
cd ..
|
||||
rm -fr tmp/
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ARCH=$(sed -n 's|.*\.\([^-]*\)-.*|\1|p' /etc/release | tr -d '\n')
|
||||
if [ "$ARCH" = "x86_64" ]; then
|
||||
INSTALLER_URL="http://sundtek.de/media/netinst/64bit/installer.tar.gz"
|
||||
@@ -41,32 +50,38 @@ elif [ "$ARCH" = "arm" ]; then
|
||||
INSTALLER_URL="http://sundtek.de/media/netinst/armsysvhf/installer.tar.gz"
|
||||
else
|
||||
logger -t Sundtek "### Unsupported architecture ###"
|
||||
xbmc-send -a "Notification(Sundtek, Unsupported architecture, 5000)"
|
||||
kodi-send -a "Notification(Sundtek, Unsupported architecture, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
cd ..
|
||||
rm -fr tmp
|
||||
exit 1
|
||||
fi
|
||||
|
||||
logger -t Sundtek "### Downloading driver archive for $ARCH ###"
|
||||
xbmc-send -a "Notification(Sundtek, Downloading driver archive for $ARCH, 2000)"
|
||||
wget -O installer.tar.gz $INSTALLER_URL
|
||||
logger -t Sundtek "### Extracting archive ###"
|
||||
xbmc-send -a "Notification(Sundtek, Extracting archive, 2000)"
|
||||
tar -xzf installer.tar.gz
|
||||
if [ $? -ne 0 ]; then
|
||||
logger -t Sundtek "### Archive damaged ###"
|
||||
xbmc-send -a "Notification(Sundtek, Archive damaged, 5000)"
|
||||
cd ..
|
||||
rm -fr tmp/
|
||||
exit 2
|
||||
fi
|
||||
|
||||
killall -9 mediaclient.bin &>/dev/null
|
||||
logger -t Sundtek "### Downloading driver archive for $ARCH ###"
|
||||
kodi-send -a "Notification(Sundtek, Downloading driver archive for $ARCH, 2000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
wget -O installer.tar.gz $INSTALLER_URL
|
||||
if [ $? -ne 0 ]; then
|
||||
logger -t Sundtek "### Archive damaged ###"
|
||||
kodi-send -a "Notification(Sundtek, Download failed, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
cd ..
|
||||
rm -fr tmp/
|
||||
exit 3
|
||||
fi
|
||||
logger -t Sundtek "### Extracting archive ###"
|
||||
kodi-send -a "Notification(Sundtek, Extracting archive, 2000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
tar -xzf installer.tar.gz
|
||||
if [ $? -ne 0 ]; then
|
||||
logger -t Sundtek "### Archive damaged ###"
|
||||
kodi-send -a "Notification(Sundtek, Archive damaged, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
cd ..
|
||||
rm -fr tmp/
|
||||
exit 4
|
||||
fi
|
||||
|
||||
chmod -R 755 opt/ etc/
|
||||
|
||||
killall -9 mediaclient &>/dev/null
|
||||
killall -9 mediasrv &>/dev/null
|
||||
|
||||
# we run this via wrapper
|
||||
mv opt/bin/mediaclient opt/bin/mediaclient.bin
|
||||
chmod 755 opt/bin/*
|
||||
|
||||
cp -Pa opt/bin/* ../bin/
|
||||
@@ -75,7 +90,7 @@ cp -Pa opt/lib/* ../lib/
|
||||
cd ..
|
||||
rm -fr tmp
|
||||
|
||||
logger -t Sundtek "### Driver update finished, please reboot ###"
|
||||
xbmc-send -a "Notification(Sundtek, Driver update finished, 2000)"
|
||||
xbmc-send -a "Notification(Sundtek, Please reboot, 5000)"
|
||||
logger -t Sundtek "### Driver update finished ###"
|
||||
kodi-send -a "Notification(Sundtek, Driver update finished, 5000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
kodi-send -a "Notification(Sundtek, Please reboot, 5000, $SUNDTEK_ADDON_DIR/icon.png)"
|
||||
exit 0
|
||||
@@ -20,223 +20,11 @@
|
||||
|
||||
. /etc/profile
|
||||
|
||||
# start locking mechanism - allows only one instance to be run at a time
|
||||
SUNDTEK_LOCKFILE="/var/lock/userspace-driver-sundtek.lck"
|
||||
SUNDTEK_LOCKFD=99
|
||||
# obtain an exclusive lock
|
||||
exlock() { eval "exec $SUNDTEK_LOCKFD>\"$SUNDTEK_LOCKFILE\""; flock -x $SUNDTEK_LOCKFD; }
|
||||
# drop a lock
|
||||
unlock() { flock -u $SUNDTEK_LOCKFD; flock -xn $SUNDTEK_LOCKFD && rm -f "$SUNDTEK_LOCKFILE"; }
|
||||
# end locking mechanism
|
||||
SUNDTEK_ADDON_DIR="$HOME/.kodi/addons/driver.dvb.sundtek-mediatv"
|
||||
|
||||
# exclusive lock
|
||||
exlock
|
||||
|
||||
net_tuner_num_fix() {
|
||||
local num=$1
|
||||
|
||||
[ -z "$num" ] && num=1
|
||||
num=$(( $num *1 ))
|
||||
[ $num -lt 1 ] && num=1
|
||||
num=$(( $num -1 ))
|
||||
echo $num
|
||||
}
|
||||
|
||||
SUNDTEK_ADDON_DIR="$HOME/.xbmc/addons/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_HOME="$HOME/.xbmc/userdata/addon_data/driver.dvb.sundtek-mediatv"
|
||||
SUNDTEK_ADDON_SETTINGS="$SUNDTEK_ADDON_HOME/settings.xml"
|
||||
|
||||
mkdir -p $SUNDTEK_ADDON_HOME
|
||||
|
||||
if [ ! -f "$SUNDTEK_ADDON_HOME/sundtek.conf" ]; then
|
||||
cp $SUNDTEK_ADDON_DIR/config/* $SUNDTEK_ADDON_HOME/
|
||||
if [ -f $SUNDTEK_ADDON_DIR/lib/libmediaclient.so ]; then
|
||||
logger -t Sundtek "### Preloading library ###"
|
||||
export LD_PRELOAD=$SUNDTEK_ADDON_DIR/lib/libmediaclient.so
|
||||
else
|
||||
# in case of missing entries in addon home's sundtek.conf
|
||||
entry_set="$(grep use_hwpidfilter $SUNDTEK_ADDON_HOME/sundtek.conf 2>/dev/null)"
|
||||
if [ -z "$entry_set" ]; then
|
||||
sed -i 's|^device_attach=.*|# device_attach not used anymore\n\n# enable HW PID filter\nuse_hwpidfilter=off\n\n# enable listening on network\nenablenetwork=off|g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
sed -i 's|^#first_adapter=.*|first_adapter=0|g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
|
||||
sed -i 's|.*network tuner IP address (OpenELEC specific).*||g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
sed -i 's|.*network_tuner_ip=.*||g' $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
fi
|
||||
logger -t Sundtek "### Preloading library doesn't exist ###"
|
||||
fi
|
||||
|
||||
if [ ! -f "$SUNDTEK_ADDON_SETTINGS" ]; then
|
||||
cp $SUNDTEK_ADDON_DIR/settings-default.xml $SUNDTEK_ADDON_SETTINGS
|
||||
fi
|
||||
|
||||
[ ! -f $SUNDTEK_ADDON_HOME/rc_key_enter.map ] && mv $SUNDTEK_ADDON_HOME/rc_key_enter $SUNDTEK_ADDON_HOME/rc_key_enter.map
|
||||
[ ! -f $SUNDTEK_ADDON_HOME/rc_key_ok.map ] && mv $SUNDTEK_ADDON_HOME/rc_key_ok $SUNDTEK_ADDON_HOME/rc_key_ok.map
|
||||
|
||||
mkdir -p /var/config
|
||||
cat "$SUNDTEK_ADDON_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/sundtek-addon.conf
|
||||
. /var/config/sundtek-addon.conf
|
||||
|
||||
export LD_PRELOAD=$SUNDTEK_ADDON_DIR/lib/libmediaclient.so
|
||||
|
||||
if [ -z "$(pidof mediasrv)" ]; then
|
||||
rm -f /var/log/mediasrv.log
|
||||
rm -f /var/log/mediaclient.log
|
||||
|
||||
SUNDTEK_CONF_TMP=/tmp/sundtek.conf
|
||||
cp $SUNDTEK_ADDON_HOME/sundtek.conf $SUNDTEK_CONF_TMP
|
||||
|
||||
[ -z "$LOWEST_ADAPTER_NUM" ] && LOWEST_ADAPTER_NUM=0
|
||||
sed -i "s|^first_adapter=.*|first_adapter=$LOWEST_ADAPTER_NUM|g" $SUNDTEK_CONF_TMP
|
||||
|
||||
# enable HW PID filter
|
||||
if [ "$ENABLE_HW_PID_FILTER" = "true" ]; then
|
||||
sed -i 's|^use_hwpidfilter=.*|use_hwpidfilter=on|g' $SUNDTEK_CONF_TMP
|
||||
else
|
||||
sed -i 's|^use_hwpidfilter=.*|use_hwpidfilter=off|g' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
# enable IR receiver
|
||||
if [ "$ENABLE_IR_RECEIVER" = "true" ]; then
|
||||
sed -i 's|^ir_disabled=.*|ir_disabled=0|g' $SUNDTEK_CONF_TMP
|
||||
else
|
||||
sed -i 's|^ir_disabled=.*|ir_disabled=1|g' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
if [ "$ALLOW_NET_USE" = "true" ]; then
|
||||
sed -i 's|^enablenetwork=.*|enablenetwork=on|g' $SUNDTEK_CONF_TMP
|
||||
else
|
||||
sed -i 's|^enablenetwork=.*|enablenetwork=off|g' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
[ "$DEVICE1_IP" = "0.0.0.0" ] && DEVICE1_IP=""
|
||||
[ "$DEVICE2_IP" = "0.0.0.0" ] && DEVICE2_IP=""
|
||||
[ "$DEVICE3_IP" = "0.0.0.0" ] && DEVICE3_IP=""
|
||||
[ "$DEVICE4_IP" = "0.0.0.0" ] && DEVICE4_IP=""
|
||||
[ "$DEVICE5_IP" = "0.0.0.0" ] && DEVICE5_IP=""
|
||||
DEVICE1_NUM=$(net_tuner_num_fix $DEVICE1_NUM)
|
||||
DEVICE2_NUM=$(net_tuner_num_fix $DEVICE2_NUM)
|
||||
DEVICE3_NUM=$(net_tuner_num_fix $DEVICE3_NUM)
|
||||
DEVICE4_NUM=$(net_tuner_num_fix $DEVICE4_NUM)
|
||||
DEVICE5_NUM=$(net_tuner_num_fix $DEVICE5_NUM)
|
||||
|
||||
if [ "$USE_NET_TUNERS" = "true" -a -n "$DEVICE1_IP" ]; then
|
||||
# delete all network tuner entries
|
||||
awk '/^\[NETWORK\]/{flag=1; next} /^device=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-net
|
||||
mv ${SUNDTEK_CONF_TMP}-net $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
# add entries
|
||||
echo -e "\n[NETWORK]" >>$SUNDTEK_CONF_TMP
|
||||
for dev in $(seq 0 $DEVICE1_NUM); do
|
||||
echo "device=$DEVICE1_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE2_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE2_NUM); do
|
||||
echo "device=$DEVICE2_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE3_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE3_NUM); do
|
||||
echo "device=$DEVICE3_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE4_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE4_NUM); do
|
||||
echo "device=$DEVICE4_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
if [ -n "$DEVICE5_IP" ]; then
|
||||
for dev in $(seq 0 $DEVICE5_NUM); do
|
||||
echo "device=$DEVICE5_IP:$dev" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# delete all network tuner entries
|
||||
awk '/^\[NETWORK\]/{flag=1; next} /^device=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-net
|
||||
mv ${SUNDTEK_CONF_TMP}-net $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
if [ "$ENABLE_TUNER_TYPES" = "true" ]; then
|
||||
# get tuner serial numbers
|
||||
SERIALS=$(cat /var/config/sundtek-addon.conf | sed -n 's|^ATTACHED_TUNER_\(.*\)_DVBMODE=.*|\1|gp' | sort | uniq)
|
||||
. /var/config/sundtek-addon.conf
|
||||
|
||||
for SERIAL in $SERIALS; do
|
||||
DVBMODE=$(eval echo \$ATTACHED_TUNER_${SERIAL}_DVBMODE)
|
||||
IRPROT=$(eval echo \$ATTACHED_TUNER_${SERIAL}_IRPROT)
|
||||
KEYMAP=$(eval echo \$ATTACHED_TUNER_${SERIAL}_KEYMAP)
|
||||
|
||||
if [ "$DVBMODE" = "DVB-T" ]; then
|
||||
# only set DVB-T because default is DVB-C (and DVB-S is not set either)
|
||||
DVBMODE="DVBT"
|
||||
else
|
||||
DVBMODE=""
|
||||
fi
|
||||
|
||||
[ "$IRPROT" = "NEC" -o "$IRPROT" = "auto" ] && IRPROT=""
|
||||
|
||||
[ ! -f $KEYMAP ] && KEYMAP=""
|
||||
|
||||
# remove setttings for this tuner
|
||||
awk -v val="[$SERIAL]" '$0 == val {flag=1; next} /^ir_protocol=|^rcmap=|^initial_dvb_mode=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-types
|
||||
mv ${SUNDTEK_CONF_TMP}-types $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
|
||||
ADDNEW=true
|
||||
if [ -n "$DVBMODE" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "initial_dvb_mode=$DVBMODE" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
if [ -n "$IRPROT" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "ir_protocol=$IRPROT" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
if [ -n "$KEYMAP" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "rcmap=$KEYMAP" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
fi
|
||||
|
||||
md5_1=$(md5sum -b $SUNDTEK_CONF_TMP | awk '{print $1}')
|
||||
md5_2=$(md5sum -b $SUNDTEK_ADDON_HOME/sundtek.conf | awk '{print $1}')
|
||||
if [ "$md5_1" != "$md5_2" ]; then
|
||||
# file changed - copy to addon home
|
||||
cp $SUNDTEK_CONF_TMP $SUNDTEK_ADDON_HOME/sundtek.conf
|
||||
fi
|
||||
|
||||
mediasrv --wait-for-devices -p $SUNDTEK_ADDON_DIR/bin -c $SUNDTEK_ADDON_HOME/sundtek.conf -d
|
||||
|
||||
# wait few seconds
|
||||
[ -z "$SETTLE_TIME" ] && SETTLE_TIME=0
|
||||
SETTLE_TIME=$(( $SETTLE_TIME *1 ))
|
||||
if [ $SETTLE_TIME -gt 0 ]; then
|
||||
logger -t Sundtek "### Settle for $SETTLE_TIME sec ###"
|
||||
sleep $SETTLE_TIME
|
||||
fi
|
||||
|
||||
if [ "$RUN_USER_SCRIPT" = "true" -a -f "$SUNDTEK_ADDON_HOME/userscript.sh" ]; then
|
||||
logger -t Sundtek "### Running user script $SUNDTEK_ADDON_HOME/userscript.sh ###"
|
||||
cat $SUNDTEK_ADDON_HOME/userscript.sh | dos2unix >/var/run/sundtek-userscript.sh
|
||||
sh /var/run/sundtek-userscript.sh
|
||||
fi
|
||||
(
|
||||
# save adapter serial number in background
|
||||
sleep 5
|
||||
serial_number_old=$(cat $SUNDTEK_ADDON_HOME/adapters.txt 2>/dev/null)
|
||||
serial_number_new=$(mediaclient.bin -e | awk '/device / {print $0} /ID:/ {print $2}')
|
||||
if [ "$serial_number_old" != "$serial_number_new" ]; then
|
||||
echo "$serial_number_new" >$SUNDTEK_ADDON_HOME/adapters.txt
|
||||
fi
|
||||
)&
|
||||
fi
|
||||
|
||||
logger -t Sundtek "### Sundtek ready ###"
|
||||
|
||||
# unlock the lock
|
||||
unlock
|
||||
|
||||
@@ -26,18 +26,18 @@ __cwd__ = __settings__.getAddonInfo('path')
|
||||
__resources_lib__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'lib'))
|
||||
__settings_xml__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'settings.xml'))
|
||||
|
||||
__mediaclient__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'mediaclient.bin'))
|
||||
__ld_preload__ = xbmc.translatePath(os.path.join(__cwd__, 'lib', 'libmediaclient.so'))
|
||||
__mediaclient_e__ = 'LD_PRELOAD=' + __ld_preload__ + ' ' + __mediaclient__ + ' -e'
|
||||
__update_sh__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'update-driver.sh'))
|
||||
__mediaclient__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'mediaclient'))
|
||||
__mediaclient_e__ = __mediaclient__ + ' -e'
|
||||
__update_sh__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'sundtek-update-driver.sh'))
|
||||
|
||||
if __name__ == "__main__" and len(sys.argv) == 2 and sys.argv[1] == 'refresh_tuners':
|
||||
sys.path.append(__resources_lib__)
|
||||
from functions import refresh_sundtek_tuners
|
||||
refresh_sundtek_tuners(__settings_xml__, __mediaclient_e__)
|
||||
__settings__.openSettings()
|
||||
elif __name__ == "__main__" and len(sys.argv) == 2 and sys.argv[1] == 'update_driver':
|
||||
proc = subprocess.Popen([__update_sh__], shell = True)
|
||||
return_code = proc.wait()
|
||||
print "sundtek update driver rv", return_code
|
||||
__settings__.openSettings()
|
||||
if __name__ == "__main__" and len(sys.argv) == 2:
|
||||
if sys.argv[1] == 'refresh_tuners':
|
||||
sys.path.append(__resources_lib__)
|
||||
from functions import refresh_sundtek_tuners
|
||||
refresh_sundtek_tuners(__settings_xml__, __mediaclient_e__)
|
||||
__settings__.openSettings()
|
||||
elif sys.argv[1] == 'update_driver':
|
||||
proc = subprocess.Popen([__update_sh__], shell = True)
|
||||
return_code = proc.wait()
|
||||
print "sundtek update driver return value" + str(return_code)
|
||||
__settings__.openSettings()
|
||||
|
||||
@@ -29,5 +29,6 @@
|
||||
<string id="9030"> keymap filename</string>
|
||||
|
||||
<string id="3000">Driver</string>
|
||||
<string id="3020">Check for new driver version at boot</string>
|
||||
<string id="3010">Update from web... (press me)</string>
|
||||
</strings>
|
||||
|
||||
@@ -22,7 +22,7 @@ import shutil
|
||||
import xmlpp
|
||||
from xml.dom import minidom
|
||||
|
||||
__sundtek_userspace__ = '/storage/.xbmc/userdata/addon_data/driver.dvb.sundtek-mediatv/'
|
||||
__sundtek_userspace__ = '/storage/.kodi/userdata/addon_data/driver.dvb.sundtek-mediatv/'
|
||||
|
||||
######################################################################################################
|
||||
# backup setting.xml file only if backup doesn't exist
|
||||
|
||||
@@ -29,8 +29,11 @@
|
||||
<setting id="ENABLE_TUNER_TYPES" type="bool" label="9005" default="true" />
|
||||
<setting label="9010" option="close" type="action" action="RunScript($ID, refresh_tuners)" />
|
||||
</category>
|
||||
<!--
|
||||
<category label="3000">
|
||||
<setting type="sep" />
|
||||
<setting id="CHECK_BOOT" type="bool" label="3020" default="false" />
|
||||
<setting label="3010" option="close" type="action" action="RunScript($ID, update_driver)" />
|
||||
</category>
|
||||
-->
|
||||
</settings>
|
||||
|
||||
@@ -25,9 +25,10 @@ oe_setup_addon driver.dvb.sundtek-mediatv
|
||||
if [ "$SUSPEND_DRIVER" = "true" ]; then
|
||||
case "$1" in
|
||||
pre)
|
||||
killall -9 mediasrv &>/dev/null
|
||||
systemctl stop driver.dvb.sundtek-mediatv.service
|
||||
;;
|
||||
post)
|
||||
systemctl start driver.dvb.sundtek-mediatv.service
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Sundtek driver service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=-/bin/sh -c "exec sh /storage/.kodi/addons/driver.dvb.sundtek-mediatv/bin/sundtek-mediatv.start"
|
||||
ExecStop=-/bin/sh -c "exec sh /storage/.kodi/addons/driver.dvb.sundtek-mediatv/bin/sundtek-mediatv.stop"
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=kodi.target
|
||||
@@ -1,6 +1,6 @@
|
||||
diff -Naur libcec-2.2-8d84f8b/configure.ac libcec-2.2-8d84f8b.patch/configure.ac
|
||||
--- libcec-2.2-8d84f8b/configure.ac 2014-10-27 12:55:30.000000000 +0100
|
||||
+++ libcec-2.2-8d84f8b.patch/configure.ac 2014-10-27 13:11:03.726445999 +0100
|
||||
diff -Naur libcec-2.2.0/configure.ac libcec-2.2.0.patch/configure.ac
|
||||
--- libcec-2.2.0/configure.ac 2014-11-01 01:51:37.000000000 +0100
|
||||
+++ libcec-2.2.0.patch/configure.ac 2014-11-10 23:14:45.210162950 +0100
|
||||
@@ -100,6 +100,14 @@
|
||||
esac
|
||||
fi
|
||||
@@ -16,7 +16,7 @@ diff -Naur libcec-2.2-8d84f8b/configure.ac libcec-2.2-8d84f8b.patch/configure.ac
|
||||
## add the top dir and include to the include path, so we can include config.h and cec.h
|
||||
CPPFLAGS="$CPPFLAGS -I\$(abs_top_srcdir)/src -I\$(abs_top_srcdir)/include"
|
||||
|
||||
@@ -305,6 +313,17 @@
|
||||
@@ -306,6 +314,17 @@
|
||||
fi
|
||||
|
||||
|
||||
@@ -34,10 +34,10 @@ diff -Naur libcec-2.2-8d84f8b/configure.ac libcec-2.2-8d84f8b.patch/configure.ac
|
||||
## check if our build system is complete
|
||||
AC_CHECK_HEADER(algorithm,,AC_MSG_ERROR($msg_required_header_missing))
|
||||
AC_CHECK_HEADER(ctype.h,,AC_MSG_ERROR($msg_required_header_missing))
|
||||
diff -Naur libcec-2.2-8d84f8b/include/cectypes.h libcec-2.2-8d84f8b.patch/include/cectypes.h
|
||||
--- libcec-2.2-8d84f8b/include/cectypes.h 2014-10-27 12:55:30.000000000 +0100
|
||||
+++ libcec-2.2-8d84f8b.patch/include/cectypes.h 2014-10-27 13:12:22.785470074 +0100
|
||||
@@ -306,6 +306,17 @@
|
||||
diff -Naur libcec-2.2.0/include/cectypes.h libcec-2.2.0.patch/include/cectypes.h
|
||||
--- libcec-2.2.0/include/cectypes.h 2014-10-28 16:20:50.000000000 +0100
|
||||
+++ libcec-2.2.0.patch/include/cectypes.h 2014-11-10 23:21:37.347945493 +0100
|
||||
@@ -307,6 +307,17 @@
|
||||
#define CEC_EXYNOS_VIRTUAL_COM "Exynos"
|
||||
|
||||
/*!
|
||||
@@ -55,7 +55,7 @@ diff -Naur libcec-2.2-8d84f8b/include/cectypes.h libcec-2.2-8d84f8b.patch/includ
|
||||
* Mimimum client version
|
||||
*/
|
||||
#define CEC_MIN_LIB_VERSION 2
|
||||
@@ -887,7 +898,8 @@
|
||||
@@ -888,7 +899,8 @@
|
||||
ADAPTERTYPE_P8_DAUGHTERBOARD = 0x2,
|
||||
ADAPTERTYPE_RPI = 0x100,
|
||||
ADAPTERTYPE_TDA995x = 0x200,
|
||||
@@ -65,9 +65,9 @@ diff -Naur libcec-2.2-8d84f8b/include/cectypes.h libcec-2.2-8d84f8b.patch/includ
|
||||
} cec_adapter_type;
|
||||
|
||||
typedef struct cec_menu_language
|
||||
diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/AdapterFactory.cpp libcec-2.2-8d84f8b.patch/src/lib/adapter/AdapterFactory.cpp
|
||||
--- libcec-2.2-8d84f8b/src/lib/adapter/AdapterFactory.cpp 2014-10-27 12:55:30.000000000 +0100
|
||||
+++ libcec-2.2-8d84f8b.patch/src/lib/adapter/AdapterFactory.cpp 2014-10-27 13:16:07.856765188 +0100
|
||||
diff -Naur libcec-2.2.0/src/lib/adapter/AdapterFactory.cpp libcec-2.2.0.patch/src/lib/adapter/AdapterFactory.cpp
|
||||
--- libcec-2.2.0/src/lib/adapter/AdapterFactory.cpp 2014-10-28 16:20:50.000000000 +0100
|
||||
+++ libcec-2.2.0.patch/src/lib/adapter/AdapterFactory.cpp 2014-11-10 23:18:08.761485552 +0100
|
||||
@@ -57,6 +57,11 @@
|
||||
#include "Exynos/ExynosCECAdapterCommunication.h"
|
||||
#endif
|
||||
@@ -104,24 +104,166 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/AdapterFactory.cpp libcec-2.2-8d84
|
||||
#error "libCEC doesn't have support for any type of adapter. please check your build system or configuration"
|
||||
#endif
|
||||
|
||||
@@ -155,7 +175,12 @@
|
||||
return new CUSBCECAdapterCommunication(m_lib->m_cec, strPort, iBaudRate);
|
||||
@@ -151,11 +171,16 @@
|
||||
return new CRPiCECAdapterCommunication(m_lib->m_cec);
|
||||
#endif
|
||||
|
||||
-#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_EXYNOS_API)
|
||||
+#if defined(HAVE_IMX_API)
|
||||
+ if (!strcmp(strPort, CEC_IMX_VIRTUAL_COM))
|
||||
+ return new CIMXCECAdapterCommunication(m_lib->m_cec);
|
||||
+#endif
|
||||
+
|
||||
#if defined(HAVE_P8_USB)
|
||||
return new CUSBCECAdapterCommunication(m_lib->m_cec, strPort, iBaudRate);
|
||||
#endif
|
||||
|
||||
-#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_EXYNOS_API)
|
||||
+#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_EXYNOS_API) && !defined(HAVE_IMX_API)
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp libcec-2.2-8d84f8b.patch/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
--- libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ libcec-2.2-8d84f8b.patch/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp 2014-10-27 13:11:03.735446822 +0100
|
||||
@@ -0,0 +1,367 @@
|
||||
diff -Naur libcec-2.2.0/src/lib/adapter/IMX/AdapterMessageQueue.h libcec-2.2.0.patch/src/lib/adapter/IMX/AdapterMessageQueue.h
|
||||
--- libcec-2.2.0/src/lib/adapter/IMX/AdapterMessageQueue.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ libcec-2.2.0.patch/src/lib/adapter/IMX/AdapterMessageQueue.h 2014-11-10 23:14:45.214162390 +0100
|
||||
@@ -0,0 +1,134 @@
|
||||
+#pragma once
|
||||
+/*
|
||||
+ * This file is part of the libCEC(R) library.
|
||||
+ *
|
||||
+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
|
||||
+ * libCEC(R) is an original work, containing original code.
|
||||
+ *
|
||||
+ * libCEC(R) is a trademark of Pulse-Eight Limited.
|
||||
+ *
|
||||
+ * This program is dual-licensed; 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.
|
||||
+ *
|
||||
+ * This program 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 this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
+ *
|
||||
+ *
|
||||
+ * Alternatively, you can license this library under a commercial license,
|
||||
+ * please contact Pulse-Eight Licensing for more information.
|
||||
+ *
|
||||
+ * For more information contact:
|
||||
+ * Pulse-Eight Licensing <license@pulse-eight.com>
|
||||
+ * http://www.pulse-eight.com/
|
||||
+ * http://www.pulse-eight.net/
|
||||
+ */
|
||||
+
|
||||
+#include "lib/platform/threads/mutex.h"
|
||||
+
|
||||
+namespace CEC
|
||||
+{
|
||||
+ using namespace PLATFORM;
|
||||
+
|
||||
+ class CAdapterMessageQueueEntry
|
||||
+ {
|
||||
+ public:
|
||||
+ CAdapterMessageQueueEntry(const cec_command &command)
|
||||
+ : m_bWaiting(true), m_retval((uint32_t)-1), m_bSucceeded(false)
|
||||
+ {
|
||||
+ m_hash = hashValue(
|
||||
+ uint32_t(command.opcode_set ? command.opcode : CEC_OPCODE_NONE),
|
||||
+ command.initiator, command.destination);
|
||||
+ }
|
||||
+
|
||||
+ virtual ~CAdapterMessageQueueEntry(void) {}
|
||||
+
|
||||
+ /*!
|
||||
+ * @brief Query result from worker thread
|
||||
+ */
|
||||
+ uint32_t Result() const
|
||||
+ {
|
||||
+ return m_retval;
|
||||
+ }
|
||||
+
|
||||
+ /*!
|
||||
+ * @brief Signal waiting threads
|
||||
+ */
|
||||
+ void Broadcast(void)
|
||||
+ {
|
||||
+ CLockObject lock(m_mutex);
|
||||
+ m_condition.Broadcast();
|
||||
+ }
|
||||
+
|
||||
+ /*!
|
||||
+ * @brief Signal waiting thread(s) when message matches this entry
|
||||
+ */
|
||||
+ bool CheckMatch(uint32_t opcode, cec_logical_address initiator,
|
||||
+ cec_logical_address destination, uint32_t response)
|
||||
+ {
|
||||
+ uint32_t hash = hashValue(opcode, initiator, destination);
|
||||
+
|
||||
+ if (hash == m_hash)
|
||||
+ {
|
||||
+ CLockObject lock(m_mutex);
|
||||
+
|
||||
+ m_retval = response;
|
||||
+ m_bSucceeded = true;
|
||||
+ m_condition.Signal();
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ /*!
|
||||
+ * @brief Wait for a response to this command.
|
||||
+ * @param iTimeout The timeout to use while waiting.
|
||||
+ * @return True when a response was received before the timeout passed, false otherwise.
|
||||
+ */
|
||||
+ bool Wait(uint32_t iTimeout)
|
||||
+ {
|
||||
+ CLockObject lock(m_mutex);
|
||||
+
|
||||
+ bool bReturn = m_bSucceeded ? true : m_condition.Wait(m_mutex, m_bSucceeded, iTimeout);
|
||||
+ m_bWaiting = false;
|
||||
+ return bReturn;
|
||||
+ }
|
||||
+
|
||||
+ /*!
|
||||
+ * @return True while a thread is waiting for a signal or isn't waiting yet, false otherwise.
|
||||
+ */
|
||||
+ bool IsWaiting(void)
|
||||
+ {
|
||||
+ CLockObject lock(m_mutex);
|
||||
+ return m_bWaiting;
|
||||
+ }
|
||||
+
|
||||
+ /*!
|
||||
+ * @return Hash value for given cec_command
|
||||
+ */
|
||||
+ static uint32_t hashValue(uint32_t opcode,
|
||||
+ cec_logical_address initiator,
|
||||
+ cec_logical_address destination)
|
||||
+ {
|
||||
+ return 1 | ((uint32_t)initiator << 8) |
|
||||
+ ((uint32_t)destination << 16) | ((uint32_t)opcode << 16);
|
||||
+ }
|
||||
+
|
||||
+ private:
|
||||
+ bool m_bWaiting; /**< true while a thread is waiting or when it hasn't started waiting yet */
|
||||
+ PLATFORM::CCondition<bool> m_condition; /**< the condition to wait on */
|
||||
+ PLATFORM::CMutex m_mutex; /**< mutex for changes to this class */
|
||||
+ uint32_t m_hash;
|
||||
+ uint32_t m_retval;
|
||||
+ bool m_bSucceeded;
|
||||
+ };
|
||||
+
|
||||
+};
|
||||
diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
--- libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp 2014-11-10 23:14:45.217161982 +0100
|
||||
@@ -0,0 +1,328 @@
|
||||
+/*
|
||||
+ * This file is part of the libCEC(R) library.
|
||||
+ *
|
||||
@@ -131,7 +273,6 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+ * libCEC(R) is a trademark of Pulse-Eight Limited.
|
||||
+ *
|
||||
+ * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
|
||||
+ * Copyright (C) 2014 by Matus Kral
|
||||
+ *
|
||||
+ * You can redistribute this file and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
@@ -159,12 +300,37 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+#include "lib/LibCEC.h"
|
||||
+#include "lib/platform/sockets/cdevsocket.h"
|
||||
+#include "lib/platform/util/StdString.h"
|
||||
+#include "lib/platform/util/buffer.h"
|
||||
+
|
||||
+/*
|
||||
+ * Ioctl definitions from kernel header
|
||||
+ */
|
||||
+#define HDMICEC_IOC_MAGIC 'H'
|
||||
+#define HDMICEC_IOC_SETLOGICALADDRESS _IOW(HDMICEC_IOC_MAGIC, 1, unsigned char)
|
||||
+#define HDMICEC_IOC_STARTDEVICE _IO(HDMICEC_IOC_MAGIC, 2)
|
||||
+#define HDMICEC_IOC_STOPDEVICE _IO(HDMICEC_IOC_MAGIC, 3)
|
||||
+#define HDMICEC_IOC_GETPHYADDRESS _IOR(HDMICEC_IOC_MAGIC, 4, unsigned char[4])
|
||||
+
|
||||
+#define MAX_CEC_MESSAGE_LEN 17
|
||||
+
|
||||
+#define MESSAGE_TYPE_RECEIVE_SUCCESS 1
|
||||
+#define MESSAGE_TYPE_NOACK 2
|
||||
+#define MESSAGE_TYPE_DISCONNECTED 3
|
||||
+#define MESSAGE_TYPE_CONNECTED 4
|
||||
+#define MESSAGE_TYPE_SEND_SUCCESS 5
|
||||
+
|
||||
+typedef struct hdmi_cec_event{
|
||||
+ int event_type;
|
||||
+ int msg_len;
|
||||
+ unsigned char msg[MAX_CEC_MESSAGE_LEN];
|
||||
+}hdmi_cec_event;
|
||||
+
|
||||
+
|
||||
+using namespace std;
|
||||
+using namespace CEC;
|
||||
+using namespace PLATFORM;
|
||||
+
|
||||
+#include "IMXCECAdapterMessageQueue.h"
|
||||
+#include "AdapterMessageQueue.h"
|
||||
+
|
||||
+#define LIB_CEC m_callback->GetLib()
|
||||
+
|
||||
@@ -178,12 +344,15 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+#define CEC_MSG_FAIL_DEST_NOT_ACK 0x85 /*Message transmisson failed: Destination Address not aknowledged*/
|
||||
+#define CEC_MSG_FAIL_DATA_NOT_ACK 0x86 /*Message transmisson failed: Databyte not acknowledged*/
|
||||
+
|
||||
+
|
||||
+CIMXCECAdapterCommunication::CIMXCECAdapterCommunication(IAdapterCommunicationCallback *callback) :
|
||||
+ IAdapterCommunication(callback)
|
||||
+ IAdapterCommunication(callback)/*,
|
||||
+ m_bLogicalAddressChanged(false)*/
|
||||
+{
|
||||
+ CLockObject lock(m_mutex);
|
||||
+
|
||||
+ m_iNextMessage = 0;
|
||||
+ //m_logicalAddresses.Clear();
|
||||
+ m_logicalAddress = CECDEVICE_UNKNOWN;
|
||||
+ m_bLogicalAddressRegistered = false;
|
||||
+ m_bInitialised = false;
|
||||
@@ -210,9 +379,8 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+ {
|
||||
+ if (!bStartListening || CreateThread()) {
|
||||
+ if (m_dev->Ioctl(HDMICEC_IOC_STARTDEVICE, NULL) == 0) {
|
||||
+ m_bInitialised = true;
|
||||
+ RegisterLogicalAddress(CECDEVICE_BROADCAST);
|
||||
+ return true;
|
||||
+ m_bInitialised = true;
|
||||
+ return true;
|
||||
+ }
|
||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: Unable to start device\n", __func__);
|
||||
+ }
|
||||
@@ -225,18 +393,17 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+
|
||||
+void CIMXCECAdapterCommunication::Close(void)
|
||||
+{
|
||||
+ StopThread(-1);
|
||||
+ if (m_bInitialised)
|
||||
+ {
|
||||
+ m_bInitialised = false;
|
||||
+ UnregisterLogicalAddress();
|
||||
+ StopThread(0);
|
||||
+
|
||||
+ if (m_dev->Ioctl(HDMICEC_IOC_STOPDEVICE, NULL) != 0)
|
||||
+ {
|
||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: Unable to stop device\n", __func__);
|
||||
+ }
|
||||
+ CLockObject lock(m_mutex);
|
||||
+ if (!m_bInitialised) {
|
||||
+ return;
|
||||
+ }
|
||||
+ if (m_dev->Ioctl(HDMICEC_IOC_STOPDEVICE, NULL) != 0) {
|
||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: Unable to stop device\n", __func__);
|
||||
+ }
|
||||
+ m_dev->Close();
|
||||
+ m_bInitialised = false;
|
||||
+}
|
||||
+
|
||||
+
|
||||
@@ -248,19 +415,17 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+
|
||||
+
|
||||
+cec_adapter_message_state CIMXCECAdapterCommunication::Write(
|
||||
+ const cec_command &data, bool &bRetry, uint8_t iLineTimeout, bool UNUSED(bIsReply))
|
||||
+ const cec_command &data, bool &UNUSED(bRetry), uint8_t UNUSED(iLineTimeout), bool UNUSED(bIsReply))
|
||||
+{
|
||||
+ unsigned char message[MAX_MESSAGE_LEN];
|
||||
+ CIMXCECAdapterMessageQueueEntry *entry;
|
||||
+ //cec_frame frame;
|
||||
+ unsigned char message[MAX_CEC_MESSAGE_LEN];
|
||||
+ int msg_len = 1;
|
||||
+ cec_adapter_message_state rc = ADAPTER_MESSAGE_STATE_ERROR;
|
||||
+
|
||||
+ bRetry = true;
|
||||
+ if ((size_t)data.parameters.size + data.opcode_set + 1 > sizeof(message))
|
||||
+ {
|
||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: data size too large !", __func__);
|
||||
+ bRetry = false;
|
||||
+ return rc;
|
||||
+ return ADAPTER_MESSAGE_STATE_ERROR;
|
||||
+ }
|
||||
+
|
||||
+ message[0] = (data.initiator << 4) | (data.destination & 0x0f);
|
||||
@@ -272,46 +437,12 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+ msg_len+=data.parameters.size;
|
||||
+ }
|
||||
+
|
||||
+ entry = new CIMXCECAdapterMessageQueueEntry(message[0], data.opcode);
|
||||
+ m_messageMutex.Lock();
|
||||
+ uint32_t msgKey = ++m_iNextMessage;
|
||||
+ m_messages.insert(make_pair(msgKey, entry));
|
||||
+ m_messageMutex.Unlock();
|
||||
+
|
||||
+ if (m_dev->Write(message, msg_len) > 0)
|
||||
+ if (m_dev->Write(message, msg_len) == msg_len)
|
||||
+ {
|
||||
+ if (entry->Wait(data.transmit_timeout ? data.transmit_timeout : iLineTimeout *1000))
|
||||
+ {
|
||||
+ int status = entry->Result();
|
||||
+
|
||||
+ if (status == MESSAGE_TYPE_NOACK)
|
||||
+ rc = ADAPTER_MESSAGE_STATE_SENT_NOT_ACKED;
|
||||
+ else if (status == MESSAGE_TYPE_SEND_SUCCESS)
|
||||
+ rc = ADAPTER_MESSAGE_STATE_SENT_ACKED;
|
||||
+
|
||||
+ bRetry = false;
|
||||
+ }
|
||||
+ rc = ADAPTER_MESSAGE_STATE_SENT_ACKED;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ rc = ADAPTER_MESSAGE_STATE_WAITING_TO_BE_SENT;
|
||||
+#ifdef CEC_DEBUGGING
|
||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s: command timed out !", __func__);
|
||||
+#endif
|
||||
+ }
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ Sleep(CEC_DEFAULT_TRANSMIT_RETRY_WAIT);
|
||||
+#ifdef CEC_DEBUGGING
|
||||
+ LIB_CEC->AddLog(CEC_LOG_WARNING, "%s: write failed !", __func__);
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+ m_messageMutex.Lock();
|
||||
+ m_messages.erase(msgKey);
|
||||
+ m_messageMutex.Unlock();
|
||||
+
|
||||
+ delete entry;
|
||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: sent command error !", __func__);
|
||||
+
|
||||
+ return rc;
|
||||
+}
|
||||
@@ -332,16 +463,19 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+
|
||||
+uint16_t CIMXCECAdapterCommunication::GetPhysicalAddress(void)
|
||||
+{
|
||||
+ uint8_t phy_addr[4];
|
||||
+ uint32_t info;
|
||||
+ uint16_t phy_addr;
|
||||
+
|
||||
+ if (m_dev->Ioctl(HDMICEC_IOC_GETPHYADDRESS, &phy_addr) != 0)
|
||||
+ if (m_dev->Ioctl(HDMICEC_IOC_GETPHYADDRESS, &info) != 0)
|
||||
+ {
|
||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: HDMICEC_IOC_GETPHYADDRESS failed !", __func__);
|
||||
+ return CEC_INVALID_PHYSICAL_ADDRESS;
|
||||
+ }
|
||||
+ /* Rebuild 16 bit raw value from fsl 32 bits value */
|
||||
+ phy_addr = ((info & 0x0f) << 12) | (info & 0x0f00) |
|
||||
+ ((info & 0x0f0000) >> 12) | ((info & 0x0f000000) >> 24);
|
||||
+
|
||||
+ m_physicalAddress = ((phy_addr[0] << 4 | phy_addr[1]) << 8) | (phy_addr[2] << 4 | phy_addr[3]);
|
||||
+ return m_physicalAddress;
|
||||
+ return phy_addr;
|
||||
+}
|
||||
+
|
||||
+
|
||||
@@ -351,7 +485,7 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+ addresses.Clear();
|
||||
+
|
||||
+ CLockObject lock(m_mutex);
|
||||
+ if (m_bLogicalAddressRegistered)
|
||||
+ if ((m_logicalAddress & (CECDEVICE_UNKNOWN | CECDEVICE_UNREGISTERED)) == 0)
|
||||
+ addresses.Set(m_logicalAddress);
|
||||
+
|
||||
+ return addresses;
|
||||
@@ -364,11 +498,9 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+
|
||||
+bool CIMXCECAdapterCommunication::UnregisterLogicalAddress(void)
|
||||
+{
|
||||
+ {
|
||||
+ CLockObject lock(m_mutex);
|
||||
+ if (!m_bLogicalAddressRegistered)
|
||||
+ return true;
|
||||
+ }
|
||||
+ CLockObject lock(m_mutex);
|
||||
+ if (!m_bLogicalAddressRegistered)
|
||||
+ return true;
|
||||
+
|
||||
+ if (m_dev->Ioctl(HDMICEC_IOC_SETLOGICALADDRESS, (void *)CECDEVICE_BROADCAST) != 0)
|
||||
+ {
|
||||
@@ -376,21 +508,18 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+#ifdef CEC_DEBUGGING
|
||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s - releasing previous logical address", __func__);
|
||||
+#endif
|
||||
+ m_logicalAddress = CECDEVICE_UNKNOWN;
|
||||
+ m_bLogicalAddressRegistered = false;
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+bool CIMXCECAdapterCommunication::RegisterLogicalAddress(const cec_logical_address address)
|
||||
+{
|
||||
+ CLockObject lock(m_mutex);
|
||||
+
|
||||
+ if (m_logicalAddress == address && m_bLogicalAddressRegistered)
|
||||
+ {
|
||||
+ CLockObject lock(m_mutex);
|
||||
+ if (m_logicalAddress == address && m_bLogicalAddressRegistered)
|
||||
+ {
|
||||
+ return true;
|
||||
+ }
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ if (m_dev->Ioctl(HDMICEC_IOC_SETLOGICALADDRESS, (void *)address) != 0)
|
||||
@@ -399,14 +528,8 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ CLockObject lock(m_mutex);
|
||||
+
|
||||
+#ifdef CEC_DEBUGGING
|
||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s: %x to %x", __func__, m_logicalAddress, address);
|
||||
+#endif
|
||||
+
|
||||
+ m_logicalAddress = address;
|
||||
+ m_bLogicalAddressRegistered = (address != CECDEVICE_BROADCAST) ? true : false;
|
||||
+ m_bLogicalAddressRegistered = true;
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
@@ -417,82 +540,62 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+ return RegisterLogicalAddress((cec_logical_address)log_addr);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+void *CIMXCECAdapterCommunication::Process(void)
|
||||
+{
|
||||
+ bool bHandled;
|
||||
+ hdmi_cec_event event;
|
||||
+ int ret;
|
||||
+
|
||||
+ uint32_t opcode, status;
|
||||
+ cec_logical_address initiator, destination;
|
||||
+
|
||||
+ while (!IsStopped())
|
||||
+ {
|
||||
+ if (IsInitialised() && (ret = m_dev->Read((char *)&event, sizeof(event), 5000)) > 0)
|
||||
+ ret = m_dev->Read((char *)&event, sizeof(event), 5000);
|
||||
+ if (ret > 0)
|
||||
+ {
|
||||
+
|
||||
+ initiator = cec_logical_address(event.msg[0] >> 4);
|
||||
+ destination = cec_logical_address(event.msg[0] & 0x0f);
|
||||
+
|
||||
+ if (event.event_type == MESSAGE_TYPE_RECEIVE_SUCCESS)
|
||||
+ {
|
||||
+ cec_command cmd;
|
||||
+ //LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s: Read data : type : %d initiator %d dest %d", __func__, event.event_type, initiator, destination);
|
||||
+ if (event.event_type == MESSAGE_TYPE_RECEIVE_SUCCESS)
|
||||
+ /* Message received */
|
||||
+ {
|
||||
+ cec_command cmd;
|
||||
+
|
||||
+ cec_command::Format(
|
||||
+ cmd, initiator, destination,
|
||||
+ ( event.msg_len > 1 ) ? cec_opcode(event.msg[1]) : CEC_OPCODE_NONE);
|
||||
+ cec_command::Format(
|
||||
+ cmd, initiator, destination,
|
||||
+ ( event.msg_len > 1 ) ? cec_opcode(event.msg[1]) : CEC_OPCODE_NONE);
|
||||
+
|
||||
+ for( uint8_t i = 2; i < event.msg_len; i++ )
|
||||
+ cmd.parameters.PushBack(event.msg[i]);
|
||||
+ for( uint8_t i = 2; i < event.msg_len; i++ )
|
||||
+ cmd.parameters.PushBack(event.msg[i]);
|
||||
+
|
||||
+ if (!IsStopped()) {
|
||||
+ m_callback->OnCommandReceived(cmd);
|
||||
+ }
|
||||
+ }
|
||||
+ else if (event.event_type == MESSAGE_TYPE_SEND_SUCCESS
|
||||
+ || event.event_type == MESSAGE_TYPE_NOACK)
|
||||
+ {
|
||||
+ bHandled = false;
|
||||
+ if (!IsStopped())
|
||||
+ m_callback->OnCommandReceived(cmd);
|
||||
+ }
|
||||
+
|
||||
+ m_messageMutex.Lock();
|
||||
+ for (map<uint32_t, CIMXCECAdapterMessageQueueEntry *>::iterator it = m_messages.begin();
|
||||
+ !bHandled && it != m_messages.end(); it++)
|
||||
+ {
|
||||
+ bHandled = it->second->Received(event.event_type, event.msg[0], (cec_opcode)event.msg[1]);
|
||||
+ }
|
||||
+ m_messageMutex.Unlock();
|
||||
+ if (event.event_type == MESSAGE_TYPE_CONNECTED)
|
||||
+ /* HDMI has just been reconnected - Notify phy address*/
|
||||
+ {
|
||||
+ uint16_t iNewAddress = GetPhysicalAddress();
|
||||
+ m_callback->HandlePhysicalAddressChanged(iNewAddress);
|
||||
+ }
|
||||
+ /* We are not interested in other events */
|
||||
+ } /*else {
|
||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s: Read returned %d", __func__, ret);
|
||||
+ }*/
|
||||
+
|
||||
+ if (!bHandled)
|
||||
+ LIB_CEC->AddLog(CEC_LOG_WARNING, "%s: response not matched !", __func__);
|
||||
+ }
|
||||
+ else if (event.event_type == MESSAGE_TYPE_DISCONNECTED)
|
||||
+ {
|
||||
+ /* HDMI Hotplug event - disconnect */
|
||||
+ }
|
||||
+ else if (event.event_type == MESSAGE_TYPE_CONNECTED)
|
||||
+ {
|
||||
+ /* HDMI Hotplug event - connect */
|
||||
+ uint16_t oldAddress = m_physicalAddress;
|
||||
+
|
||||
+ if (oldAddress != GetPhysicalAddress())
|
||||
+ m_callback->HandlePhysicalAddressChanged(m_physicalAddress);
|
||||
+#ifdef CEC_DEBUGGING
|
||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s: plugin event received", __func__);
|
||||
+#endif
|
||||
+ }
|
||||
+ else
|
||||
+ LIB_CEC->AddLog(CEC_LOG_WARNING, "%s: unhandled response received %d!", __func__, event.event_type);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#endif // HAVE_IMX_API
|
||||
diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.h libcec-2.2-8d84f8b.patch/src/lib/adapter/IMX/IMXCECAdapterCommunication.h
|
||||
--- libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ libcec-2.2-8d84f8b.patch/src/lib/adapter/IMX/IMXCECAdapterCommunication.h 2014-10-27 13:11:03.736446898 +0100
|
||||
@@ -0,0 +1,126 @@
|
||||
diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterCommunication.h libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterCommunication.h
|
||||
--- libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterCommunication.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterCommunication.h 2014-11-10 23:14:45.217161982 +0100
|
||||
@@ -0,0 +1,119 @@
|
||||
+#pragma once
|
||||
+/*
|
||||
+ * This file is part of the libCEC(R) library.
|
||||
@@ -503,7 +606,6 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.h l
|
||||
+ * libCEC(R) is a trademark of Pulse-Eight Limited.
|
||||
+ *
|
||||
+ * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
|
||||
+ * Copyright (C) 2014 by Matus Kral
|
||||
+ *
|
||||
+ * You can redistribute this file and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
@@ -527,18 +629,12 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.h l
|
||||
+#include "lib/platform/threads/mutex.h"
|
||||
+#include "lib/platform/threads/threads.h"
|
||||
+#include "lib/platform/sockets/socket.h"
|
||||
+#include "lib/adapter/IMX/mxc_hdmi-cec.h"
|
||||
+#include "lib/adapter/AdapterCommunication.h"
|
||||
+#include <map>
|
||||
+
|
||||
+#define IMX_ADAPTER_VID 0x0471 /*FIXME TBD*/
|
||||
+#define IMX_ADAPTER_PID 0x1001
|
||||
+
|
||||
+typedef struct hdmi_cec_event{
|
||||
+ int event_type;
|
||||
+ int msg_len;
|
||||
+ unsigned char msg[MAX_MESSAGE_LEN];
|
||||
+}hdmi_cec_event;
|
||||
+
|
||||
+
|
||||
+namespace PLATFORM
|
||||
@@ -546,9 +642,10 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.h l
|
||||
+ class CCDevSocket;
|
||||
+};
|
||||
+
|
||||
+
|
||||
+namespace CEC
|
||||
+{
|
||||
+ class CIMXCECAdapterMessageQueueEntry;
|
||||
+ class CAdapterMessageQueueEntry;
|
||||
+
|
||||
+ class CIMXCECAdapterCommunication : public IAdapterCommunication, public PLATFORM::CThread
|
||||
+ {
|
||||
@@ -582,12 +679,13 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.h l
|
||||
+ uint16_t GetPhysicalAddress(void);
|
||||
+ bool SetControlledMode(bool UNUSED(controlled)) { return true; }
|
||||
+ cec_vendor_id GetVendorId(void);
|
||||
+ void HandleLogicalAddressLost(cec_logical_address UNUSED(oldAddress));
|
||||
+ bool SupportsSourceLogicalAddress(const cec_logical_address address) { return address > CECDEVICE_TV && address <= CECDEVICE_BROADCAST; }
|
||||
+ cec_adapter_type GetAdapterType(void) { return ADAPTERTYPE_IMX; }
|
||||
+ uint16_t GetAdapterVendorId(void) const { return IMX_ADAPTER_VID; }
|
||||
+ uint16_t GetAdapterProductId(void) const { return IMX_ADAPTER_PID; }
|
||||
+ void HandleLogicalAddressLost(cec_logical_address UNUSED(oldAddress));
|
||||
+ void SetActiveSource(bool UNUSED(bSetTo), bool UNUSED(bClientUnregistered)) {}
|
||||
+ bool RegisterLogicalAddress(const cec_logical_address address);
|
||||
+ ///}
|
||||
+
|
||||
+ /** @name PLATFORM::CThread implementation */
|
||||
@@ -596,32 +694,30 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterCommunication.h l
|
||||
+ ///}
|
||||
+
|
||||
+ private:
|
||||
+ bool IsInitialised(void) { return m_bInitialised; };
|
||||
+ bool RegisterLogicalAddress(const cec_logical_address address);
|
||||
+ bool IsInitialised(void) const { return m_bInitialised; };
|
||||
+ bool UnregisterLogicalAddress(void);
|
||||
+
|
||||
+ std::string m_strError; /**< current error message */
|
||||
+
|
||||
+ //cec_logical_addresses m_logicalAddresses;
|
||||
+ cec_logical_address m_logicalAddress;
|
||||
+ uint16_t m_physicalAddress;
|
||||
+
|
||||
+ PLATFORM::CMutex m_mutex;
|
||||
+ PLATFORM::CCDevSocket *m_dev; /**< the device connection */
|
||||
+ bool m_bLogicalAddressRegistered;
|
||||
+ bool m_bInitialised;
|
||||
+
|
||||
+ PLATFORM::CMutex m_messageMutex;
|
||||
+ uint32_t m_iNextMessage;
|
||||
+ std::map<uint32_t, CIMXCECAdapterMessageQueueEntry *> m_messages;
|
||||
+
|
||||
+ bool m_bLogicalAddressRegistered;
|
||||
+ bool m_bInitialised;
|
||||
+ std::map<uint32_t, CAdapterMessageQueueEntry *> m_messages;
|
||||
+ };
|
||||
+
|
||||
+};
|
||||
+
|
||||
+#endif
|
||||
diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp libcec-2.2-8d84f8b.patch/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp
|
||||
--- libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ libcec-2.2-8d84f8b.patch/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp 2014-10-27 13:11:03.733446659 +0100
|
||||
diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp
|
||||
--- libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp 2014-11-10 23:14:45.215162253 +0100
|
||||
@@ -0,0 +1,42 @@
|
||||
+/*
|
||||
+ * This file is part of the libCEC(R) library.
|
||||
@@ -665,9 +761,9 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp lib
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterDetection.h libcec-2.2-8d84f8b.patch/src/lib/adapter/IMX/IMXCECAdapterDetection.h
|
||||
--- libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterDetection.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ libcec-2.2-8d84f8b.patch/src/lib/adapter/IMX/IMXCECAdapterDetection.h 2014-10-27 13:11:03.734446742 +0100
|
||||
diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterDetection.h libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterDetection.h
|
||||
--- libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterDetection.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterDetection.h 2014-11-10 23:14:45.215162253 +0100
|
||||
@@ -0,0 +1,36 @@
|
||||
+#pragma once
|
||||
+/*
|
||||
@@ -705,182 +801,9 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterDetection.h libce
|
||||
+ static bool FindAdapter(void);
|
||||
+ };
|
||||
+}
|
||||
diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterMessageQueue.h libcec-2.2-8d84f8b.patch/src/lib/adapter/IMX/IMXCECAdapterMessageQueue.h
|
||||
--- libcec-2.2-8d84f8b/src/lib/adapter/IMX/IMXCECAdapterMessageQueue.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ libcec-2.2-8d84f8b.patch/src/lib/adapter/IMX/IMXCECAdapterMessageQueue.h 2014-10-27 13:11:03.736446898 +0100
|
||||
@@ -0,0 +1,118 @@
|
||||
+#pragma once
|
||||
+/*
|
||||
+ * This file is part of the libCEC(R) library.
|
||||
+ *
|
||||
+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
|
||||
+ * libCEC(R) is an original work, containing original code.
|
||||
+ *
|
||||
+ * libCEC(R) is a trademark of Pulse-Eight Limited.
|
||||
+ *
|
||||
+ * This program is dual-licensed; 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.
|
||||
+ *
|
||||
+ * This program 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 this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
+ *
|
||||
+ *
|
||||
+ * Alternatively, you can license this library under a commercial license,
|
||||
+ * please contact Pulse-Eight Licensing for more information.
|
||||
+ *
|
||||
+ * For more information contact:
|
||||
+ * Pulse-Eight Licensing <license@pulse-eight.com>
|
||||
+ * http://www.pulse-eight.com/
|
||||
+ * http://www.pulse-eight.net/
|
||||
+ */
|
||||
+
|
||||
+#include "lib/platform/threads/mutex.h"
|
||||
+
|
||||
+namespace CEC
|
||||
+{
|
||||
+ using namespace PLATFORM;
|
||||
+
|
||||
+ class CIMXCECAdapterMessageQueueEntry
|
||||
+ {
|
||||
+ public:
|
||||
+ CIMXCECAdapterMessageQueueEntry(uint8_t addrs, cec_opcode opcode)
|
||||
+ : m_bWaiting(true), m_retval((uint32_t)-1), m_bSucceeded(false)
|
||||
+ {
|
||||
+ m_opcode = opcode;
|
||||
+ m_addrs = addrs;
|
||||
+ }
|
||||
+
|
||||
+ virtual ~CIMXCECAdapterMessageQueueEntry(void) {}
|
||||
+
|
||||
+ /*!
|
||||
+ * @brief Query result from worker thread
|
||||
+ */
|
||||
+ uint32_t Result() const
|
||||
+ {
|
||||
+ return m_retval;
|
||||
+ }
|
||||
+
|
||||
+ /*!
|
||||
+ * @brief Signal waiting threads
|
||||
+ */
|
||||
+ void Broadcast(void)
|
||||
+ {
|
||||
+ CLockObject lock(m_mutex);
|
||||
+ m_condition.Broadcast();
|
||||
+ }
|
||||
+
|
||||
+ /*!
|
||||
+ * @brief Signal waiting thread(s) when message matches this entry
|
||||
+ */
|
||||
+ bool Received(int response, uint8_t addrs, cec_opcode opcode)
|
||||
+ {
|
||||
+ CLockObject lock(m_mutex);
|
||||
+
|
||||
+ if (!(m_addrs == addrs && m_opcode == opcode))
|
||||
+ return false;
|
||||
+
|
||||
+ m_retval = response;
|
||||
+ m_bSucceeded = true;
|
||||
+ m_condition.Signal();
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ /*!
|
||||
+ * @brief Wait for a response to this command.
|
||||
+ * @param iTimeout The timeout to use while waiting.
|
||||
+ * @return True when a response was received before the timeout passed, false otherwise.
|
||||
+ */
|
||||
+ bool Wait(uint32_t iTimeout)
|
||||
+ {
|
||||
+ CLockObject lock(m_mutex);
|
||||
+
|
||||
+ bool bReturn = m_bSucceeded ? true : m_condition.Wait(m_mutex, m_bSucceeded, iTimeout);
|
||||
+ m_bWaiting = false;
|
||||
+ return bReturn;
|
||||
+ }
|
||||
+
|
||||
+ /*!
|
||||
+ * @return True while a thread is waiting for a signal or isn't waiting yet, false otherwise.
|
||||
+ */
|
||||
+ bool IsWaiting(void)
|
||||
+ {
|
||||
+ CLockObject lock(m_mutex);
|
||||
+ return m_bWaiting;
|
||||
+ }
|
||||
+
|
||||
+ private:
|
||||
+ bool m_bWaiting; /**< true while a thread is waiting or when it hasn't started waiting yet */
|
||||
+ PLATFORM::CCondition<bool> m_condition; /**< the condition to wait on */
|
||||
+ PLATFORM::CMutex m_mutex; /**< mutex for changes to this class */
|
||||
+ int m_retval;
|
||||
+ bool m_bSucceeded;
|
||||
+ uint8_t m_addrs;
|
||||
+ cec_opcode m_opcode;
|
||||
+ };
|
||||
+
|
||||
+};
|
||||
diff -Naur libcec-2.2-8d84f8b/src/lib/adapter/IMX/mxc_hdmi-cec.h libcec-2.2-8d84f8b.patch/src/lib/adapter/IMX/mxc_hdmi-cec.h
|
||||
--- libcec-2.2-8d84f8b/src/lib/adapter/IMX/mxc_hdmi-cec.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ libcec-2.2-8d84f8b.patch/src/lib/adapter/IMX/mxc_hdmi-cec.h 2014-10-27 13:11:03.736446898 +0100
|
||||
@@ -0,0 +1,47 @@
|
||||
+/*
|
||||
+ * Copyright 2005-2013 Freescale Semiconductor, Inc. All Rights Reserved.
|
||||
+ */
|
||||
+
|
||||
+/*
|
||||
+ * The code contained herein is licensed under the GNU General Public
|
||||
+ * License. You may obtain a copy of the GNU General Public License
|
||||
+ * Version 2 or later at the following locations:
|
||||
+ *
|
||||
+ * http://www.opensource.org/licenses/gpl-license.html
|
||||
+ * http://www.gnu.org/copyleft/gpl.html
|
||||
+ */
|
||||
+#ifndef _HDMICEC_H_
|
||||
+#define _HDMICEC_H_
|
||||
+#include <linux/ioctl.h>
|
||||
+
|
||||
+/*
|
||||
+ * Ioctl definitions
|
||||
+ */
|
||||
+
|
||||
+/* Use 'k' as magic number */
|
||||
+#define HDMICEC_IOC_MAGIC 'H'
|
||||
+/*
|
||||
+ * S means "Set" through a ptr,
|
||||
+ * T means "Tell" directly with the argument value
|
||||
+ * G means "Get": reply by setting through a pointer
|
||||
+ * Q means "Query": response is on the return value
|
||||
+ * X means "eXchange": G and S atomically
|
||||
+ * H means "sHift": T and Q atomically
|
||||
+ */
|
||||
+#define HDMICEC_IOC_SETLOGICALADDRESS \
|
||||
+ _IOW(HDMICEC_IOC_MAGIC, 1, unsigned char)
|
||||
+#define HDMICEC_IOC_STARTDEVICE _IO(HDMICEC_IOC_MAGIC, 2)
|
||||
+#define HDMICEC_IOC_STOPDEVICE _IO(HDMICEC_IOC_MAGIC, 3)
|
||||
+#define HDMICEC_IOC_GETPHYADDRESS \
|
||||
+ _IOR(HDMICEC_IOC_MAGIC, 4, unsigned char[4])
|
||||
+
|
||||
+#define MAX_MESSAGE_LEN 16
|
||||
+
|
||||
+#define MESSAGE_TYPE_RECEIVE_SUCCESS 1
|
||||
+#define MESSAGE_TYPE_NOACK 2
|
||||
+#define MESSAGE_TYPE_DISCONNECTED 3
|
||||
+#define MESSAGE_TYPE_CONNECTED 4
|
||||
+#define MESSAGE_TYPE_SEND_SUCCESS 5
|
||||
+
|
||||
+#endif /* !_HDMICEC_H_ */
|
||||
+
|
||||
diff -Naur libcec-2.2-8d84f8b/src/lib/CECTypeUtils.h libcec-2.2-8d84f8b.patch/src/lib/CECTypeUtils.h
|
||||
--- libcec-2.2-8d84f8b/src/lib/CECTypeUtils.h 2014-10-27 12:55:30.000000000 +0100
|
||||
+++ libcec-2.2-8d84f8b.patch/src/lib/CECTypeUtils.h 2014-10-27 13:11:03.729446299 +0100
|
||||
diff -Naur libcec-2.2.0/src/lib/CECTypeUtils.h libcec-2.2.0.patch/src/lib/CECTypeUtils.h
|
||||
--- libcec-2.2.0/src/lib/CECTypeUtils.h 2014-10-28 16:20:50.000000000 +0100
|
||||
+++ libcec-2.2.0.patch/src/lib/CECTypeUtils.h 2014-11-10 23:14:45.212162668 +0100
|
||||
@@ -877,6 +877,8 @@
|
||||
return "Raspberry Pi";
|
||||
case ADAPTERTYPE_TDA995x:
|
||||
@@ -890,11 +813,11 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/CECTypeUtils.h libcec-2.2-8d84f8b.patch/sr
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
diff -Naur libcec-2.2-8d84f8b/src/lib/Makefile.am libcec-2.2-8d84f8b.patch/src/lib/Makefile.am
|
||||
--- libcec-2.2-8d84f8b/src/lib/Makefile.am 2014-10-27 12:55:30.000000000 +0100
|
||||
+++ libcec-2.2-8d84f8b.patch/src/lib/Makefile.am 2014-10-27 13:14:08.229600205 +0100
|
||||
@@ -69,4 +69,10 @@
|
||||
adapter/Exynos/ExynosCECAdapterCommunication.cpp
|
||||
diff -Naur libcec-2.2.0/src/lib/Makefile.am libcec-2.2.0.patch/src/lib/Makefile.am
|
||||
--- libcec-2.2.0/src/lib/Makefile.am 2014-10-28 16:20:50.000000000 +0100
|
||||
+++ libcec-2.2.0.patch/src/lib/Makefile.am 2014-11-10 23:20:02.597700521 +0100
|
||||
@@ -63,6 +63,12 @@
|
||||
adapter/TDA995x/TDA995xCECAdapterCommunication.cpp
|
||||
endif
|
||||
|
||||
+## i.MX6 support
|
||||
@@ -903,4 +826,6 @@ diff -Naur libcec-2.2-8d84f8b/src/lib/Makefile.am libcec-2.2-8d84f8b.patch/src/l
|
||||
+ adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+endif
|
||||
+
|
||||
libcec_la_LDFLAGS = @LIBS_LIBCEC@ -version-info @VERSION@
|
||||
## Exynos support
|
||||
if USE_EXYNOS_API
|
||||
libcec_la_SOURCES += adapter/Exynos/ExynosCECAdapterDetection.cpp \
|
||||
@@ -36,3 +36,7 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-shared \
|
||||
--enable-static \
|
||||
--with-curses \
|
||||
--without-purify"
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/share/readline
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="Mesa"
|
||||
PKG_VERSION="10.3.2"
|
||||
PKG_VERSION="10.3.3"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
@@ -43,7 +43,7 @@ else
|
||||
MESA_GALLIUM_LLVM="--disable-gallium-llvm"
|
||||
fi
|
||||
|
||||
if [ "$VDPAU" = "yes" ]; then
|
||||
if [ "$VDPAU_SUPPORT" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libvdpau"
|
||||
MESA_VDPAU="--enable-vdpau"
|
||||
else
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="bcm2835-driver"
|
||||
PKG_VERSION="5711461"
|
||||
PKG_VERSION="778b370"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="nonfree"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="tbs-linux-drivers"
|
||||
PKG_VERSION="140819"
|
||||
PKG_VERSION="141019"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="i386 x86_64"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="wlan-firmware"
|
||||
PKG_VERSION="0.0.24"
|
||||
PKG_VERSION="0.0.25"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Free-to-use"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
PKG_NAME="linux"
|
||||
case "$LINUX" in
|
||||
imx6)
|
||||
PKG_VERSION="cuboxi-3.14-e85332f"
|
||||
PKG_VERSION="cuboxi-3.14-dc5edb8"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
;;
|
||||
*)
|
||||
|
||||
55
packages/linux/patches/3.17.2/linux-999.04-upstream-fixes.patch
vendored
Normal file
55
packages/linux/patches/3.17.2/linux-999.04-upstream-fixes.patch
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
From 14edb593338e3811e818aba286237c365f8881a1 Mon Sep 17 00:00:00 2001
|
||||
From: Tomas Melin <tomas.melin@iki.fi>
|
||||
Date: Tue, 28 Oct 2014 15:43:14 -0300
|
||||
Subject: [media] rc-core: fix protocol_change regression in
|
||||
ir_raw_event_register
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
IR receiver using nuvoton-cir and lirc required additional configuration
|
||||
steps after upgrade from kernel 3.16 to 3.17-rcX. Bisected regression to
|
||||
commit da6e162d6a4607362f8478c715c797d84d449f8b ("[media] rc-core:
|
||||
simplify sysfs code").
|
||||
|
||||
The regression comes from adding function change_protocol in ir-raw.c.
|
||||
It changes behaviour so that only the protocol enabled by driver's
|
||||
map_name will be active after registration. This breaks user space
|
||||
behaviour, lirc does not get key press signals anymore.
|
||||
|
||||
Enable lirc protocol by default for ir raw decoders to restore original
|
||||
behaviour.
|
||||
|
||||
Cc: stable@vger.kernel.org # for v3.17
|
||||
Signed-off-by: Tomas Melin <tomas.melin@iki.fi>
|
||||
Acked-by: David Härdeman <david@hardeman.nu>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
|
||||
|
||||
diff --git a/drivers/media/rc/rc-ir-raw.c b/drivers/media/rc/rc-ir-raw.c
|
||||
index e8fff2a..b732ac6 100644
|
||||
--- a/drivers/media/rc/rc-ir-raw.c
|
||||
+++ b/drivers/media/rc/rc-ir-raw.c
|
||||
@@ -262,7 +262,6 @@ int ir_raw_event_register(struct rc_dev *dev)
|
||||
return -ENOMEM;
|
||||
|
||||
dev->raw->dev = dev;
|
||||
- dev->enabled_protocols = ~0;
|
||||
dev->change_protocol = change_protocol;
|
||||
rc = kfifo_alloc(&dev->raw->kfifo,
|
||||
sizeof(struct ir_raw_event) * MAX_IR_EVENT_SIZE,
|
||||
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
|
||||
index a7991c7..8d3b74c 100644
|
||||
--- a/drivers/media/rc/rc-main.c
|
||||
+++ b/drivers/media/rc/rc-main.c
|
||||
@@ -1421,6 +1421,8 @@ int rc_register_device(struct rc_dev *dev)
|
||||
|
||||
if (dev->change_protocol) {
|
||||
u64 rc_type = (1 << rc_map->rc_type);
|
||||
+ if (dev->driver_type == RC_DRIVER_IR_RAW)
|
||||
+ rc_type |= RC_BIT_LIRC;
|
||||
rc = dev->change_protocol(dev, &rc_type);
|
||||
if (rc < 0)
|
||||
goto out_raw;
|
||||
--
|
||||
cgit v0.10.1
|
||||
|
||||
32
packages/linux/patches/3.17.2/linux-999.05-upstream-fixes.patch
vendored
Normal file
32
packages/linux/patches/3.17.2/linux-999.05-upstream-fixes.patch
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
From cef83483341e258beed49ce78fb2cc0c46ab1757 Mon Sep 17 00:00:00 2001
|
||||
From: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
|
||||
Date: Thu, 30 Oct 2014 06:54:12 -0300
|
||||
Subject: [media] rc5-decoder: BZ#85721: Fix RC5-SZ decoding
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Changeset e87b540be2dd broke RC5-SZ decoding, as it forgot to add
|
||||
the extra bit check for the enabled protocols at the beginning of
|
||||
the logic.
|
||||
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
|
||||
Acked-by: David Härdeman <david@hardeman.nu>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
|
||||
|
||||
diff --git a/drivers/media/rc/ir-rc5-decoder.c b/drivers/media/rc/ir-rc5-decoder.c
|
||||
index 2ef7639..84fa6e9 100644
|
||||
--- a/drivers/media/rc/ir-rc5-decoder.c
|
||||
+++ b/drivers/media/rc/ir-rc5-decoder.c
|
||||
@@ -53,7 +53,7 @@ static int ir_rc5_decode(struct rc_dev *dev, struct ir_raw_event ev)
|
||||
u32 scancode;
|
||||
enum rc_type protocol;
|
||||
|
||||
- if (!(dev->enabled_protocols & (RC_BIT_RC5 | RC_BIT_RC5X)))
|
||||
+ if (!(dev->enabled_protocols & (RC_BIT_RC5 | RC_BIT_RC5X | RC_BIT_RC5_SZ)))
|
||||
return 0;
|
||||
|
||||
if (!is_timing_event(ev)) {
|
||||
--
|
||||
cgit v0.10.1
|
||||
|
||||
32
packages/linux/patches/3.17.2/linux-999.06-upstream-fixes.patch
vendored
Normal file
32
packages/linux/patches/3.17.2/linux-999.06-upstream-fixes.patch
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
From d358aefdc0cc92b16ced449f998dbad639db6809 Mon Sep 17 00:00:00 2001
|
||||
From: Ulrich Eckhardt <uli-lirc@uli-eckhardt.de>
|
||||
Date: Fri, 10 Oct 2014 13:27:32 -0300
|
||||
Subject: [media] imon: fix other RC type protocol support
|
||||
|
||||
With kernel 3.17 the imon remote control for device 15c2:0034 does not
|
||||
work anymore, which uses the OTHER protocol. Only the front panel
|
||||
buttons which uses the RC6 protocol are working.
|
||||
|
||||
Adds the missing comparison for the RC_BIT_OTHER.
|
||||
|
||||
Cc: stable@vger.kernel.org # for Kernel 3.17
|
||||
Signed-off-by: Ulrich Eckhardt <uli@uli-eckhardt.de>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
|
||||
|
||||
diff --git a/drivers/media/rc/imon.c b/drivers/media/rc/imon.c
|
||||
index b8837dd..65f80b8 100644
|
||||
--- a/drivers/media/rc/imon.c
|
||||
+++ b/drivers/media/rc/imon.c
|
||||
@@ -1678,7 +1678,8 @@ static void imon_incoming_packet(struct imon_context *ictx,
|
||||
if (press_type == 0)
|
||||
rc_keyup(ictx->rdev);
|
||||
else {
|
||||
- if (ictx->rc_type == RC_BIT_RC6_MCE)
|
||||
+ if (ictx->rc_type == RC_BIT_RC6_MCE ||
|
||||
+ ictx->rc_type == RC_BIT_OTHER)
|
||||
rc_keydown(ictx->rdev,
|
||||
ictx->rc_type == RC_BIT_RC6_MCE ? RC_TYPE_RC6_MCE : RC_TYPE_OTHER,
|
||||
ictx->rc_scancode, ictx->rc_toggle);
|
||||
--
|
||||
cgit v0.10.1
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="OpenELEC-settings"
|
||||
PKG_VERSION="0.5.1"
|
||||
PKG_VERSION="0.5.3"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="prop."
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="kodi-audioencoder-lame"
|
||||
PKG_VERSION="90fb99b"
|
||||
PKG_VERSION="46592f8"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
diff -Naur xbmc-audioencoder-lame-736b5f4/CMakeLists.txt xbmc-audioencoder-lame-736b5f4.patch/CMakeLists.txt
|
||||
--- xbmc-audioencoder-lame-736b5f4/CMakeLists.txt 2014-07-18 23:48:35.000000000 +0200
|
||||
+++ xbmc-audioencoder-lame-736b5f4.patch/CMakeLists.txt 2014-10-20 13:06:32.787416257 +0200
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
enable_language(CXX)
|
||||
|
||||
-find_package(xbmc REQUIRED)
|
||||
+find_package(kodi REQUIRED)
|
||||
find_package(Lame REQUIRED)
|
||||
if(WIN32)
|
||||
find_package(MPGHIP REQUIRED)
|
||||
diff -Naur xbmc-audioencoder-lame-736b5f4/src/EncoderLame.cpp xbmc-audioencoder-lame-736b5f4.patch/src/EncoderLame.cpp
|
||||
--- xbmc-audioencoder-lame-736b5f4/src/EncoderLame.cpp 2014-07-18 23:48:35.000000000 +0200
|
||||
+++ xbmc-audioencoder-lame-736b5f4.patch/src/EncoderLame.cpp 2014-10-20 02:51:53.710444163 +0200
|
||||
@@ -19,7 +19,7 @@
|
||||
*/
|
||||
|
||||
#include <lame/lame.h>
|
||||
-#include "xbmc/xbmc_audioenc_dll.h"
|
||||
+#include "kodi/xbmc_audioenc_dll.h"
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <algorithm>
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="kodi-audioencoder-vorbis"
|
||||
PKG_VERSION="a73ef7e"
|
||||
PKG_VERSION="f75f329"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
diff -Naur xbmc-audioencoder-vorbis-143d10d/CMakeLists.txt xbmc-audioencoder-vorbis-143d10d.patch/CMakeLists.txt
|
||||
--- xbmc-audioencoder-vorbis-143d10d/CMakeLists.txt 2014-07-18 23:48:45.000000000 +0200
|
||||
+++ xbmc-audioencoder-vorbis-143d10d.patch/CMakeLists.txt 2014-10-20 13:07:21.666556980 +0200
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
enable_language(CXX)
|
||||
|
||||
-find_package(xbmc REQUIRED)
|
||||
+find_package(kodi REQUIRED)
|
||||
find_package(Ogg REQUIRED)
|
||||
find_package(Vorbis REQUIRED)
|
||||
find_package(VorbisEnc REQUIRED)
|
||||
diff -Naur xbmc-audioencoder-vorbis-143d10d/src/EncoderVorbis.cpp xbmc-audioencoder-vorbis-143d10d.patch/src/EncoderVorbis.cpp
|
||||
--- xbmc-audioencoder-vorbis-143d10d/src/EncoderVorbis.cpp 2014-07-18 23:48:45.000000000 +0200
|
||||
+++ xbmc-audioencoder-vorbis-143d10d.patch/src/EncoderVorbis.cpp 2014-10-20 02:54:04.983666757 +0200
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
#include <ogg/ogg.h>
|
||||
#include <vorbis/vorbisenc.h>
|
||||
-#include "xbmc/xbmc_audioenc_dll.h"
|
||||
+#include "kodi/xbmc_audioenc_dll.h"
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="kodi-audioencoder-wav"
|
||||
PKG_VERSION="b28ab95"
|
||||
PKG_VERSION="40aaedf"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
diff -Naur xbmc-audioencoder-wav-91a2b72/CMakeLists.txt xbmc-audioencoder-wav-91a2b72.patch/CMakeLists.txt
|
||||
--- xbmc-audioencoder-wav-91a2b72/CMakeLists.txt 2014-07-18 23:48:40.000000000 +0200
|
||||
+++ xbmc-audioencoder-wav-91a2b72.patch/CMakeLists.txt 2014-10-20 13:08:19.017026869 +0200
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
enable_language(CXX)
|
||||
|
||||
-find_package(xbmc REQUIRED)
|
||||
+find_package(kodi REQUIRED)
|
||||
|
||||
include_directories(${XBMC_INCLUDE_DIR})
|
||||
|
||||
diff -Naur xbmc-audioencoder-wav-91a2b72/src/EncoderWav.cpp xbmc-audioencoder-wav-91a2b72.patch/src/EncoderWav.cpp
|
||||
--- xbmc-audioencoder-wav-91a2b72/src/EncoderWav.cpp 2014-07-18 23:48:40.000000000 +0200
|
||||
+++ xbmc-audioencoder-wav-91a2b72.patch/src/EncoderWav.cpp 2014-10-20 02:55:43.985839271 +0200
|
||||
@@ -18,7 +18,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
-#include "xbmc/xbmc_audioenc_dll.h"
|
||||
+#include "kodi/xbmc_audioenc_dll.h"
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
@@ -31,7 +31,7 @@ PKG_LONGDESC="This addons allows Kodi PVR to connect to various TV/PVR backends
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
if [ "$MYSQL_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_MYSQL_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET mysql"
|
||||
PVRADDONS_MYSQL="--enable-mysql"
|
||||
else
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="kodi-theme-Confluence"
|
||||
PKG_VERSION="14-ba267af"
|
||||
PKG_VERSION="14-bd7da38"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="kodi"
|
||||
PKG_VERSION="14-ba267af"
|
||||
PKG_VERSION="14-bd7da38"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
@@ -33,6 +33,9 @@ PKG_LONGDESC="Kodi Media Center (which was formerly named Xbox Media Center or X
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
# configure GPU drivers and dependencies:
|
||||
get_graphicdrivers
|
||||
|
||||
# for dbus support
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET dbus"
|
||||
|
||||
@@ -154,20 +157,20 @@ else
|
||||
KODI_JOYSTICK="--disable-joystick"
|
||||
fi
|
||||
|
||||
if [ "$OPTICAL_DRIVE_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_OPTICAL_SUPPORT" = yes ]; then
|
||||
KODI_OPTICAL="--enable-optical-drive"
|
||||
else
|
||||
KODI_OPTICAL="--disable-optical-drive"
|
||||
fi
|
||||
|
||||
if [ "$NONFREE_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_NONFREE_SUPPORT" = yes ]; then
|
||||
# for non-free support
|
||||
KODI_NONFREE="--enable-non-free"
|
||||
else
|
||||
KODI_NONFREE="--disable-non-free"
|
||||
fi
|
||||
|
||||
if [ "$DVDCSS_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_DVDCSS_SUPPORT" = yes ]; then
|
||||
KODI_DVDCSS="--enable-dvdcss"
|
||||
else
|
||||
KODI_DVDCSS="--disable-dvdcss"
|
||||
@@ -177,7 +180,7 @@ if [ "$FAAC_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET faac"
|
||||
fi
|
||||
|
||||
if [ "$BLURAY_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_BLURAY_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libbluray"
|
||||
KODI_BLURAY="--enable-libbluray"
|
||||
else
|
||||
@@ -191,62 +194,62 @@ else
|
||||
KODI_AVAHI="--disable-avahi"
|
||||
fi
|
||||
|
||||
if [ "$MYSQL_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_MYSQL_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET mysql"
|
||||
KODI_MYSQL="--enable-mysql"
|
||||
else
|
||||
KODI_MYSQL="--disable-mysql"
|
||||
fi
|
||||
|
||||
if [ "$AIRPLAY_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_AIRPLAY_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libplist"
|
||||
KODI_AIRPLAY="--enable-airplay"
|
||||
else
|
||||
KODI_AIRPLAY="--disable-airplay"
|
||||
fi
|
||||
|
||||
if [ "$AIRTUNES_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_AIRTUNES_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libshairplay"
|
||||
KODI_AIRTUNES="--enable-airtunes"
|
||||
else
|
||||
KODI_AIRTUNES="--disable-airtunes"
|
||||
fi
|
||||
|
||||
if [ "$NFS_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_NFS_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libnfs"
|
||||
KODI_NFS="--enable-nfs"
|
||||
else
|
||||
KODI_NFS="--disable-nfs"
|
||||
fi
|
||||
|
||||
if [ "$AFP_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_AFP_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET afpfs-ng"
|
||||
KODI_AFP="--enable-afpclient"
|
||||
else
|
||||
KODI_AFP="--disable-afpclient"
|
||||
fi
|
||||
|
||||
if [ "$SAMBA_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_SAMBA_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET samba"
|
||||
KODI_SAMBA="--enable-samba"
|
||||
else
|
||||
KODI_SAMBA="--disable-samba"
|
||||
fi
|
||||
|
||||
if [ "$WEBSERVER" = yes ]; then
|
||||
if [ "$KODI_WEBSERVER_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libmicrohttpd"
|
||||
KODI_WEBSERVER="--enable-webserver"
|
||||
else
|
||||
KODI_WEBSERVER="--disable-webserver"
|
||||
fi
|
||||
|
||||
if [ "$UPNP_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_UPNP_SUPPORT" = yes ]; then
|
||||
KODI_UPNP="--enable-upnp"
|
||||
else
|
||||
KODI_UPNP="--disable-upnp"
|
||||
fi
|
||||
|
||||
if [ "$SSHLIB_SUPPORT" = yes ]; then
|
||||
if [ "$KODI_SSHLIB_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libssh"
|
||||
KODI_SSH="--enable-ssh"
|
||||
else
|
||||
@@ -271,17 +274,14 @@ if [ ! "$KODIPLAYER_DRIVER" = default ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$VDPAU" = yes ]; then
|
||||
if [ "$VDPAU_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libvdpau"
|
||||
KODI_VDPAU="--enable-vdpau"
|
||||
else
|
||||
KODI_VDPAU="--disable-vdpau"
|
||||
fi
|
||||
|
||||
if [ "$VAAPI" = yes ]; then
|
||||
# configure GPU drivers and dependencies:
|
||||
get_graphicdrivers
|
||||
|
||||
if [ "$VAAPI_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libva-intel-driver"
|
||||
KODI_VAAPI="--enable-vaapi"
|
||||
else
|
||||
|
||||
@@ -1,416 +0,0 @@
|
||||
diff -Naur xbmc-14-31ce987/configure.in xbmc-14-31ce987.patch/configure.in
|
||||
--- xbmc-14-31ce987/configure.in 2014-10-20 02:31:03.259864060 +0200
|
||||
+++ xbmc-14-31ce987.patch/configure.in 2014-10-20 12:49:16.126851321 +0200
|
||||
@@ -2501,7 +2501,7 @@
|
||||
xbmc/osx/Info.plist \
|
||||
xbmc/osx/ios/XBMCIOS-Info.plist \
|
||||
xbmc/osx/atv2/XBMCATV2-Info.plist \
|
||||
- project/cmake/xbmc-config.cmake \
|
||||
+ project/cmake/kodi-config.cmake \
|
||||
tools/android/packaging/xbmc/AndroidManifest.xml \
|
||||
tools/android/packaging/Makefile \
|
||||
tools/android/packaging/xbmc/src/org/xbmc/kodi/Splash.java \
|
||||
diff -Naur xbmc-14-31ce987/.gitignore xbmc-14-31ce987.patch/.gitignore
|
||||
--- xbmc-14-31ce987/.gitignore 2014-10-20 02:31:03.272864215 +0200
|
||||
+++ xbmc-14-31ce987.patch/.gitignore 2014-10-20 12:49:03.991834753 +0200
|
||||
@@ -337,7 +337,7 @@
|
||||
/project/output
|
||||
|
||||
# /project/cmake
|
||||
-/project/cmake/xbmc-config.cmake
|
||||
+/project/cmake/kodi-config.cmake
|
||||
/project/cmake/*.error
|
||||
/project/cmake/addons/build
|
||||
/project/cmake/addons/depends/build
|
||||
diff -Naur xbmc-14-31ce987/project/cmake/addons/CMakeLists.txt xbmc-14-31ce987.patch/project/cmake/addons/CMakeLists.txt
|
||||
--- xbmc-14-31ce987/project/cmake/addons/CMakeLists.txt 2014-10-18 12:14:11.000000000 +0200
|
||||
+++ xbmc-14-31ce987.patch/project/cmake/addons/CMakeLists.txt 2014-10-20 12:47:44.298691059 +0200
|
||||
@@ -70,14 +70,14 @@
|
||||
endif()
|
||||
|
||||
if(NOT WIN32)
|
||||
- # copy the xbmc-prepare-env.cmake script to the depends path so that we can include it
|
||||
- file(COPY ${XBMCROOT}/project/cmake/scripts/common/xbmc-prepare-env.cmake DESTINATION ${DEPENDS_PATH}/lib/xbmc)
|
||||
+ # copy the kodi-prepare-env.cmake script to the depends path so that we can include it
|
||||
+ file(COPY ${XBMCROOT}/project/cmake/scripts/common/kodi-prepare-env.cmake DESTINATION ${DEPENDS_PATH}/lib/kodi)
|
||||
|
||||
- # add the location of xbmc-prepare-env.cmake to CMAKE_MODULE_PATH so that it is found
|
||||
- list(APPEND CMAKE_MODULE_PATH ${DEPENDS_PATH}/lib/xbmc)
|
||||
+ # add the location of kodi-prepare-env.cmake to CMAKE_MODULE_PATH so that it is found
|
||||
+ list(APPEND CMAKE_MODULE_PATH ${DEPENDS_PATH}/lib/kodi)
|
||||
|
||||
- # include xbmc-prepare-env.cmake which contains the logic to install the addon header bindings etc
|
||||
- include(xbmc-prepare-env)
|
||||
+ # include kodi-prepare-env.cmake which contains the logic to install the addon header bindings etc
|
||||
+ include(kodi-prepare-env)
|
||||
endif()
|
||||
|
||||
### get and build all the binary addons
|
||||
diff -Naur xbmc-14-31ce987/project/cmake/addons/depends/windows/cmake/xbmc/CMakeLists.txt xbmc-14-31ce987.patch/project/cmake/addons/depends/windows/cmake/xbmc/CMakeLists.txt
|
||||
--- xbmc-14-31ce987/project/cmake/addons/depends/windows/cmake/xbmc/CMakeLists.txt 2014-10-18 12:14:11.000000000 +0200
|
||||
+++ xbmc-14-31ce987.patch/project/cmake/addons/depends/windows/cmake/xbmc/CMakeLists.txt 2014-10-20 12:46:06.181514316 +0200
|
||||
@@ -21,11 +21,11 @@
|
||||
get_filename_component(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE)
|
||||
|
||||
### prepare the environment
|
||||
-# set the DEPENDS_PATH variable used by xbmc-prepare-env
|
||||
+# set the DEPENDS_PATH variable used by kodi-prepare-env
|
||||
set(DEPENDS_PATH "${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
-# copy the xbmc-prepare-env.cmake script so that we can include it
|
||||
-file(COPY ${XBMCROOT}/project/cmake/scripts/common/xbmc-prepare-env.cmake DESTINATION ${CMAKE_BINARY_DIR})
|
||||
+# copy the kodi-prepare-env.cmake script so that we can include it
|
||||
+file(COPY ${XBMCROOT}/project/cmake/scripts/common/kodi-prepare-env.cmake DESTINATION ${CMAKE_BINARY_DIR})
|
||||
|
||||
-# include xbmc-prepare-env.cmake which contains the logic to install the addon header bindings etc
|
||||
-include(xbmc-prepare-env)
|
||||
\ Kein Zeilenumbruch am Dateiende.
|
||||
+# include kodi-prepare-env.cmake which contains the logic to install the addon header bindings etc
|
||||
+include(kodi-prepare-env)
|
||||
\ Kein Zeilenumbruch am Dateiende.
|
||||
diff -Naur xbmc-14-31ce987/project/cmake/addons/README xbmc-14-31ce987.patch/project/cmake/addons/README
|
||||
--- xbmc-14-31ce987/project/cmake/addons/README 2014-10-18 12:14:11.000000000 +0200
|
||||
+++ xbmc-14-31ce987.patch/project/cmake/addons/README 2014-10-20 12:44:44.880370598 +0200
|
||||
@@ -33,8 +33,8 @@
|
||||
* XBMCROOT points to the root directory of the xbmc project (default is the
|
||||
absolute representation of ../../.. starting from this directory).
|
||||
* PACKAGE_ZIP=1 will mean the add-ons will be 'packaged' into a common folder,
|
||||
- rather than being placed in <CMAKE_INSTALL_PREFIX>/lib/xbmc/addons and
|
||||
- <CMAKE_INSTALL_PREFIX>/share/xbmc/addons.
|
||||
+ rather than being placed in <CMAKE_INSTALL_PREFIX>/lib/kodi/addons and
|
||||
+ <CMAKE_INSTALL_PREFIX>/share/kodi/addons.
|
||||
* ARCH_DEFINES specifies the platform-specific C/C++ preprocessor defines
|
||||
(defaults to empty).
|
||||
|
||||
diff -Naur xbmc-14-31ce987/project/cmake/kodi-config.cmake.in xbmc-14-31ce987.patch/project/cmake/kodi-config.cmake.in
|
||||
--- xbmc-14-31ce987/project/cmake/kodi-config.cmake.in 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ xbmc-14-31ce987.patch/project/cmake/kodi-config.cmake.in 2014-10-20 13:11:45.147629367 +0200
|
||||
@@ -0,0 +1,8 @@
|
||||
+SET(XBMC_INCLUDE_DIR @prefix@/include)
|
||||
+SET(APP_NAME @APP_NAME@)
|
||||
+SET(APP_VERSION_MAJOR @APP_VERSION_MAJOR@)
|
||||
+SET(APP_VERSION_MINOR @APP_VERSION_MINOR@)
|
||||
+LIST(APPEND CMAKE_MODULE_PATH @prefix@/lib/kodi)
|
||||
+ADD_DEFINITIONS(@ARCH_DEFINES@)
|
||||
+
|
||||
+include(kodi-addon-helpers)
|
||||
diff -Naur xbmc-14-31ce987/project/cmake/scripts/common/kodi-addon-helpers.cmake xbmc-14-31ce987.patch/project/cmake/scripts/common/kodi-addon-helpers.cmake
|
||||
--- xbmc-14-31ce987/project/cmake/scripts/common/kodi-addon-helpers.cmake 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ xbmc-14-31ce987.patch/project/cmake/scripts/common/kodi-addon-helpers.cmake 2014-10-20 02:39:16.065509547 +0200
|
||||
@@ -0,0 +1,99 @@
|
||||
+# Workaround for the fact that cpack's filenames are not customizable.
|
||||
+# Each add-on is added as a separate component to facilitate zip/tgz packaging.
|
||||
+# The filenames are always of the form basename-component, which is
|
||||
+# incompatible with the addonid-version scheme we want. This hack renames
|
||||
+# the files from the file names generated by the 'package' target.
|
||||
+# Sadly we cannot extend the 'package' target, as it is a builtin target, see
|
||||
+# http://public.kitware.com/Bug/view.php?id=8438
|
||||
+# Thus, we have to add an 'addon-package' target.
|
||||
+add_custom_target(addon-package
|
||||
+ COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target package)
|
||||
+
|
||||
+macro(add_cpack_workaround target version ext)
|
||||
+ add_custom_command(TARGET addon-package PRE_BUILD
|
||||
+ COMMAND ${CMAKE_COMMAND} -E rename addon-${target}-${version}.${ext} ${target}-${version}.${ext})
|
||||
+endmacro()
|
||||
+
|
||||
+# Grab the version from a given add-on's addon.xml
|
||||
+macro (addon_version dir prefix)
|
||||
+ FILE(READ ${dir}/addon.xml ADDONXML)
|
||||
+ STRING(REGEX MATCH "<addon[^>]*version.?=.?.[0-9\\.]+" VERSION_STRING ${ADDONXML})
|
||||
+ STRING(REGEX REPLACE ".*version=.([0-9\\.]+).*" "\\1" ${prefix}_VERSION ${VERSION_STRING})
|
||||
+ message(STATUS ${prefix}_VERSION=${${prefix}_VERSION})
|
||||
+endmacro()
|
||||
+
|
||||
+# Build, link and optionally package an add-on
|
||||
+macro (build_addon target prefix libs)
|
||||
+ ADD_LIBRARY(${target} ${${prefix}_SOURCES})
|
||||
+ TARGET_LINK_LIBRARIES(${target} ${${libs}})
|
||||
+ addon_version(${target} ${prefix})
|
||||
+ SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION ${${prefix}_VERSION}
|
||||
+ SOVERSION ${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}
|
||||
+ PREFIX "")
|
||||
+ IF(OS STREQUAL "android")
|
||||
+ SET_TARGET_PROPERTIES(${target} PROPERTIES PREFIX "lib")
|
||||
+ ENDIF(OS STREQUAL "android")
|
||||
+
|
||||
+ # set zip as default if addon-package is called without PACKAGE_XXX
|
||||
+ SET(CPACK_GENERATOR "ZIP")
|
||||
+ SET(ext "zip")
|
||||
+ IF(PACKAGE_ZIP OR PACKAGE_TGZ)
|
||||
+ IF(PACKAGE_TGZ)
|
||||
+ SET(CPACK_GENERATOR "TGZ")
|
||||
+ SET(ext "tar.gz")
|
||||
+ ENDIF(PACKAGE_TGZ)
|
||||
+ SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF)
|
||||
+ set(CPACK_PACKAGE_FILE_NAME addon)
|
||||
+ IF(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
+ SET(CPACK_STRIP_FILES TRUE)
|
||||
+ ENDIF(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
+ set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
|
||||
+ set(CPACK_COMPONENTS_IGNORE_GROUPS 1)
|
||||
+ list(APPEND CPACK_COMPONENTS_ALL ${target}-${${prefix}_VERSION})
|
||||
+ # Pack files together to create an archive
|
||||
+ INSTALL(DIRECTORY ${target} DESTINATION ./ COMPONENT ${target}-${${prefix}_VERSION})
|
||||
+ IF(WIN32)
|
||||
+ INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/${target}.dll
|
||||
+ DESTINATION ${target}
|
||||
+ COMPONENT ${target}-${${prefix}_VERSION})
|
||||
+ ELSE(WIN32)
|
||||
+ INSTALL(TARGETS ${target} DESTINATION ${target}
|
||||
+ COMPONENT ${target}-${${prefix}_VERSION})
|
||||
+ ENDIF(WIN32)
|
||||
+ add_cpack_workaround(${target} ${${prefix}_VERSION} ${ext})
|
||||
+ ELSE(PACKAGE_ZIP OR PACKAGE_TGZ)
|
||||
+ INSTALL(TARGETS ${target} DESTINATION lib/kodi/addons/${target})
|
||||
+ INSTALL(DIRECTORY ${target} DESTINATION share/kodi/addons)
|
||||
+ ENDIF(PACKAGE_ZIP OR PACKAGE_TGZ)
|
||||
+endmacro()
|
||||
+
|
||||
+# finds a path to a given file (recursive)
|
||||
+function (xbmc_find_path var_name filename search_path strip_file)
|
||||
+ file(GLOB_RECURSE PATH_TO_FILE ${search_path} ${filename})
|
||||
+ if(strip_file)
|
||||
+ string(REPLACE ${filename} "" PATH_TO_FILE ${PATH_TO_FILE})
|
||||
+ endif(strip_file)
|
||||
+ set (${var_name} ${PATH_TO_FILE} PARENT_SCOPE)
|
||||
+endfunction()
|
||||
+
|
||||
+# Cmake build options
|
||||
+include(addoptions)
|
||||
+include(TestCXXAcceptsFlag)
|
||||
+OPTION(PACKAGE_ZIP "Package Zip file?" OFF)
|
||||
+OPTION(PACKAGE_TGZ "Package TGZ file?" OFF)
|
||||
+OPTION(BUILD_SHARED_LIBS "Build shared libs?" ON)
|
||||
+
|
||||
+# LTO support?
|
||||
+CHECK_CXX_ACCEPTS_FLAG("-flto" HAVE_LTO)
|
||||
+IF(HAVE_LTO)
|
||||
+ OPTION(USE_LTO "use link time optimization" OFF)
|
||||
+ IF(USE_LTO)
|
||||
+ add_options(ALL_LANGUAGES ALL_BUILDS "-flto")
|
||||
+ ENDIF(USE_LTO)
|
||||
+ENDIF(HAVE_LTO)
|
||||
+
|
||||
+# set this to try linking dependencies as static as possible
|
||||
+IF(ADDONS_PREFER_STATIC_LIBS)
|
||||
+ SET(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
+ENDIF(ADDONS_PREFER_STATIC_LIBS)
|
||||
+
|
||||
diff -Naur xbmc-14-31ce987/project/cmake/scripts/common/kodi-prepare-env.cmake xbmc-14-31ce987.patch/project/cmake/scripts/common/kodi-prepare-env.cmake
|
||||
--- xbmc-14-31ce987/project/cmake/scripts/common/kodi-prepare-env.cmake 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ xbmc-14-31ce987.patch/project/cmake/scripts/common/kodi-prepare-env.cmake 2014-10-20 12:42:39.118143975 +0200
|
||||
@@ -0,0 +1,46 @@
|
||||
+# parse version.txt to get the version info
|
||||
+if(EXISTS "${XBMCROOT}/version.txt")
|
||||
+ file(STRINGS "${XBMCROOT}/version.txt" versions)
|
||||
+ foreach (version ${versions})
|
||||
+ string(REGEX MATCH "^[^ ]+" version_name ${version})
|
||||
+ string(REPLACE "${version_name} " "" version_value ${version})
|
||||
+ set(APP_${version_name} "${version_value}")
|
||||
+ endforeach()
|
||||
+endif()
|
||||
+
|
||||
+# bail if we can't parse versions
|
||||
+if(NOT DEFINED APP_VERSION_MAJOR OR NOT DEFINED APP_VERSION_MINOR)
|
||||
+ message(FATAL_ERROR "Could not determine app version! make sure that ${XBMCROOT}/version.txt exists")
|
||||
+endif()
|
||||
+
|
||||
+### copy all the addon binding header files to include/kodi
|
||||
+# make sure include/kodi exists and is empty
|
||||
+set(XBMC_LIB_DIR ${DEPENDS_PATH}/lib/kodi)
|
||||
+if(NOT EXISTS "${XBMC_LIB_DIR}/")
|
||||
+ file(MAKE_DIRECTORY ${XBMC_LIB_DIR})
|
||||
+endif()
|
||||
+
|
||||
+set(XBMC_INCLUDE_DIR ${DEPENDS_PATH}/include/kodi)
|
||||
+if(NOT EXISTS "${XBMC_INCLUDE_DIR}/")
|
||||
+ file(MAKE_DIRECTORY ${XBMC_INCLUDE_DIR})
|
||||
+endif()
|
||||
+
|
||||
+# kodi-config.cmake.in (further down) expects a "prefix" variable
|
||||
+get_filename_component(prefix "${DEPENDS_PATH}" ABSOLUTE)
|
||||
+
|
||||
+# generate the proper kodi-config.cmake file
|
||||
+configure_file(${XBMCROOT}/project/cmake/kodi-config.cmake.in ${XBMC_LIB_DIR}/kodi-config.cmake @ONLY)
|
||||
+# copy cmake helpers to lib/kodi
|
||||
+file(COPY ${XBMCROOT}/project/cmake/scripts/common/kodi-addon-helpers.cmake ${XBMCROOT}/project/cmake/scripts/common/addoptions.cmake DESTINATION ${XBMC_LIB_DIR})
|
||||
+
|
||||
+### copy all the addon binding header files to include/kodi
|
||||
+# parse addon-bindings.mk to get the list of header files to copy
|
||||
+file(STRINGS ${XBMCROOT}/xbmc/addons/addon-bindings.mk bindings)
|
||||
+string(REPLACE "\n" ";" bindings "${bindings}")
|
||||
+foreach(binding ${bindings})
|
||||
+ string(REPLACE " =" ";" binding "${binding}")
|
||||
+ string(REPLACE "+=" ";" binding "${binding}")
|
||||
+ list(GET binding 1 header)
|
||||
+ # copy the header file to include/kodi
|
||||
+ file(COPY ${XBMCROOT}/${header} DESTINATION ${XBMC_INCLUDE_DIR})
|
||||
+endforeach()
|
||||
\ Kein Zeilenumbruch am Dateiende.
|
||||
diff -Naur xbmc-14-31ce987/project/cmake/scripts/common/xbmc-addon-helpers.cmake xbmc-14-31ce987.patch/project/cmake/scripts/common/xbmc-addon-helpers.cmake
|
||||
--- xbmc-14-31ce987/project/cmake/scripts/common/xbmc-addon-helpers.cmake 2014-10-18 12:14:11.000000000 +0200
|
||||
+++ xbmc-14-31ce987.patch/project/cmake/scripts/common/xbmc-addon-helpers.cmake 1970-01-01 01:00:00.000000000 +0100
|
||||
@@ -1,99 +0,0 @@
|
||||
-# Workaround for the fact that cpack's filenames are not customizable.
|
||||
-# Each add-on is added as a separate component to facilitate zip/tgz packaging.
|
||||
-# The filenames are always of the form basename-component, which is
|
||||
-# incompatible with the addonid-version scheme we want. This hack renames
|
||||
-# the files from the file names generated by the 'package' target.
|
||||
-# Sadly we cannot extend the 'package' target, as it is a builtin target, see
|
||||
-# http://public.kitware.com/Bug/view.php?id=8438
|
||||
-# Thus, we have to add an 'addon-package' target.
|
||||
-add_custom_target(addon-package
|
||||
- COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target package)
|
||||
-
|
||||
-macro(add_cpack_workaround target version ext)
|
||||
- add_custom_command(TARGET addon-package PRE_BUILD
|
||||
- COMMAND ${CMAKE_COMMAND} -E rename addon-${target}-${version}.${ext} ${target}-${version}.${ext})
|
||||
-endmacro()
|
||||
-
|
||||
-# Grab the version from a given add-on's addon.xml
|
||||
-macro (addon_version dir prefix)
|
||||
- FILE(READ ${dir}/addon.xml ADDONXML)
|
||||
- STRING(REGEX MATCH "<addon[^>]*version.?=.?.[0-9\\.]+" VERSION_STRING ${ADDONXML})
|
||||
- STRING(REGEX REPLACE ".*version=.([0-9\\.]+).*" "\\1" ${prefix}_VERSION ${VERSION_STRING})
|
||||
- message(STATUS ${prefix}_VERSION=${${prefix}_VERSION})
|
||||
-endmacro()
|
||||
-
|
||||
-# Build, link and optionally package an add-on
|
||||
-macro (build_addon target prefix libs)
|
||||
- ADD_LIBRARY(${target} ${${prefix}_SOURCES})
|
||||
- TARGET_LINK_LIBRARIES(${target} ${${libs}})
|
||||
- addon_version(${target} ${prefix})
|
||||
- SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION ${${prefix}_VERSION}
|
||||
- SOVERSION ${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}
|
||||
- PREFIX "")
|
||||
- IF(OS STREQUAL "android")
|
||||
- SET_TARGET_PROPERTIES(${target} PROPERTIES PREFIX "lib")
|
||||
- ENDIF(OS STREQUAL "android")
|
||||
-
|
||||
- # set zip as default if addon-package is called without PACKAGE_XXX
|
||||
- SET(CPACK_GENERATOR "ZIP")
|
||||
- SET(ext "zip")
|
||||
- IF(PACKAGE_ZIP OR PACKAGE_TGZ)
|
||||
- IF(PACKAGE_TGZ)
|
||||
- SET(CPACK_GENERATOR "TGZ")
|
||||
- SET(ext "tar.gz")
|
||||
- ENDIF(PACKAGE_TGZ)
|
||||
- SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF)
|
||||
- set(CPACK_PACKAGE_FILE_NAME addon)
|
||||
- IF(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
- SET(CPACK_STRIP_FILES TRUE)
|
||||
- ENDIF(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
- set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
|
||||
- set(CPACK_COMPONENTS_IGNORE_GROUPS 1)
|
||||
- list(APPEND CPACK_COMPONENTS_ALL ${target}-${${prefix}_VERSION})
|
||||
- # Pack files together to create an archive
|
||||
- INSTALL(DIRECTORY ${target} DESTINATION ./ COMPONENT ${target}-${${prefix}_VERSION})
|
||||
- IF(WIN32)
|
||||
- INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/${target}.dll
|
||||
- DESTINATION ${target}
|
||||
- COMPONENT ${target}-${${prefix}_VERSION})
|
||||
- ELSE(WIN32)
|
||||
- INSTALL(TARGETS ${target} DESTINATION ${target}
|
||||
- COMPONENT ${target}-${${prefix}_VERSION})
|
||||
- ENDIF(WIN32)
|
||||
- add_cpack_workaround(${target} ${${prefix}_VERSION} ${ext})
|
||||
- ELSE(PACKAGE_ZIP OR PACKAGE_TGZ)
|
||||
- INSTALL(TARGETS ${target} DESTINATION lib/xbmc/addons/${target})
|
||||
- INSTALL(DIRECTORY ${target} DESTINATION share/xbmc/addons)
|
||||
- ENDIF(PACKAGE_ZIP OR PACKAGE_TGZ)
|
||||
-endmacro()
|
||||
-
|
||||
-# finds a path to a given file (recursive)
|
||||
-function (xbmc_find_path var_name filename search_path strip_file)
|
||||
- file(GLOB_RECURSE PATH_TO_FILE ${search_path} ${filename})
|
||||
- if(strip_file)
|
||||
- string(REPLACE ${filename} "" PATH_TO_FILE ${PATH_TO_FILE})
|
||||
- endif(strip_file)
|
||||
- set (${var_name} ${PATH_TO_FILE} PARENT_SCOPE)
|
||||
-endfunction()
|
||||
-
|
||||
-# Cmake build options
|
||||
-include(addoptions)
|
||||
-include(TestCXXAcceptsFlag)
|
||||
-OPTION(PACKAGE_ZIP "Package Zip file?" OFF)
|
||||
-OPTION(PACKAGE_TGZ "Package TGZ file?" OFF)
|
||||
-OPTION(BUILD_SHARED_LIBS "Build shared libs?" ON)
|
||||
-
|
||||
-# LTO support?
|
||||
-CHECK_CXX_ACCEPTS_FLAG("-flto" HAVE_LTO)
|
||||
-IF(HAVE_LTO)
|
||||
- OPTION(USE_LTO "use link time optimization" OFF)
|
||||
- IF(USE_LTO)
|
||||
- add_options(ALL_LANGUAGES ALL_BUILDS "-flto")
|
||||
- ENDIF(USE_LTO)
|
||||
-ENDIF(HAVE_LTO)
|
||||
-
|
||||
-# set this to try linking dependencies as static as possible
|
||||
-IF(ADDONS_PREFER_STATIC_LIBS)
|
||||
- SET(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
-ENDIF(ADDONS_PREFER_STATIC_LIBS)
|
||||
-
|
||||
diff -Naur xbmc-14-31ce987/project/cmake/scripts/common/xbmc-prepare-env.cmake xbmc-14-31ce987.patch/project/cmake/scripts/common/xbmc-prepare-env.cmake
|
||||
--- xbmc-14-31ce987/project/cmake/scripts/common/xbmc-prepare-env.cmake 2014-10-18 12:14:11.000000000 +0200
|
||||
+++ xbmc-14-31ce987.patch/project/cmake/scripts/common/xbmc-prepare-env.cmake 1970-01-01 01:00:00.000000000 +0100
|
||||
@@ -1,46 +0,0 @@
|
||||
-# parse version.txt to get the version info
|
||||
-if(EXISTS "${XBMCROOT}/version.txt")
|
||||
- file(STRINGS "${XBMCROOT}/version.txt" versions)
|
||||
- foreach (version ${versions})
|
||||
- string(REGEX MATCH "^[^ ]+" version_name ${version})
|
||||
- string(REPLACE "${version_name} " "" version_value ${version})
|
||||
- set(APP_${version_name} "${version_value}")
|
||||
- endforeach()
|
||||
-endif()
|
||||
-
|
||||
-# bail if we can't parse versions
|
||||
-if(NOT DEFINED APP_VERSION_MAJOR OR NOT DEFINED APP_VERSION_MINOR)
|
||||
- message(FATAL_ERROR "Could not determine app version! make sure that ${XBMCROOT}/version.txt exists")
|
||||
-endif()
|
||||
-
|
||||
-### copy all the addon binding header files to include/xbmc
|
||||
-# make sure include/xbmc exists and is empty
|
||||
-set(XBMC_LIB_DIR ${DEPENDS_PATH}/lib/xbmc)
|
||||
-if(NOT EXISTS "${XBMC_LIB_DIR}/")
|
||||
- file(MAKE_DIRECTORY ${XBMC_LIB_DIR})
|
||||
-endif()
|
||||
-
|
||||
-set(XBMC_INCLUDE_DIR ${DEPENDS_PATH}/include/xbmc)
|
||||
-if(NOT EXISTS "${XBMC_INCLUDE_DIR}/")
|
||||
- file(MAKE_DIRECTORY ${XBMC_INCLUDE_DIR})
|
||||
-endif()
|
||||
-
|
||||
-# xbmc-config.cmake.in (further down) expects a "prefix" variable
|
||||
-get_filename_component(prefix "${DEPENDS_PATH}" ABSOLUTE)
|
||||
-
|
||||
-# generate the proper xbmc-config.cmake file
|
||||
-configure_file(${XBMCROOT}/project/cmake/xbmc-config.cmake.in ${XBMC_LIB_DIR}/xbmc-config.cmake @ONLY)
|
||||
-# copy cmake helpers to lib/xbmc
|
||||
-file(COPY ${XBMCROOT}/project/cmake/scripts/common/xbmc-addon-helpers.cmake ${XBMCROOT}/project/cmake/scripts/common/addoptions.cmake DESTINATION ${XBMC_LIB_DIR})
|
||||
-
|
||||
-### copy all the addon binding header files to include/xbmc
|
||||
-# parse addon-bindings.mk to get the list of header files to copy
|
||||
-file(STRINGS ${XBMCROOT}/xbmc/addons/addon-bindings.mk bindings)
|
||||
-string(REPLACE "\n" ";" bindings "${bindings}")
|
||||
-foreach(binding ${bindings})
|
||||
- string(REPLACE " =" ";" binding "${binding}")
|
||||
- string(REPLACE "+=" ";" binding "${binding}")
|
||||
- list(GET binding 1 header)
|
||||
- # copy the header file to include/xbmc
|
||||
- file(COPY ${XBMCROOT}/${header} DESTINATION ${XBMC_INCLUDE_DIR})
|
||||
-endforeach()
|
||||
\ Kein Zeilenumbruch am Dateiende.
|
||||
diff -Naur xbmc-14-31ce987/project/cmake/xbmc-config.cmake.in xbmc-14-31ce987.patch/project/cmake/xbmc-config.cmake.in
|
||||
--- xbmc-14-31ce987/project/cmake/xbmc-config.cmake.in 2014-10-18 12:14:11.000000000 +0200
|
||||
+++ xbmc-14-31ce987.patch/project/cmake/xbmc-config.cmake.in 1970-01-01 01:00:00.000000000 +0100
|
||||
@@ -1,8 +0,0 @@
|
||||
-SET(XBMC_INCLUDE_DIR @prefix@/include)
|
||||
-SET(APP_NAME @APP_NAME@)
|
||||
-SET(APP_VERSION_MAJOR @APP_VERSION_MAJOR@)
|
||||
-SET(APP_VERSION_MINOR @APP_VERSION_MINOR@)
|
||||
-LIST(APPEND CMAKE_MODULE_PATH @prefix@/lib/xbmc)
|
||||
-ADD_DEFINITIONS(@ARCH_DEFINES@)
|
||||
-
|
||||
-include(xbmc-addon-helpers)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,334 +0,0 @@
|
||||
From 4037c9fd07fbec1873549e71e0b1c2833a5a87db Mon Sep 17 00:00:00 2001
|
||||
From: Lars Op den Kamp <lars@opdenkamp.eu>
|
||||
Date: Mon, 27 Oct 2014 14:42:30 +0100
|
||||
Subject: [PATCH 1/8] [CEC] fixed: don't try to stick a value > 255 in a byte
|
||||
|
||||
---
|
||||
system/peripherals.xml | 2 +-
|
||||
xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/system/peripherals.xml b/system/peripherals.xml
|
||||
index 57af5d1..5fcff7c 100644
|
||||
--- a/system/peripherals.xml
|
||||
+++ b/system/peripherals.xml
|
||||
@@ -30,7 +30,7 @@
|
||||
<setting key="device_type" type="int" value="1" configurable="0" />
|
||||
<setting key="wake_devices_advanced" type="string" value="" configurable="0" />
|
||||
<setting key="standby_devices_advanced" type="string" value="" configurable="0" />
|
||||
- <setting key="double_tap_timeout_ms" type="int" min="0" value="2000" configurable="0" />
|
||||
+ <setting key="double_tap_timeout_ms" type="int" min="0" value="300" configurable="0" />
|
||||
</peripheral>
|
||||
|
||||
<peripheral vendor_product="2548:1001,2548:1002" bus="usb" name="Pulse-Eight CEC Adapter" mapTo="cec">
|
||||
diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
|
||||
index 9907ba2..1d068dc 100644
|
||||
--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
|
||||
+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
|
||||
@@ -1347,8 +1347,8 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
|
||||
m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
|
||||
m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
|
||||
|
||||
- // double tap prevention timeout in ms
|
||||
- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
|
||||
+ // double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
|
||||
+ m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms") / 50;
|
||||
}
|
||||
|
||||
void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
|
||||
|
||||
From c82453eaf7af90d1c0a8846776d77fb62bd14246 Mon Sep 17 00:00:00 2001
|
||||
From: Lars Op den Kamp <lars@opdenkamp.eu>
|
||||
Date: Mon, 27 Oct 2014 12:29:09 +0100
|
||||
Subject: [PATCH 2/8] [CEC] bump libCEC to 2.2.0
|
||||
|
||||
---
|
||||
project/BuildDependencies/scripts/libcec_d.txt | 2 +-
|
||||
tools/depends/target/libcec/Makefile | 6 +++---
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/project/BuildDependencies/scripts/libcec_d.txt b/project/BuildDependencies/scripts/libcec_d.txt
|
||||
index a126c74..3d0265e 100644
|
||||
--- a/project/BuildDependencies/scripts/libcec_d.txt
|
||||
+++ b/project/BuildDependencies/scripts/libcec_d.txt
|
||||
@@ -1,3 +1,3 @@
|
||||
; filename source of the file
|
||||
|
||||
-libcec-2.1.4.zip http://mirrors.xbmc.org/build-deps/win32/
|
||||
+libcec-2.2.0-win32.zip http://mirrors.xbmc.org/build-deps/win32/
|
||||
diff --git a/tools/depends/target/libcec/Makefile b/tools/depends/target/libcec/Makefile
|
||||
index 16fec1b..0f54921 100644
|
||||
--- a/tools/depends/target/libcec/Makefile
|
||||
+++ b/tools/depends/target/libcec/Makefile
|
||||
@@ -3,9 +3,9 @@ DEPS= ../../Makefile.include Makefile
|
||||
|
||||
# lib name, version
|
||||
LIBNAME=libcec
|
||||
-VERSION=2.1.4
|
||||
-SOURCE=$(LIBNAME)-$(VERSION)-2
|
||||
-ARCHIVE=$(SOURCE).tar.gz
|
||||
+VERSION=2.2.0
|
||||
+SOURCE=$(LIBNAME)-$(VERSION)
|
||||
+ARCHIVE=$(SOURCE)-2.tar.gz
|
||||
|
||||
# configuration settings
|
||||
CONFIGURE=./configure --prefix=$(PREFIX) --disable-rpi \
|
||||
|
||||
From b5f567522961409e70eceba9629f7906069b1e0f Mon Sep 17 00:00:00 2001
|
||||
From: Lars Op den Kamp <lars@opdenkamp.eu>
|
||||
Date: Mon, 27 Oct 2014 15:32:36 +0100
|
||||
Subject: [PATCH 3/8] [CEC] prevent bus rescan on a Pi, since the adapter
|
||||
cannot be removed
|
||||
|
||||
---
|
||||
xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
|
||||
index b02535a..4941ae6 100644
|
||||
--- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
|
||||
+++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
|
||||
@@ -101,6 +101,8 @@ bool CPeripheralBusCEC::PerformDeviceScan(PeripheralScanResults &results)
|
||||
break;
|
||||
case ADAPTERTYPE_RPI:
|
||||
result.m_mappedBusType = PERIPHERAL_BUS_RPI;
|
||||
+ /** the Pi's adapter cannot be removed, no need to rescan */
|
||||
+ m_bNeedsPolling = false;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
From 9b573e0fdb666339beb1f4cc6104c8c0d0f93829 Mon Sep 17 00:00:00 2001
|
||||
From: Lars Op den Kamp <lars@opdenkamp.eu>
|
||||
Date: Mon, 27 Oct 2014 21:01:00 +0100
|
||||
Subject: [PATCH 4/8] [CEC] fixed: don't return garbage from CEC related app
|
||||
messenger methods see
|
||||
https://github.com/xbmc/xbmc/commit/19d37944ca2a2ac2f3e71a40a94e9ea289d8f2db#commitcomment-8248480
|
||||
|
||||
---
|
||||
xbmc/Application.cpp | 14 ++++++++------
|
||||
xbmc/ApplicationMessenger.cpp | 20 +++++---------------
|
||||
xbmc/ApplicationMessenger.h | 4 ++--
|
||||
3 files changed, 15 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
|
||||
index d5604dc..4d26183 100644
|
||||
--- a/xbmc/Application.cpp
|
||||
+++ b/xbmc/Application.cpp
|
||||
@@ -2366,16 +2366,18 @@ bool CApplication::OnKey(const CKey& key)
|
||||
|
||||
if (StringUtils::StartsWithNoCase(action.GetName(),"CECToggleState") || StringUtils::StartsWithNoCase(action.GetName(),"CECStandby"))
|
||||
{
|
||||
- bool ret = true;
|
||||
-
|
||||
- CLog::LogF(LOGDEBUG, "action %s [%d], toggling state of playing device", action.GetName().c_str(), action.GetID());
|
||||
// do not wake up the screensaver right after switching off the playing device
|
||||
if (StringUtils::StartsWithNoCase(action.GetName(),"CECToggleState"))
|
||||
- ret = CApplicationMessenger::Get().CECToggleState();
|
||||
+ {
|
||||
+ CLog::LogF(LOGDEBUG, "action %s [%d], toggling state of playing device", action.GetName().c_str(), action.GetID());
|
||||
+ if (!CApplicationMessenger::Get().CECToggleState())
|
||||
+ return true;
|
||||
+ }
|
||||
else
|
||||
- ret = CApplicationMessenger::Get().CECStandby();
|
||||
- if (!ret) /* display is switched off */
|
||||
+ {
|
||||
+ CApplicationMessenger::Get().CECStandby();
|
||||
return true;
|
||||
+ }
|
||||
}
|
||||
|
||||
ResetScreenSaver();
|
||||
diff --git a/xbmc/ApplicationMessenger.cpp b/xbmc/ApplicationMessenger.cpp
|
||||
index 1a59c5c..d228273 100644
|
||||
--- a/xbmc/ApplicationMessenger.cpp
|
||||
+++ b/xbmc/ApplicationMessenger.cpp
|
||||
@@ -843,12 +843,12 @@ void CApplicationMessenger::ProcessMessage(ThreadMessage *pMsg)
|
||||
}
|
||||
case TMSG_CECACTIVATESOURCE:
|
||||
{
|
||||
- *((bool*)pMsg->lpVoid) = g_peripherals.ToggleDeviceState(STATE_ACTIVATE_SOURCE);
|
||||
+ g_peripherals.ToggleDeviceState(STATE_ACTIVATE_SOURCE);
|
||||
break;
|
||||
}
|
||||
case TMSG_CECSTANDBY:
|
||||
{
|
||||
- *((bool*)pMsg->lpVoid) = g_peripherals.ToggleDeviceState(STATE_STANDBY);
|
||||
+ g_peripherals.ToggleDeviceState(STATE_STANDBY);
|
||||
break;
|
||||
}
|
||||
case TMSG_START_ANDROID_ACTIVITY:
|
||||
@@ -1396,29 +1396,19 @@ bool CApplicationMessenger::CECToggleState()
|
||||
|
||||
ThreadMessage tMsg = {TMSG_CECTOGGLESTATE};
|
||||
tMsg.lpVoid = (void*)&result;
|
||||
- SendMessage(tMsg, false);
|
||||
+ SendMessage(tMsg, true);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
-bool CApplicationMessenger::CECActivateSource()
|
||||
+void CApplicationMessenger::CECActivateSource()
|
||||
{
|
||||
- bool result;
|
||||
-
|
||||
ThreadMessage tMsg = {TMSG_CECACTIVATESOURCE};
|
||||
- tMsg.lpVoid = (void*)&result;
|
||||
SendMessage(tMsg, false);
|
||||
-
|
||||
- return result;
|
||||
}
|
||||
|
||||
-bool CApplicationMessenger::CECStandby()
|
||||
+void CApplicationMessenger::CECStandby()
|
||||
{
|
||||
- bool result;
|
||||
-
|
||||
ThreadMessage tMsg = {TMSG_CECSTANDBY};
|
||||
- tMsg.lpVoid = (void*)&result;
|
||||
SendMessage(tMsg, false);
|
||||
-
|
||||
- return result;
|
||||
}
|
||||
diff --git a/xbmc/ApplicationMessenger.h b/xbmc/ApplicationMessenger.h
|
||||
index 9013567..543e065 100644
|
||||
--- a/xbmc/ApplicationMessenger.h
|
||||
+++ b/xbmc/ApplicationMessenger.h
|
||||
@@ -219,8 +219,8 @@ class CApplicationMessenger
|
||||
|
||||
void LoadProfile(unsigned int idx);
|
||||
bool CECToggleState();
|
||||
- bool CECActivateSource();
|
||||
- bool CECStandby();
|
||||
+ void CECActivateSource();
|
||||
+ void CECStandby();
|
||||
|
||||
CStdString GetResponse();
|
||||
int SetResponse(CStdString response);
|
||||
|
||||
From 3e0a6a3d083fbc3773517b6d8846a5bd86e03004 Mon Sep 17 00:00:00 2001
|
||||
From: Lars Op den Kamp <lars@opdenkamp.eu>
|
||||
Date: Tue, 28 Oct 2014 14:52:16 +0100
|
||||
Subject: [PATCH 5/8] [CEC] renamed the iDoubleTapTimeoutMs in the new libCEC
|
||||
for clarity. does not change binary compatibility
|
||||
|
||||
---
|
||||
xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
|
||||
index 1d068dc..ad123d9 100644
|
||||
--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
|
||||
+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
|
||||
@@ -1347,8 +1347,13 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
|
||||
m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0;
|
||||
m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0;
|
||||
|
||||
+#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD)
|
||||
// double tap prevention timeout in ms. libCEC uses 50ms units for this in 2.2.0, so divide by 50
|
||||
- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms") / 50;
|
||||
+ m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50;
|
||||
+#else
|
||||
+ // backwards compatibility. will be removed once the next major release of libCEC is out
|
||||
+ m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms");
|
||||
+#endif
|
||||
}
|
||||
|
||||
void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses)
|
||||
|
||||
From 3d6cc38152adbd67cb2ef633e0e5a6f098ec619c Mon Sep 17 00:00:00 2001
|
||||
From: Lars Op den Kamp <lars@opdenkamp.eu>
|
||||
Date: Tue, 28 Oct 2014 16:08:00 +0100
|
||||
Subject: [PATCH 6/8] [CEC] fixed - don't use CEC_CLIENT_VERSION_CURRENT for
|
||||
the client version, because it will lead to issues when XBMC is rebuilt after
|
||||
a libCEC bump that changes something
|
||||
|
||||
---
|
||||
xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
|
||||
index ad123d9..015daef 100644
|
||||
--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
|
||||
+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
|
||||
@@ -1268,8 +1268,8 @@ void CPeripheralCecAdapter::SetConfigurationFromLibCEC(const CEC::libcec_configu
|
||||
|
||||
void CPeripheralCecAdapter::SetConfigurationFromSettings(void)
|
||||
{
|
||||
- // use the same client version as libCEC version
|
||||
- m_configuration.clientVersion = CEC_CLIENT_VERSION_CURRENT;
|
||||
+ // client version matches the version of libCEC that we originally used the API from
|
||||
+ m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0;
|
||||
|
||||
// device name 'XBMC'
|
||||
snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str());
|
||||
|
||||
From da8c086eb4f644c5c607d7a721511230e9a078c0 Mon Sep 17 00:00:00 2001
|
||||
From: Lars Op den Kamp <lars@opdenkamp.eu>
|
||||
Date: Fri, 31 Oct 2014 12:08:03 +0100
|
||||
Subject: [PATCH 7/8] [CEC] use device name 'Kodi' instead of 'XBMC'
|
||||
|
||||
---
|
||||
system/peripherals.xml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/system/peripherals.xml b/system/peripherals.xml
|
||||
index 5fcff7c..a67dc2f 100644
|
||||
--- a/system/peripherals.xml
|
||||
+++ b/system/peripherals.xml
|
||||
@@ -26,7 +26,7 @@
|
||||
<setting key="port" type="string" value="" label="36022" order="15" />
|
||||
|
||||
<setting key="tv_vendor" type="int" value="0" configurable="0" />
|
||||
- <setting key="device_name" type="string" value="XBMC" configurable="0" />
|
||||
+ <setting key="device_name" type="string" value="Kodi" configurable="0" />
|
||||
<setting key="device_type" type="int" value="1" configurable="0" />
|
||||
<setting key="wake_devices_advanced" type="string" value="" configurable="0" />
|
||||
<setting key="standby_devices_advanced" type="string" value="" configurable="0" />
|
||||
|
||||
From b38a4e4aeebe43d76045fb376f2f9dcb18c4f78f Mon Sep 17 00:00:00 2001
|
||||
From: Karlson2k <k2k@narod.ru>
|
||||
Date: Fri, 31 Oct 2014 13:54:00 +0300
|
||||
Subject: [PATCH 8/8] [cec] [win32] Use new package format
|
||||
|
||||
---
|
||||
project/BuildDependencies/scripts/0_package.list | 1 +
|
||||
project/BuildDependencies/scripts/libcec_d.bat | 15 ---------------
|
||||
2 files changed, 1 insertion(+), 15 deletions(-)
|
||||
delete mode 100644 project/BuildDependencies/scripts/libcec_d.bat
|
||||
|
||||
diff --git a/project/BuildDependencies/scripts/0_package.list b/project/BuildDependencies/scripts/0_package.list
|
||||
index 8127b15..e2a4a1f 100644
|
||||
--- a/project/BuildDependencies/scripts/0_package.list
|
||||
+++ b/project/BuildDependencies/scripts/0_package.list
|
||||
@@ -12,6 +12,7 @@ gnutls-3.2.3-win32.zip
|
||||
jsonschemabuilder-1.0.0-win32-3.7z
|
||||
libass-0.10.2-win32.7z
|
||||
libbluray-0.4.0-win32.zip
|
||||
+libcec-2.2.0-win32-1.7z
|
||||
libiconv-1.14-win32-vc120.7z
|
||||
libjpeg-turbo-1.2.0-win32.7z
|
||||
libnfs-1.6.2-win32.7z
|
||||
diff --git a/project/BuildDependencies/scripts/libcec_d.bat b/project/BuildDependencies/scripts/libcec_d.bat
|
||||
deleted file mode 100644
|
||||
index b5104c3..0000000
|
||||
--- a/project/BuildDependencies/scripts/libcec_d.bat
|
||||
+++ /dev/null
|
||||
@@ -1,15 +0,0 @@
|
||||
-@ECHO OFF
|
||||
-
|
||||
-SET LOC_PATH=%CD%
|
||||
-SET FILES=%LOC_PATH%\libcec_d.txt
|
||||
-
|
||||
-CALL dlextract.bat libcec %FILES%
|
||||
-
|
||||
-cd %TMP_PATH%
|
||||
-
|
||||
-mkdir "%CUR_PATH%\include\libcec"
|
||||
-xcopy libcec\include\* "%CUR_PATH%\include\libcec\." /E /Q /I /Y
|
||||
-
|
||||
-copy libcec\libcec.dll "%APP_PATH%\system\."
|
||||
-
|
||||
-cd %LOC_PATH%
|
||||
@@ -0,0 +1,67 @@
|
||||
From 411b2097affa681e22e8e0fe1a1c30bebd574a0e Mon Sep 17 00:00:00 2001
|
||||
From: fritsch <Peter.Fruehberger@gmail.com>
|
||||
Date: Sat, 1 Nov 2014 12:44:54 +0100
|
||||
Subject: [PATCH] AdvancedSettings: Add minimalSampleRate to ActiveAE cause of
|
||||
broken AVRs out there
|
||||
|
||||
---
|
||||
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 7 +++++++
|
||||
xbmc/settings/AdvancedSettings.cpp | 3 +++
|
||||
xbmc/settings/AdvancedSettings.h | 2 ++
|
||||
3 files changed, 12 insertions(+)
|
||||
|
||||
diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
||||
index 0e4d8da..b9d74bf 100644
|
||||
--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
||||
+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
||||
@@ -1505,6 +1505,13 @@ void CActiveAE::ApplySettingsToFormat(AEAudioFormat &format, AudioSettings &sett
|
||||
format.m_channelLayout = AE_CH_LAYOUT_2_0;
|
||||
}
|
||||
|
||||
+ // OpenELEC workaround to define a minimum sample Rate for broken AVRs
|
||||
+ if (format.m_sampleRate < g_advancedSettings.m_minimumSampleRate)
|
||||
+ {
|
||||
+ format.m_sampleRate = g_advancedSettings.m_minimumSampleRate;
|
||||
+ CLog::Log(LOGDEBUG, "CActiveAE::MinimumSampleRate - Forced by use to samplerate %d", format.m_sampleRate);
|
||||
+ }
|
||||
+
|
||||
if (m_settings.config == AE_CONFIG_FIXED)
|
||||
{
|
||||
format.m_sampleRate = m_settings.samplerate;
|
||||
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
|
||||
index 7d04872..3d5432a 100644
|
||||
--- a/xbmc/settings/AdvancedSettings.cpp
|
||||
+++ b/xbmc/settings/AdvancedSettings.cpp
|
||||
@@ -107,6 +107,8 @@ void CAdvancedSettings::Initialize()
|
||||
return;
|
||||
|
||||
m_audioHeadRoom = 0;
|
||||
+ // OpenELEC workaround for broken AVRs
|
||||
+ m_minimumSampleRate = 8000;
|
||||
m_ac3Gain = 12.0f;
|
||||
m_audioApplyDrc = true;
|
||||
m_dvdplayerIgnoreDTSinWAV = false;
|
||||
@@ -475,6 +477,7 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
|
||||
{
|
||||
XMLUtils::GetFloat(pElement, "ac3downmixgain", m_ac3Gain, -96.0f, 96.0f);
|
||||
XMLUtils::GetInt(pElement, "headroom", m_audioHeadRoom, 0, 12);
|
||||
+ XMLUtils::GetInt(pElement, "minimumsamplerate", m_minimumSampleRate, 8000, 192000);
|
||||
XMLUtils::GetString(pElement, "defaultplayer", m_audioDefaultPlayer);
|
||||
// 101 on purpose - can be used to never automark as watched
|
||||
XMLUtils::GetFloat(pElement, "playcountminimumpercent", m_audioPlayCountMinimumPercent, 0.0f, 101.0f);
|
||||
diff --git a/xbmc/settings/AdvancedSettings.h b/xbmc/settings/AdvancedSettings.h
|
||||
index 7df586e..9b79a8a 100644
|
||||
--- a/xbmc/settings/AdvancedSettings.h
|
||||
+++ b/xbmc/settings/AdvancedSettings.h
|
||||
@@ -136,6 +136,8 @@ class CAdvancedSettings : public ISettingCallback, public ISettingsHandler
|
||||
static void SettingOptionsLoggingComponentsFiller(const CSetting *setting, std::vector< std::pair<std::string, int> > &list, int ¤t, void *data);
|
||||
|
||||
int m_audioHeadRoom;
|
||||
+ // OpenELEC workaround for minimum sample Rate
|
||||
+ int m_minimumSampleRate;
|
||||
float m_ac3Gain;
|
||||
CStdString m_audioDefaultPlayer;
|
||||
float m_audioPlayCountMinimumPercent;
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Description=Kodi clean debug logs
|
||||
ConditionKernelCommandLine=!debugging
|
||||
ConditionPathExists=!/storage/.cache/debug.openelec
|
||||
Before=kodi.service
|
||||
DefaultDependencies=no
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
@@ -10,4 +10,4 @@ ExecStart=-/bin/sh -c 'rm -rf /storage/.kodi/userdata/addon_data/*/*.log /storag
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=kodi.service
|
||||
WantedBy=sysinit.target
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
--- a/src/joystick/linux/SDL_sysjoystick.c 2014-03-16 03:31:41.000000000 +0100
|
||||
+++ b/src/joystick/linux/SDL_sysjoystick.c 2014-09-08 01:42:32.987502340 +0200
|
||||
@@ -500,7 +500,7 @@
|
||||
++joystick->nbuttons;
|
||||
}
|
||||
}
|
||||
- for (i = 0; i < ABS_MISC; ++i) {
|
||||
+ for (i = 0; i < ABS_MAX; ++i) {
|
||||
/* Skip hats */
|
||||
if (i == ABS_HAT0X) {
|
||||
i = ABS_HAT3Y;
|
||||
@@ -761,10 +761,6 @@
|
||||
}
|
||||
break;
|
||||
case EV_ABS:
|
||||
- if (code >= ABS_MISC) {
|
||||
- break;
|
||||
- }
|
||||
-
|
||||
switch (code) {
|
||||
case ABS_HAT0X:
|
||||
case ABS_HAT0Y:
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="ffmpeg"
|
||||
PKG_VERSION="2.4.2"
|
||||
PKG_VERSION="2.4.3"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
@@ -32,17 +32,17 @@ PKG_LONGDESC="FFmpeg is a complete, cross-platform solution to record, convert a
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
if [ "$VAAPI" = yes ]; then
|
||||
# configure GPU drivers and dependencies:
|
||||
get_graphicdrivers
|
||||
|
||||
if [ "$VAAPI_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libva-intel-driver"
|
||||
FFMPEG_VAAPI="--enable-vaapi"
|
||||
else
|
||||
FFMPEG_VAAPI="--disable-vaapi"
|
||||
fi
|
||||
|
||||
if [ "$VDPAU" = yes ]; then
|
||||
if [ "$VDPAU_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libvdpau"
|
||||
FFMPEG_VDPAU="--enable-vdpau"
|
||||
else
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libass"
|
||||
PKG_VERSION="0.11.1"
|
||||
PKG_VERSION="0.12.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
|
||||
@@ -37,7 +37,7 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-werror \
|
||||
--disable-optimizations \
|
||||
--with-gnu-ld"
|
||||
|
||||
if [ "$AACS_SUPPORT" = "yes" ]; then
|
||||
if [ "$BLURAY_AACS_SUPPORT" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libaacs"
|
||||
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --with-libaacs"
|
||||
else
|
||||
|
||||
@@ -32,11 +32,11 @@ PKG_LONGDESC="libbluray is an open-source library designed for Blu-Ray Discs pla
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
if [ "$AACS_SUPPORT" = "yes" ]; then
|
||||
if [ "$BLURAY_AACS_SUPPORT" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libaacs"
|
||||
fi
|
||||
|
||||
if [ "$BDPLUS_SUPPORT" = "yes" ]; then
|
||||
if [ "$BLURAY_BDPLUS_SUPPORT" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libbdplus"
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -Nru vdr-1.7.15-vanilla/eitscan.c vdr-1.7.15-disable_eitscan/eitscan.c
|
||||
--- vdr-1.7.15-vanilla/eitscan.c 2010-06-06 19:11:14.000000000 +0300
|
||||
+++ vdr-1.7.15-disable_eitscan/eitscan.c 2010-06-06 20:44:07.000000000 +0300
|
||||
@@ -146,7 +146,7 @@
|
||||
if (Device) {
|
||||
for (cScanData *ScanData = scanList->First(); ScanData; ScanData = scanList->Next(ScanData)) {
|
||||
const cChannel *Channel = ScanData->GetChannel();
|
||||
- if (Channel) {
|
||||
+ if (Channel && !cSource::IsType(Channel->Source(), 'I')) {
|
||||
if (!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= CA_ENCRYPTED_MIN) {
|
||||
if (Device->ProvidesTransponder(Channel)) {
|
||||
if (!Device->Receiving()) {
|
||||
@@ -16,20 +16,13 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
|
||||
# TODO: update to libssh-0.6.3 fails in xbmc with
|
||||
# ld.gold: error: libsmbclient.a: multiple definition of 'string_free'
|
||||
# ld.gold: libssh.a: previous definition here
|
||||
|
||||
PKG_NAME="libssh"
|
||||
PKG_VERSION="0.5.5"
|
||||
PKG_VERSION="0.6.3"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OpenSource"
|
||||
PKG_SITE="http://www.libssh.org/"
|
||||
# PKG_URL="http://www.libssh.org/files/0.5/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
# PKG_URL="https://red.libssh.org/attachments/download/51/$PKG_NAME-$PKG_VERSION.tar.gz" # actually down
|
||||
PKG_URL="http://pkgs.fedoraproject.org/repo/pkgs/libssh/$PKG_NAME-$PKG_VERSION.tar.gz/bb308196756c7255c0969583d917136b/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_URL="https://red.libssh.org/attachments/download/87/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain zlib libressl"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="network"
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
diff -urN a/source3/include/proto.h b/source3/include/proto.h
|
||||
--- a/source3/include/proto.h 2014-06-23 08:03:27.000000000 +0200
|
||||
+++ b/source3/include/proto.h 2014-11-01 13:02:42.918300338 +0100
|
||||
@@ -947,7 +947,7 @@
|
||||
size_t maxlength);
|
||||
char *StrnCpy_fn(const char *fn, int line,char *dest,const char *src,size_t n);
|
||||
bool in_list(const char *s, const char *list, bool casesensitive);
|
||||
-void string_free(char **s);
|
||||
+void smb_string_free(char **s);
|
||||
bool string_set(char **dest,const char *src);
|
||||
void string_sub2(char *s,const char *pattern, const char *insert, size_t len,
|
||||
bool remove_unsafe_characters, bool replace_once,
|
||||
diff -urN a/source3/lib/util_str.c b/source3/lib/util_str.c
|
||||
--- a/source3/lib/util_str.c 2014-06-23 08:03:27.000000000 +0200
|
||||
+++ b/source3/lib/util_str.c 2014-11-01 13:03:11.113658974 +0100
|
||||
@@ -764,7 +764,7 @@
|
||||
Free a string value.
|
||||
**/
|
||||
|
||||
-void string_free(char **s)
|
||||
+void smb_string_free(char **s)
|
||||
{
|
||||
if (!s || !(*s))
|
||||
return;
|
||||
@@ -780,7 +780,7 @@
|
||||
|
||||
bool string_set(char **dest,const char *src)
|
||||
{
|
||||
- string_free(dest);
|
||||
+ smb_string_free(dest);
|
||||
return(string_init(dest,src));
|
||||
}
|
||||
|
||||
diff -urN a/source3/param/loadparm.c b/source3/param/loadparm.c
|
||||
--- a/source3/param/loadparm.c 2014-06-23 08:03:27.000000000 +0200
|
||||
+++ b/source3/param/loadparm.c 2014-11-01 13:03:03.872057887 +0100
|
||||
@@ -4998,7 +4998,7 @@
|
||||
if ((parm.type == P_STRING) ||
|
||||
(parm.type == P_USTRING))
|
||||
{
|
||||
- string_free((char**)parm_ptr);
|
||||
+ smb_string_free((char**)parm_ptr);
|
||||
} else if (parm.type == P_LIST) {
|
||||
TALLOC_FREE(*((char***)parm_ptr));
|
||||
}
|
||||
@@ -5160,7 +5160,7 @@
|
||||
if (!done_init) {
|
||||
/* The logfile can be set before this is invoked. Free it if so. */
|
||||
if (Globals.szLogFile != NULL) {
|
||||
- string_free(&Globals.szLogFile);
|
||||
+ smb_string_free(&Globals.szLogFile);
|
||||
Globals.szLogFile = NULL;
|
||||
}
|
||||
done_init = True;
|
||||
@@ -6108,7 +6108,7 @@
|
||||
|
||||
while (data) {
|
||||
if (strwicmp(data->key, param_key) == 0) {
|
||||
- string_free(¶m_key);
|
||||
+ smb_string_free(¶m_key);
|
||||
return data;
|
||||
}
|
||||
data = data->next;
|
||||
@@ -6120,14 +6120,14 @@
|
||||
data = Globals.param_opt;
|
||||
while (data) {
|
||||
if (strwicmp(data->key, param_key) == 0) {
|
||||
- string_free(¶m_key);
|
||||
+ smb_string_free(¶m_key);
|
||||
return data;
|
||||
}
|
||||
data = data->next;
|
||||
}
|
||||
}
|
||||
|
||||
- string_free(¶m_key);
|
||||
+ smb_string_free(¶m_key);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
@@ -6350,8 +6350,8 @@
|
||||
}
|
||||
opt = *popts;
|
||||
while (opt != NULL) {
|
||||
- string_free(&opt->key);
|
||||
- string_free(&opt->value);
|
||||
+ smb_string_free(&opt->key);
|
||||
+ smb_string_free(&opt->value);
|
||||
TALLOC_FREE(opt->list);
|
||||
next_opt = opt->next;
|
||||
SAFE_FREE(opt);
|
||||
@@ -6375,7 +6375,7 @@
|
||||
|
||||
free_parameters(pservice);
|
||||
|
||||
- string_free(&pservice->szService);
|
||||
+ smb_string_free(&pservice->szService);
|
||||
TALLOC_FREE(pservice->copymap);
|
||||
|
||||
free_param_opts(&pservice->param_opt);
|
||||
@@ -7085,7 +7085,7 @@
|
||||
overridden */
|
||||
return;
|
||||
}
|
||||
- string_free(&opt->value);
|
||||
+ smb_string_free(&opt->value);
|
||||
TALLOC_FREE(opt->list);
|
||||
opt->value = SMB_STRDUP(opt_value);
|
||||
opt->flags = flags;
|
||||
diff -urN a/source3/smbd/conn.c b/source3/smbd/conn.c
|
||||
--- a/source3/smbd/conn.c 2014-06-23 08:03:27.000000000 +0200
|
||||
+++ b/source3/smbd/conn.c 2014-11-01 13:02:49.008926676 +0100
|
||||
@@ -412,8 +412,8 @@
|
||||
free_namearray(conn->veto_oplock_list);
|
||||
free_namearray(conn->aio_write_behind_list);
|
||||
|
||||
- string_free(&conn->connectpath);
|
||||
- string_free(&conn->origpath);
|
||||
+ smb_string_free(&conn->connectpath);
|
||||
+ smb_string_free(&conn->origpath);
|
||||
|
||||
ZERO_STRUCTP(conn);
|
||||
talloc_destroy(conn);
|
||||
@@ -1,6 +1,6 @@
|
||||
[Unit]
|
||||
Description=Samba configfile writer
|
||||
After=local-fs.target samba-defaults.service
|
||||
After=samba-defaults.service
|
||||
Requires=samba-defaults.service
|
||||
|
||||
ConditionPathExists=/storage/.cache/services/samba.conf
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
[Unit]
|
||||
Description=Samba defaults
|
||||
After=local-fs.target
|
||||
|
||||
ConditionPathExists=!/storage/.cache/services/samba.conf
|
||||
ConditionPathExists=!/storage/.cache/services/samba.disabled
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="wireless-regdb"
|
||||
PKG_VERSION="2014.10.07"
|
||||
PKG_VERSION="2014.11.07"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[Unit]
|
||||
Description=Debug Shell
|
||||
|
||||
DefaultDependencies=no
|
||||
ConditionKernelCommandLine=|tty
|
||||
ConditionKernelCommandLine=|debugging
|
||||
ConditionPathExists=|/storage/.cache/debug.openelec
|
||||
@@ -21,4 +22,4 @@ IgnoreSIGPIPE=no
|
||||
KillSignal=SIGHUP
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
||||
WantedBy=sysinit.target
|
||||
|
||||
@@ -26,11 +26,13 @@
|
||||
KEY_RIGHT = KEY_RIGHT # Direction Right
|
||||
|
||||
KEY_PLAY = KEY_PLAY # Play (also used for Pause)
|
||||
KEY_STOP = KEY_STOP # Stop
|
||||
KEY_STOP = KEY_STOP # Stop #deprecated
|
||||
KEY_STOPCD = KEY_STOP # Stop
|
||||
KEY_PAUSE = KEY_PAUSE # PAUSE
|
||||
KEY_RECORD = KEY_RECORD # Record
|
||||
|
||||
KEY_FORWARD = KEY_FORWARD # Forward
|
||||
KEY_FORWARD = KEY_FORWARD # Forward # deprecated
|
||||
KEY_FASTFORWARD = KEY_FORWARD # Forward
|
||||
KEY_REWIND = KEY_REWIND # Reverse
|
||||
KEY_NEXT = KEY_NEXT # Next track
|
||||
KEY_PREVIOUS = KEY_PREVIOUS # Pre-track
|
||||
|
||||
@@ -6,7 +6,7 @@ diff -Naur irserver-20100817-old/server.c irserver-20100817-new/server.c
|
||||
#ifdef LINUX
|
||||
SOCKET local_socket;
|
||||
-#define LIRCD "/dev/lircd"
|
||||
+#define LIRCD "/var/run/lirc/lircd.irtrans"
|
||||
+#define LIRCD "/run/lirc/lircd.irtrans"
|
||||
#define PERMISSIONS 0666
|
||||
#endif
|
||||
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
d /var/run/lirc 0755 root root - -
|
||||
d /run/lirc 0755 root root - -
|
||||
|
||||
@@ -35,6 +35,7 @@ PKG_AUTORECONF="yes"
|
||||
PKG_CONFIGURE_OPTS_TARGET="ac_cv_path_LIBUSB_CONFIG= /
|
||||
ac_cv_func_forkpty=no \
|
||||
ac_cv_lib_util_forkpty=no \
|
||||
--localstatedir=/ \
|
||||
--enable-sandboxed \
|
||||
--with-gnu-ld \
|
||||
--without-x \
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -17,13 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="pciutils"
|
||||
PKG_VERSION="3.2.1"
|
||||
PKG_VERSION="3.3.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="i386 x86_64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://mj.ucw.cz/pciutils.shtml"
|
||||
PKG_URL="http://www.kernel.org/pub/software/utils/pciutils/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_DEPENDS_TARGET="toolchain kmod systemd"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="system"
|
||||
PKG_SHORTDESC="pciutils: Linux PCI Utilities"
|
||||
@@ -39,8 +39,7 @@ make_target() {
|
||||
CROSS_COMPILE=${TARGET_PREFIX} \
|
||||
HOST=$TARGET_ARCH-linux \
|
||||
$PKG_MAKE_OPTS \
|
||||
ZLIB=no \
|
||||
DNS=no
|
||||
ZLIB=no DNS=no LIBKMOD=yes HWDB=yes
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
@@ -53,11 +52,7 @@ makeinstall_target() {
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin/setpci
|
||||
rm -rf $INSTALL/usr/bin/update-pciids
|
||||
rm -rf $INSTALL/usr/share
|
||||
rm -rf $INSTALL/usr/sbin/setpci
|
||||
rm -rf $INSTALL/usr/sbin/update-pciids
|
||||
|
||||
mkdir -p $INSTALL/usr/share
|
||||
cp $PKG_DIR/config/pci.ids $INSTALL/usr/share
|
||||
rm -rf $INSTALL/usr/share
|
||||
}
|
||||
|
||||
@@ -124,8 +124,6 @@ post_makeinstall_target() {
|
||||
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-OUI.hwdb
|
||||
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-acpi-vendor.hwdb
|
||||
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-bluetooth-vendor-product.hwdb
|
||||
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-pci-classes.hwdb
|
||||
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-pci-vendor-model.hwdb
|
||||
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-net-ifname.hwdb
|
||||
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-sdio-classes.hwdb
|
||||
rm -f $INSTALL/usr/lib/udev/hwdb.d/20-sdio-vendor-model.hwdb
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 9e666841d238bbb4854ceb1bb306367a33f509c8 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Fri, 7 Nov 2014 22:40:33 +0200
|
||||
Subject: [PATCH] units: make systemd-journald.service Type=notify
|
||||
|
||||
source: http://cgit.freedesktop.org/systemd/systemd/commit/?id=a87a38c20196a4aeb56b6ba71d688eefd0b21c30
|
||||
---
|
||||
units/systemd-journald.service.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in
|
||||
index 4de38fa..441d5b1 100644
|
||||
--- a/units/systemd-journald.service.in
|
||||
+++ b/units/systemd-journald.service.in
|
||||
@@ -14,6 +14,7 @@ After=systemd-journald.socket systemd-journald-dev-log.socket syslog.socket
|
||||
Before=sysinit.target
|
||||
|
||||
[Service]
|
||||
+Type=notify
|
||||
Sockets=systemd-journald.socket systemd-journald-dev-log.socket
|
||||
ExecStart=@rootlibexecdir@/systemd-journald
|
||||
Restart=always
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
[Unit]
|
||||
Description=Setup machine-id
|
||||
DefaultDependencies=no
|
||||
After=local-fs.target
|
||||
Before=systemd-journald.service
|
||||
|
||||
[Service]
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
[Unit]
|
||||
Description=Setup User config dir
|
||||
DefaultDependencies=no
|
||||
Before=local-fs.target shutdown.target
|
||||
Conflicts=shutdown.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
@@ -10,4 +8,4 @@ ExecStart=/bin/sh -c "mkdir -p /storage/.config; false | cp -iR /usr/config/* /s
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=local-fs.target
|
||||
WantedBy=sysinit.target
|
||||
|
||||
3
packages/sysutils/v4l-utils/config/rc_keymaps/README
Normal file
3
packages/sysutils/v4l-utils/config/rc_keymaps/README
Normal file
@@ -0,0 +1,3 @@
|
||||
RC keymaps user config dir
|
||||
|
||||
put your own keymaps for ir-keytable in this directory
|
||||
@@ -19,7 +19,7 @@
|
||||
# with 1.0.0 repeat delay is broken. test on upgrade
|
||||
|
||||
PKG_NAME="v4l-utils"
|
||||
PKG_VERSION="0.8.9"
|
||||
PKG_VERSION="1.6.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
@@ -41,8 +41,9 @@ make_target() {
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/lib/udev/rules.d
|
||||
rm -rf $INSTALL/etc/rc_keymaps
|
||||
ln -sf /storage/.config/rc_keymaps $INSTALL/etc/rc_keymaps
|
||||
|
||||
mkdir -p $INSTALL/usr/lib/udev/rules.d
|
||||
cp utils/keytable/*.rules $INSTALL/usr/lib/udev/rules.d
|
||||
mkdir -p $INSTALL/usr/config
|
||||
cp -PR $PKG_DIR/config/* $INSTALL/usr/config
|
||||
}
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
diff --git a/utils/keytable/keytable.c b/utils/keytable/keytable.c
|
||||
index 8bcd5c4..e8e67da 100644
|
||||
--- a/utils/keytable/keytable.c
|
||||
+++ b/utils/keytable/keytable.c
|
||||
@@ -471,6 +471,8 @@ static error_t parse_opt(int k, char *arg, struct argp_state *state)
|
||||
ch_proto |= LIRC;
|
||||
else if (!strcasecmp(p,"rc-5-sz"))
|
||||
diff -Naur v4l-utils-1.6.0/utils/keytable/keytable.c v4l-utils-1.6.0.patch/utils/keytable/keytable.c
|
||||
--- v4l-utils-1.6.0/utils/keytable/keytable.c 2014-08-22 16:59:47.000000000 +0200
|
||||
+++ v4l-utils-1.6.0.patch/utils/keytable/keytable.c 2014-11-08 18:10:31.497084484 +0100
|
||||
@@ -487,6 +487,8 @@
|
||||
ch_proto |= RC_5_SZ;
|
||||
else if (!strcasecmp(p,"xmp"))
|
||||
ch_proto |= XMP;
|
||||
+ else if (!strcasecmp(p,"other"))
|
||||
+ ch_proto |= OTHER;
|
||||
else if (!strcasecmp(p,"all"))
|
||||
ch_proto |= ~0;
|
||||
else
|
||||
goto err_inval;
|
||||
p = strtok(NULL, ",;");
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
diff --git a/utils/keytable/rc_keymaps/samsung b/utils/keytable/rc_keymaps/samsung
|
||||
new file mode 100644
|
||||
index 0000000..2b0c81d
|
||||
--- /dev/null
|
||||
+++ b/utils/keytable/rc_keymaps/samsung
|
||||
diff -Naur v4l-utils-1.6.0/utils/keytable/rc_keymaps/samsung v4l-utils-1.6.0.patch/utils/keytable/rc_keymaps/samsung
|
||||
--- v4l-utils-1.6.0/utils/keytable/rc_keymaps/samsung 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ v4l-utils-1.6.0.patch/utils/keytable/rc_keymaps/samsung 2014-11-08 17:51:13.358148309 +0100
|
||||
@@ -0,0 +1,31 @@
|
||||
+# table samsung, type: NEC
|
||||
+0x43532f KEY_NUMERIC_0
|
||||
@@ -35,15 +33,14 @@ index 0000000..2b0c81d
|
||||
+0x43530f KEY_ZOOM
|
||||
+0x43530e KEY_SUBTITLE
|
||||
+0x43537e KEY_BACK
|
||||
diff --git a/utils/keytable/rc_maps.cfg b/utils/keytable/rc_maps.cfg
|
||||
index 567b8e0..04bed89 100644
|
||||
--- a/utils/keytable/rc_maps.cfg
|
||||
+++ b/utils/keytable/rc_maps.cfg
|
||||
@@ -49,6 +49,7 @@
|
||||
* rc-winfast-usbii-deluxe winfast_usbii_deluxe
|
||||
* rc-anysee anysee
|
||||
diff -Naur v4l-utils-1.6.0/utils/keytable/rc_maps.cfg v4l-utils-1.6.0.patch/utils/keytable/rc_maps.cfg
|
||||
--- v4l-utils-1.6.0/utils/keytable/rc_maps.cfg 2014-09-08 08:58:40.000000000 +0200
|
||||
+++ v4l-utils-1.6.0.patch/utils/keytable/rc_maps.cfg 2014-11-08 17:52:02.895229258 +0100
|
||||
@@ -65,6 +65,7 @@
|
||||
* rc-ati-x10 ati_x10
|
||||
* rc-iodata-bctv7e iodata_bctv7e
|
||||
* rc-rc6-mce rc6_mce
|
||||
+* rc-samsung samsung
|
||||
* rc-adstech-dvb-t-pci adstech_dvb_t_pci
|
||||
* rc-kworld-pc150u kworld_pc150u
|
||||
* rc-iodata-bctv7e iodata_bctv7e
|
||||
* rc-technisat-usb2 technisat_usb2
|
||||
* rc-hauppauge hauppauge
|
||||
* rc-terratec-cinergy-xs terratec_cinergy_xs
|
||||
|
||||
@@ -2,8 +2,8 @@ diff -Naur v4l-utils-0.8.9/utils/keytable/rc_keymaps/rc6_mce v4l-utils-0.8.9.pat
|
||||
--- v4l-utils-0.8.9/utils/keytable/rc_keymaps/rc6_mce 2014-05-20 14:31:04.585559227 +0200
|
||||
+++ v4l-utils-0.8.9.patch/utils/keytable/rc_keymaps/rc6_mce 2014-05-20 17:47:04.341378915 +0200
|
||||
@@ -1,4 +1,4 @@
|
||||
-# table rc6_mce, type: RC6
|
||||
+# table rc6_mce, type: RC6 NEC
|
||||
-# table rc6_mce, type: RC6_MCE
|
||||
+# table rc6_mce, type: RC6_MCE NEC
|
||||
0x800f0400 KEY_NUMERIC_0
|
||||
0x800f0401 KEY_NUMERIC_1
|
||||
0x800f0402 KEY_NUMERIC_2
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="bcm2835-bootloader"
|
||||
PKG_VERSION="5711461"
|
||||
PKG_VERSION="778b370"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="arm"
|
||||
PKG_LICENSE="nonfree"
|
||||
|
||||
@@ -34,3 +34,7 @@ PKG_AUTORECONF="no"
|
||||
|
||||
PKG_MAKE_OPTS_TARGET="CC=$TARGET_CC STRIP=$STRIP PREFIX=/usr WARNERROR=no"
|
||||
PKG_MAKEINSTALL_OPTS_TARGET="CC=$TARGET_CC STRIP=$STRIP PREFIX=/usr WARNERROR=no"
|
||||
|
||||
pre_make_target() {
|
||||
export LDFLAGS="$LDFLAGS -ludev -lkmod"
|
||||
}
|
||||
|
||||
@@ -47,7 +47,13 @@ makeinstall_init() {
|
||||
cp ply-image $INSTALL/bin
|
||||
|
||||
mkdir -p $INSTALL/splash
|
||||
if [ -f $PROJECT_DIR/$PROJECT/splash/splash.conf ]; then
|
||||
if [ -f $DISTRO_DIR/$DISTRO/splash/splash.conf ]; then
|
||||
cp $DISTRO_DIR/$DISTRO/splash/splash.conf $INSTALL/splash
|
||||
cp $DISTRO_DIR/$DISTRO/splash/*.png $INSTALL/splash
|
||||
elif [ -f $DISTRO_DIR/$DISTRO/splash/splash-1024.png \
|
||||
-o -f $DISTRO_DIR/$DISTRO/splash/splash-full.png ]; then
|
||||
cp $DISTRO_DIR/$DISTRO/splash/splash-*.png $INSTALL/splash
|
||||
elif [ -f $PROJECT_DIR/$PROJECT/splash/splash.conf ]; then
|
||||
cp $PROJECT_DIR/$PROJECT/splash/splash.conf $INSTALL/splash
|
||||
cp $PROJECT_DIR/$PROJECT/splash/*.png $INSTALL/splash
|
||||
elif [ -f $PROJECT_DIR/$PROJECT/splash/splash-1024.png \
|
||||
|
||||
@@ -32,7 +32,10 @@ PKG_LONGDESC="debug is a Metapackage for installing debugging tools"
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
if [ "$VDPAU" = "yes" ]; then
|
||||
# configure GPU drivers and dependencies:
|
||||
get_graphicdrivers
|
||||
|
||||
if [ "$VDPAU_SUPPORT" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET vdpauinfo"
|
||||
fi
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ if [ "$MEDIACENTER" = "kodi" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET pycrypto"
|
||||
|
||||
# Kodi audio encoder addons
|
||||
if [ "$OPTICAL_DRIVE_SUPPORT" = "yes" ]; then
|
||||
if [ "$KODI_OPTICAL_SUPPORT" = "yes" ]; then
|
||||
for audioencoder in $KODI_AUDIOENCODER_ADDONS; do
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET kodi-audioencoder-$audioencoder"
|
||||
done
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
# there: http://forum.xbmc.org/showthread.php?tid=177557
|
||||
|
||||
PKG_NAME="curl"
|
||||
PKG_VERSION="7.37.1"
|
||||
PKG_VERSION="7.39.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="MIT"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xf86-video-intel"
|
||||
PKG_VERSION="2.99.916"
|
||||
PKG_VERSION="2.99.910"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="i386 x86_64"
|
||||
PKG_LICENSE="OSS"
|
||||
@@ -46,10 +46,10 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-backlight \
|
||||
--enable-sna \
|
||||
--enable-uxa \
|
||||
--disable-xvmc \
|
||||
--enable-glamor \
|
||||
--disable-glamor \
|
||||
--disable-xaa \
|
||||
--disable-dga \
|
||||
--enable-tear-free \
|
||||
--disable-tear-free \
|
||||
--disable-rendernode \
|
||||
--disable-create2 \
|
||||
--disable-rotation \
|
||||
|
||||
@@ -24,7 +24,7 @@ PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.nvidia.com/"
|
||||
[ "$TARGET_ARCH" = "i386" ] && PKG_URL="http://us.download.nvidia.com/XFree86/Linux-x86/$PKG_VERSION/NVIDIA-Linux-x86-$PKG_VERSION.run"
|
||||
[ "$TARGET_ARCH" = "x86_64" ] && PKG_URL="http://us.download.nvidia.com/XFree86/Linux-x86_64/$PKG_VERSION/NVIDIA-Linux-x86_64-$PKG_VERSION-no-compat32.run"
|
||||
PKG_DEPENDS_TARGET="toolchain util-macros linux xorg-server"
|
||||
PKG_DEPENDS_TARGET="toolchain util-macros linux xorg-server libvdpau"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="x11/driver"
|
||||
@@ -74,9 +74,7 @@ makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/bin
|
||||
cp nvidia-smi $INSTALL/usr/bin
|
||||
|
||||
if [ "$VDPAU" = yes ]; then
|
||||
mkdir -p $INSTALL/usr/lib/vdpau
|
||||
cp libvdpau_nvidia.so* $INSTALL/usr/lib/vdpau/libvdpau_nvidia.so.1
|
||||
ln -sf libvdpau_nvidia.so.1 $INSTALL/usr/lib/vdpau/libvdpau_nvidia.so
|
||||
fi
|
||||
mkdir -p $INSTALL/usr/lib/vdpau
|
||||
cp libvdpau_nvidia.so* $INSTALL/usr/lib/vdpau/libvdpau_nvidia.so.1
|
||||
ln -sf libvdpau_nvidia.so.1 $INSTALL/usr/lib/vdpau/libvdpau_nvidia.so
|
||||
}
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xf86-video-nvidia"
|
||||
PKG_VERSION="340.32"
|
||||
PKG_VERSION="340.58"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="i386 x86_64"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.nvidia.com/"
|
||||
[ "$TARGET_ARCH" = "i386" ] && PKG_URL="http://us.download.nvidia.com/XFree86/Linux-x86/$PKG_VERSION/NVIDIA-Linux-x86-$PKG_VERSION.run"
|
||||
[ "$TARGET_ARCH" = "x86_64" ] && PKG_URL="http://us.download.nvidia.com/XFree86/Linux-x86_64/$PKG_VERSION/NVIDIA-Linux-x86_64-$PKG_VERSION-no-compat32.run"
|
||||
PKG_DEPENDS_TARGET="toolchain util-macros linux xorg-server"
|
||||
PKG_DEPENDS_TARGET="toolchain util-macros linux xorg-server libvdpau"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="x11/driver"
|
||||
@@ -34,10 +34,6 @@ PKG_LONGDESC="These binary drivers provide optimized hardware acceleration of Op
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
if [ "$VDPAU" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libvdpau"
|
||||
fi
|
||||
|
||||
unpack() {
|
||||
NV_PKG="`echo $PKG_URL | sed 's%.*/\(.*\)$%\1%'`"
|
||||
[ -d $PKG_BUILD ] && rm -rf $PKG_BUILD
|
||||
@@ -78,9 +74,7 @@ makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/bin
|
||||
cp nvidia-smi $INSTALL/usr/bin
|
||||
|
||||
if [ "$VDPAU" = yes ]; then
|
||||
mkdir -p $INSTALL/usr/lib/vdpau
|
||||
cp libvdpau_nvidia.so* $INSTALL/usr/lib/vdpau/libvdpau_nvidia.so.1
|
||||
ln -sf libvdpau_nvidia.so.1 $INSTALL/usr/lib/vdpau/libvdpau_nvidia.so
|
||||
fi
|
||||
mkdir -p $INSTALL/usr/lib/vdpau
|
||||
cp libvdpau_nvidia.so* $INSTALL/usr/lib/vdpau/libvdpau_nvidia.so.1
|
||||
ln -sf libvdpau_nvidia.so.1 $INSTALL/usr/lib/vdpau/libvdpau_nvidia.so
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://fluxbox.org/"
|
||||
PKG_URL="http://sourceforge.net/projects/fluxbox/files/fluxbox/${PKG_VERSION}/$PKG_NAME-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain libX11"
|
||||
PKG_DEPENDS_TARGET="toolchain libX11 libXrandr libXext libXrender"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="x11/other"
|
||||
PKG_SHORTDESC="Fluxbox is a windowmanager for X that was based on the Blackbox 0.61.1 code"
|
||||
@@ -33,7 +33,7 @@ PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_realloc_0_nonnull=yes \
|
||||
ac_cv_func_malloc_0_nonnull=yes
|
||||
ac_cv_func_malloc_0_nonnull=yes \
|
||||
--disable-toolbar \
|
||||
--disable-slit \
|
||||
--disable-systray \
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xorg-server"
|
||||
PKG_VERSION="1.16.1"
|
||||
PKG_VERSION="1.16.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
################################################################################
|
||||
|
||||
mkdir -p /var/lib
|
||||
mkdir -p /var/run
|
||||
|
||||
# HACK. we have xorg-configure@%. so nice race
|
||||
# can happen on multi-gpu setups
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/i386 3.17.1 Kernel Configuration
|
||||
# Linux/i386 3.17.2 Kernel Configuration
|
||||
#
|
||||
# CONFIG_64BIT is not set
|
||||
CONFIG_X86_32=y
|
||||
@@ -374,7 +374,7 @@ CONFIG_CPU_SUP_UMC_32=y
|
||||
CONFIG_HPET_TIMER=y
|
||||
CONFIG_HPET_EMULATE_RTC=y
|
||||
CONFIG_DMI=y
|
||||
CONFIG_NR_CPUS=16
|
||||
CONFIG_NR_CPUS=8
|
||||
CONFIG_SCHED_SMT=y
|
||||
CONFIG_SCHED_MC=y
|
||||
# CONFIG_PREEMPT_NONE is not set
|
||||
@@ -444,7 +444,8 @@ CONFIG_CLEANCACHE=y
|
||||
# CONFIG_ZSMALLOC is not set
|
||||
CONFIG_GENERIC_EARLY_IOREMAP=y
|
||||
# CONFIG_HIGHPTE is not set
|
||||
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
|
||||
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
|
||||
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
|
||||
CONFIG_X86_RESERVE_LOW=64
|
||||
# CONFIG_MATH_EMULATION is not set
|
||||
CONFIG_MTRR=y
|
||||
@@ -476,7 +477,7 @@ CONFIG_HOTPLUG_CPU=y
|
||||
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
|
||||
# CONFIG_COMPAT_VDSO is not set
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
CONFIG_CMDLINE="root=/dev/ram0 rdinit=/init radeon.audio=1 radeon.dpm=1"
|
||||
CONFIG_CMDLINE="root=/dev/ram0 rdinit=/init usbcore.autosuspend=-1"
|
||||
# CONFIG_CMDLINE_OVERRIDE is not set
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
|
||||
@@ -811,7 +812,7 @@ CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_OSF is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
|
||||
CONFIG_NETFILTER_XT_MATCH_OWNER=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
|
||||
@@ -2701,7 +2702,6 @@ CONFIG_DVB_CXD2820R=m
|
||||
CONFIG_DVB_RTL2830=m
|
||||
CONFIG_DVB_RTL2832=m
|
||||
CONFIG_DVB_SI2168=m
|
||||
CONFIG_DVB_SP2=m
|
||||
|
||||
#
|
||||
# DVB-C (cable) frontends
|
||||
@@ -2750,6 +2750,7 @@ CONFIG_DVB_ISL6405=m
|
||||
CONFIG_DVB_ISL6421=m
|
||||
CONFIG_DVB_ISL6423=m
|
||||
CONFIG_DVB_A8293=m
|
||||
CONFIG_DVB_SP2=m
|
||||
CONFIG_DVB_LGS8GXX=m
|
||||
CONFIG_DVB_ATBM8830=m
|
||||
CONFIG_DVB_TDA665x=m
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86_64 3.17.1 Kernel Configuration
|
||||
# Linux/x86_64 3.17.2 Kernel Configuration
|
||||
#
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_X86_64=y
|
||||
@@ -441,7 +441,8 @@ CONFIG_CLEANCACHE=y
|
||||
# CONFIG_ZBUD is not set
|
||||
# CONFIG_ZSMALLOC is not set
|
||||
CONFIG_GENERIC_EARLY_IOREMAP=y
|
||||
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
|
||||
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
|
||||
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
|
||||
CONFIG_X86_RESERVE_LOW=64
|
||||
CONFIG_MTRR=y
|
||||
CONFIG_MTRR_SANITIZER=y
|
||||
@@ -472,7 +473,7 @@ CONFIG_HOTPLUG_CPU=y
|
||||
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
|
||||
# CONFIG_COMPAT_VDSO is not set
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
CONFIG_CMDLINE="root=/dev/ram0 rdinit=/init radeon.audio=1 radeon.dpm=1"
|
||||
CONFIG_CMDLINE="root=/dev/ram0 rdinit=/init usbcore.autosuspend=-1"
|
||||
# CONFIG_CMDLINE_OVERRIDE is not set
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
|
||||
@@ -801,7 +802,7 @@ CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_OSF is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
|
||||
CONFIG_NETFILTER_XT_MATCH_OWNER=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
|
||||
@@ -2679,7 +2680,6 @@ CONFIG_DVB_CXD2820R=m
|
||||
CONFIG_DVB_RTL2830=m
|
||||
CONFIG_DVB_RTL2832=m
|
||||
CONFIG_DVB_SI2168=m
|
||||
CONFIG_DVB_SP2=m
|
||||
|
||||
#
|
||||
# DVB-C (cable) frontends
|
||||
@@ -2728,6 +2728,7 @@ CONFIG_DVB_ISL6405=m
|
||||
CONFIG_DVB_ISL6421=m
|
||||
CONFIG_DVB_ISL6423=m
|
||||
CONFIG_DVB_A8293=m
|
||||
CONFIG_DVB_SP2=m
|
||||
CONFIG_DVB_LGS8GXX=m
|
||||
CONFIG_DVB_ATBM8830=m
|
||||
CONFIG_DVB_TDA665x=m
|
||||
|
||||
@@ -1,364 +1,98 @@
|
||||
# Name of the Distro to build (full name, without special characters)
|
||||
DISTRONAME="OpenELEC"
|
||||
################################################################################
|
||||
# setup system defaults
|
||||
################################################################################
|
||||
|
||||
# short project description
|
||||
DESCRIPTION="OpenELEC is a fast and userfriendly Kodi Entertainment Center distribution."
|
||||
# The TARGET_CPU variable controls which processor should be targeted for
|
||||
# generated code.
|
||||
case $TARGET_ARCH in
|
||||
i386)
|
||||
# (AMD CPUs) k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3
|
||||
# athlon-fx athlon-mp athlon-xp athlon-4
|
||||
# athlon-tbird athlon k6-3 k6-2 k6 geode
|
||||
# (Intel CPUs) atom core2 nocona prescott pentium4[m] pentium3[m]
|
||||
# pentium-m pentium2 pentiumpro pentium-mmx pentium
|
||||
# i686 i586 i486 i386
|
||||
# (VIA CPUs) c3 c3-2
|
||||
#
|
||||
TARGET_CPU="i686"
|
||||
;;
|
||||
|
||||
# Welcome Message for e.g. SSH Server (up to 5 Lines)
|
||||
GREETING0="##############################################"
|
||||
GREETING1="# OpenELEC - The living room PC for everyone #"
|
||||
GREETING2="# ...... visit http://www.openelec.tv ...... #"
|
||||
GREETING3="##############################################"
|
||||
GREETING4=""
|
||||
x86_64)
|
||||
# (AMD CPUs) k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3
|
||||
# athlon-fx amdfam10 barcelona
|
||||
# (Intel CPUs) atom core2 nocona
|
||||
#
|
||||
TARGET_CPU="x86-64"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Root password to integrate in the target system
|
||||
ROOT_PASSWORD="openelec"
|
||||
# Bootloader to use (syslinux / u-boot)
|
||||
BOOTLOADER="syslinux"
|
||||
|
||||
# The TARGET_CPU variable controls which processor should be targeted for
|
||||
# generated code.
|
||||
case $TARGET_ARCH in
|
||||
i386)
|
||||
# (AMD CPUs) k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3
|
||||
# athlon-fx athlon-mp athlon-xp athlon-4
|
||||
# athlon-tbird athlon k6-3 k6-2 k6 geode
|
||||
# (Intel CPUs) atom core2 nocona prescott pentium4[m] pentium3[m]
|
||||
# pentium-m pentium2 pentiumpro pentium-mmx pentium
|
||||
# i686 i586 i486 i386
|
||||
# (VIA CPUs) c3 c3-2
|
||||
#
|
||||
TARGET_CPU="i686"
|
||||
;;
|
||||
# u-boot version to use (default)
|
||||
UBOOT_VERSION="default"
|
||||
|
||||
x86_64)
|
||||
# (AMD CPUs) k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3
|
||||
# athlon-fx amdfam10 barcelona
|
||||
# (Intel CPUs) atom core2 nocona
|
||||
#
|
||||
TARGET_CPU="x86-64"
|
||||
;;
|
||||
# Configuration for u-boot
|
||||
UBOOT_CONFIG=""
|
||||
|
||||
arm)
|
||||
# TARGET_CPU:
|
||||
# arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm620 arm7 arm7m arm7d
|
||||
# arm7dm arm7di arm7dmi arm70 arm700 arm700i arm710 arm710c
|
||||
# arm7100 arm720 arm7500 arm7500fe arm7tdmi arm7tdmi-s arm710t
|
||||
# arm720t arm740t strongarm strongarm110 strongarm1100
|
||||
# strongarm1110 arm8 arm810 arm9 arm9e arm920 arm920t arm922t
|
||||
# arm946e-s arm966e-s arm968e-s arm926ej-s arm940t arm9tdmi
|
||||
# arm10tdmi arm1020t arm1026ej-s arm10e arm1020e arm1022e
|
||||
# arm1136j-s arm1136jf-s mpcore mpcorenovfp arm1156t2-s
|
||||
# arm1176jz-s arm1176jzf-s cortex-a8 cortex-a9 cortex-r4
|
||||
# cortex-r4f cortex-m3 cortex-m1 xscale iwmmxt iwmmxt2 ep9312.
|
||||
#
|
||||
TARGET_CPU="cortex-a9"
|
||||
# Target Configfile for u-boot
|
||||
UBOOT_CONFIGFILE=""
|
||||
|
||||
# TARGET_FLOAT:
|
||||
# Specifies which floating-point ABI to use. Permissible values are:
|
||||
# soft softfp hard
|
||||
TARGET_FLOAT="softfp"
|
||||
# Kernel target for u-boot (default 'uImage' if BOOTLOADER=u-boot) (uImage / zImage)
|
||||
KERNEL_UBOOT_TARGET=""
|
||||
|
||||
# TARGET_FPU:
|
||||
# This specifies what floating point hardware (or hardware emulation) is
|
||||
# available on the target. Permissible names are:
|
||||
# fpa fpe2 fpe3 maverick vfp vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16
|
||||
# vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16
|
||||
# neon-vfpv4.
|
||||
TARGET_FPU="neon"
|
||||
;;
|
||||
esac
|
||||
# Kernel extra targets to build
|
||||
KERNEL_UBOOT_EXTRA_TARGET=""
|
||||
|
||||
# Build optimizations (size/normal)
|
||||
OPTIMIZATIONS="size"
|
||||
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
|
||||
KERNEL_MAKE_EXTRACMD=""
|
||||
|
||||
# Project CFLAGS
|
||||
PROJECT_CFLAGS="-mmmx -msse -msse2 -mfpmath=sse"
|
||||
# Kernel to use. values can be:
|
||||
# default: default mainline kernel
|
||||
LINUX="default"
|
||||
|
||||
# LTO (Link Time Optimization) support
|
||||
LTO_SUPPORT="yes"
|
||||
|
||||
# GOLD (Google Linker) support
|
||||
GOLD_SUPPORT="yes"
|
||||
################################################################################
|
||||
# setup build defaults
|
||||
################################################################################
|
||||
|
||||
# Bootloader to use (syslinux / u-boot)
|
||||
BOOTLOADER="syslinux"
|
||||
# Build optimizations (size/normal)
|
||||
OPTIMIZATIONS="size"
|
||||
|
||||
# u-boot version to use (default)
|
||||
UBOOT_VERSION="default"
|
||||
# Project CFLAGS
|
||||
PROJECT_CFLAGS="-mmmx -msse -msse2 -mfpmath=sse"
|
||||
|
||||
# Configuration for u-boot
|
||||
UBOOT_CONFIG=""
|
||||
# LTO (Link Time Optimization) support
|
||||
LTO_SUPPORT="yes"
|
||||
|
||||
# Target Configfile for u-boot
|
||||
UBOOT_CONFIGFILE=""
|
||||
# GOLD (Google Linker) support
|
||||
GOLD_SUPPORT="yes"
|
||||
|
||||
# Kernel target for u-boot (default 'uImage' if BOOTLOADER=u-boot) (uImage / zImage)
|
||||
KERNEL_UBOOT_TARGET=""
|
||||
# SquashFS compression method (gzip / lzo / xz)
|
||||
SQUASHFS_COMPRESSION="gzip"
|
||||
|
||||
# Kernel extra targets to build
|
||||
KERNEL_UBOOT_EXTRA_TARGET=""
|
||||
|
||||
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
|
||||
KERNEL_MAKE_EXTRACMD=""
|
||||
################################################################################
|
||||
# setup project defaults
|
||||
################################################################################
|
||||
|
||||
# GCC to use. values can be:
|
||||
# default: default mainline gcc
|
||||
GCC_VERSION="default"
|
||||
# build and install ALSA Audio support (yes / no)
|
||||
ALSA_SUPPORT="yes"
|
||||
|
||||
# Kernel to use. values can be:
|
||||
# default: default mainline kernel
|
||||
LINUX="default"
|
||||
# OpenGL(X) implementation to use (no / Mesa)
|
||||
OPENGL="Mesa"
|
||||
|
||||
# use linux-next (latest rc) instead latest released version
|
||||
LINUX_NEXT="no"
|
||||
# OpenGL-ES implementation to use (no / bcm2835-driver / gpu-viv-bin-mx6q)
|
||||
OPENGLES="no"
|
||||
|
||||
# SquashFS compression method (gzip / lzo / xz)
|
||||
SQUASHFS_COMPRESSION="gzip"
|
||||
# include uvesafb support (yes / no)
|
||||
UVESAFB_SUPPORT="yes"
|
||||
|
||||
# Mediacenter to use (kodi / no)
|
||||
MEDIACENTER="kodi"
|
||||
# Displayserver to use (x11 / no)
|
||||
DISPLAYSERVER="x11"
|
||||
|
||||
# Skins to install (Confluence)
|
||||
# Space separated list is supported,
|
||||
# e.g. SKINS="Confluence"
|
||||
SKINS="Confluence"
|
||||
# KODI Player implementation to use (default / bcm2835-driver / libfslvpuwrap)
|
||||
KODIPLAYER_DRIVER="default"
|
||||
|
||||
# Default Skin (Confluence)
|
||||
SKIN_DEFAULT="Confluence"
|
||||
|
||||
# install extra subtitle Fonts for KODI (yes / no)
|
||||
KODI_EXTRA_FONTS="yes"
|
||||
|
||||
# build and install 'RSXS' Screensaver (yes / no)
|
||||
KODI_SCR_RSXS="yes"
|
||||
|
||||
# build and install 'ProjectM' Visualization (yes / no)
|
||||
KODI_VIS_PROJECTM="yes"
|
||||
|
||||
# build and install 'GOOM' Visualization (yes / no)
|
||||
KODI_VIS_GOOM="yes"
|
||||
|
||||
# build and install 'Waveform' Visualization (yes / no)
|
||||
KODI_VIS_WAVEFORM="yes"
|
||||
|
||||
# build and install 'Spectrum' Visualization (yes / no)
|
||||
KODI_VIS_SPECTRUM="yes"
|
||||
|
||||
# build and install 'FishBMC' Visualization (yes / no)
|
||||
KODI_VIS_FISHBMC="yes"
|
||||
|
||||
# build and install ALSA Audio support (yes / no)
|
||||
ALSA_SUPPORT="yes"
|
||||
|
||||
# build and install PulseAudio support (yes / no)
|
||||
PULSEAUDIO_SUPPORT="no"
|
||||
|
||||
# build and install espeak support (yes / no)
|
||||
ESPEAK_SUPPORT="yes"
|
||||
|
||||
# build and install with non-free support
|
||||
# (RAR compression support in KODI) (yes / no)
|
||||
NONFREE_SUPPORT="yes"
|
||||
|
||||
# build and install with BluRay support (yes / no)
|
||||
BLURAY_SUPPORT="yes"
|
||||
|
||||
# build and install with BD+ support
|
||||
# (BD+ decryption support in KODI) (yes / no)
|
||||
BDPLUS_SUPPORT="yes"
|
||||
|
||||
# build and install with AACS support
|
||||
# (BD decryption support in KODI) (yes / no)
|
||||
AACS_SUPPORT="yes"
|
||||
|
||||
# build and install with DVDCSS support
|
||||
# (DVD decryption support in KODI) (yes / no)
|
||||
DVDCSS_SUPPORT="yes"
|
||||
|
||||
# additional drivers to install:
|
||||
# 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 RTL8812AU dvbhdhomerun"
|
||||
|
||||
# build and install bluetooth support (yes / no)
|
||||
BLUETOOTH_SUPPORT="yes"
|
||||
|
||||
# build and install with KODI webfrontend (yes / no)
|
||||
WEBSERVER="yes"
|
||||
|
||||
# build and install Avahi (Zeroconf) daemon (yes / no)
|
||||
AVAHI_DAEMON="yes"
|
||||
|
||||
# build with UPnP support (yes / no)
|
||||
UPNP_SUPPORT="yes"
|
||||
|
||||
# build with MySQL support (yes / no)
|
||||
MYSQL_SUPPORT="yes"
|
||||
|
||||
# build xbmc with sshlib support (yes / no)
|
||||
SSHLIB_SUPPORT="yes"
|
||||
|
||||
# build xbmc with optical drive support (yes / no)
|
||||
OPTICAL_DRIVE_SUPPORT="yes"
|
||||
|
||||
# KODI Audio encoders for usage with optical drive support
|
||||
# Space separated list is supported,
|
||||
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
|
||||
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
|
||||
|
||||
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
|
||||
AIRPLAY_SUPPORT="yes"
|
||||
|
||||
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
|
||||
AIRTUNES_SUPPORT="yes"
|
||||
|
||||
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
|
||||
NFS_SUPPORT="yes"
|
||||
|
||||
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
|
||||
AFP_SUPPORT="no"
|
||||
|
||||
# build and install Samba Client support (yes / no)
|
||||
SAMBA_SUPPORT="yes"
|
||||
|
||||
# build and install Samba Server (yes / no)
|
||||
SAMBA_SERVER="yes"
|
||||
|
||||
# build and install SFTP Server (yes / no)
|
||||
SFTP_SERVER="yes"
|
||||
|
||||
# build and install PPP support (yes / no)
|
||||
PPTP_SUPPORT="yes"
|
||||
|
||||
# build and install OpenVPN support (yes / no)
|
||||
OPENVPN_SUPPORT="yes"
|
||||
|
||||
# build and install diskmounter support (udevil)
|
||||
# this service provide auto mounting support for external drives in the
|
||||
# mediacenter also automount internally drives at boottime via udev (yes / no)
|
||||
UDEVIL="yes"
|
||||
|
||||
# build and install exFAT fuse support (yes / no)
|
||||
EXFAT="yes"
|
||||
|
||||
# build and install NTFS-3G fuse support (yes / no)
|
||||
NTFS3G="yes"
|
||||
|
||||
# build and install hfs filesystem utilities (yes / no)
|
||||
HFSTOOLS="yes"
|
||||
|
||||
# OpenGL(X) implementation to use (no / Mesa)
|
||||
OPENGL="Mesa"
|
||||
|
||||
# OpenGL-ES implementation to use (no)
|
||||
OPENGLES="no"
|
||||
|
||||
# Windowmanager to use (ratpoison / fluxbox / none)
|
||||
WINDOWMANAGER="fluxbox"
|
||||
|
||||
# include uvesafb support (yes / no)
|
||||
UVESAFB_SUPPORT="yes"
|
||||
|
||||
# Displayserver to use (x11 / no)
|
||||
DISPLAYSERVER="x11"
|
||||
|
||||
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
|
||||
# Space separated list is supported,
|
||||
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 nvidia nouveau"
|
||||
if [ "$TARGET_ARCH" = "i386" ]; then
|
||||
# TODO: create Legacy build with OpenELEC-4.2
|
||||
# install legacy drivers to i386 ARCH
|
||||
GRAPHIC_DRIVERS="r200 r300 r600 i915 i965 nvidia-legacy"
|
||||
elif [ "$TARGET_ARCH" = "x86_64" ]; then
|
||||
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nvidia"
|
||||
fi
|
||||
|
||||
# KODI Player implementation to use (default / bcm2835-driver)
|
||||
KODIPLAYER_DRIVER="default"
|
||||
|
||||
# Use VDPAU video acceleration (needs nVidia driver and a supported card)
|
||||
VDPAU="yes"
|
||||
|
||||
# Use VAAPI video acceleration (needs intel i965 driver and a supported card)
|
||||
VAAPI="yes"
|
||||
|
||||
# build and install remote support (yes / no)
|
||||
REMOTE_SUPPORT="yes"
|
||||
|
||||
# build and install ATV IR remote support (yes / no)
|
||||
ATVCLIENT_SUPPORT="yes"
|
||||
|
||||
# build and install IRServer IR/LCD support (yes / no)
|
||||
IRSERVER_SUPPORT="yes"
|
||||
|
||||
# build and install Joystick support (yes / no)
|
||||
JOYSTICK_SUPPORT="yes"
|
||||
|
||||
# build and install CEC adapter support (yes / no)
|
||||
CEC_SUPPORT="yes"
|
||||
|
||||
# build and install iSCSI support - iscsistart (yes / no)
|
||||
ISCSI_SUPPORT="yes"
|
||||
|
||||
# LCD driver to Use - Possible drivers are ( Comma seperated:
|
||||
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
|
||||
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
|
||||
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
|
||||
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
|
||||
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
|
||||
# picolcd,pyramid,sed1330,sed1520,serialPOS,
|
||||
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
|
||||
# 'all' compiles all drivers;
|
||||
# 'all,!xxx,!yyy' de-selects previously selected drivers
|
||||
# "none" for disable LCD support
|
||||
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428,serialVFD,shuttleVFD"
|
||||
|
||||
# Modules to install in initramfs for early boot
|
||||
INITRAMFS_MODULES=""
|
||||
|
||||
# Support for partitioning and formating disks in initramfs (yes / no)
|
||||
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
|
||||
INITRAMFS_PARTED_SUPPORT="no"
|
||||
|
||||
# additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
|
||||
# Space separated list is supported,
|
||||
# e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
|
||||
FIRMWARE="misc-firmware wlan-firmware dvb-firmware"
|
||||
|
||||
# build with swap support (yes / no)
|
||||
SWAP_SUPPORT="no"
|
||||
|
||||
# swap support enabled per default (yes / no)
|
||||
SWAP_ENABLED_DEFAULT="no"
|
||||
|
||||
# swapfile size if SWAP_SUPPORT=yes in MB
|
||||
SWAPFILESIZE="256"
|
||||
|
||||
# build with installer (yes / no)
|
||||
INSTALLER_SUPPORT="yes"
|
||||
|
||||
# Testpackages for development (yes / no)
|
||||
TESTING="no"
|
||||
|
||||
# OEM packages for OEM's (yes / no)
|
||||
OEM_SUPPORT="no"
|
||||
|
||||
# build and install nano text editor (yes / no)
|
||||
NANO_EDITOR="yes"
|
||||
|
||||
# cron support (yes / no)
|
||||
CRON_SUPPORT="yes"
|
||||
|
||||
# Perf support in development builds (yes / no)
|
||||
PERF_SUPPORT="yes"
|
||||
|
||||
# Distribution Specific source location
|
||||
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
|
||||
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
|
||||
|
||||
# Addon Server Url
|
||||
ADDON_SERVER_URL="http://addons.openelec.tv"
|
||||
|
||||
# set the addon dirs
|
||||
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
|
||||
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
||||
# Modules to install in initramfs for early boot
|
||||
INITRAMFS_MODULES=""
|
||||
|
||||
@@ -420,7 +420,7 @@ CONFIG_ATAGS=y
|
||||
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="root=/dev/ram0 rdinit=/init BOOT_IMAGE=/kernel.img"
|
||||
CONFIG_CMDLINE="root=/dev/ram0 rdinit=/init BOOT_IMAGE=/kernel.img usbcore.autosuspend=-1"
|
||||
# CONFIG_CMDLINE_FROM_BOOTLOADER is not set
|
||||
CONFIG_CMDLINE_EXTEND=y
|
||||
# CONFIG_CMDLINE_FORCE is not set
|
||||
@@ -661,7 +661,7 @@ CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_OSF is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
|
||||
CONFIG_NETFILTER_XT_MATCH_OWNER=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
|
||||
|
||||
@@ -1,359 +1,144 @@
|
||||
# Name of the Distro to build (full name, without special characters)
|
||||
DISTRONAME="OpenELEC"
|
||||
|
||||
# short project description
|
||||
DESCRIPTION="OpenELEC is a fast and userfriendly Kodi Entertainment Center distribution."
|
||||
|
||||
# Welcome Message for e.g. SSH Server (up to 5 Lines)
|
||||
GREETING0="##############################################"
|
||||
GREETING1="# OpenELEC - The living room PC for everyone #"
|
||||
GREETING2="# ...... visit http://www.openelec.tv ...... #"
|
||||
GREETING3="##############################################"
|
||||
GREETING4=""
|
||||
|
||||
# Root password to integrate in the target system
|
||||
ROOT_PASSWORD="openelec"
|
||||
|
||||
# The TARGET_CPU variable controls which processor should be targeted for
|
||||
# generated code.
|
||||
case $TARGET_ARCH in
|
||||
i386)
|
||||
# (AMD CPUs) k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3
|
||||
# athlon-fx athlon-mp athlon-xp athlon-4
|
||||
# athlon-tbird athlon k6-3 k6-2 k6 geode
|
||||
# (Intel CPUs) atom core2 nocona prescott pentium4[m] pentium3[m]
|
||||
# pentium-m pentium2 pentiumpro pentium-mmx pentium
|
||||
# i686 i586 i486 i386
|
||||
# (VIA CPUs) c3 c3-2
|
||||
#
|
||||
TARGET_CPU="atom"
|
||||
;;
|
||||
|
||||
x86_64)
|
||||
# (AMD CPUs) k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3
|
||||
# athlon-fx amdfam10 barcelona
|
||||
# (Intel CPUs) atom core2 nocona
|
||||
#
|
||||
TARGET_CPU="atom"
|
||||
;;
|
||||
|
||||
arm)
|
||||
# TARGET_CPU:
|
||||
# arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm620 arm7 arm7m arm7d
|
||||
# arm7dm arm7di arm7dmi arm70 arm700 arm700i arm710 arm710c
|
||||
# arm7100 arm720 arm7500 arm7500fe arm7tdmi arm7tdmi-s arm710t
|
||||
# arm720t arm740t strongarm strongarm110 strongarm1100
|
||||
# strongarm1110 arm8 arm810 arm9 arm9e arm920 arm920t arm922t
|
||||
# arm946e-s arm966e-s arm968e-s arm926ej-s arm940t arm9tdmi
|
||||
# arm10tdmi arm1020t arm1026ej-s arm10e arm1020e arm1022e
|
||||
# arm1136j-s arm1136jf-s mpcore mpcorenovfp arm1156t2-s
|
||||
# arm1176jz-s arm1176jzf-s cortex-a8 cortex-a9 cortex-r4
|
||||
# cortex-r4f cortex-m3 cortex-m1 xscale iwmmxt iwmmxt2 ep9312.
|
||||
#
|
||||
TARGET_CPU="arm1176jzf-s"
|
||||
|
||||
# TARGET_FLOAT:
|
||||
# Specifies which floating-point ABI to use. Permissible values are:
|
||||
# soft softfp hard
|
||||
TARGET_FLOAT="hard"
|
||||
|
||||
# TARGET_FPU:
|
||||
# This specifies what floating point hardware (or hardware emulation) is
|
||||
# available on the target. Permissible names are:
|
||||
# fpa fpe2 fpe3 maverick vfp vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16
|
||||
# vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16
|
||||
# neon-vfpv4.
|
||||
TARGET_FPU="vfp"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Build optimizations (size/normal)
|
||||
OPTIMIZATIONS="size"
|
||||
|
||||
# Project CFLAGS
|
||||
PROJECT_CFLAGS=""
|
||||
|
||||
# LTO (Link Time Optimization) support
|
||||
LTO_SUPPORT="yes"
|
||||
|
||||
# GOLD (Google Linker) support
|
||||
GOLD_SUPPORT="yes"
|
||||
|
||||
# Bootloader to use (syslinux / u-boot / bcm2835-bootloader)
|
||||
BOOTLOADER="bcm2835-bootloader"
|
||||
|
||||
# u-boot version to use (default)
|
||||
UBOOT_VERSION="default"
|
||||
|
||||
# Configuration for u-boot
|
||||
UBOOT_CONFIG=""
|
||||
|
||||
# Target Configfile for u-boot
|
||||
UBOOT_CONFIGFILE=""
|
||||
|
||||
# Kernel target for u-boot (default 'uImage' if BOOTLOADER=u-boot) (uImage / zImage)
|
||||
KERNEL_UBOOT_TARGET=""
|
||||
|
||||
# Kernel extra targets to build
|
||||
KERNEL_UBOOT_EXTRA_TARGET=""
|
||||
|
||||
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
|
||||
KERNEL_MAKE_EXTRACMD=""
|
||||
|
||||
# GCC to use. values can be:
|
||||
# default: default mainline gcc
|
||||
GCC_VERSION="4.7"
|
||||
|
||||
# Kernel to use. values can be:
|
||||
# default: default mainline kernel
|
||||
LINUX="default"
|
||||
|
||||
# use linux-next (latest rc) instead latest released version
|
||||
LINUX_NEXT="no"
|
||||
################################################################################
|
||||
# setup system defaults
|
||||
################################################################################
|
||||
|
||||
# SquashFS compression method (gzip / lzo / xz)
|
||||
SQUASHFS_COMPRESSION="lzo"
|
||||
# The TARGET_CPU variable controls which processor should be targeted for
|
||||
# generated code.
|
||||
case $TARGET_ARCH in
|
||||
arm)
|
||||
# TARGET_CPU:
|
||||
# arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm620 arm7 arm7m arm7d
|
||||
# arm7dm arm7di arm7dmi arm70 arm700 arm700i arm710 arm710c
|
||||
# arm7100 arm720 arm7500 arm7500fe arm7tdmi arm7tdmi-s arm710t
|
||||
# arm720t arm740t strongarm strongarm110 strongarm1100
|
||||
# strongarm1110 arm8 arm810 arm9 arm9e arm920 arm920t arm922t
|
||||
# arm946e-s arm966e-s arm968e-s arm926ej-s arm940t arm9tdmi
|
||||
# arm10tdmi arm1020t arm1026ej-s arm10e arm1020e arm1022e
|
||||
# arm1136j-s arm1136jf-s mpcore mpcorenovfp arm1156t2-s
|
||||
# arm1176jz-s arm1176jzf-s cortex-a8 cortex-a9 cortex-r4
|
||||
# cortex-r4f cortex-m3 cortex-m1 xscale iwmmxt iwmmxt2 ep9312.
|
||||
TARGET_CPU="arm1176jzf-s"
|
||||
|
||||
# Mediacenter to use (kodi / no)
|
||||
MEDIACENTER="kodi"
|
||||
# TARGET_FLOAT:
|
||||
# Specifies which floating-point ABI to use. Permissible values are:
|
||||
# soft softfp hard
|
||||
TARGET_FLOAT="hard"
|
||||
|
||||
# Skins to install (Confluence)
|
||||
# Space separated list is supported,
|
||||
# e.g. SKINS="Confluence"
|
||||
SKINS="Confluence"
|
||||
# TARGET_FPU:
|
||||
# This specifies what floating point hardware (or hardware emulation) is
|
||||
# available on the target. Permissible names are:
|
||||
# fpa fpe2 fpe3 maverick vfp vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16
|
||||
# vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16
|
||||
# neon-vfpv4.
|
||||
TARGET_FPU="vfp"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Default Skin (Confluence)
|
||||
SKIN_DEFAULT="Confluence"
|
||||
# Bootloader to use (syslinux / u-boot / bcm2835-bootloader)
|
||||
BOOTLOADER="bcm2835-bootloader"
|
||||
|
||||
# install extra subtitle Fonts for KODI (yes / no)
|
||||
KODI_EXTRA_FONTS="yes"
|
||||
# u-boot version to use (default)
|
||||
UBOOT_VERSION="default"
|
||||
|
||||
# build and install 'RSXS' Screensaver (yes / no)
|
||||
KODI_SCR_RSXS="no"
|
||||
# Configuration for u-boot
|
||||
UBOOT_CONFIG=""
|
||||
|
||||
# build and install 'ProjectM' Visualization (yes / no)
|
||||
KODI_VIS_PROJECTM="no"
|
||||
# Target Configfile for u-boot
|
||||
UBOOT_CONFIGFILE=""
|
||||
|
||||
# build and install 'GOOM' Visualization (yes / no)
|
||||
KODI_VIS_GOOM="no"
|
||||
# Kernel target for u-boot (default 'uImage' if BOOTLOADER=u-boot) (uImage / zImage)
|
||||
KERNEL_UBOOT_TARGET=""
|
||||
|
||||
# build and install 'Waveform' Visualization (yes / no)
|
||||
KODI_VIS_WAVEFORM="yes"
|
||||
# Kernel extra targets to build
|
||||
KERNEL_UBOOT_EXTRA_TARGET=""
|
||||
|
||||
# build and install 'Spectrum' Visualization (yes / no)
|
||||
KODI_VIS_SPECTRUM="yes"
|
||||
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
|
||||
KERNEL_MAKE_EXTRACMD=""
|
||||
|
||||
# build and install 'FishBMC' Visualization (yes / no)
|
||||
# does not work on RPi
|
||||
KODI_VIS_FISHBMC="no"
|
||||
# Kernel to use. values can be:
|
||||
# default: default mainline kernel
|
||||
LINUX="default"
|
||||
|
||||
# build and install ALSA Audio support (yes / no)
|
||||
ALSA_SUPPORT="yes"
|
||||
|
||||
# build and install PulseAudio support (yes / no)
|
||||
PULSEAUDIO_SUPPORT="no"
|
||||
################################################################################
|
||||
# setup build defaults
|
||||
################################################################################
|
||||
|
||||
# build and install espeak support (yes / no)
|
||||
ESPEAK_SUPPORT="yes"
|
||||
# Build optimizations (size/normal)
|
||||
OPTIMIZATIONS="size"
|
||||
|
||||
# build and install with non-free support
|
||||
# (RAR compression support in KODI) (yes / no)
|
||||
NONFREE_SUPPORT="yes"
|
||||
# Project CFLAGS
|
||||
PROJECT_CFLAGS=""
|
||||
|
||||
# build and install with BluRay support (yes / no)
|
||||
BLURAY_SUPPORT="yes"
|
||||
# LTO (Link Time Optimization) support
|
||||
LTO_SUPPORT="yes"
|
||||
|
||||
# build and install with BD+ support
|
||||
# (BD+ decryption support in KODI) (yes / no)
|
||||
BDPLUS_SUPPORT="yes"
|
||||
# GOLD (Google Linker) support
|
||||
GOLD_SUPPORT="yes"
|
||||
|
||||
# build and install with AACS support
|
||||
# (BD decryption support in KODI) (yes / no)
|
||||
AACS_SUPPORT="yes"
|
||||
# SquashFS compression method (gzip / lzo / xz)
|
||||
SQUASHFS_COMPRESSION="lzo"
|
||||
|
||||
# build and install with DVDCSS support
|
||||
# (DVD decryption support in KODI) (yes / no)
|
||||
DVDCSS_SUPPORT="yes"
|
||||
|
||||
# additional drivers to install:
|
||||
# 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 RTL8812AU dvbhdhomerun"
|
||||
################################################################################
|
||||
# setup project defaults
|
||||
################################################################################
|
||||
|
||||
# build and install bluetooth support (yes / no)
|
||||
BLUETOOTH_SUPPORT="yes"
|
||||
# build and install ALSA Audio support (yes / no)
|
||||
ALSA_SUPPORT="yes"
|
||||
|
||||
# build and install with KODI webfrontend (yes / no)
|
||||
WEBSERVER="yes"
|
||||
# OpenGL(X) implementation to use (no / Mesa)
|
||||
OPENGL="no"
|
||||
|
||||
# build and install Avahi (Zeroconf) daemon (yes / no)
|
||||
AVAHI_DAEMON="yes"
|
||||
# OpenGL-ES implementation to use (no / bcm2835-driver / gpu-viv-bin-mx6q)
|
||||
OPENGLES="bcm2835-driver"
|
||||
|
||||
# build with UPnP support (yes / no)
|
||||
UPNP_SUPPORT="yes"
|
||||
# include uvesafb support (yes / no)
|
||||
UVESAFB_SUPPORT="no"
|
||||
|
||||
# build with MySQL support (yes / no)
|
||||
MYSQL_SUPPORT="yes"
|
||||
# Displayserver to use (x11 / no)
|
||||
DISPLAYSERVER="no"
|
||||
|
||||
# build xbmc with sshlib support (yes / no)
|
||||
SSHLIB_SUPPORT="yes"
|
||||
# Windowmanager to use (ratpoison / fluxbox / none)
|
||||
WINDOWMANAGER="none"
|
||||
|
||||
# build xbmc with optical drive support (yes / no)
|
||||
OPTICAL_DRIVE_SUPPORT="yes"
|
||||
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
|
||||
# Space separated list is supported,
|
||||
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
|
||||
GRAPHIC_DRIVERS=""
|
||||
|
||||
# KODI Audio encoders for usage with optical drive support
|
||||
# Space separated list is supported,
|
||||
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
|
||||
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
|
||||
# KODI Player implementation to use (default / bcm2835-driver / libfslvpuwrap)
|
||||
KODIPLAYER_DRIVER="bcm2835-driver"
|
||||
|
||||
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
|
||||
AIRPLAY_SUPPORT="yes"
|
||||
# Modules to install in initramfs for early boot
|
||||
INITRAMFS_MODULES=""
|
||||
|
||||
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
|
||||
AIRTUNES_SUPPORT="yes"
|
||||
# build and install ATV IR remote support (yes / no)
|
||||
ATVCLIENT_SUPPORT="no"
|
||||
|
||||
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
|
||||
NFS_SUPPORT="yes"
|
||||
# build and install IRServer IR/LCD support (yes / no)
|
||||
IRSERVER_SUPPORT="no"
|
||||
|
||||
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
|
||||
AFP_SUPPORT="no"
|
||||
# build with swap support (yes / no)
|
||||
SWAP_SUPPORT="yes"
|
||||
|
||||
# build and install Samba Client support (yes / no)
|
||||
SAMBA_SUPPORT="yes"
|
||||
# swap support enabled per default (yes / no)
|
||||
SWAP_ENABLED_DEFAULT="no"
|
||||
|
||||
# build and install Samba Server (yes / no)
|
||||
SAMBA_SERVER="yes"
|
||||
# swapfile size if SWAP_SUPPORT=yes in MB
|
||||
SWAPFILESIZE="128"
|
||||
|
||||
# build and install SFTP Server (yes / no)
|
||||
SFTP_SERVER="yes"
|
||||
# build with installer (yes / no)
|
||||
INSTALLER_SUPPORT="no"
|
||||
|
||||
# build and install PPP support (yes / no)
|
||||
PPTP_SUPPORT="yes"
|
||||
# build and install 'RSXS' Screensaver (yes / no)
|
||||
KODI_SCR_RSXS="no"
|
||||
|
||||
# build and install OpenVPN support (yes / no)
|
||||
OPENVPN_SUPPORT="yes"
|
||||
# build and install 'ProjectM' Visualization (yes / no)
|
||||
KODI_VIS_PROJECTM="no"
|
||||
|
||||
# build and install diskmounter support (udevil)
|
||||
# this service provide auto mounting support for external drives in the
|
||||
# mediacenter also automount internally drives at boottime via udev (yes / no)
|
||||
UDEVIL="yes"
|
||||
# build and install 'GOOM' Visualization (yes / no)
|
||||
KODI_VIS_GOOM="no"
|
||||
|
||||
# build and install exFAT fuse support (yes / no)
|
||||
EXFAT="yes"
|
||||
|
||||
# build and install NTFS-3G fuse support (yes / no)
|
||||
NTFS3G="yes"
|
||||
|
||||
# build and install hfs filesystem utilities (yes / no)
|
||||
HFSTOOLS="yes"
|
||||
|
||||
# OpenGL(X) implementation to use (no / Mesa)
|
||||
OPENGL="no"
|
||||
|
||||
# OpenGL-ES implementation to use (no / bcm2835-driver)
|
||||
OPENGLES="bcm2835-driver"
|
||||
|
||||
# Windowmanager to use (ratpoison / fluxbox / none)
|
||||
WINDOWMANAGER="none"
|
||||
|
||||
# include uvesafb support (yes / no)
|
||||
UVESAFB_SUPPORT="no"
|
||||
|
||||
# Displayserver to use (x11 / no)
|
||||
DISPLAYSERVER="no"
|
||||
|
||||
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
|
||||
# Space separated list is supported,
|
||||
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
|
||||
GRAPHIC_DRIVERS=""
|
||||
|
||||
# KODI Player implementation to use (default / bcm2835-driver)
|
||||
KODIPLAYER_DRIVER="bcm2835-driver"
|
||||
|
||||
# Use VDPAU video acceleration (needs nVidia driver and a supported card)
|
||||
VDPAU="no"
|
||||
|
||||
# Use VAAPI video acceleration (needs intel i965 driver and a supported card)
|
||||
VAAPI="no"
|
||||
|
||||
# build and install remote support (yes / no)
|
||||
REMOTE_SUPPORT="yes"
|
||||
|
||||
# build and install ATV IR remote support (yes / no)
|
||||
ATVCLIENT_SUPPORT="no"
|
||||
|
||||
# build and install IRServer IR/LCD support (yes / no)
|
||||
IRSERVER_SUPPORT="no"
|
||||
|
||||
# build and install Joystick support (yes / no)
|
||||
JOYSTICK_SUPPORT="yes"
|
||||
|
||||
# build and install CEC adapter support (yes / no)
|
||||
CEC_SUPPORT="yes"
|
||||
|
||||
# build and install iSCSI support - iscsistart (yes / no)
|
||||
ISCSI_SUPPORT="yes"
|
||||
|
||||
# LCD driver to Use - Possible drivers are ( Comma seperated:
|
||||
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
|
||||
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
|
||||
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
|
||||
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
|
||||
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
|
||||
# picolcd,pyramid,sed1330,sed1520,serialPOS,
|
||||
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
|
||||
# 'all' compiles all drivers;
|
||||
# 'all,!xxx,!yyy' de-selects previously selected drivers
|
||||
# "none" for disable LCD support
|
||||
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428"
|
||||
|
||||
# Modules to install in initramfs for early boot
|
||||
INITRAMFS_MODULES=""
|
||||
|
||||
# Support for partitioning and formating disks in initramfs (yes / no)
|
||||
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
|
||||
INITRAMFS_PARTED_SUPPORT="no"
|
||||
|
||||
# additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
|
||||
# Space separated list is supported,
|
||||
# e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
|
||||
FIRMWARE="misc-firmware wlan-firmware dvb-firmware"
|
||||
|
||||
# build with swap support (yes / no)
|
||||
SWAP_SUPPORT="yes"
|
||||
|
||||
# swap support enabled per default (yes / no)
|
||||
SWAP_ENABLED_DEFAULT="no"
|
||||
|
||||
# swapfile size if SWAP_SUPPORT=yes in MB
|
||||
SWAPFILESIZE="128"
|
||||
|
||||
# build with installer (yes / no)
|
||||
INSTALLER_SUPPORT="no"
|
||||
|
||||
# Testpackages for development (yes / no)
|
||||
TESTING="no"
|
||||
|
||||
# OEM packages for OEM's (yes / no)
|
||||
OEM_SUPPORT="no"
|
||||
|
||||
# build and install nano text editor (yes / no)
|
||||
NANO_EDITOR="yes"
|
||||
|
||||
# cron support (yes / no)
|
||||
CRON_SUPPORT="yes"
|
||||
|
||||
# Perf support in development builds (yes / no)
|
||||
PERF_SUPPORT="yes"
|
||||
|
||||
# Distribution Specific source location
|
||||
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
|
||||
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
|
||||
|
||||
# Addon Server Url
|
||||
ADDON_SERVER_URL="http://addons.openelec.tv"
|
||||
|
||||
# set the addon dirs
|
||||
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
|
||||
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
||||
# build and install 'FishBMC' Visualization (yes / no)
|
||||
KODI_VIS_FISHBMC="no"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 3.14.18 Kernel Configuration
|
||||
# Linux/arm 3.14.20 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_MIGHT_HAVE_PCI=y
|
||||
@@ -523,7 +523,7 @@ CONFIG_ATAGS=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0
|
||||
CONFIG_ZBOOT_ROM_BSS=0
|
||||
# CONFIG_ARM_APPENDED_DTB is not set
|
||||
CONFIG_CMDLINE="root=/dev/ram0 rdinit=/init consoleblank=0 gpumem=64M fbmem=10M noram"
|
||||
CONFIG_CMDLINE="root=/dev/ram0 rdinit=/init noram usbcore.autosuspend=-1"
|
||||
# CONFIG_CMDLINE_FROM_BOOTLOADER is not set
|
||||
CONFIG_CMDLINE_EXTEND=y
|
||||
# CONFIG_CMDLINE_FORCE is not set
|
||||
@@ -765,7 +765,7 @@ CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_OSF is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
|
||||
CONFIG_NETFILTER_XT_MATCH_OWNER=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
|
||||
@@ -3030,7 +3030,7 @@ CONFIG_RTC_INTF_DEV_UIE_EMUL=y
|
||||
#
|
||||
# I2C RTC drivers
|
||||
#
|
||||
# CONFIG_RTC_DRV_DS1307 is not set
|
||||
CONFIG_RTC_DRV_DS1307=y
|
||||
# CONFIG_RTC_DRV_DS1374 is not set
|
||||
# CONFIG_RTC_DRV_DS1672 is not set
|
||||
# CONFIG_RTC_DRV_DS3232 is not set
|
||||
@@ -3170,6 +3170,7 @@ CONFIG_DVB_AS102=m
|
||||
CONFIG_LIRC_STAGING=y
|
||||
CONFIG_LIRC_IGORPLUGUSB=m
|
||||
# CONFIG_LIRC_IMON is not set
|
||||
CONFIG_LIRC_GPIO=m
|
||||
# CONFIG_LIRC_SASEM is not set
|
||||
# CONFIG_LIRC_SERIAL is not set
|
||||
# CONFIG_LIRC_SIR is not set
|
||||
|
||||
@@ -1,360 +1,145 @@
|
||||
# Name of the Distro to build (full name, without special characters)
|
||||
DISTRONAME="OpenELEC"
|
||||
|
||||
# short project description
|
||||
DESCRIPTION="OpenELEC is a fast and userfriendly Kodi Entertainment Center distribution."
|
||||
|
||||
# Welcome Message for e.g. SSH Server (up to 5 Lines)
|
||||
GREETING0="##############################################"
|
||||
GREETING1="# OpenELEC - The living room PC for everyone #"
|
||||
GREETING2="# ...... visit http://www.openelec.tv ...... #"
|
||||
GREETING3="##############################################"
|
||||
GREETING4=""
|
||||
|
||||
# Root password to integrate in the target system
|
||||
ROOT_PASSWORD="openelec"
|
||||
|
||||
# The TARGET_CPU variable controls which processor should be targeted for
|
||||
# generated code.
|
||||
case $TARGET_ARCH in
|
||||
i386)
|
||||
# (AMD CPUs) k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3
|
||||
# athlon-fx athlon-mp athlon-xp athlon-4
|
||||
# athlon-tbird athlon k6-3 k6-2 k6 geode
|
||||
# (Intel CPUs) atom core2 nocona prescott pentium4[m] pentium3[m]
|
||||
# pentium-m pentium2 pentiumpro pentium-mmx pentium
|
||||
# i686 i586 i486 i386
|
||||
# (VIA CPUs) c3 c3-2
|
||||
#
|
||||
TARGET_CPU="atom"
|
||||
;;
|
||||
|
||||
x86_64)
|
||||
# (AMD CPUs) k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3
|
||||
# athlon-fx amdfam10 barcelona
|
||||
# (Intel CPUs) atom core2 nocona
|
||||
#
|
||||
TARGET_CPU="atom"
|
||||
;;
|
||||
|
||||
arm)
|
||||
# TARGET_CPU:
|
||||
# arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm620 arm7 arm7m arm7d
|
||||
# arm7dm arm7di arm7dmi arm70 arm700 arm700i arm710 arm710c
|
||||
# arm7100 arm720 arm7500 arm7500fe arm7tdmi arm7tdmi-s arm710t
|
||||
# arm720t arm740t strongarm strongarm110 strongarm1100
|
||||
# strongarm1110 arm8 arm810 arm9 arm9e arm920 arm920t arm922t
|
||||
# arm946e-s arm966e-s arm968e-s arm926ej-s arm940t arm9tdmi
|
||||
# arm10tdmi arm1020t arm1026ej-s arm10e arm1020e arm1022e
|
||||
# arm1136j-s arm1136jf-s mpcore mpcorenovfp arm1156t2-s
|
||||
# arm1176jz-s arm1176jzf-s cortex-a8 cortex-a9 cortex-r4
|
||||
# cortex-r4f cortex-m3 cortex-m1 xscale iwmmxt iwmmxt2 ep9312.
|
||||
#
|
||||
TARGET_CPU="cortex-a9"
|
||||
|
||||
# TARGET_FLOAT:
|
||||
# Specifies which floating-point ABI to use. Permissible values are:
|
||||
# soft softfp hard
|
||||
TARGET_FLOAT="hard"
|
||||
|
||||
# TARGET_FPU:
|
||||
# This specifies what floating point hardware (or hardware emulation) is
|
||||
# available on the target. Permissible names are:
|
||||
# fpa fpe2 fpe3 maverick vfp vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16
|
||||
# vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16
|
||||
# neon-vfpv4.
|
||||
TARGET_FPU="neon"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Build optimizations (size/normal)
|
||||
OPTIMIZATIONS="size"
|
||||
|
||||
# Project CFLAGS
|
||||
PROJECT_CFLAGS=""
|
||||
|
||||
# LTO (Link Time Optimization) support
|
||||
LTO_SUPPORT="yes"
|
||||
|
||||
# GOLD (Google Linker) support
|
||||
GOLD_SUPPORT="yes"
|
||||
|
||||
# Bootloader to use (syslinux / u-boot / bcm2835-bootloader)
|
||||
BOOTLOADER="u-boot"
|
||||
|
||||
# u-boot version to use (default)
|
||||
UBOOT_VERSION="imx6-cuboxi"
|
||||
|
||||
# Configuration for u-boot
|
||||
UBOOT_CONFIG="mx6_cubox-i_config"
|
||||
|
||||
# Target Configfile for u-boot
|
||||
UBOOT_CONFIGFILE=""
|
||||
|
||||
# Kernel target for u-boot (default 'uImage' if BOOTLOADER=u-boot) (uImage / zImage)
|
||||
KERNEL_UBOOT_TARGET="zImage"
|
||||
|
||||
# Kernel extra targets to build
|
||||
KERNEL_UBOOT_EXTRA_TARGET="imx6q-cubox-i.dtb imx6dl-cubox-i.dtb"
|
||||
KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6q-hummingboard.dtb imx6dl-hummingboard.dtb"
|
||||
|
||||
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
|
||||
KERNEL_MAKE_EXTRACMD=""
|
||||
|
||||
# GCC to use. values can be:
|
||||
# default: default mainline gcc
|
||||
GCC_VERSION="4.7"
|
||||
|
||||
# Kernel to use. values can be:
|
||||
# default: default mainline kernel
|
||||
LINUX="imx6"
|
||||
|
||||
# use linux-next (latest rc) instead latest released version
|
||||
LINUX_NEXT="no"
|
||||
|
||||
# SquashFS compression method (gzip / lzo / xz)
|
||||
SQUASHFS_COMPRESSION="gzip"
|
||||
|
||||
# Mediacenter to use (kodi / no)
|
||||
MEDIACENTER="kodi"
|
||||
################################################################################
|
||||
# setup system defaults
|
||||
################################################################################
|
||||
|
||||
# Skins to install (Confluence)
|
||||
# Space separated list is supported,
|
||||
# e.g. SKINS="Confluence"
|
||||
SKINS="Confluence"
|
||||
# The TARGET_CPU variable controls which processor should be targeted for
|
||||
# generated code.
|
||||
case $TARGET_ARCH in
|
||||
arm)
|
||||
# TARGET_CPU:
|
||||
# arm2 arm250 arm3 arm6 arm60 arm600 arm610 arm620 arm7 arm7m arm7d
|
||||
# arm7dm arm7di arm7dmi arm70 arm700 arm700i arm710 arm710c
|
||||
# arm7100 arm720 arm7500 arm7500fe arm7tdmi arm7tdmi-s arm710t
|
||||
# arm720t arm740t strongarm strongarm110 strongarm1100
|
||||
# strongarm1110 arm8 arm810 arm9 arm9e arm920 arm920t arm922t
|
||||
# arm946e-s arm966e-s arm968e-s arm926ej-s arm940t arm9tdmi
|
||||
# arm10tdmi arm1020t arm1026ej-s arm10e arm1020e arm1022e
|
||||
# arm1136j-s arm1136jf-s mpcore mpcorenovfp arm1156t2-s
|
||||
# arm1176jz-s arm1176jzf-s cortex-a8 cortex-a9 cortex-r4
|
||||
# cortex-r4f cortex-m3 cortex-m1 xscale iwmmxt iwmmxt2 ep9312.
|
||||
TARGET_CPU="cortex-a9"
|
||||
|
||||
# Default Skin (Confluence)
|
||||
SKIN_DEFAULT="Confluence"
|
||||
# TARGET_FLOAT:
|
||||
# Specifies which floating-point ABI to use. Permissible values are:
|
||||
# soft softfp hard
|
||||
TARGET_FLOAT="hard"
|
||||
|
||||
# install extra subtitle Fonts for KODI (yes / no)
|
||||
KODI_EXTRA_FONTS="yes"
|
||||
# TARGET_FPU:
|
||||
# This specifies what floating point hardware (or hardware emulation) is
|
||||
# available on the target. Permissible names are:
|
||||
# fpa fpe2 fpe3 maverick vfp vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16
|
||||
# vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16
|
||||
# neon-vfpv4.
|
||||
TARGET_FPU="neon"
|
||||
;;
|
||||
esac
|
||||
|
||||
# build and install 'RSXS' Screensaver (yes / no)
|
||||
KODI_SCR_RSXS="no"
|
||||
# Bootloader to use (syslinux / u-boot / bcm2835-bootloader)
|
||||
BOOTLOADER="u-boot"
|
||||
|
||||
# build and install 'ProjectM' Visualization (yes / no)
|
||||
KODI_VIS_PROJECTM="no"
|
||||
# u-boot version to use (default)
|
||||
UBOOT_VERSION="imx6-cuboxi"
|
||||
|
||||
# build and install 'GOOM' Visualization (yes / no)
|
||||
KODI_VIS_GOOM="no"
|
||||
# Configuration for u-boot
|
||||
UBOOT_CONFIG="mx6_cubox-i_config"
|
||||
|
||||
# build and install 'Waveform' Visualization (yes / no)
|
||||
KODI_VIS_WAVEFORM="yes"
|
||||
# Target Configfile for u-boot
|
||||
UBOOT_CONFIGFILE=""
|
||||
|
||||
# build and install 'Spectrum' Visualization (yes / no)
|
||||
KODI_VIS_SPECTRUM="yes"
|
||||
# Kernel target for u-boot (default 'uImage' if BOOTLOADER=u-boot) (uImage / zImage)
|
||||
KERNEL_UBOOT_TARGET="zImage"
|
||||
|
||||
# build and install 'FishBMC' Visualization (yes / no)
|
||||
# does not work on RPi
|
||||
KODI_VIS_FISHBMC="no"
|
||||
# Kernel extra targets to build
|
||||
KERNEL_UBOOT_EXTRA_TARGET="imx6q-cubox-i.dtb imx6dl-cubox-i.dtb"
|
||||
KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6q-hummingboard.dtb imx6dl-hummingboard.dtb"
|
||||
|
||||
# build and install ALSA Audio support (yes / no)
|
||||
ALSA_SUPPORT="yes"
|
||||
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
|
||||
KERNEL_MAKE_EXTRACMD=""
|
||||
|
||||
# build and install PulseAudio support (yes / no)
|
||||
PULSEAUDIO_SUPPORT="no"
|
||||
# Kernel to use. values can be:
|
||||
# default: default mainline kernel
|
||||
LINUX="imx6"
|
||||
|
||||
# build and install espeak support (yes / no)
|
||||
ESPEAK_SUPPORT="yes"
|
||||
|
||||
# build and install with non-free support
|
||||
# (RAR compression support in KODI) (yes / no)
|
||||
NONFREE_SUPPORT="yes"
|
||||
################################################################################
|
||||
# setup build defaults
|
||||
################################################################################
|
||||
|
||||
# build and install with BluRay support (yes / no)
|
||||
BLURAY_SUPPORT="yes"
|
||||
# Build optimizations (size/normal)
|
||||
OPTIMIZATIONS="size"
|
||||
|
||||
# build and install with BD+ support
|
||||
# (BD+ decryption support in KODI) (yes / no)
|
||||
BDPLUS_SUPPORT="yes"
|
||||
# Project CFLAGS
|
||||
PROJECT_CFLAGS=""
|
||||
|
||||
# build and install with AACS support
|
||||
# (BD decryption support in KODI) (yes / no)
|
||||
AACS_SUPPORT="yes"
|
||||
# LTO (Link Time Optimization) support
|
||||
LTO_SUPPORT="yes"
|
||||
|
||||
# build and install with DVDCSS support
|
||||
# (DVD decryption support in KODI) (yes / no)
|
||||
DVDCSS_SUPPORT="yes"
|
||||
# GOLD (Google Linker) support
|
||||
GOLD_SUPPORT="yes"
|
||||
|
||||
# additional drivers to install:
|
||||
# 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 dvbhdhomerun"
|
||||
# SquashFS compression method (gzip / lzo / xz)
|
||||
SQUASHFS_COMPRESSION="gzip"
|
||||
|
||||
# build and install bluetooth support (yes / no)
|
||||
BLUETOOTH_SUPPORT="yes"
|
||||
|
||||
# build and install with KODI webfrontend (yes / no)
|
||||
WEBSERVER="yes"
|
||||
################################################################################
|
||||
# setup project defaults
|
||||
################################################################################
|
||||
|
||||
# build and install Avahi (Zeroconf) daemon (yes / no)
|
||||
AVAHI_DAEMON="yes"
|
||||
# build and install ALSA Audio support (yes / no)
|
||||
ALSA_SUPPORT="yes"
|
||||
|
||||
# build with UPnP support (yes / no)
|
||||
UPNP_SUPPORT="yes"
|
||||
# OpenGL(X) implementation to use (no / Mesa)
|
||||
OPENGL="no"
|
||||
|
||||
# build with MySQL support (yes / no)
|
||||
MYSQL_SUPPORT="yes"
|
||||
# OpenGL-ES implementation to use (no / bcm2835-driver / gpu-viv-bin-mx6q)
|
||||
OPENGLES="gpu-viv-bin-mx6q"
|
||||
|
||||
# build xbmc with sshlib support (yes / no)
|
||||
SSHLIB_SUPPORT="yes"
|
||||
# include uvesafb support (yes / no)
|
||||
UVESAFB_SUPPORT="no"
|
||||
|
||||
# build xbmc with optical drive support (yes / no)
|
||||
OPTICAL_DRIVE_SUPPORT="yes"
|
||||
# Displayserver to use (x11 / no)
|
||||
DISPLAYSERVER="no"
|
||||
|
||||
# KODI Audio encoders for usage with optical drive support
|
||||
# Space separated list is supported,
|
||||
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
|
||||
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
|
||||
# Windowmanager to use (ratpoison / fluxbox / none)
|
||||
WINDOWMANAGER="none"
|
||||
|
||||
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
|
||||
AIRPLAY_SUPPORT="yes"
|
||||
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
|
||||
# Space separated list is supported,
|
||||
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
|
||||
GRAPHIC_DRIVERS=""
|
||||
|
||||
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
|
||||
AIRTUNES_SUPPORT="yes"
|
||||
# KODI Player implementation to use (default / bcm2835-driver / libfslvpuwrap)
|
||||
KODIPLAYER_DRIVER="libfslvpuwrap"
|
||||
|
||||
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
|
||||
NFS_SUPPORT="yes"
|
||||
# Modules to install in initramfs for early boot
|
||||
INITRAMFS_MODULES=""
|
||||
|
||||
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
|
||||
AFP_SUPPORT="no"
|
||||
# build and install ATV IR remote support (yes / no)
|
||||
ATVCLIENT_SUPPORT="no"
|
||||
|
||||
# build and install Samba Client support (yes / no)
|
||||
SAMBA_SUPPORT="yes"
|
||||
# build and install IRServer IR/LCD support (yes / no)
|
||||
IRSERVER_SUPPORT="no"
|
||||
|
||||
# build and install Samba Server (yes / no)
|
||||
SAMBA_SERVER="yes"
|
||||
# build with swap support (yes / no)
|
||||
SWAP_SUPPORT="no"
|
||||
|
||||
# build and install SFTP Server (yes / no)
|
||||
SFTP_SERVER="yes"
|
||||
# swap support enabled per default (yes / no)
|
||||
SWAP_ENABLED_DEFAULT="no"
|
||||
|
||||
# build and install PPP support (yes / no)
|
||||
PPTP_SUPPORT="yes"
|
||||
# swapfile size if SWAP_SUPPORT=yes in MB
|
||||
SWAPFILESIZE="128"
|
||||
|
||||
# build and install OpenVPN support (yes / no)
|
||||
OPENVPN_SUPPORT="yes"
|
||||
# build with installer (yes / no)
|
||||
INSTALLER_SUPPORT="no"
|
||||
|
||||
# build and install diskmounter support (udevil)
|
||||
# this service provide auto mounting support for external drives in the
|
||||
# mediacenter also automount internally drives at boottime via udev (yes / no)
|
||||
UDEVIL="yes"
|
||||
# build and install 'RSXS' Screensaver (yes / no)
|
||||
KODI_SCR_RSXS="no"
|
||||
|
||||
# build and install exFAT fuse support (yes / no)
|
||||
EXFAT="yes"
|
||||
# build and install 'ProjectM' Visualization (yes / no)
|
||||
KODI_VIS_PROJECTM="no"
|
||||
|
||||
# build and install NTFS-3G fuse support (yes / no)
|
||||
NTFS3G="yes"
|
||||
# build and install 'GOOM' Visualization (yes / no)
|
||||
KODI_VIS_GOOM="no"
|
||||
|
||||
# build and install hfs filesystem utilities (yes / no)
|
||||
HFSTOOLS="yes"
|
||||
|
||||
# OpenGL(X) implementation to use (no / Mesa)
|
||||
OPENGL="no"
|
||||
|
||||
# OpenGL-ES implementation to use (no / bcm2835-driver / gpu-viv-bin-mx6q)
|
||||
OPENGLES="gpu-viv-bin-mx6q"
|
||||
|
||||
# Windowmanager to use (ratpoison / fluxbox / none)
|
||||
WINDOWMANAGER="none"
|
||||
|
||||
# include uvesafb support (yes / no)
|
||||
UVESAFB_SUPPORT="no"
|
||||
|
||||
# Displayserver to use (x11 / no)
|
||||
DISPLAYSERVER="no"
|
||||
|
||||
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
|
||||
# Space separated list is supported,
|
||||
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
|
||||
GRAPHIC_DRIVERS=""
|
||||
|
||||
# KODI Player implementation to use (default / bcm2835-driver)
|
||||
KODIPLAYER_DRIVER="libfslvpuwrap"
|
||||
|
||||
# Use VDPAU video acceleration (needs nVidia driver and a supported card)
|
||||
VDPAU="no"
|
||||
|
||||
# Use VAAPI video acceleration (needs intel i965 driver and a supported card)
|
||||
VAAPI="no"
|
||||
|
||||
# build and install remote support (yes / no)
|
||||
REMOTE_SUPPORT="yes"
|
||||
|
||||
# build and install ATV IR remote support (yes / no)
|
||||
ATVCLIENT_SUPPORT="no"
|
||||
|
||||
# build and install IRServer IR/LCD support (yes / no)
|
||||
IRSERVER_SUPPORT="no"
|
||||
|
||||
# build and install Joystick support (yes / no)
|
||||
JOYSTICK_SUPPORT="yes"
|
||||
|
||||
# build and install CEC adapter support (yes / no)
|
||||
CEC_SUPPORT="yes"
|
||||
|
||||
# build and install iSCSI support - iscsistart (yes / no)
|
||||
ISCSI_SUPPORT="yes"
|
||||
|
||||
# LCD driver to Use - Possible drivers are ( Comma seperated:
|
||||
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
|
||||
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
|
||||
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
|
||||
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
|
||||
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
|
||||
# picolcd,pyramid,sed1330,sed1520,serialPOS,
|
||||
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
|
||||
# 'all' compiles all drivers;
|
||||
# 'all,!xxx,!yyy' de-selects previously selected drivers
|
||||
# "none" for disable LCD support
|
||||
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428"
|
||||
|
||||
# Modules to install in initramfs for early boot
|
||||
INITRAMFS_MODULES=""
|
||||
|
||||
# Support for partitioning and formating disks in initramfs (yes / no)
|
||||
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
|
||||
INITRAMFS_PARTED_SUPPORT="no"
|
||||
|
||||
# additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
|
||||
# Space separated list is supported,
|
||||
# e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
|
||||
FIRMWARE="misc-firmware wlan-firmware dvb-firmware"
|
||||
|
||||
# build with swap support (yes / no)
|
||||
SWAP_SUPPORT="no"
|
||||
|
||||
# swap support enabled per default (yes / no)
|
||||
SWAP_ENABLED_DEFAULT="no"
|
||||
|
||||
# swapfile size if SWAP_SUPPORT=yes in MB
|
||||
SWAPFILESIZE="128"
|
||||
|
||||
# build with installer (yes / no)
|
||||
INSTALLER_SUPPORT="no"
|
||||
|
||||
# Testpackages for development (yes / no)
|
||||
TESTING="no"
|
||||
|
||||
# OEM packages for OEM's (yes / no)
|
||||
OEM_SUPPORT="no"
|
||||
|
||||
# build and install nano text editor (yes / no)
|
||||
NANO_EDITOR="yes"
|
||||
|
||||
# cron support (yes / no)
|
||||
CRON_SUPPORT="yes"
|
||||
|
||||
# Perf support in development builds (yes / no)
|
||||
PERF_SUPPORT="yes"
|
||||
|
||||
# Distribution Specific source location
|
||||
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
|
||||
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
|
||||
|
||||
# Addon Server Url
|
||||
ADDON_SERVER_URL="http://addons.openelec.tv"
|
||||
|
||||
# set the addon dirs
|
||||
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
|
||||
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
||||
# build and install 'FishBMC' Visualization (yes / no)
|
||||
KODI_VIS_FISHBMC="no"
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
From 22477eaf1286dd28fb87552d35e9c8a5dbc09658 Mon Sep 17 00:00:00 2001
|
||||
From: Rudi <r.ihle@s-t.de>
|
||||
Date: Sat, 9 Aug 2014 18:09:03 +0200
|
||||
Subject: [PATCH] AESinkALSA: Set correct value for AES3 when using HBR mode
|
||||
|
||||
According to the HDMI 1.4a document, the only acceptable value
|
||||
for AES3 in HBR mode is 0x09, which corresponds to a frame rate
|
||||
of 768000. Some sinks or drivers ignore this, but some do not.
|
||||
---
|
||||
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
|
||||
index c608231..322b8de 100644
|
||||
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
|
||||
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
|
||||
@@ -156,7 +156,8 @@ void CAESinkALSA::GetAESParams(AEAudioFormat format, std::string& params)
|
||||
|
||||
params += ",AES1=0x82,AES2=0x00";
|
||||
|
||||
- if (format.m_sampleRate == 192000) params += ",AES3=0x0e";
|
||||
+ if (m_passthrough && format.m_channelLayout.Count() == 8) params += ",AES3=0x09";
|
||||
+ else if (format.m_sampleRate == 192000) params += ",AES3=0x0e";
|
||||
else if (format.m_sampleRate == 176400) params += ",AES3=0x0c";
|
||||
else if (format.m_sampleRate == 96000) params += ",AES3=0x0a";
|
||||
else if (format.m_sampleRate == 88200) params += ",AES3=0x08";
|
||||
--
|
||||
2.0.3
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
--- xbmc-master-14-dae6f76/./xbmc/cores/AudioEngine/AESinkFactory.cpp.orig 2014-07-07 18:30:37.000000000 +0200
|
||||
+++ xbmc-master-14-dae6f76/./xbmc/cores/AudioEngine/AESinkFactory.cpp 2014-07-15 10:30:16.513471771 +0200
|
||||
@@ -134,7 +134,7 @@
|
||||
CLog::Log(LOGERROR, "Sink %s:%s returned invalid sample rate", driver.c_str(), device.c_str());
|
||||
else if (format.m_channelLayout.Count() == 0)
|
||||
CLog::Log(LOGERROR, "Sink %s:%s returned invalid channel layout", driver.c_str(), device.c_str());
|
||||
- else if (format.m_frames < 256)
|
||||
+ else if (format.m_frames < 96)
|
||||
CLog::Log(LOGERROR, "Sink %s:%s returned invalid buffer size: %d", driver.c_str(), device.c_str(), format.m_frames);
|
||||
else
|
||||
return sink;
|
||||
26
projects/imx6/patches/linux/linux-007-config_cmdline.patch
Normal file
26
projects/imx6/patches/linux/linux-007-config_cmdline.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
diff -urN a/drivers/of/fdt.c b/drivers/of/fdt.c
|
||||
--- a/drivers/of/fdt.c 2014-09-25 08:33:34.727318450 +0200
|
||||
+++ b/drivers/of/fdt.c 2014-09-25 08:46:52.192711249 +0200
|
||||
@@ -822,12 +822,21 @@
|
||||
* CONFIG_CMDLINE is meant to be a default in case nothing else
|
||||
* managed to set the command line, unless CONFIG_CMDLINE_FORCE
|
||||
* is set in which case we override whatever was found earlier.
|
||||
+ *
|
||||
+ * But we do append CONFIG_CMDLINE to bootloader arguments.
|
||||
*/
|
||||
#ifdef CONFIG_CMDLINE
|
||||
#ifndef CONFIG_CMDLINE_FORCE
|
||||
if (!((char *)data)[0])
|
||||
-#endif
|
||||
strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
|
||||
+ else {
|
||||
+ /* append CONFIG_CMDLINE to bootloader arguments */
|
||||
+ strlcat(data, " ", COMMAND_LINE_SIZE);
|
||||
+ strlcat(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
|
||||
+ }
|
||||
+#else
|
||||
+ strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
|
||||
+#endif /* CONFIG_CMDLINE_FORCE */
|
||||
#endif /* CONFIG_CMDLINE */
|
||||
|
||||
pr_debug("Command line is: %s\n", (char*)data);
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,850 @@
|
||||
From 260d0a77f9848d2495c3f5031f734dbedac244c6 Mon Sep 17 00:00:00 2001
|
||||
From: vpeter4 <peter.vicman@gmail.com>
|
||||
Date: Sun, 5 Oct 2014 14:22:53 +0200
|
||||
Subject: [PATCH] tbs2910_device_tree_from_imx6q-sabresd
|
||||
|
||||
copied from imx6q-sabresd.dts and imx6qdl-sabresd.dtsi
|
||||
---
|
||||
arch/arm/boot/dts/Makefile | 1 +
|
||||
arch/arm/boot/dts/imx6q-tbs2910.dts | 41 ++
|
||||
arch/arm/boot/dts/imx6qdl-tbs2910.dtsi | 768 +++++++++++++++++++++++++++++++++
|
||||
3 files changed, 810 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/imx6q-tbs2910.dts
|
||||
create mode 100644 arch/arm/boot/dts/imx6qdl-tbs2910.dtsi
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index f363929..49004c4 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -185,6 +185,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
|
||||
imx6q-sabrelite.dtb \
|
||||
imx6q-sabresd.dtb \
|
||||
imx6q-sabresd-hdcp.dtb \
|
||||
+ imx6q-tbs2910.dtb \
|
||||
imx6q-sbc6x.dtb \
|
||||
imx6q-udoo.dtb \
|
||||
imx6q-wandboard.dtb \
|
||||
diff --git a/arch/arm/boot/dts/imx6q-tbs2910.dts b/arch/arm/boot/dts/imx6q-tbs2910.dts
|
||||
new file mode 100644
|
||||
index 0000000..0374484
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/imx6q-tbs2910.dts
|
||||
@@ -0,0 +1,41 @@
|
||||
+/*
|
||||
+ * Copyright 2012 Freescale Semiconductor, Inc.
|
||||
+ * Copyright 2011 Linaro Ltd.
|
||||
+ *
|
||||
+ * The code contained herein is licensed under the GNU General Public
|
||||
+ * License. You may obtain a copy of the GNU General Public License
|
||||
+ * Version 2 or later at the following locations:
|
||||
+ *
|
||||
+ * http://www.opensource.org/licenses/gpl-license.html
|
||||
+ * http://www.gnu.org/copyleft/gpl.html
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "imx6q.dtsi"
|
||||
+#include "imx6qdl-tbs2910.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "TBS Matrix";
|
||||
+ compatible = "fsl,imx6q-sabresd", "fsl,imx6q";
|
||||
+};
|
||||
+
|
||||
+&sata {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mxcfb1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mxcfb2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mxcfb3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mxcfb4 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/imx6qdl-tbs2910.dtsi b/arch/arm/boot/dts/imx6qdl-tbs2910.dtsi
|
||||
new file mode 100644
|
||||
index 0000000..f351c21
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-tbs2910.dtsi
|
||||
@@ -0,0 +1,768 @@
|
||||
+/*
|
||||
+ * Copyright 2012 Freescale Semiconductor, Inc.
|
||||
+ * Copyright 2011 Linaro Ltd.
|
||||
+ *
|
||||
+ * The code contained herein is licensed under the GNU General Public
|
||||
+ * License. You may obtain a copy of the GNU General Public License
|
||||
+ * Version 2 or later at the following locations:
|
||||
+ *
|
||||
+ * http://www.opensource.org/licenses/gpl-license.html
|
||||
+ * http://www.gnu.org/copyleft/gpl.html
|
||||
+ */
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+
|
||||
+/ {
|
||||
+ aliases {
|
||||
+ mxcfb0 = &mxcfb1;
|
||||
+ mxcfb1 = &mxcfb2;
|
||||
+ mxcfb2 = &mxcfb3;
|
||||
+ mxcfb3 = &mxcfb4;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = &uart1;
|
||||
+ };
|
||||
+
|
||||
+ memory {
|
||||
+ reg = <0x10000000 0x40000000>;
|
||||
+ };
|
||||
+
|
||||
+ regulators {
|
||||
+ compatible = "simple-bus";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ reg_usb_otg_vbus: regulator@0 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ reg = <0>;
|
||||
+ regulator-name = "usb_otg_vbus";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ gpio = <&gpio3 22 0>;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
+ reg_usb_h1_vbus: regulator@1 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ reg = <1>;
|
||||
+ regulator-name = "usb_h1_vbus";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ gpio = <&gpio1 29 0>;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
+ reg_audio: regulator@2 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ reg = <2>;
|
||||
+ regulator-name = "wm8962-supply";
|
||||
+ gpio = <&gpio4 10 0>;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
+ reg_mipi_dsi_pwr_on: mipi_dsi_pwr_on {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "mipi_dsi_pwr_on";
|
||||
+ gpio = <&gpio6 14 0>;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gpio-keys {
|
||||
+ compatible = "gpio-keys";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_gpio_keys>;
|
||||
+
|
||||
+ power {
|
||||
+ label = "Power Button";
|
||||
+ gpios = <&gpio3 29 GPIO_ACTIVE_LOW>;
|
||||
+ gpio-key,wakeup;
|
||||
+ linux,code = <KEY_POWER>;
|
||||
+ };
|
||||
+
|
||||
+ volume-up {
|
||||
+ label = "Volume Up";
|
||||
+ gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
|
||||
+ gpio-key,wakeup;
|
||||
+ linux,code = <KEY_VOLUMEUP>;
|
||||
+ };
|
||||
+
|
||||
+ volume-down {
|
||||
+ label = "Volume Down";
|
||||
+ gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
|
||||
+ gpio-key,wakeup;
|
||||
+ linux,code = <KEY_VOLUMEDOWN>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ sound {
|
||||
+ compatible = "fsl,imx6q-sabresd-wm8962",
|
||||
+ "fsl,imx-audio-wm8962";
|
||||
+ model = "wm8962-audio";
|
||||
+ ssi-controller = <&ssi2>;
|
||||
+ audio-codec = <&codec>;
|
||||
+ audio-routing =
|
||||
+ "Headphone Jack", "HPOUTL",
|
||||
+ "Headphone Jack", "HPOUTR",
|
||||
+ "Ext Spk", "SPKOUTL",
|
||||
+ "Ext Spk", "SPKOUTR",
|
||||
+ "MICBIAS", "AMIC",
|
||||
+ "IN3R", "MICBIAS",
|
||||
+ "DMIC", "MICBIAS",
|
||||
+ "DMICDAT", "DMIC";
|
||||
+ mux-int-port = <2>;
|
||||
+ mux-ext-port = <3>;
|
||||
+ };
|
||||
+
|
||||
+ backlight {
|
||||
+ compatible = "pwm-backlight";
|
||||
+ pwms = <&pwm1 0 5000000>;
|
||||
+ brightness-levels = <0 4 8 16 32 64 128 255>;
|
||||
+ default-brightness-level = <7>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_gpio_leds>;
|
||||
+
|
||||
+ red {
|
||||
+ gpios = <&gpio1 2 0>;
|
||||
+ default-state = "on";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ sound-hdmi {
|
||||
+ compatible = "fsl,imx6q-audio-hdmi",
|
||||
+ "fsl,imx-audio-hdmi";
|
||||
+ model = "imx-audio-hdmi";
|
||||
+ hdmi-controller = <&hdmi_audio>;
|
||||
+ };
|
||||
+
|
||||
+ mxcfb1: fb@0 {
|
||||
+ compatible = "fsl,mxc_sdc_fb";
|
||||
+ disp_dev = "ldb";
|
||||
+ interface_pix_fmt = "RGB666";
|
||||
+ mode_str ="LDB-XGA";
|
||||
+ default_bpp = <16>;
|
||||
+ int_clk = <0>;
|
||||
+ late_init = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mxcfb2: fb@1 {
|
||||
+ compatible = "fsl,mxc_sdc_fb";
|
||||
+ disp_dev = "hdmi";
|
||||
+ interface_pix_fmt = "RGB24";
|
||||
+ mode_str ="1920x1080M@60";
|
||||
+ default_bpp = <24>;
|
||||
+ int_clk = <0>;
|
||||
+ late_init = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mxcfb3: fb@2 {
|
||||
+ compatible = "fsl,mxc_sdc_fb";
|
||||
+ disp_dev = "lcd";
|
||||
+ interface_pix_fmt = "RGB565";
|
||||
+ mode_str ="CLAA-WVGA";
|
||||
+ default_bpp = <16>;
|
||||
+ int_clk = <0>;
|
||||
+ late_init = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ mxcfb4: fb@3 {
|
||||
+ compatible = "fsl,mxc_sdc_fb";
|
||||
+ disp_dev = "ldb";
|
||||
+ interface_pix_fmt = "RGB666";
|
||||
+ mode_str ="LDB-XGA";
|
||||
+ default_bpp = <16>;
|
||||
+ int_clk = <0>;
|
||||
+ late_init = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ lcd@0 {
|
||||
+ compatible = "fsl,lcd";
|
||||
+ ipu_id = <0>;
|
||||
+ disp_id = <0>;
|
||||
+ default_ifmt = "RGB565";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_ipu1>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ backlight {
|
||||
+ compatible = "pwm-backlight";
|
||||
+ pwms = <&pwm1 0 5000000>;
|
||||
+ brightness-levels = <0 4 8 16 32 64 128 255>;
|
||||
+ default-brightness-level = <7>;
|
||||
+ };
|
||||
+
|
||||
+ v4l2_out {
|
||||
+ compatible = "fsl,mxc_v4l2_output";
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ lvds_cabc_ctrl {
|
||||
+ lvds0-gpios = <&gpio6 15 0>;
|
||||
+ lvds1-gpios = <&gpio6 16 0>;
|
||||
+ };
|
||||
+
|
||||
+ mipi_dsi_reset: mipi-dsi-reset {
|
||||
+ compatible = "gpio-reset";
|
||||
+ reset-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
|
||||
+ reset-delay-us = <50>;
|
||||
+ #reset-cells = <0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&audmux {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_audmux>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ecspi1 {
|
||||
+ fsl,spi-num-chipselects = <1>;
|
||||
+ cs-gpios = <&gpio4 9 0>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_ecspi1>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ flash: m25p80@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ compatible = "st,m25p32";
|
||||
+ spi-max-frequency = <20000000>;
|
||||
+ reg = <0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&fec {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_enet>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-reset-gpios = <&gpio1 25 0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ clock-frequency = <100000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_i2c1>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ codec: wm8962@1a {
|
||||
+ compatible = "wlf,wm8962";
|
||||
+ reg = <0x1a>;
|
||||
+ clocks = <&clks 201>;
|
||||
+ DCVDD-supply = <®_audio>;
|
||||
+ DBVDD-supply = <®_audio>;
|
||||
+ AVDD-supply = <®_audio>;
|
||||
+ CPVDD-supply = <®_audio>;
|
||||
+ MICVDD-supply = <®_audio>;
|
||||
+ PLLVDD-supply = <®_audio>;
|
||||
+ SPKVDD1-supply = <®_audio>;
|
||||
+ SPKVDD2-supply = <®_audio>;
|
||||
+ gpio-cfg = <
|
||||
+ 0x0000 /* 0:Default */
|
||||
+ 0x0000 /* 1:Default */
|
||||
+ 0x0013 /* 2:FN_DMICCLK */
|
||||
+ 0x0000 /* 3:Default */
|
||||
+ 0x8014 /* 4:FN_DMICCDAT */
|
||||
+ 0x0000 /* 5:Default */
|
||||
+ >;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c2 {
|
||||
+ clock-frequency = <100000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_i2c2>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ hdmi: edid@50 {
|
||||
+ compatible = "fsl,imx6-hdmi-i2c";
|
||||
+ reg = <0x50>;
|
||||
+ };
|
||||
+
|
||||
+ pmic: pfuze100@08 {
|
||||
+ compatible = "fsl,pfuze100";
|
||||
+ reg = <0x08>;
|
||||
+
|
||||
+ regulators {
|
||||
+ sw1a_reg: sw1ab {
|
||||
+ regulator-min-microvolt = <300000>;
|
||||
+ regulator-max-microvolt = <1875000>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-ramp-delay = <6250>;
|
||||
+ };
|
||||
+
|
||||
+ sw1c_reg: sw1c {
|
||||
+ regulator-min-microvolt = <300000>;
|
||||
+ regulator-max-microvolt = <1875000>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-ramp-delay = <6250>;
|
||||
+ };
|
||||
+
|
||||
+ sw2_reg: sw2 {
|
||||
+ regulator-min-microvolt = <800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ sw3a_reg: sw3a {
|
||||
+ regulator-min-microvolt = <400000>;
|
||||
+ regulator-max-microvolt = <1975000>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ sw3b_reg: sw3b {
|
||||
+ regulator-min-microvolt = <400000>;
|
||||
+ regulator-max-microvolt = <1975000>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ sw4_reg: sw4 {
|
||||
+ regulator-min-microvolt = <800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ };
|
||||
+
|
||||
+ swbst_reg: swbst {
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5150000>;
|
||||
+ };
|
||||
+
|
||||
+ snvs_reg: vsnvs {
|
||||
+ regulator-min-microvolt = <1000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vref_reg: vrefddr {
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vgen1_reg: vgen1 {
|
||||
+ regulator-min-microvolt = <800000>;
|
||||
+ regulator-max-microvolt = <1550000>;
|
||||
+ };
|
||||
+
|
||||
+ vgen2_reg: vgen2 {
|
||||
+ regulator-min-microvolt = <800000>;
|
||||
+ regulator-max-microvolt = <1550000>;
|
||||
+ };
|
||||
+
|
||||
+ vgen3_reg: vgen3 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ };
|
||||
+
|
||||
+ vgen4_reg: vgen4 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vgen5_reg: vgen5 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ vgen6_reg: vgen6 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c3 {
|
||||
+ clock-frequency = <100000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_i2c3>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ egalax_ts@04 {
|
||||
+ compatible = "eeti,egalax_ts";
|
||||
+ reg = <0x04>;
|
||||
+ interrupt-parent = <&gpio6>;
|
||||
+ interrupts = <7 2>;
|
||||
+ wakeup-gpios = <&gpio6 7 0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&iomuxc {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_hog>;
|
||||
+
|
||||
+ imx6qdl-sabresd {
|
||||
+ pinctrl_hog: hoggrp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x80000000
|
||||
+ MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x80000000
|
||||
+ MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x80000000
|
||||
+ MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x80000000
|
||||
+ MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
|
||||
+ MX6QDL_PAD_NANDF_CLE__GPIO6_IO07 0x80000000
|
||||
+ MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000
|
||||
+ MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000
|
||||
+ MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x80000000
|
||||
+ MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x80000000
|
||||
+ MX6QDL_PAD_NANDF_CS3__GPIO6_IO16 0x80000000
|
||||
+ MX6QDL_PAD_NANDF_CS0__GPIO6_IO11 0x80000000
|
||||
+ MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x80000000
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_audmux: audmuxgrp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0
|
||||
+ MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0
|
||||
+ MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0
|
||||
+ MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_ecspi1: ecspi1grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_KEY_COL1__ECSPI1_MISO 0x100b1
|
||||
+ MX6QDL_PAD_KEY_ROW0__ECSPI1_MOSI 0x100b1
|
||||
+ MX6QDL_PAD_KEY_COL0__ECSPI1_SCLK 0x100b1
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_enet: enetgrp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
|
||||
+ MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
|
||||
+ MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
|
||||
+ MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
|
||||
+ MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
|
||||
+ MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
|
||||
+ MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
|
||||
+ MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
|
||||
+ MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
|
||||
+ MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
|
||||
+ MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
|
||||
+ MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
|
||||
+ MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
|
||||
+ MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
|
||||
+ MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
|
||||
+ MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_gpio_keys: gpio_keysgrp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x80000000
|
||||
+ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x80000000
|
||||
+ MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x80000000
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_hdmi_cec: hdmi_cecgrp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_hdmi_hdcp: hdmi_hdcpgrp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_KEY_COL3__HDMI_TX_DDC_SCL 0x4001b8b1
|
||||
+ MX6QDL_PAD_KEY_ROW3__HDMI_TX_DDC_SDA 0x4001b8b1
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c1: i2c1grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
|
||||
+ MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c2: i2c2grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
|
||||
+ MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_i2c3: i2c3grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
|
||||
+ MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_ipu1: ipu1grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
|
||||
+ MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x10
|
||||
+ MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10
|
||||
+ MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10
|
||||
+ MX6QDL_PAD_DI0_PIN4__IPU1_DI0_PIN04 0x80000000
|
||||
+ MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10
|
||||
+ MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_pcie: pciegrp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_pwm1: pwm1grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_SD1_DAT3__PWM1_OUT 0x1b0b1
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_uart1: uart1grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
|
||||
+ MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usbotg: usbotggrp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usdhc2: usdhc2grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059
|
||||
+ MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059
|
||||
+ MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
|
||||
+ MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
|
||||
+ MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
|
||||
+ MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059
|
||||
+ MX6QDL_PAD_NANDF_D4__SD2_DATA4 0x17059
|
||||
+ MX6QDL_PAD_NANDF_D5__SD2_DATA5 0x17059
|
||||
+ MX6QDL_PAD_NANDF_D6__SD2_DATA6 0x17059
|
||||
+ MX6QDL_PAD_NANDF_D7__SD2_DATA7 0x17059
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usdhc3: usdhc3grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
|
||||
+ MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
|
||||
+ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
|
||||
+ MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
|
||||
+ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
|
||||
+ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
|
||||
+ MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059
|
||||
+ MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059
|
||||
+ MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059
|
||||
+ MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usdhc4: usdhc4grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
|
||||
+ MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
|
||||
+ MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
|
||||
+ MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
|
||||
+ MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
|
||||
+ MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
|
||||
+ MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
|
||||
+ MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
|
||||
+ MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
|
||||
+ MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
|
||||
+ >;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gpio_leds {
|
||||
+ pinctrl_gpio_leds: gpioledsgrp {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000
|
||||
+ >;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ldb {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ lvds-channel@1 {
|
||||
+ fsl,data-mapping = "spwg";
|
||||
+ fsl,data-width = <18>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ display-timings {
|
||||
+ native-mode = <&timing0>;
|
||||
+ timing0: hsd100pxn1 {
|
||||
+ clock-frequency = <65000000>;
|
||||
+ hactive = <1024>;
|
||||
+ vactive = <768>;
|
||||
+ hback-porch = <220>;
|
||||
+ hfront-porch = <40>;
|
||||
+ vback-porch = <21>;
|
||||
+ vfront-porch = <7>;
|
||||
+ hsync-len = <60>;
|
||||
+ vsync-len = <10>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pcie {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_pcie>;
|
||||
+ reset-gpio = <&gpio7 12 0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pcie {
|
||||
+ power-on-gpio = <&gpio3 19 0>;
|
||||
+ reset-gpio = <&gpio7 12 0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+
|
||||
+&pwm1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_pwm1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ldb {
|
||||
+ ipu_id = <1>;
|
||||
+ disp_id = <1>;
|
||||
+ ext_ref = <1>;
|
||||
+ mode = "sep1";
|
||||
+ sec_ipu_id = <1>;
|
||||
+ sec_disp_id = <0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ssi2 {
|
||||
+ fsl,mode = "i2s-slave";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_uart1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mipi_dsi {
|
||||
+ dev_id = <0>;
|
||||
+ disp_id = <0>;
|
||||
+ lcd_panel = "TRULY-WVGA";
|
||||
+ disp-power-on-supply = <®_mipi_dsi_pwr_on>;
|
||||
+ resets = <&mipi_dsi_reset>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbh1 {
|
||||
+ vbus-supply = <®_usb_h1_vbus>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbotg {
|
||||
+ vbus-supply = <®_usb_otg_vbus>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_usbotg>;
|
||||
+ disable-over-current;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usdhc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_usdhc2>;
|
||||
+ bus-width = <8>;
|
||||
+ cd-gpios = <&gpio2 2 0>;
|
||||
+ wp-gpios = <&gpio2 3 0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usdhc3 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_usdhc3>;
|
||||
+ bus-width = <8>;
|
||||
+ cd-gpios = <&gpio2 0 0>;
|
||||
+ wp-gpios = <&gpio2 1 0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usdhc4 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_usdhc4>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ no-1-8-v;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_core {
|
||||
+ ipu_id = <0>;
|
||||
+ disp_id = <0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_video {
|
||||
+ fsl,phy_reg_vlev = <0x0294>;
|
||||
+ fsl,phy_reg_cksymtx = <0x800d>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_audio {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_cec {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_hdmi_cec>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&gpc {
|
||||
+ fsl,cpu_pupscr_sw2iso = <0xf>;
|
||||
+ fsl,cpu_pupscr_sw = <0xf>;
|
||||
+ fsl,cpu_pdnscr_iso2sw = <0x1>;
|
||||
+ fsl,cpu_pdnscr_iso = <0x1>;
|
||||
+};
|
||||
--
|
||||
1.8.1.2
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi 2014-08-26 14:31:43.000000000 +0200
|
||||
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi 2014-08-27 22:14:04.000000000 +0200
|
||||
@@ -21,6 +21,14 @@
|
||||
mxcfb3 = &mxcfb4;
|
||||
};
|
||||
|
||||
+ ir_recv: ir-receiver {
|
||||
+ compatible = "gpio-ir-receiver";
|
||||
+ gpios = <&gpio3 18 1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_sabresd_ir>;
|
||||
+ linux,rc-map-name = "rc-rc6-mce";
|
||||
+ };
|
||||
+
|
||||
chosen {
|
||||
stdout-path = &uart1;
|
||||
};
|
||||
@@ -132,9 +140,22 @@
|
||||
red {
|
||||
gpios = <&gpio1 2 0>;
|
||||
default-state = "on";
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ };
|
||||
+
|
||||
+ fan {
|
||||
+ gpios = <&gpio3 28 0>;
|
||||
+ default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
+ sound-spdif {
|
||||
+ compatible = "fsl,imx-audio-spdif";
|
||||
+ model = "imx-spdif";
|
||||
+ spdif-controller = <&spdif>;
|
||||
+ spdif-out;
|
||||
+ };
|
||||
+
|
||||
sound-hdmi {
|
||||
compatible = "fsl,imx6q-audio-hdmi",
|
||||
"fsl,imx-audio-hdmi";
|
||||
@@ -475,6 +496,16 @@
|
||||
>;
|
||||
};
|
||||
|
||||
+ pinctrl_sabresd_ir: sabresd-ir {
|
||||
+ fsl,pins = <
|
||||
+ MX6QDL_PAD_EIM_D18__GPIO3_IO18 0x80000000
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_sabresd_spdif: sabresd-spdif {
|
||||
+ fsl,pins = <MX6QDL_PAD_GPIO_19__SPDIF_OUT 0x13091>;
|
||||
+ };
|
||||
+
|
||||
pinctrl_hdmi_cec: hdmi_cecgrp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
|
||||
@@ -618,6 +649,7 @@
|
||||
pinctrl_gpio_leds: gpioledsgrp {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000
|
||||
+ MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x80000000
|
||||
>;
|
||||
};
|
||||
};
|
||||
@@ -698,6 +730,22 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&spdif {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_sabresd_spdif>;
|
||||
+ clocks = <&clks 197>, <&clks 0>,
|
||||
+ <&clks 197>, <&clks 0>,
|
||||
+ <&clks 0>, <&clks 0>,
|
||||
+ <&clks 0>, <&clks 0>,
|
||||
+ <&clks 0>;
|
||||
+ clock-names = "core", "rxtx0",
|
||||
+ "rxtx1", "rxtx2",
|
||||
+ "rxtx3", "rxtx4",
|
||||
+ "rxtx5", "rxtx6",
|
||||
+ "rxtx7";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&usbh1 {
|
||||
vbus-supply = <®_usb_h1_vbus>;
|
||||
status = "okay";
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user