mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
Compare commits
93 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7542b351ce | ||
|
|
22cb3de37b | ||
|
|
47ba862258 | ||
|
|
0c29d42dfb | ||
|
|
c908c1f453 | ||
|
|
03b1748e35 | ||
|
|
6f8718d27c | ||
|
|
52032717d3 | ||
|
|
7b73c87b5c | ||
|
|
fc3302b54a | ||
|
|
6b4fc85163 | ||
|
|
a0bc8c4dac | ||
|
|
da66b9b4bd | ||
|
|
c31206ff78 | ||
|
|
94e8f64f12 | ||
|
|
6467122c22 | ||
|
|
2907959e13 | ||
|
|
8454fbaa70 | ||
|
|
4e85d78c5a | ||
|
|
0668aa8a07 | ||
|
|
91099120ac | ||
|
|
be9c7ab79f | ||
|
|
396624cfb9 | ||
|
|
97a8eb49cb | ||
|
|
6949ffd446 | ||
|
|
3f7cc3eb02 | ||
|
|
28dedbd6de | ||
|
|
01685cc719 | ||
|
|
c56cc486af | ||
|
|
824565fc3f | ||
|
|
d6180afba3 | ||
|
|
2a7793733c | ||
|
|
d33c7ea336 | ||
|
|
ac9bee017e | ||
|
|
91d7ffa374 | ||
|
|
a0ab5dff70 | ||
|
|
7ddcdfa65a | ||
|
|
ae5a16791b | ||
|
|
194f304c22 | ||
|
|
c6e0ad65d7 | ||
|
|
22510cdfd2 | ||
|
|
db83f0b8ba | ||
|
|
838715a1af | ||
|
|
f9704e0d6f | ||
|
|
599d041a28 | ||
|
|
8a06a27d9c | ||
|
|
0ffe72b890 | ||
|
|
053fd91d52 | ||
|
|
cf63cc1051 | ||
|
|
c3afcf4e6c | ||
|
|
deb8e68a2c | ||
|
|
82e434597d | ||
|
|
764595b2b8 | ||
|
|
a063d8f61d | ||
|
|
88d0220b64 | ||
|
|
36a93bd8b5 | ||
|
|
6051b70bbb | ||
|
|
c2eed16d0c | ||
|
|
3dfd23d811 | ||
|
|
2d27c7d6b2 | ||
|
|
840495f829 | ||
|
|
6a931c6228 | ||
|
|
3390efbc80 | ||
|
|
8f6f8614fe | ||
|
|
7a28e471ee | ||
|
|
31ec452a95 | ||
|
|
6cd60e15b6 | ||
|
|
62f9fb4246 | ||
|
|
48cc5baf64 | ||
|
|
f97b5e20f6 | ||
|
|
b9c74ec5a7 | ||
|
|
30db61e96b | ||
|
|
b6e4f4ee49 | ||
|
|
858b653a36 | ||
|
|
d3c568d81c | ||
|
|
f63efba4e9 | ||
|
|
7305d58ddb | ||
|
|
ab5d0de1b2 | ||
|
|
3fc5343a9d | ||
|
|
d845c83825 | ||
|
|
f140ac6130 | ||
|
|
36a3754ef5 | ||
|
|
62808dc328 | ||
|
|
fc9d875d7d | ||
|
|
1d3f16f6e2 | ||
|
|
07e8421ff5 | ||
|
|
8bf437cc18 | ||
|
|
504ecccd10 | ||
|
|
cdf4232fe3 | ||
|
|
f9c44bc1a7 | ||
|
|
b48f83a18a | ||
|
|
25d93d8f5d | ||
|
|
6d14b10631 |
@@ -1,5 +1,5 @@
|
||||
# VERSION: set full version, use "devel" for development version
|
||||
LIBREELEC_VERSION="7.95.2"
|
||||
LIBREELEC_VERSION="8.0.0"
|
||||
|
||||
# OS_VERSION: OS Version
|
||||
OS_VERSION="8.0"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="containerd"
|
||||
PKG_VERSION="03e5862"
|
||||
PKG_VERSION="aa8187d"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="APL"
|
||||
PKG_SITE="https://containerd.tools/"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="go"
|
||||
PKG_VERSION="1.7.4"
|
||||
PKG_VERSION="1.7.5"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
PKG_SITE="https://golang.org"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="runc"
|
||||
PKG_VERSION="2f7393a"
|
||||
PKG_VERSION="9df8b30"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="APL"
|
||||
PKG_SITE="https://github.com/opencontainers/runc"
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
101
|
||||
- Change repo location for zips
|
||||
|
||||
100
|
||||
- Initial LibreELEC version
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
PKG_NAME="repository.linuxserver.docker"
|
||||
PKG_VERSION="8.1"
|
||||
PKG_REV="100"
|
||||
PKG_REV="101"
|
||||
PKG_ARCH="any"
|
||||
PKG_ADDON_PROJECTS="Generic RPi RPi2 imx6 WeTek_Hub WeTek_Play_2 Odroid_C2"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
name="LinuxServer.io's Docker Add-on Repository">
|
||||
<info compressed="true">https://raw.githubusercontent.com/linuxserver/libreelec-addon-repo/master/addons.xml</info>
|
||||
<checksum>https://raw.githubusercontent.com/linuxserver/libreelec-addon-repo/master/addons.xml.md5</checksum>
|
||||
<datadir zip="true">https://raw.githubusercontent.com/linuxserver/libreelec-addons/master/download</datadir>
|
||||
<datadir zip="true">https://raw.githubusercontent.com/linuxserver/libreelec-addon-repo/master/download</datadir>
|
||||
</extension>
|
||||
<extension point="xbmc.addon.metadata">
|
||||
<summary>Install add-ons from LinuxServer.io's docker repository</summary>
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
8.1.114
|
||||
- Enable journald buildtag
|
||||
|
||||
8.1.113
|
||||
- Update to docker 1.13.1
|
||||
- Update to golang 1.7.5
|
||||
|
||||
8.1.112
|
||||
- Update to docker 1.13.0
|
||||
- Use journald log driver
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="docker"
|
||||
PKG_VERSION="1.13.0"
|
||||
PKG_REV="112"
|
||||
PKG_VERSION="1.13.1"
|
||||
PKG_REV="114"
|
||||
PKG_ARCH="any"
|
||||
PKG_ADDON_PROJECTS="Generic RPi RPi2 imx6 WeTek_Hub WeTek_Play_2 Odroid_C2"
|
||||
PKG_LICENSE="ASL"
|
||||
@@ -39,7 +39,8 @@ configure_target() {
|
||||
autogen \
|
||||
exclude_graphdriver_devicemapper \
|
||||
exclude_graphdriver_aufs \
|
||||
exclude_graphdriver_btrfs"
|
||||
exclude_graphdriver_btrfs \
|
||||
journald"
|
||||
|
||||
case $TARGET_ARCH in
|
||||
x86_64)
|
||||
@@ -73,7 +74,9 @@ configure_target() {
|
||||
export PATH=$PATH:$GOROOT/bin
|
||||
|
||||
mkdir -p $ROOT/$PKG_BUILD/.gopath
|
||||
mv $ROOT/$PKG_BUILD/vendor $ROOT/$PKG_BUILD/.gopath/src
|
||||
if [ -d $ROOT/$PKG_BUILD/vendor ]; then
|
||||
mv $ROOT/$PKG_BUILD/vendor $ROOT/$PKG_BUILD/.gopath/src
|
||||
fi
|
||||
ln -fs $ROOT/$PKG_BUILD $ROOT/$PKG_BUILD/.gopath/src/github.com/docker/docker
|
||||
|
||||
# used for docker version
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
commit 472c4da2e78a01b4fcf194c2c85edde4fc32aa0b
|
||||
Author: Sebastiaan van Stijn <github@gone.nl>
|
||||
Date: Tue Jan 3 14:54:30 2017 +0100
|
||||
|
||||
do not create init-dir if not needed
|
||||
|
||||
commit 56f77d5ade945b3b8816a6c8acb328b7c6dce9a7
|
||||
added support for cpu-rt-period and cpu-rt-runtime,
|
||||
but always initialized the cgroup path, even if not
|
||||
used.
|
||||
|
||||
As a result, containers failed to start on a
|
||||
read-only filesystem.
|
||||
|
||||
This patch only creates the cgroup path if
|
||||
one of these options is set.
|
||||
|
||||
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
|
||||
|
||||
diff --git a/daemon/daemon_unix.go b/daemon/daemon_unix.go
|
||||
index 56e980d..5b3ffeb 100644
|
||||
--- a/daemon/daemon_unix.go
|
||||
+++ b/daemon/daemon_unix.go
|
||||
@@ -1190,6 +1190,12 @@ func (daemon *Daemon) initCgroupsPath(path string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
+ if daemon.configStore.CPURealtimePeriod == 0 && daemon.configStore.CPURealtimeRuntime == 0 {
|
||||
+ return nil
|
||||
+ }
|
||||
+
|
||||
+ // Recursively create cgroup to ensure that the system and all parent cgroups have values set
|
||||
+ // for the period and runtime as this limits what the children can be set to.
|
||||
daemon.initCgroupsPath(filepath.Dir(path))
|
||||
|
||||
_, root, err := cgroups.FindCgroupMountpointAndRoot("cpu")
|
||||
@@ -1198,16 +1204,19 @@ func (daemon *Daemon) initCgroupsPath(path string) error {
|
||||
}
|
||||
|
||||
path = filepath.Join(root, path)
|
||||
- sysinfo := sysinfo.New(false)
|
||||
- if err := os.MkdirAll(path, 0755); err != nil && !os.IsExist(err) {
|
||||
- return err
|
||||
- }
|
||||
+ sysinfo := sysinfo.New(true)
|
||||
if sysinfo.CPURealtimePeriod && daemon.configStore.CPURealtimePeriod != 0 {
|
||||
+ if err := os.MkdirAll(path, 0755); err != nil && !os.IsExist(err) {
|
||||
+ return err
|
||||
+ }
|
||||
if err := ioutil.WriteFile(filepath.Join(path, "cpu.rt_period_us"), []byte(strconv.FormatInt(daemon.configStore.CPURealtimePeriod, 10)), 0700); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if sysinfo.CPURealtimeRuntime && daemon.configStore.CPURealtimeRuntime != 0 {
|
||||
+ if err := os.MkdirAll(path, 0755); err != nil && !os.IsExist(err) {
|
||||
+ return err
|
||||
+ }
|
||||
if err := ioutil.WriteFile(filepath.Join(path, "cpu.rt_runtime_us"), []byte(strconv.FormatInt(daemon.configStore.CPURealtimeRuntime, 10)), 0700); err != nil {
|
||||
return err
|
||||
}
|
||||
3
packages/addons/service/net-snmp/changelog.txt
Normal file
3
packages/addons/service/net-snmp/changelog.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
100
|
||||
- Initial addon
|
||||
- net-snmp 5.7.3
|
||||
BIN
packages/addons/service/net-snmp/icon/icon.png
Normal file
BIN
packages/addons/service/net-snmp/icon/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
68
packages/addons/service/net-snmp/package.mk
Normal file
68
packages/addons/service/net-snmp/package.mk
Normal file
@@ -0,0 +1,68 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - https://libreelec.tv
|
||||
# Copyright (C) 2016 Team LibreELEC
|
||||
#
|
||||
# LibreELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# LibreELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="net-snmp"
|
||||
PKG_VERSION="5.7.3"
|
||||
PKG_REV="100"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
PKG_SITE="http://www.net-snmp.org"
|
||||
PKG_URL="http://sourceforge.net/projects/net-snmp/files/$PKG_NAME/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_SECTION="service"
|
||||
PKG_SHORTDESC="Simple Network Management Protocol utilities."
|
||||
PKG_LONGDESC="Simple Network Management Protocol (SNMP) is a widely used protocol for monitoring the health and welfare of network equipment."
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_IS_ADDON="yes"
|
||||
PKG_ADDON_NAME="Net-SNMP"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--with-defaults \
|
||||
--disable-applications \
|
||||
--disable-manuals \
|
||||
--disable-debugging \
|
||||
--disable-deprecated \
|
||||
--disable-snmptrapd-subagent \
|
||||
--disable-perl-cc-checks \
|
||||
--with-perl-modules=no \
|
||||
--enable-mini-agent \
|
||||
--enable-static=no \
|
||||
--enable-shared=yes \
|
||||
--with-logfile=/storage/.kodi/userdata/addon_data/${PKG_ADDON_ID}/ \
|
||||
--with-persistent-directory=/storage/.kodi/userdata/addon_data/${PKG_ADDON_ID}/ \
|
||||
--disable-embedded-perl"
|
||||
|
||||
make_target() {
|
||||
make
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
make install INSTALL_PREFIX=$ROOT/$PKG_BUILD/.$TARGET_NAME
|
||||
}
|
||||
|
||||
addon() {
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID
|
||||
mv $PKG_BUILD/.$TARGET_NAME/usr/sbin/snmpd $PKG_BUILD/.$TARGET_NAME/usr/bin/snmpd
|
||||
rm -rf $PKG_BUILD/.$TARGET_NAME/usr/sbin/
|
||||
rm -rf $PKG_BUILD/.$TARGET_NAME/usr/include/
|
||||
cp -r $PKG_BUILD/.$TARGET_NAME/usr/* $ADDON_BUILD/$PKG_ADDON_ID/
|
||||
$STRIP $ADDON_BUILD/$PKG_ADDON_ID/lib/*.so
|
||||
$STRIP $ADDON_BUILD/$PKG_ADDON_ID/bin/snmpd
|
||||
}
|
||||
|
||||
27
packages/addons/service/net-snmp/source/bin/snmpd.start
Normal file
27
packages/addons/service/net-snmp/source/bin/snmpd.start
Normal file
@@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - https://libreelec.tv
|
||||
# Copyright (C) 2016 Team LibreELEC
|
||||
#
|
||||
# LibreELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# LibreELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
. /etc/profile
|
||||
oe_setup_addon service.net-snmp
|
||||
|
||||
ADDON_ID=service.net-snmp
|
||||
ADDON_DIR="$HOME/.kodi/addons/$ADDON_ID"
|
||||
ADDON_HOME="$HOME/.kodi/userdata/addon_data/$ADDON_ID"
|
||||
|
||||
$ADDON_DIR/bin/snmpd -LS0-6d -c $ADDON_DIR/snmpd.conf -M /storage/.kodi/addons/service.net-snmp/share/snmp/mibs -p /var/run/snmpd.pid
|
||||
28
packages/addons/service/net-snmp/source/bin/snmpd.stop
Normal file
28
packages/addons/service/net-snmp/source/bin/snmpd.stop
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - https://libreelec.tv
|
||||
# Copyright (C) 2016 Team LibreELEC
|
||||
#
|
||||
# LibreELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# LibreELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
. /etc/profile
|
||||
oe_setup_addon service.net-snmp
|
||||
|
||||
ADDON_ID=service.net-snmp
|
||||
ADDON_DIR="$HOME/.kodi/addons/$ADDON_ID"
|
||||
ADDON_HOME="$HOME/.kodi/userdata/addon_data/$ADDON_ID"
|
||||
|
||||
PID=`cat /var/run/snmpd.pid`
|
||||
kill -TERM $PID
|
||||
17
packages/addons/service/net-snmp/source/default.py
Normal file
17
packages/addons/service/net-snmp/source/default.py
Normal file
@@ -0,0 +1,17 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - https://libreelec.tv
|
||||
# Copyright (C) 2016 Team LibreELEC
|
||||
#
|
||||
# LibreELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# LibreELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
10
packages/addons/service/net-snmp/source/snmpd.conf
Normal file
10
packages/addons/service/net-snmp/source/snmpd.conf
Normal file
@@ -0,0 +1,10 @@
|
||||
com2sec local default libreelec
|
||||
group localgroup v2c local
|
||||
access localgroup "" any noauth exact all all none
|
||||
|
||||
view all included .1 80
|
||||
|
||||
syslocation HOME
|
||||
syscontact root@libreelec
|
||||
|
||||
dontLogTCPWrappersConnects yes
|
||||
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Net-SNMP software bundle
|
||||
After=network-online.target
|
||||
Requires=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.net-snmp/bin/snmpd.start"
|
||||
ExecStop=/bin/sh -c "exec sh /storage/.kodi/addons/service.net-snmp/bin/snmpd.stop"
|
||||
|
||||
[Install]
|
||||
WantedBy=kodi.target
|
||||
@@ -22,6 +22,13 @@ PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://libcec.pulse-eight.com/"
|
||||
PKG_URL="https://github.com/Pulse-Eight/libcec/archive/$PKG_VERSION.tar.gz"
|
||||
if [ "$PROJECT" = "imx6" ]; then
|
||||
if [ "$LINUX_VERSION" = "sr-3.14" ]; then
|
||||
PKG_PATCH_DIRS="3.14-sr"
|
||||
else
|
||||
PKG_PATCH_DIRS="4.4-xbian"
|
||||
fi
|
||||
fi
|
||||
PKG_DEPENDS_TARGET="toolchain systemd lockdev p8-platform"
|
||||
PKG_SECTION="system"
|
||||
PKG_SHORTDESC="libCEC is an open-source dual licensed library designed for communicating with the Pulse-Eight USB - CEC Adaptor"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="bcm2835-driver"
|
||||
PKG_VERSION="debe2d2"
|
||||
PKG_VERSION="475a89a"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.broadcom.com"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="wetekdvb"
|
||||
PKG_VERSION="20161127"
|
||||
PKG_VERSION="20170116"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.wetek.com/"
|
||||
|
||||
@@ -29,35 +29,37 @@ PKG_SHORTDESC="linux26: The Linux kernel 2.6 precompiled kernel binary image and
|
||||
PKG_LONGDESC="This package contains a precompiled kernel image and the modules."
|
||||
case "$LINUX" in
|
||||
amlogic-3.10)
|
||||
PKG_VERSION="1261cae"
|
||||
PKG_VERSION="de626d8"
|
||||
PKG_URL="https://github.com/LibreELEC/linux-amlogic/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_SOURCE_DIR="$PKG_NAME-amlogic-$PKG_VERSION*"
|
||||
PKG_PATCH_DIRS="amlogic-3.10"
|
||||
;;
|
||||
amlogic-3.14)
|
||||
PKG_VERSION="33aa3be"
|
||||
PKG_VERSION="2f04daa"
|
||||
PKG_URL="https://github.com/LibreELEC/linux-amlogic/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_SOURCE_DIR="$PKG_NAME-amlogic-$PKG_VERSION*"
|
||||
PKG_PATCH_DIRS="amlogic-3.14"
|
||||
;;
|
||||
imx6)
|
||||
PKG_VERSION="3.14-mx6-sr"
|
||||
PKG_COMMIT="27e61f6"
|
||||
PKG_SOURCE_DIR="$PKG_NAME-$PKG_VERSION-$PKG_COMMIT"
|
||||
PKG_SOURCE_NAME="$PKG_SOURCE_DIR.tar.xz"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_SOURCE_NAME"
|
||||
imx6-3.14-sr)
|
||||
PKG_VERSION="3.14-sr"
|
||||
PKG_COMMIT="2fb11e2"
|
||||
PKG_SITE="http://solid-run.com/wiki/doku.php?id=products:imx6:software:development:kernel"
|
||||
PKG_URL="https://github.com/SolidRun/linux-fslc/archive/$PKG_COMMIT.tar.gz"
|
||||
PKG_SOURCE_NAME="$PKG_NAME-$LINUX-$PKG_COMMIT.tar.gz"
|
||||
PKG_SOURCE_DIR="$PKG_NAME-fslc-${PKG_COMMIT}*"
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET imx6-status-led imx6-soc-fan"
|
||||
;;
|
||||
imx6-4.4-xbian)
|
||||
PKG_VERSION="4.4-xbian"
|
||||
PKG_COMMIT="20160821-f14907b"
|
||||
PKG_SOURCE_DIR="$PKG_NAME-$PKG_VERSION-$PKG_COMMIT"
|
||||
PKG_SOURCE_NAME="$PKG_SOURCE_DIR.tar.xz"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_SOURCE_NAME"
|
||||
PKG_COMMIT="3bde863"
|
||||
PKG_SITE="https://github.com/xbianonpi/xbian-sources-kernel/tree/imx6-4.4.y"
|
||||
PKG_URL="https://github.com/xbianonpi/xbian-sources-kernel/archive/$PKG_COMMIT.tar.gz"
|
||||
PKG_SOURCE_NAME="$PKG_NAME-$LINUX-$PKG_COMMIT.tar.gz"
|
||||
PKG_SOURCE_DIR="xbian-sources-kernel-${PKG_COMMIT}*"
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET imx6-status-led imx6-soc-fan irqbalanced"
|
||||
;;
|
||||
*)
|
||||
PKG_VERSION="4.9.3"
|
||||
PKG_VERSION="4.9.8"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_PATCH_DIRS="default"
|
||||
;;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="LibreELEC-settings"
|
||||
PKG_VERSION="042c6c2"
|
||||
PKG_VERSION="5429575"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="prop."
|
||||
PKG_SITE="https://libreelec.tv"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<advancedsettings>
|
||||
<showexitbutton>false</showexitbutton>
|
||||
<remotedelay>1</remotedelay>
|
||||
<cputempcommand>cputemp</cputempcommand>
|
||||
<gputempcommand>gputemp</gputempcommand>
|
||||
<video>
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
From 26d1905c371dd7e0e23bb589ccf29f2bfec5b8af Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Sat, 18 Apr 2015 15:12:49 +0300
|
||||
Subject: [PATCH 01/13] enable PYTHONOPTIMIZE with external Python
|
||||
|
||||
---
|
||||
xbmc/interfaces/python/XBPython.cpp | 7 +++----
|
||||
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/xbmc/interfaces/python/XBPython.cpp b/xbmc/interfaces/python/XBPython.cpp
|
||||
index af8d608..6213dbe 100644
|
||||
--- a/xbmc/interfaces/python/XBPython.cpp
|
||||
+++ b/xbmc/interfaces/python/XBPython.cpp
|
||||
@@ -568,10 +568,9 @@ bool XBPython::OnScriptInitialized(ILanguageInvoker *invoker)
|
||||
// at http://docs.python.org/using/cmdline.html#environment-variables
|
||||
|
||||
#if !defined(TARGET_WINDOWS) && !defined(TARGET_ANDROID)
|
||||
- /* PYTHONOPTIMIZE is set off intentionally when using external Python.
|
||||
- Reason for this is because we cannot be sure what version of Python
|
||||
- was used to compile the various Python object files (i.e. .pyo,
|
||||
- .pyc, etc.). */
|
||||
+ // Required for python to find optimized code (pyo) files
|
||||
+ setenv("PYTHONOPTIMIZE", "1", 1);
|
||||
+
|
||||
// check if we are running as real xbmc.app or just binary
|
||||
if (!CUtil::GetFrameworksPath(true).empty())
|
||||
{
|
||||
--
|
||||
2.5.0
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
From 993c50a689feee190557a98a34f76683cf46c589 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Raue <stephan@openelec.tv>
|
||||
Date: Mon, 1 Sep 2014 03:16:37 +0200
|
||||
Subject: [PATCH 11/13] add support to read frequency output if using intel's
|
||||
pstate driver
|
||||
|
||||
---
|
||||
xbmc/utils/CPUInfo.cpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/xbmc/utils/CPUInfo.cpp b/xbmc/utils/CPUInfo.cpp
|
||||
index 9e709e7..9b5279f 100644
|
||||
--- a/xbmc/utils/CPUInfo.cpp
|
||||
+++ b/xbmc/utils/CPUInfo.cpp
|
||||
@@ -271,6 +271,8 @@ CCPUInfo::CCPUInfo(void)
|
||||
m_fProcTemperature = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); // On Raspberry PIs
|
||||
|
||||
m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", "r");
|
||||
+ if (m_fCPUFreq == NULL)
|
||||
+ m_fCPUFreq = fopen ("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq", "r");
|
||||
if (!m_fCPUFreq)
|
||||
{
|
||||
m_cpuInfoForFreq = true;
|
||||
--
|
||||
2.5.0
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From bf68ee5438cb0e1343e7a6c35df35e7a4fb36223 Mon Sep 17 00:00:00 2001
|
||||
From: Shani-08 <Shani-08@users.noreply.github.com>
|
||||
Date: Sat, 28 Jan 2017 23:21:30 +0000
|
||||
Subject: [PATCH] create archive_cache if not exists
|
||||
|
||||
---
|
||||
xbmc/Application.cpp | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
|
||||
index c6ef0c0..13d2cfa 100644
|
||||
--- a/xbmc/Application.cpp
|
||||
+++ b/xbmc/Application.cpp
|
||||
@@ -1076,10 +1076,10 @@ void CApplication::CreateUserDirs() const
|
||||
|
||||
//Let's clear our archive cache before starting up anything more
|
||||
auto archiveCachePath = CSpecialProtocol::TranslatePath("special://temp/archive_cache/");
|
||||
- if (CDirectory::RemoveRecursive(archiveCachePath))
|
||||
- CDirectory::Create(archiveCachePath);
|
||||
- else
|
||||
- CLog::Log(LOGWARNING, "Failed to remove the archive cache at %s", archiveCachePath.c_str());
|
||||
+ if (CDirectory::Exists(archiveCachePath))
|
||||
+ if (!CDirectory::RemoveRecursive(archiveCachePath))
|
||||
+ CLog::Log(LOGWARNING, "Failed to remove the archive cache at %s", archiveCachePath.c_str());
|
||||
+ CDirectory::Create(archiveCachePath);
|
||||
|
||||
}
|
||||
|
||||
22
packages/mediacenter/kodi/patches/kodi-999.99-PR11663.patch
Normal file
22
packages/mediacenter/kodi/patches/kodi-999.99-PR11663.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
From adecb3af2e3eb5a2715e6f1264fe3047dd209318 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Karlman <jonas@kwiboo.se>
|
||||
Date: Sun, 12 Feb 2017 16:31:29 +0100
|
||||
Subject: [PATCH] [settings] change allowed remotedelay range to inlcude zero
|
||||
|
||||
---
|
||||
xbmc/settings/AdvancedSettings.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
|
||||
index cc37998..1c00eda 100644
|
||||
--- a/xbmc/settings/AdvancedSettings.cpp
|
||||
+++ b/xbmc/settings/AdvancedSettings.cpp
|
||||
@@ -1010,7 +1010,7 @@ void CAdvancedSettings::ParseSettingsFile(const std::string &file)
|
||||
}
|
||||
}
|
||||
|
||||
- XMLUtils::GetInt(pRootElement, "remotedelay", m_remoteDelay, 1, 20);
|
||||
+ XMLUtils::GetInt(pRootElement, "remotedelay", m_remoteDelay, 0, 20);
|
||||
XMLUtils::GetFloat(pRootElement, "controllerdeadzone", m_controllerDeadzone, 0.0f, 1.0f);
|
||||
XMLUtils::GetUInt(pRootElement, "fanartres", m_fanartRes, 0, 1080);
|
||||
XMLUtils::GetUInt(pRootElement, "imageres", m_imageRes, 0, 1080);
|
||||
@@ -1,75 +0,0 @@
|
||||
From aabc63419df8aa69f156afdafb28820c3c9ccdc7 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 | 8 ++++++++
|
||||
xbmc/settings/AdvancedSettings.cpp | 3 +++
|
||||
xbmc/settings/AdvancedSettings.h | 2 ++
|
||||
3 files changed, 13 insertions(+)
|
||||
|
||||
diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
||||
index bf7e439..1687bad 100644
|
||||
--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
||||
+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
||||
@@ -28,6 +28,7 @@ using namespace ActiveAE;
|
||||
#include "cores/AudioEngine/Encoders/AEEncoderFFmpeg.h"
|
||||
|
||||
#include "settings/Settings.h"
|
||||
+#include "settings/AdvancedSettings.h"
|
||||
#include "windowing/WindowingFactory.h"
|
||||
|
||||
#define MAX_CACHE_LEVEL 0.5 // total cache time of stream in seconds
|
||||
@@ -1504,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 c4fa298..35728e4 100644
|
||||
--- a/xbmc/settings/AdvancedSettings.cpp
|
||||
+++ b/xbmc/settings/AdvancedSettings.cpp
|
||||
@@ -108,6 +108,8 @@ void CAdvancedSettings::Initialize()
|
||||
return;
|
||||
|
||||
m_audioHeadRoom = 0;
|
||||
+ // OpenELEC workaround for broken AVRs
|
||||
+ m_minimumSampleRate = 8000;
|
||||
m_ac3Gain = 12.0f;
|
||||
m_audioApplyDrc = -1.0f;
|
||||
m_dvdplayerIgnoreDTSinWAV = false;
|
||||
@@ -464,6 +466,7 @@ void CAdvancedSettings::ParseSettingsFile(const std::string &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 b0b4df1..7137614 100644
|
||||
--- a/xbmc/settings/AdvancedSettings.h
|
||||
+++ b/xbmc/settings/AdvancedSettings.h
|
||||
@@ -140,6 +140,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;
|
||||
std::string m_audioDefaultPlayer;
|
||||
float m_audioPlayCountMinimumPercent;
|
||||
--
|
||||
2.1.4
|
||||
|
||||
@@ -1,75 +1,39 @@
|
||||
From b2db330176ca1115ae9a4bc31af082b80b87ecdb Mon Sep 17 00:00:00 2001
|
||||
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||
Date: Thu, 11 Aug 2016 07:32:48 +0100
|
||||
Subject: [PATCH] LibreELEC: Detect intel gpus and use limited range by default
|
||||
From f040af300925c03a1547ff02d71921bde9893330 Mon Sep 17 00:00:00 2001
|
||||
From: fritsch <Peter.Fruehberger@gmail.com>
|
||||
Date: Sat, 14 Jan 2017 10:23:11 +0100
|
||||
Subject: [PATCH] VAAPI/VDPAU: Integration specific to LibreELEC
|
||||
|
||||
---
|
||||
xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.cpp | 11 +++++++++++
|
||||
xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.h | 5 +++++
|
||||
xbmc/settings/Settings.cpp | 9 +++++++++
|
||||
3 files changed, 25 insertions(+)
|
||||
xbmc/settings/Settings.cpp | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.cpp
|
||||
index e8071bd..83db224 100644
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.cpp
|
||||
@@ -22,6 +22,8 @@
|
||||
#include "settings/Settings.h"
|
||||
#include "settings/lib/Setting.h"
|
||||
#include "windowing/WindowingFactory.h"
|
||||
+#include "utils/SysfsUtils.h"
|
||||
+#include "utils/StringUtils.h"
|
||||
|
||||
bool CDVDVideoCodec::IsSettingVisible(const std::string &condition, const std::string &value, const CSetting *setting, void *data)
|
||||
{
|
||||
@@ -72,3 +74,12 @@ bool CDVDVideoCodec::IsCodecDisabled(const std::map<AVCodecID, std::string> &map
|
||||
}
|
||||
return false; // don't disable what we don't have
|
||||
}
|
||||
+
|
||||
+bool CDVDVideoCodec::IsIntel()
|
||||
+{
|
||||
+ // check if we are running on intel hardware
|
||||
+ std::string gpuvendor;
|
||||
+ SysfsUtils::GetString("/proc/fb", gpuvendor);
|
||||
+
|
||||
+ return StringUtils::EndsWith(gpuvendor, "inteldrmfb");
|
||||
+}
|
||||
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.h b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.h
|
||||
index a2da9de..cc8a574 100644
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.h
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.h
|
||||
@@ -257,6 +257,11 @@ public:
|
||||
static bool IsSettingVisible(const std::string &condition, const std::string &value, const CSetting *setting, void *data);
|
||||
|
||||
/**
|
||||
+ * Check if we are using an Intel GPU
|
||||
+ */
|
||||
+ static bool IsIntel();
|
||||
+
|
||||
+ /**
|
||||
* Interact with user settings so that user disabled codecs are disabled
|
||||
*/
|
||||
static bool IsCodecDisabled(const std::map<AVCodecID, std::string> &map, AVCodecID id);
|
||||
diff --git a/xbmc/settings/Settings.cpp b/xbmc/settings/Settings.cpp
|
||||
index 0e429f3..7052391 100644
|
||||
index 9940b6a..d7575f0 100644
|
||||
--- a/xbmc/settings/Settings.cpp
|
||||
+++ b/xbmc/settings/Settings.cpp
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "cores/AudioEngine/AEFactory.h"
|
||||
#include "cores/playercorefactory/PlayerCoreFactory.h"
|
||||
#include "cores/VideoPlayer/VideoRenderers/BaseRenderer.h"
|
||||
+#include "cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.h"
|
||||
#include "filesystem/File.h"
|
||||
#include "guilib/GraphicContext.h"
|
||||
#include "guilib/GUIAudioManager.h"
|
||||
@@ -911,6 +912,14 @@ void CSettings::InitializeDefaults()
|
||||
@@ -77,6 +77,7 @@
|
||||
#include "utils/log.h"
|
||||
#include "utils/RssManager.h"
|
||||
#include "utils/StringUtils.h"
|
||||
+#include "utils/SysfsUtils.h"
|
||||
#include "utils/SystemInfo.h"
|
||||
#include "utils/Weather.h"
|
||||
#include "utils/XBMCTinyXML.h"
|
||||
@@ -914,6 +915,22 @@ void CSettings::InitializeDefaults()
|
||||
|
||||
if (g_application.IsStandAlone())
|
||||
((CSettingInt*)m_settingsManager->GetSetting(CSettings::SETTING_POWERMANAGEMENT_SHUTDOWNSTATE))->SetDefault(POWERSTATE_SHUTDOWN);
|
||||
+
|
||||
+
|
||||
+// LibreELEC integration patch. We ship a special limited range intel kernel patch
|
||||
+// that enables us to control the full / limited / clamping with just altering
|
||||
+// the kodi limitedrange setting.
|
||||
+// For intel we use Limited Range, for nvidia we use full range
|
||||
+// that setting is also used to enable vdpau on nvidia only, vaapi on intel only
|
||||
+#if ((defined(HAVE_LIBVA) || defined(HAVE_LIBVDPAU)))
|
||||
+ bool isIntel = CDVDVideoCodec::IsIntel();
|
||||
+ std::string gpuvendor;
|
||||
+ SysfsUtils::GetString("/proc/fb", gpuvendor);
|
||||
+ bool isIntel = StringUtils::EndsWith(gpuvendor, "inteldrmfb");
|
||||
+ // Intel driver is operating in passthrough mode so use limited range by default
|
||||
+ ((CSettingBool*)GetSetting(CSettings::SETTING_VIDEOSCREEN_LIMITEDRANGE))->SetDefault(isIntel);
|
||||
+ ((CSettingBool*)GetSetting(CSettings::SETTING_VIDEOPLAYER_USEVAAPI))->SetDefault(isIntel);
|
||||
@@ -78,6 +42,3 @@ index 0e429f3..7052391 100644
|
||||
}
|
||||
|
||||
void CSettings::InitializeOptionFillers()
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
||||
@@ -45,3 +45,7 @@ fi
|
||||
KODI_ARGS="--lircdev /run/lirc/lircd"
|
||||
|
||||
echo "KODI_ARGS=\"$KODI_ARGS\"" > /run/libreelec/kodi.conf
|
||||
|
||||
if [ "$(uname -m)" = "x86_64" -o "$(uname -m)" = "aarch64" ]; then
|
||||
echo "MALLOC_MMAP_THRESHOLD_=524288" >> /run/libreelec/kodi.conf
|
||||
fi
|
||||
|
||||
@@ -72,6 +72,12 @@ post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin/bluemoon
|
||||
rm -rf $INSTALL/usr/bin/ciptool
|
||||
rm -rf $INSTALL/usr/share/dbus-1
|
||||
|
||||
mkdir -p $INSTALL/etc/bluetooth
|
||||
cp src/main.conf $INSTALL/etc/bluetooth
|
||||
sed -i $INSTALL/etc/bluetooth/main.conf \
|
||||
-e "s|^#\[Policy\]|\[Policy\]|g" \
|
||||
-e "s|^#AutoEnable.*|AutoEnable=true|g"
|
||||
}
|
||||
|
||||
post_install() {
|
||||
|
||||
@@ -608,7 +608,7 @@ CONFIG_FLOCK=y
|
||||
CONFIG_MKFS_VFAT=y
|
||||
CONFIG_GETOPT=y
|
||||
CONFIG_FEATURE_GETOPT_LONG=y
|
||||
# CONFIG_HEXDUMP is not set
|
||||
CONFIG_HEXDUMP=y
|
||||
# CONFIG_FEATURE_HEXDUMP_REVERSE is not set
|
||||
# CONFIG_HD is not set
|
||||
CONFIG_HWCLOCK=y
|
||||
|
||||
@@ -20,23 +20,19 @@
|
||||
#
|
||||
# exit 1 = unsupported GPU
|
||||
# exit 2 = dual boot system
|
||||
# exit 3 = no backup file, therefore no restore
|
||||
# exit 3 = no backup for syslinux.cfg or extlinux.conf
|
||||
# exit 4 = extlinux.conf and syslinux.cfg are available
|
||||
# exit 5 = changes are already made either to extlinux.conf or syslinux.cfg
|
||||
# exit 6 = xorg.conf already exists in /storage/.config
|
||||
# exit 7 = no xorg.conf in /storage/.config
|
||||
# exit 8 = more than a single device detected
|
||||
# exit 7 = more than a single device detected
|
||||
|
||||
# Help message and usage explanation
|
||||
help() {
|
||||
clear
|
||||
echo "This script generates a custom EDID depending on your GPU"
|
||||
echo ""
|
||||
echo "To check which GPU you are using, use: getedid gpu"
|
||||
echo ""
|
||||
echo "To create a custon EDID, just use this script like: getedid create"
|
||||
echo ""
|
||||
echo "If you have already used this script and wish to restore original behaviour, use: getedid default"
|
||||
echo "To create a custom EDID, just use this script like: getedid create"
|
||||
echo ""
|
||||
echo "If you don't want to use the created EDID file anymore use: getedid delete"
|
||||
echo ""
|
||||
@@ -152,32 +148,6 @@ check_content() {
|
||||
}
|
||||
|
||||
|
||||
# restore the backup done by the script and depending on the GPU
|
||||
restore() {
|
||||
if [ "$gpu" = "intel" ]; then
|
||||
check_file
|
||||
if [ -f "$file".old ]; then
|
||||
mount_rw
|
||||
cp "$file".old "$file" # cp because of keeping the backup...just in case
|
||||
sys_reboot
|
||||
else
|
||||
echo "You have not created a custom EDID yet, or you did not use this script for this task."
|
||||
echo "Therefore we can't ensure the script is working properly."
|
||||
echo "Exiting"
|
||||
exit 3
|
||||
fi
|
||||
elif [ "$gpu" = "nvidia" ]; then
|
||||
if [ -f /storage/.config/xorg.conf ]; then
|
||||
mv /storage/.config/xorg.conf /storage/.config/xorg.le.backup
|
||||
systemctl restart xorg.service
|
||||
else
|
||||
echo "You don't have a xorg.conf in your .config folder. Everything is already at default. Exiting"
|
||||
exit 7
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
intel() {
|
||||
#check which output is connnected:
|
||||
counter=0
|
||||
@@ -189,7 +159,7 @@ intel() {
|
||||
hdmi="$(echo "$i" | cut -d / -f 5 | sed 's/card[0-9]-//g')"
|
||||
else
|
||||
echo "More than a single device connected. Probably enable \"Disable all other monitors\" at Kodi settings. Aborting!"
|
||||
exit 8
|
||||
exit 7
|
||||
fi
|
||||
fi
|
||||
done
|
||||
@@ -238,7 +208,7 @@ nvidia() {
|
||||
monitors="$(grep -i -w "connected" /var/log/Xorg.0.log | grep -i -o "dfp-[0-9]" | sort -u | wc -l)"
|
||||
if [ "$monitors" -gt "1" ]; then
|
||||
echo "You have more than a single monitor connected. The script doesn't support a multi-monitor setup. Aborting!"
|
||||
exit 8
|
||||
exit 7
|
||||
fi
|
||||
|
||||
|
||||
@@ -272,10 +242,6 @@ case "$1" in
|
||||
check_gpu
|
||||
run
|
||||
;;
|
||||
'default')
|
||||
check_gpu
|
||||
restore
|
||||
;;
|
||||
'gpu')
|
||||
check_gpu
|
||||
echo "$gpu"
|
||||
@@ -288,6 +254,6 @@ case "$1" in
|
||||
help
|
||||
;;
|
||||
*)
|
||||
echo "Usage $0 { create | default | gpu | delete | help }"
|
||||
echo "Usage $0 { create | gpu | delete | help }"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Description=Eventlirc server daemon
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/sbin/eventlircd -f --evmap=/etc/eventlircd.d --socket=/run/lirc/lircd --release=_UP
|
||||
ExecStart=/usr/sbin/eventlircd -f --evmap=/etc/eventlircd.d --socket=/run/lirc/lircd
|
||||
KillMode=process
|
||||
TimeoutStopSec=1s
|
||||
|
||||
|
||||
@@ -77,11 +77,6 @@ SUBSYSTEMS=="input", ATTRS{name}=="gpio_keypad", \
|
||||
ENV{eventlircd_enable}="true", \
|
||||
ENV{eventlircd_evmap}="default.evmap"
|
||||
|
||||
# Amlogic Remotes
|
||||
SUBSYSTEMS=="input", ATTRS{name}=="aml_keypad", \
|
||||
ENV{eventlircd_enable}="true", \
|
||||
ENV{eventlircd_evmap}="default.evmap"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Ask eventlircd to handle USB HID devices that show up as event devices and are
|
||||
# known to be remote controls. For simplicity, the event map file names have the
|
||||
@@ -199,16 +194,6 @@ ENV{eventlircd_evmap}="osmc_rf.evmap"
|
||||
|
||||
LABEL="end-usb"
|
||||
|
||||
# Automatically set Delayrate to 200ms to avoid double keypresses with
|
||||
# gpio-rc-recv
|
||||
DRIVERS=="gpio-rc-recv", \
|
||||
RUN+="/usr/bin/ir-keytable --delay=200 --device=$devnode", \
|
||||
GOTO="end-keytable"
|
||||
|
||||
# Set default delays (1000ms for first repeat, to avoid multiple keypresses).
|
||||
RUN+="/usr/bin/ir-keytable --delay=1000 --device=$devnode"
|
||||
|
||||
LABEL="end-keytable"
|
||||
#-------------------------------------------------------------------------------
|
||||
# Ask eventlircd to handle Bluetooth HID devices that show up as event devices
|
||||
# and are known to be remote controls. For simplicity, the event map file names
|
||||
|
||||
@@ -37,6 +37,12 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_forkpty=no \
|
||||
--with-gnu-ld \
|
||||
--without-x"
|
||||
|
||||
pre_configure_target() {
|
||||
# patch lirc-make-devinput to use target kernel include
|
||||
sed -e "s|/usr/include/linux/|${SYSROOT_PREFIX}/usr/include/linux/|g" \
|
||||
-i ${ROOT}/${PKG_BUILD}/tools/lirc-make-devinput
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/lib/systemd
|
||||
rm -rf $INSTALL/lib
|
||||
|
||||
@@ -17,52 +17,45 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
ACTION=$(echo "$1")
|
||||
DEVICE=$(echo "$2" | cut -f1 -d:)
|
||||
DRIVER=$(echo "$2" | cut -f2 -d:)
|
||||
CONFIG=$(echo "$2" | cut -f3 -d:)
|
||||
DEVICE=$(echo "$1" | cut -f1 -d:)
|
||||
DRIVER=$(echo "$1" | cut -f2 -d:)
|
||||
CONFIG=$(echo "$1" | cut -f3 -d:)
|
||||
|
||||
case "$ACTION" in
|
||||
add)
|
||||
if [ "x$DRIVER" = "x" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
if [ "x$DRIVER" = "x" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
mkdir -p '/run/lirc'
|
||||
mkdir -p '/run/lirc'
|
||||
|
||||
if [ ! -e "/run/lirc/lircd-$DEVICE.pid" ]; then
|
||||
LIRCD="/usr/sbin/lircd"
|
||||
LIRCD_UINPUT="/usr/sbin/lircd-uinput"
|
||||
LIRCD_CONFIG="--driver=$DRIVER --device=/dev/$DEVICE"
|
||||
LIRCD_CONFIG="$LIRCD_CONFIG --output=/run/lirc/lircd-$DEVICE"
|
||||
LIRCD_CONFIG="$LIRCD_CONFIG --pidfile=/run/lirc/lircd-$DEVICE.pid"
|
||||
LIRCD_CONFIG="$LIRCD_CONFIG --release=_LIRCUP"
|
||||
|
||||
LIRCD="/usr/sbin/lircd"
|
||||
LIRCD_CONFIG="--driver=$DRIVER --device=/dev/$DEVICE"
|
||||
LIRCD_CONFIG="$LIRCD_CONFIG --output=/run/lirc/lircd-$DEVICE"
|
||||
LIRCD_CONFIG="$LIRCD_CONFIG --pidfile=/run/lirc/lircd-$DEVICE.pid"
|
||||
LIRCD_CONFIG="$LIRCD_CONFIG --release=_UP"
|
||||
if [ -e "/storage/.config/lircd.conf" ]; then
|
||||
LIRCD_CONFIG="$LIRCD_CONFIG /storage/.config/lircd.conf"
|
||||
elif [ -n "$CONFIG" ]; then
|
||||
if [ -e "/storage/.config/$CONFIG" ]; then
|
||||
LIRCD_CONFIG="$LIRCD_CONFIG /storage/.config/$CONFIG"
|
||||
elif [ -e "/etc/lirc/$CONFIG" ]; then
|
||||
LIRCD_CONFIG="$LIRCD_CONFIG /etc/lirc/$CONFIG"
|
||||
else
|
||||
echo "No device specific $CONFIG file found"
|
||||
echo "You need to provide your own $CONFIG file"
|
||||
echo "Place it in /storage/.config/$CONFIG"
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
echo "No lircd.conf file found"
|
||||
echo "You need to provide your own lircd.conf file"
|
||||
echo "Place it in /storage/.config/lircd.conf"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -e "/storage/.config/lircd.conf" ]; then
|
||||
LIRCD_CONFIG="$LIRCD_CONFIG /storage/.config/lircd.conf"
|
||||
elif [ -n "$CONFIG" ]; then
|
||||
if [ -e "/storage/.config/$CONFIG" ]; then
|
||||
LIRCD_CONFIG="$LIRCD_CONFIG /storage/.config/$CONFIG"
|
||||
elif [ -e "/etc/lirc/$CONFIG" ]; then
|
||||
LIRCD_CONFIG="$LIRCD_CONFIG /etc/lirc/$CONFIG"
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec $LIRCD $LIRCD_CONFIG
|
||||
fi
|
||||
;;
|
||||
remove)
|
||||
if [ -e "/run/lirc/lircd-$DEVICE.pid" ]; then
|
||||
PID=`cat /run/lirc/lircd-$DEVICE.pid`
|
||||
if [ ! "x$PID" = "x" ]; then
|
||||
kill $PID
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
# lircd daemonizes but lircd-uinput doesn't so we need to fork it to the background
|
||||
$LIRCD $LIRCD_CONFIG
|
||||
$LIRCD_UINPUT --release=_LIRCUP /run/lirc/lircd-$DEVICE &
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
[Unit]
|
||||
Description=lircd-uinput with %I
|
||||
|
||||
ConditionPathExists=/storage/.cache/services/lircd.conf
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/sbin/lircd-uinput /run/lirc/lircd-%I
|
||||
Slice=system-lircd.slice
|
||||
Restart=on-failure
|
||||
RestartSec=2
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -6,11 +6,11 @@ Requires=lircd-defaults.service
|
||||
ConditionPathExists=/storage/.cache/services/lircd.conf
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/lib/libreelec/lircd_helper add %I
|
||||
ExecStop=/usr/lib/libreelec/lircd_helper remove %I
|
||||
Type=forking
|
||||
ExecStart=/usr/lib/libreelec/lircd_helper %I
|
||||
TimeoutStopSec=1
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
|
||||
@@ -67,12 +67,6 @@ ENV{lircd_driver}=="?*", ENV{lircd_conf}=="?*", ACTION=="add", \
|
||||
TAG+="systemd", ENV{SYSTEMD_WANTS}+="lircd@$name:$env{lircd_driver}:$env{lircd_conf}.service", \
|
||||
RUN+="lircd_wakeup_enable"
|
||||
|
||||
ENV{lircd_driver}=="?*", ENV{lircd_conf}=="?*", ACTION=="add", \
|
||||
TAG+="systemd", ENV{SYSTEMD_WANTS}+="lircd-uinput@$name.service"
|
||||
|
||||
ENV{lircd_driver}=="?*", ENV{lircd_conf}=="?*", ACTION=="remove", \
|
||||
RUN+="/usr/bin/systemctl stop lircd-uinput@$name.service"
|
||||
|
||||
ENV{lircd_driver}=="?*", ENV{lircd_conf}=="?*", ACTION=="remove", \
|
||||
RUN+="/usr/bin/systemctl stop lircd@$name:$env{lircd_driver}:$env{lircd_conf}.service"
|
||||
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
commit e24e9fabeb4f91d1dc428d06e2a144bccd7538eb
|
||||
Author: Lukas Rusak <lorusak@gmail.com>
|
||||
Date: Tue Nov 22 23:23:19 2016 -0800
|
||||
|
||||
systemctl: disable dangerous options
|
||||
|
||||
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
|
||||
index dd3b931..6f8290d 100644
|
||||
--- a/src/systemctl/systemctl.c
|
||||
+++ b/src/systemctl/systemctl.c
|
||||
@@ -8009,6 +8009,11 @@ static int talk_initctl(void) {
|
||||
#endif
|
||||
}
|
||||
|
||||
+static int nope(sd_bus *bus, char **args) {
|
||||
+ printf("nope. don't do that\n");
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static int systemctl_main(int argc, char *argv[]) {
|
||||
|
||||
static const Verb verbs[] = {
|
||||
@@ -8062,22 +8067,22 @@ static int systemctl_main(int argc, char *argv[]) {
|
||||
{ "enable", 2, VERB_ANY, 0, enable_unit },
|
||||
{ "disable", 2, VERB_ANY, 0, enable_unit },
|
||||
{ "is-enabled", 2, VERB_ANY, 0, unit_is_enabled },
|
||||
- { "reenable", 2, VERB_ANY, 0, enable_unit },
|
||||
- { "preset", 2, VERB_ANY, 0, enable_unit },
|
||||
- { "preset-all", VERB_ANY, 1, 0, preset_all },
|
||||
- { "mask", 2, VERB_ANY, 0, enable_unit },
|
||||
- { "unmask", 2, VERB_ANY, 0, enable_unit },
|
||||
- { "link", 2, VERB_ANY, 0, enable_unit },
|
||||
+ { "reenable", 2, VERB_ANY, 0, nope },
|
||||
+ { "preset", 2, VERB_ANY, 0, nope },
|
||||
+ { "preset-all", VERB_ANY, 1, 0, nope },
|
||||
+ { "mask", 2, VERB_ANY, 0, nope },
|
||||
+ { "unmask", 2, VERB_ANY, 0, nope },
|
||||
+ { "link", 2, VERB_ANY, 0, nope },
|
||||
{ "revert", 2, VERB_ANY, 0, enable_unit },
|
||||
{ "switch-root", 2, VERB_ANY, VERB_NOCHROOT, switch_root },
|
||||
{ "list-dependencies", VERB_ANY, 2, VERB_NOCHROOT, list_dependencies },
|
||||
- { "set-default", 2, 2, 0, set_default },
|
||||
+ { "set-default", 2, 2, 0, nope },
|
||||
{ "get-default", VERB_ANY, 1, 0, get_default },
|
||||
{ "set-property", 3, VERB_ANY, VERB_NOCHROOT, set_property },
|
||||
{ "is-system-running", VERB_ANY, 1, 0, is_system_running },
|
||||
- { "add-wants", 3, VERB_ANY, 0, add_dependency },
|
||||
- { "add-requires", 3, VERB_ANY, 0, add_dependency },
|
||||
- { "edit", 2, VERB_ANY, VERB_NOCHROOT, edit },
|
||||
+ { "add-wants", 3, VERB_ANY, 0, nope },
|
||||
+ { "add-requires", 3, VERB_ANY, 0, nope },
|
||||
+ { "edit", 2, VERB_ANY, VERB_NOCHROOT, nope },
|
||||
{}
|
||||
};
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
commit e853648f9ff0682f0b217de541d96f398509ff0b
|
||||
Author: Sean Young <sean@mess.org>
|
||||
Date: Wed Nov 9 14:13:33 2016 -0200
|
||||
|
||||
ir-keytable: make it possible to select the rc5 streamzap variant
|
||||
|
||||
It was not possible to select the rc-5-sz protocol.
|
||||
|
||||
Signed-off-by: Sean Young <sean@mess.org>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
|
||||
|
||||
diff --git a/utils/keytable/keytable.c b/utils/keytable/keytable.c
|
||||
index 3922ad2..202610a 100644
|
||||
--- a/utils/keytable/keytable.c
|
||||
+++ b/utils/keytable/keytable.c
|
||||
@@ -123,6 +123,7 @@ const struct protocol_map_entry protocol_map[] = {
|
||||
{ "rc5", NULL, SYSFS_RC5 },
|
||||
{ "rc-5x", NULL, SYSFS_INVALID },
|
||||
{ "rc5x", NULL, SYSFS_INVALID },
|
||||
+ { "rc-5-sz", NULL, SYSFS_RC5_SZ },
|
||||
{ "jvc", "/jvc_decoder", SYSFS_JVC },
|
||||
{ "sony", "/sony_decoder",SYSFS_SONY },
|
||||
{ "sony12", NULL, SYSFS_INVALID },
|
||||
@@ -0,0 +1,10 @@
|
||||
diff --git a/utils/keytable/rc_keymaps/streamzap b/utils/keytable/rc_keymaps/streamzap
|
||||
index 3512cd8..1619459 100644
|
||||
--- a/utils/keytable/rc_keymaps/streamzap
|
||||
+++ b/utils/keytable/rc_keymaps/streamzap
|
||||
@@ -1,4 +1,4 @@
|
||||
-# table streamzap, type: RC5_SZ
|
||||
+# table streamzap, type: rc-5-sz
|
||||
0x28c0 KEY_NUMERIC_0
|
||||
0x28c1 KEY_NUMERIC_1
|
||||
0x28c2 KEY_NUMERIC_2
|
||||
18
packages/sysutils/v4l-utils/udev.d/70-input-repeat.rules
Normal file
18
packages/sysutils/v4l-utils/udev.d/70-input-repeat.rules
Normal file
@@ -0,0 +1,18 @@
|
||||
ACTION=="add", SUBSYSTEM=="input", KERNEL=="event[0-9]*", GOTO="start"
|
||||
GOTO="end"
|
||||
LABEL="start"
|
||||
|
||||
# don't change eventlircd device settings
|
||||
ATTRS{name}=="eventlircd", GOTO="end"
|
||||
|
||||
# don't change settings of rc remotes
|
||||
SUBSYSTEMS=="rc", GOTO="end"
|
||||
|
||||
# set default repeat delay to 500ms like rc remotes
|
||||
RUN+="/usr/bin/ir-keytable --delay=500 --device=$devnode"
|
||||
|
||||
# make lircd-uinput use same repeat period like keyboards in kodi
|
||||
ATTRS{name}=="lircd-uinput", \
|
||||
RUN+="/usr/bin/ir-keytable --period=80 --device=$devnode"
|
||||
|
||||
LABEL="end"
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="bcm2835-bootloader"
|
||||
PKG_VERSION="debe2d2"
|
||||
PKG_VERSION="475a89a"
|
||||
PKG_ARCH="arm"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.broadcom.com"
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
PKG_NAME="u-boot-v2"
|
||||
PKG_VERSION="2016.03"
|
||||
PKG_VERSION="2017.01"
|
||||
PKG_SITE=""
|
||||
PKG_URL="ftp://ftp.denx.de/pub/u-boot/u-boot-$PKG_VERSION.tar.bz2"
|
||||
PKG_SOURCE_DIR="u-boot-$PKG_VERSION"
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
stuff ported from u-boot-imx6-e817fa3
|
||||
|
||||
--- a/include/configs/tbs2910.h 2015-10-12 17:14:27.000000000 +0200
|
||||
+++ b/include/configs/tbs2910.h 2015-10-19 16:46:51.396448700 +0200
|
||||
diff --git a/include/configs/tbs2910.h b/include/configs/tbs2910.h
|
||||
index 0dc4a28..31adfb3 100644
|
||||
--- a/include/configs/tbs2910.h
|
||||
+++ b/include/configs/tbs2910.h
|
||||
@@ -11,6 +11,19 @@
|
||||
|
||||
#include "mx6_common.h"
|
||||
@@ -11,18 +13,18 @@ stuff ported from u-boot-imx6-e817fa3
|
||||
+
|
||||
+#define CONFIG_FS_FAT
|
||||
+#define CONFIG_FS_EXT4
|
||||
+#define CONFIG_CMD_FS_GENERIC /* Generic load commands */
|
||||
+#define CONFIG_CMD_BOOTZ /* bootz zImage support */
|
||||
+/*#define CONFIG_CMD_FS_GENERIC*/ /* Generic load commands */
|
||||
+/*#define CONFIG_CMD_BOOTZ*/ /* bootz zImage support */
|
||||
+#define CONFIG_SUPPORT_RAW_INITRD /* bootz raw initrd support */
|
||||
+#define CONFIG_CMD_EXT2
|
||||
+#define CONFIG_CMD_EXT4
|
||||
+#define CONFIG_CMD_FAT
|
||||
+/*#define CONFIG_CMD_EXT2*/
|
||||
+/*#define CONFIG_CMD_EXT4*/
|
||||
+/*#define CONFIG_CMD_FAT*/
|
||||
+#define CONFIG_DOS_PARTITION
|
||||
+
|
||||
/* General configuration */
|
||||
#define CONFIG_SYS_THUMB_BUILD
|
||||
|
||||
@@ -183,35 +196,133 @@
|
||||
@@ -151,36 +164,133 @@
|
||||
#define CONFIG_ENV_OVERWRITE
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
@@ -42,12 +44,13 @@ stuff ported from u-boot-imx6-e817fa3
|
||||
- "bootm 0x10800000 0x10d00000\0" \
|
||||
- "console=ttymxc0\0" \
|
||||
- "fan=gpio set 92\0" \
|
||||
- "set_con_serial=setenv stdin serial; " \
|
||||
- "setenv stdout serial; " \
|
||||
- "set_con_serial=setenv stdout serial; " \
|
||||
- "setenv stderr serial;\0" \
|
||||
- "set_con_usb_hdmi=setenv stdin serial,usbkbd; " \
|
||||
- "setenv stdout serial,vga; " \
|
||||
- "setenv stderr serial,vga;\0"
|
||||
- "set_con_hdmi=setenv stdout serial,vga; " \
|
||||
- "setenv stderr serial,vga;\0" \
|
||||
- "stderr=serial,vga;\0" \
|
||||
- "stdin=serial,usbkbd;\0" \
|
||||
- "stdout=serial,vga;\0"
|
||||
+ "zImage=KERNEL\0" \
|
||||
+ "script=boot.scr\0" \
|
||||
+ "uimage=uImage\0" \
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
diff -aurN a/board/udoo/udoo_spl.c b/board/udoo/udoo_spl.c
|
||||
--- a/board/udoo/udoo_spl.c 2016-03-14 15:20:21.000000000 +0100
|
||||
+++ b/board/udoo/udoo_spl.c 2016-04-15 11:33:04.501383916 +0200
|
||||
@@ -214,7 +214,7 @@
|
||||
diff --git a/board/udoo/udoo_spl.c b/board/udoo/udoo_spl.c
|
||||
index f24d21e..a28c9e0 100644
|
||||
--- a/board/udoo/udoo_spl.c
|
||||
+++ b/board/udoo/udoo_spl.c
|
||||
@@ -216,7 +216,7 @@ static void gpr_init(void)
|
||||
struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR;
|
||||
|
||||
/* enable AXI cache for VDOA/VPU/IPU */
|
||||
@@ -10,27 +11,28 @@ diff -aurN a/board/udoo/udoo_spl.c b/board/udoo/udoo_spl.c
|
||||
/* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */
|
||||
writel(0x007F007F, &iomux->gpr[6]);
|
||||
writel(0x007F007F, &iomux->gpr[7]);
|
||||
diff -aurN a/include/configs/udoo.h b/include/configs/udoo.h
|
||||
--- a/include/configs/udoo.h 2016-03-14 15:20:21.000000000 +0100
|
||||
+++ b/include/configs/udoo.h 2016-04-15 11:32:41.181971400 +0200
|
||||
@@ -11,8 +11,8 @@
|
||||
diff --git a/include/configs/udoo.h b/include/configs/udoo.h
|
||||
index 0a7767c..6d8cb08 100644
|
||||
--- a/include/configs/udoo.h
|
||||
+++ b/include/configs/udoo.h
|
||||
@@ -11,6 +11,9 @@
|
||||
|
||||
#include "mx6_common.h"
|
||||
|
||||
-#define CONFIG_SPL_LIBCOMMON_SUPPORT
|
||||
#define CONFIG_SPL_MMC_SUPPORT
|
||||
+/*#define CONFIG_SPL_MMC_SUPPORT*/
|
||||
+#define CONFIG_SPL_FAT_SUPPORT
|
||||
+
|
||||
#include "imx6_spl.h"
|
||||
|
||||
#define MACH_TYPE_UDOO 4800
|
||||
@@ -27,6 +27,35 @@
|
||||
@@ -25,6 +28,35 @@
|
||||
#define CONFIG_MXC_UART
|
||||
#define CONFIG_MXC_UART_BASE UART2_BASE
|
||||
|
||||
+/* USB and USB Mass Storage support */
|
||||
+
|
||||
+#define CONFIG_CMD_USB
|
||||
+#define CONFIG_CMD_FAT
|
||||
+/*#define CONFIG_CMD_FAT*/
|
||||
+#define CONFIG_USB_EHCI
|
||||
+#define CONFIG_USB_EHCI_MX6
|
||||
+#define CONFIG_USB_STORAGE
|
||||
@@ -59,12 +61,13 @@ diff -aurN a/include/configs/udoo.h b/include/configs/udoo.h
|
||||
/* SATA Configs */
|
||||
|
||||
#define CONFIG_CMD_SATA
|
||||
@@ -63,11 +92,14 @@
|
||||
@@ -58,11 +90,15 @@
|
||||
/* MMC Configuration */
|
||||
#define CONFIG_SYS_FSL_ESDHC_ADDR 0
|
||||
|
||||
+#undef CONFIG_BOOTDELAY
|
||||
+#define CONFIG_BOOTDELAY 1
|
||||
+
|
||||
#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
@@ -75,7 +78,7 @@ diff -aurN a/include/configs/udoo.h b/include/configs/udoo.h
|
||||
"console=ttymxc1\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffff\0" \
|
||||
@@ -76,9 +108,12 @@
|
||||
@@ -71,9 +107,12 @@
|
||||
"fdt_addr=0x18000000\0" \
|
||||
"boot_fdt=try\0" \
|
||||
"ip_dyn=yes\0" \
|
||||
@@ -89,7 +92,7 @@ diff -aurN a/include/configs/udoo.h b/include/configs/udoo.h
|
||||
"update_sd_firmware_filename=u-boot.imx\0" \
|
||||
"update_sd_firmware=" \
|
||||
"if test ${ip_dyn} = yes; then " \
|
||||
@@ -94,27 +129,36 @@
|
||||
@@ -89,27 +128,36 @@
|
||||
"fi; " \
|
||||
"fi\0" \
|
||||
"mmcargs=setenv bootargs console=${console},${baudrate} " \
|
||||
@@ -131,7 +134,7 @@ diff -aurN a/include/configs/udoo.h b/include/configs/udoo.h
|
||||
"fi;\0" \
|
||||
"netargs=setenv bootargs console=${console},${baudrate} " \
|
||||
"root=/dev/nfs " \
|
||||
@@ -150,16 +194,23 @@
|
||||
@@ -145,16 +193,23 @@
|
||||
|
||||
#define CONFIG_BOOTCOMMAND \
|
||||
"run findfdt; " \
|
||||
|
||||
@@ -19,10 +19,12 @@
|
||||
PKG_NAME="u-boot"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
if [ "$UBOOT_VERSION" = "imx6-cuboxi" ]; then
|
||||
PKG_VERSION="imx6-408544d"
|
||||
PKG_SITE="http://imx.solid-run.com/wiki/index.php?title=Building_the_kernel_and_u-boot_for_the_CuBox-i_and_the_HummingBoard"
|
||||
# https://github.com/SolidRun/u-boot-imx6.git
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_COMMIT="c8d1200"
|
||||
PKG_VERSION="imx6-$PKG_COMMIT"
|
||||
PKG_SITE="http://solid-run.com/wiki/doku.php?id=products:imx6:software:development:u-boot"
|
||||
PKG_URL="https://github.com/SolidRun/u-boot-imx6/archive/$PKG_COMMIT.tar.gz"
|
||||
PKG_SOURCE_NAME="$PKG_NAME-sr-$PKG_VERSION.tar.gz"
|
||||
PKG_SOURCE_DIR="$PKG_NAME-imx6-${PKG_COMMIT}*"
|
||||
[ -n "$UBOOT_CONFIG_V2" ] && PKG_DEPENDS_TARGET="toolchain u-boot-v2"
|
||||
elif [ "$UBOOT_VERSION" = "hardkernel" ]; then
|
||||
PKG_VERSION="6e4e886"
|
||||
@@ -58,7 +60,6 @@ pre_configure_target() {
|
||||
|
||||
# copy compiler-gcc5.h to compiler-gcc6. for fake building
|
||||
cp include/linux/compiler-gcc5.h include/linux/compiler-gcc6.h
|
||||
|
||||
}
|
||||
|
||||
make_target() {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xf86-video-nvidia-legacy"
|
||||
PKG_VERSION="340.101"
|
||||
PKG_VERSION="340.102"
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.nvidia.com/"
|
||||
|
||||
@@ -20,7 +20,7 @@ PKG_NAME="xf86-video-nvidia"
|
||||
# Remember to run "python packages/x11/driver/xf86-video-nvidia/scripts/make_nvidia_udev.py" and commit changes to
|
||||
# "packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules" whenever bumping version.
|
||||
# Host may require installation of python-lxml and python-requests packages.
|
||||
PKG_VERSION="375.26"
|
||||
PKG_VERSION="375.39"
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.nvidia.com/"
|
||||
|
||||
@@ -278,6 +278,7 @@ ATTRS{device}=="0x13b1", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x13b2", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x13b3", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x13b4", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x13b6", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x13b9", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x13ba", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x13bb", GOTO="configure_nvidia"
|
||||
@@ -303,6 +304,8 @@ ATTRS{device}=="0x1407", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1427", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1430", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1431", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1436", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x15f0", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x15f7", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x15f8", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x15f9", GOTO="configure_nvidia"
|
||||
@@ -326,15 +329,26 @@ ATTRS{device}=="0x1b84", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1ba0", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1ba1", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1bb0", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1bb1", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1bb3", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1be0", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1be1", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c02", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c03", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c20", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c21", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c22", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c30", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c60", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c61", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c62", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c81", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c82", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c8c", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1c8d", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1cb1", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1cb2", GOTO="configure_nvidia"
|
||||
ATTRS{device}=="0x1cb3", GOTO="configure_nvidia"
|
||||
GOTO="configure_nvidia-legacy"
|
||||
|
||||
LABEL="configure_nvidia"
|
||||
|
||||
@@ -1114,6 +1114,8 @@ CONFIG_AUDIO_DATA=y
|
||||
# CONFIG_VIDEO_AMLOGIC_CAPTURE is not set
|
||||
CONFIG_AML_CODEC_MM=y
|
||||
# CONFIG_AML_WDT is not set
|
||||
CONFIG_MESON_PWM=m
|
||||
CONFIG_MESON_PWM_CTRL=m
|
||||
|
||||
#
|
||||
# AMLOGIC SPI Hardware bus support
|
||||
@@ -2253,6 +2255,7 @@ CONFIG_IR_IGUANA=m
|
||||
CONFIG_IR_TTUSBIR=m
|
||||
# CONFIG_RC_LOOPBACK is not set
|
||||
CONFIG_IR_GPIO_CIR=m
|
||||
CONFIG_IR_GPIOPLUG_CIR=m
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
|
||||
#
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<advancedsettings>
|
||||
<showexitbutton>false</showexitbutton>
|
||||
<remotedelay>1</remotedelay>
|
||||
|
||||
<fanartres>720</fanartres>
|
||||
<imageres>540</imageres>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 4.9.1 Kernel Configuration
|
||||
# Linux/arm 4.9.6 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM_HAS_SG_CHAIN=y
|
||||
@@ -2778,7 +2778,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=m
|
||||
# CONFIG_SND_SOC_ADAU1701 is not set
|
||||
CONFIG_SND_SOC_ADAU1977=m
|
||||
CONFIG_SND_SOC_ADAU1977_I2C=m
|
||||
# CONFIG_SND_SOC_ADAU7002 is not set
|
||||
CONFIG_SND_SOC_ADAU7002=m
|
||||
# CONFIG_SND_SOC_AK4104 is not set
|
||||
# CONFIG_SND_SOC_AK4554 is not set
|
||||
# CONFIG_SND_SOC_AK4613 is not set
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<advancedsettings>
|
||||
<showexitbutton>false</showexitbutton>
|
||||
<remotedelay>1</remotedelay>
|
||||
|
||||
<fanartres>720</fanartres>
|
||||
<imageres>540</imageres>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 4.9.1 Kernel Configuration
|
||||
# Linux/arm 4.9.6 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM_HAS_SG_CHAIN=y
|
||||
@@ -2869,7 +2869,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=m
|
||||
# CONFIG_SND_SOC_ADAU1701 is not set
|
||||
CONFIG_SND_SOC_ADAU1977=m
|
||||
CONFIG_SND_SOC_ADAU1977_I2C=m
|
||||
# CONFIG_SND_SOC_ADAU7002 is not set
|
||||
CONFIG_SND_SOC_ADAU7002=m
|
||||
# CONFIG_SND_SOC_AK4104 is not set
|
||||
# CONFIG_SND_SOC_AK4554 is not set
|
||||
# CONFIG_SND_SOC_AK4613 is not set
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<advancedsettings>
|
||||
<showexitbutton>false</showexitbutton>
|
||||
<remotedelay>1</remotedelay>
|
||||
|
||||
<samba>
|
||||
<clienttimeout>30</clienttimeout>
|
||||
|
||||
@@ -492,10 +492,10 @@ CONFIG_CPU_FREQ_STAT=y
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_HOTPLUG is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set
|
||||
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
|
||||
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
|
||||
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<advancedsettings>
|
||||
<showexitbutton>false</showexitbutton>
|
||||
<remotedelay>1</remotedelay>
|
||||
|
||||
<samba>
|
||||
<clienttimeout>30</clienttimeout>
|
||||
|
||||
@@ -828,6 +828,7 @@ CONFIG_I2C_AML=y
|
||||
# CONFIG_I2C_SW_AML is not set
|
||||
# CONFIG_BCM2079X_I2C is not set
|
||||
# CONFIG_AML_PWM is not set
|
||||
# CONFIG_MESON_PWM is not set
|
||||
|
||||
#
|
||||
# HDMI TX Support
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<advancedsettings>
|
||||
<showexitbutton>false</showexitbutton>
|
||||
<remotedelay>1</remotedelay>
|
||||
|
||||
<samba>
|
||||
<clienttimeout>30</clienttimeout>
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
From a1f4a5a74bb8e9fd48ec3d45bc908861dddb0296 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Deryskyba <alex@codesnake.com>
|
||||
Date: Mon, 8 Sep 2014 23:29:40 +0300
|
||||
Subject: [PATCH 02/10] [aml] Reorder libraries in configure script to prevent
|
||||
linker errors when linking with libsmbclient
|
||||
|
||||
Place libsmbclient before all other libraries to prevent linker errors when linking
|
||||
with libsmbclient if the libc that is currently used doesn't contain some functions
|
||||
such as dn_expand (which are often included in libc), but are actually included in
|
||||
libresolv.
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 5b8c04b..7869041 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1305,7 +1305,7 @@ fi
|
||||
# samba
|
||||
if test "x$use_samba" != "xno"; then
|
||||
PKG_CHECK_MODULES([SAMBA], [smbclient],
|
||||
- [INCLUDES="$INCLUDES $SAMBA_CFLAGS"; LIBS="$LIBS $SAMBA_LIBS"],
|
||||
+ [INCLUDES="$INCLUDES $SAMBA_CFLAGS"; LIBS="$SAMBA_LIBS $LIBS"],
|
||||
[AC_CHECK_LIB([smbclient], [main],,
|
||||
use_samba=no;AC_MSG_ERROR($missing_library))
|
||||
USE_LIBSMBCLIENT=0
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
@@ -51,35 +51,35 @@ mouse_end
|
||||
|
||||
key_begin
|
||||
0x02 116 # power
|
||||
0x46 88 # 2nd power button (F12, ends WeTV)
|
||||
0x46 88 # 2nd power button (F12, ends WeTV)
|
||||
0x10 113 # volume mute
|
||||
0x22 2 # 1
|
||||
0x23 3 # 2
|
||||
0x24 4 # 3
|
||||
0x25 5 # 4
|
||||
0x26 6 # 5
|
||||
0x27 7 # 6
|
||||
0x28 8 # 7
|
||||
0x29 9 # 8
|
||||
0x30 10 # 9
|
||||
0x71 14 # delete
|
||||
0x21 11 # 0
|
||||
0x72 87 # capslock (mapped as F11)
|
||||
0x22 2 # 1
|
||||
0x23 3 # 2
|
||||
0x24 4 # 3
|
||||
0x25 5 # 4
|
||||
0x26 6 # 5
|
||||
0x27 7 # 6
|
||||
0x28 8 # 7
|
||||
0x29 9 # 8
|
||||
0x30 10 # 9
|
||||
0x71 14 # delete
|
||||
0x21 11 # 0
|
||||
0x72 58 # caps lock
|
||||
0x48 127 # menu
|
||||
0x03 102 # home
|
||||
0x61 158 # back
|
||||
0x83 580 # app_switch
|
||||
0x77 373 # assist
|
||||
0x83 139 # app_switch (mapped as KEY_MENU)
|
||||
0x77 138 # assist (mapped as KEY_HELP)
|
||||
0x50 103 # up
|
||||
0x4b 108 # down
|
||||
0x4c 105 # left
|
||||
0x4d 106 # right
|
||||
0x47 28 # ok
|
||||
0x47 28 # ok
|
||||
0x44 115 # volume up
|
||||
0x43 114 # volume down
|
||||
0x41 402 # channel up
|
||||
0x42 403 # channel down
|
||||
0x4f 64 # * (mapped as f6)
|
||||
0x41 104 # channel up (mapped as PageUp)
|
||||
0x42 109 # channel down (mapped as PageDown)
|
||||
0x4f 85 # *
|
||||
0x82 388 # teletext
|
||||
0x73 398 # red
|
||||
0x74 399 # green
|
||||
@@ -96,35 +96,35 @@ key_end
|
||||
|
||||
repeat_key_begin
|
||||
0x02 116 # power
|
||||
0x46 88 # 2nd power button (F12, ends WeTV)
|
||||
0x46 88 # 2nd power button (F12, ends WeTV)
|
||||
0x10 113 # volume mute
|
||||
0x22 2 # 1
|
||||
0x23 3 # 2
|
||||
0x24 4 # 3
|
||||
0x25 5 # 4
|
||||
0x26 6 # 5
|
||||
0x27 7 # 6
|
||||
0x28 8 # 7
|
||||
0x29 9 # 8
|
||||
0x30 10 # 9
|
||||
0x71 14 # delete
|
||||
0x21 11 # 0
|
||||
0x72 58 # caps lock
|
||||
0x22 2 # 1
|
||||
0x23 3 # 2
|
||||
0x24 4 # 3
|
||||
0x25 5 # 4
|
||||
0x26 6 # 5
|
||||
0x27 7 # 6
|
||||
0x28 8 # 7
|
||||
0x29 9 # 8
|
||||
0x30 10 # 9
|
||||
0x71 14 # delete
|
||||
0x21 11 # 0
|
||||
0x72 58 # caps lock
|
||||
0x48 127 # menu
|
||||
0x03 102 # home
|
||||
0x61 158 # back
|
||||
0x83 580 # app_switch
|
||||
0x77 373 # assist
|
||||
0x83 139 # app_switch (mapped as KEY_MENU)
|
||||
0x77 138 # assist (mapped as KEY_HELP)
|
||||
0x50 103 # up
|
||||
0x4b 108 # down
|
||||
0x4c 105 # left
|
||||
0x4d 106 # right
|
||||
0x47 353 # ok
|
||||
0x47 28 # ok
|
||||
0x44 115 # volume up
|
||||
0x43 114 # volume down
|
||||
0x41 402 # channel up
|
||||
0x42 403 # channel down
|
||||
0x4f 64 # * (mapped as f6)
|
||||
0x41 104 # channel up (mapped as PageUp)
|
||||
0x42 109 # channel down (mapped as PageDown)
|
||||
0x4f 85 # *
|
||||
0x82 388 # teletext
|
||||
0x73 398 # red
|
||||
0x74 399 # green
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<advancedsettings>
|
||||
<showexitbutton>false</showexitbutton>
|
||||
<remotedelay>1</remotedelay>
|
||||
|
||||
<samba>
|
||||
<clienttimeout>30</clienttimeout>
|
||||
|
||||
@@ -828,6 +828,7 @@ CONFIG_I2C_AML=y
|
||||
# CONFIG_I2C_SW_AML is not set
|
||||
# CONFIG_BCM2079X_I2C is not set
|
||||
# CONFIG_AML_PWM is not set
|
||||
# CONFIG_MESON_PWM is not set
|
||||
|
||||
#
|
||||
# HDMI TX Support
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<advancedsettings>
|
||||
<showexitbutton>false</showexitbutton>
|
||||
<remotedelay>1</remotedelay>
|
||||
<samba>
|
||||
<clienttimeout>30</clienttimeout>
|
||||
</samba>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 3.14.60 Kernel Configuration
|
||||
# Linux/arm 3.14.79 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_MIGHT_HAVE_PCI=y
|
||||
@@ -272,7 +272,7 @@ CONFIG_INLINE_WRITE_UNLOCK=y
|
||||
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
|
||||
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
|
||||
CONFIG_MUTEX_SPIN_ON_OWNER=y
|
||||
CONFIG_FREEZER=y
|
||||
# CONFIG_FREEZER is not set
|
||||
|
||||
#
|
||||
# System Type
|
||||
@@ -626,12 +626,7 @@ CONFIG_COREDUMP=y
|
||||
#
|
||||
# Power management options
|
||||
#
|
||||
CONFIG_SUSPEND=y
|
||||
CONFIG_SUSPEND_FREEZER=y
|
||||
CONFIG_PM_SLEEP=y
|
||||
CONFIG_PM_SLEEP_SMP=y
|
||||
# CONFIG_PM_AUTOSLEEP is not set
|
||||
# CONFIG_PM_WAKELOCKS is not set
|
||||
# CONFIG_SUSPEND is not set
|
||||
CONFIG_PM_RUNTIME=y
|
||||
CONFIG_PM=y
|
||||
# CONFIG_PM_DEBUG is not set
|
||||
@@ -641,10 +636,8 @@ CONFIG_PM_OPP=y
|
||||
CONFIG_PM_CLK=y
|
||||
CONFIG_PM_GENERIC_DOMAINS=y
|
||||
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
|
||||
CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
|
||||
CONFIG_PM_GENERIC_DOMAINS_RUNTIME=y
|
||||
CONFIG_PM_GENERIC_DOMAINS_OF=y
|
||||
CONFIG_CPU_PM=y
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_ARM_CPU_SUSPEND=y
|
||||
CONFIG_NET=y
|
||||
@@ -955,6 +948,7 @@ CONFIG_BT_HCIBFUSB=m
|
||||
CONFIG_BT_MRVL=m
|
||||
CONFIG_BT_MRVL_SDIO=m
|
||||
CONFIG_BT_ATH3K=m
|
||||
CONFIG_BT_WILINK=m
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
CONFIG_WIRELESS=y
|
||||
CONFIG_WIRELESS_EXT=y
|
||||
@@ -1230,7 +1224,8 @@ CONFIG_EEPROM_93CX6=m
|
||||
#
|
||||
# Texas Instruments shared transport line discipline
|
||||
#
|
||||
# CONFIG_TI_ST is not set
|
||||
CONFIG_TI_ST=m
|
||||
CONFIG_ST_HCI=m
|
||||
# CONFIG_SENSORS_LIS3_SPI is not set
|
||||
# CONFIG_SENSORS_LIS3_I2C is not set
|
||||
|
||||
@@ -1761,7 +1756,14 @@ CONFIG_RTL_CARDS=m
|
||||
# CONFIG_RTL8723AE is not set
|
||||
# CONFIG_RTL8188EE is not set
|
||||
# CONFIG_RTL8192CU is not set
|
||||
# CONFIG_WL_TI is not set
|
||||
CONFIG_WL_TI=y
|
||||
# CONFIG_WL1251 is not set
|
||||
# CONFIG_WL12XX is not set
|
||||
CONFIG_WL18XX=m
|
||||
CONFIG_WLCORE=m
|
||||
# CONFIG_WLCORE_SPI is not set
|
||||
CONFIG_WLCORE_SDIO=m
|
||||
CONFIG_WILINK_PLATFORM_DATA=y
|
||||
CONFIG_ZD1211RW=m
|
||||
# CONFIG_ZD1211RW_DEBUG is not set
|
||||
# CONFIG_MWIFIEX is not set
|
||||
@@ -1926,7 +1928,6 @@ CONFIG_TTY=y
|
||||
CONFIG_VT=y
|
||||
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_VT_CONSOLE_SLEEP=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
@@ -681,18 +681,7 @@ CONFIG_BINFMT_MISC=m
|
||||
#
|
||||
# Power management options
|
||||
#
|
||||
CONFIG_SUSPEND=y
|
||||
CONFIG_SUSPEND_FREEZER=y
|
||||
# CONFIG_SUSPEND_SKIP_SYNC is not set
|
||||
CONFIG_HIBERNATE_CALLBACKS=y
|
||||
CONFIG_HIBERNATION=y
|
||||
CONFIG_PM_STD_PARTITION=""
|
||||
CONFIG_PM_SLEEP=y
|
||||
CONFIG_PM_SLEEP_SMP=y
|
||||
# CONFIG_PM_AUTOSLEEP is not set
|
||||
CONFIG_PM_WAKELOCKS=y
|
||||
CONFIG_PM_WAKELOCKS_LIMIT=100
|
||||
CONFIG_PM_WAKELOCKS_GC=y
|
||||
# CONFIG_SUSPEND is not set
|
||||
CONFIG_PM=y
|
||||
# CONFIG_PM_DEBUG is not set
|
||||
CONFIG_APM_EMULATION=m
|
||||
@@ -700,7 +689,6 @@ CONFIG_PM_OPP=y
|
||||
CONFIG_PM_CLK=y
|
||||
CONFIG_PM_GENERIC_DOMAINS=y
|
||||
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
|
||||
CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
|
||||
CONFIG_PM_GENERIC_DOMAINS_OF=y
|
||||
CONFIG_CPU_PM=y
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
@@ -2795,7 +2783,6 @@ CONFIG_TTY=y
|
||||
CONFIG_VT=y
|
||||
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_VT_CONSOLE_SLEEP=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
@@ -3003,7 +2990,10 @@ CONFIG_PPS_CLIENT_GPIO=m
|
||||
#
|
||||
CONFIG_PTP_1588_CLOCK=y
|
||||
CONFIG_PTP_1588_CLOCK_GIANFAR=m
|
||||
# CONFIG_DP83640_PHY is not set
|
||||
|
||||
#
|
||||
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
|
||||
#
|
||||
CONFIG_PINCTRL=y
|
||||
|
||||
#
|
||||
@@ -3146,7 +3136,6 @@ CONFIG_POWER_RESET_GPIO=y
|
||||
CONFIG_POWER_RESET_GPIO_RESTART=y
|
||||
CONFIG_POWER_RESET_IMX=y
|
||||
CONFIG_POWER_RESET_LTC2952=y
|
||||
# CONFIG_POWER_RESET_QNAP is not set
|
||||
CONFIG_POWER_RESET_RESTART=y
|
||||
CONFIG_POWER_RESET_VERSATILE=y
|
||||
# CONFIG_POWER_RESET_SNVS is not set
|
||||
@@ -4417,15 +4406,12 @@ CONFIG_SND_AC97_POWER_SAVE=y
|
||||
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=1
|
||||
CONFIG_SND_PCI=y
|
||||
# CONFIG_SND_AD1889 is not set
|
||||
# CONFIG_SND_ALS300 is not set
|
||||
# CONFIG_SND_ALI5451 is not set
|
||||
# CONFIG_SND_ATIIXP is not set
|
||||
# CONFIG_SND_ATIIXP_MODEM is not set
|
||||
# CONFIG_SND_AU8810 is not set
|
||||
# CONFIG_SND_AU8820 is not set
|
||||
# CONFIG_SND_AU8830 is not set
|
||||
# CONFIG_SND_AW2 is not set
|
||||
# CONFIG_SND_AZT3328 is not set
|
||||
# CONFIG_SND_BT87X is not set
|
||||
# CONFIG_SND_CA0106 is not set
|
||||
# CONFIG_SND_CMIPCI is not set
|
||||
@@ -4447,23 +4433,17 @@ CONFIG_SND_PCI=y
|
||||
# CONFIG_SND_INDIGODJ is not set
|
||||
# CONFIG_SND_INDIGOIOX is not set
|
||||
# CONFIG_SND_INDIGODJX is not set
|
||||
# CONFIG_SND_EMU10K1 is not set
|
||||
# CONFIG_SND_EMU10K1X is not set
|
||||
# CONFIG_SND_ENS1370 is not set
|
||||
# CONFIG_SND_ENS1371 is not set
|
||||
# CONFIG_SND_ES1938 is not set
|
||||
# CONFIG_SND_ES1968 is not set
|
||||
# CONFIG_SND_FM801 is not set
|
||||
# CONFIG_SND_HDSP is not set
|
||||
# CONFIG_SND_HDSPM is not set
|
||||
# CONFIG_SND_ICE1712 is not set
|
||||
# CONFIG_SND_ICE1724 is not set
|
||||
# CONFIG_SND_INTEL8X0 is not set
|
||||
# CONFIG_SND_INTEL8X0M is not set
|
||||
# CONFIG_SND_KORG1212 is not set
|
||||
# CONFIG_SND_LOLA is not set
|
||||
# CONFIG_SND_LX6464ES is not set
|
||||
# CONFIG_SND_MAESTRO3 is not set
|
||||
# CONFIG_SND_MIXART is not set
|
||||
# CONFIG_SND_NM256 is not set
|
||||
# CONFIG_SND_PCXHR is not set
|
||||
@@ -4472,8 +4452,6 @@ CONFIG_SND_PCI=y
|
||||
# CONFIG_SND_RME96 is not set
|
||||
# CONFIG_SND_RME9652 is not set
|
||||
# CONFIG_SND_SE6X is not set
|
||||
# CONFIG_SND_SONICVIBES is not set
|
||||
# CONFIG_SND_TRIDENT is not set
|
||||
# CONFIG_SND_VIA82XX is not set
|
||||
# CONFIG_SND_VIA82XX_MODEM is not set
|
||||
# CONFIG_SND_VIRTUOSO is not set
|
||||
@@ -4762,7 +4740,7 @@ CONFIG_USB_XHCI_PLATFORM=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_ROOT_HUB_TT=y
|
||||
CONFIG_USB_EHCI_TT_NEWSCHED=y
|
||||
CONFIG_USB_FSL_MPH_DR_OF=m
|
||||
CONFIG_USB_FSL_MPH_DR_OF=y
|
||||
CONFIG_USB_EHCI_PCI=y
|
||||
CONFIG_USB_EHCI_MXC=y
|
||||
CONFIG_USB_EHCI_HCD_PLATFORM=y
|
||||
@@ -5267,7 +5245,6 @@ CONFIG_DMADEVICES=y
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y
|
||||
CONFIG_DMA_ENGINE=y
|
||||
CONFIG_DMA_VIRTUAL_CHANNELS=y
|
||||
CONFIG_DMA_OF=y
|
||||
@@ -5289,7 +5266,6 @@ CONFIG_DW_DMAC_PCI=m
|
||||
#
|
||||
CONFIG_ASYNC_TX_DMA=y
|
||||
# CONFIG_DMATEST is not set
|
||||
CONFIG_DMA_ENGINE_RAID=y
|
||||
# CONFIG_AUXDISPLAY is not set
|
||||
CONFIG_UIO=m
|
||||
# CONFIG_UIO_CIF is not set
|
||||
@@ -6543,7 +6519,7 @@ CONFIG_LZO_DECOMPRESS=y
|
||||
CONFIG_LZ4_COMPRESS=y
|
||||
CONFIG_LZ4HC_COMPRESS=y
|
||||
CONFIG_LZ4_DECOMPRESS=y
|
||||
CONFIG_XZ_DEC=m
|
||||
CONFIG_XZ_DEC=y
|
||||
# CONFIG_XZ_DEC_X86 is not set
|
||||
# CONFIG_XZ_DEC_POWERPC is not set
|
||||
# CONFIG_XZ_DEC_IA64 is not set
|
||||
|
||||
@@ -6,30 +6,8 @@
|
||||
# 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"
|
||||
|
||||
# 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
|
||||
@@ -41,12 +19,12 @@
|
||||
UBOOT_VERSION="imx6-cuboxi"
|
||||
|
||||
# Configuration for u-boot
|
||||
UBOOT_CONFIG="mx6_cubox-i_config"
|
||||
UBOOT_CONFIG="$UBOOT_CONFIG matrix"
|
||||
UBOOT_CONFIG="mx6_cubox-i_config \
|
||||
matrix"
|
||||
|
||||
UBOOT_CONFIG_V2="udoo_config"
|
||||
UBOOT_CONFIG_V2="$UBOOT_CONFIG_V2 tbs2910_config"
|
||||
#UBOOT_CONFIG_V2="$UBOOT_CONFIG_V2 wandboard_config"
|
||||
# for second u-boot
|
||||
UBOOT_CONFIG_V2="udoo_config \
|
||||
tbs2910_config"
|
||||
|
||||
# Target Configfile for u-boot
|
||||
UBOOT_CONFIGFILE=""
|
||||
@@ -55,24 +33,41 @@
|
||||
KERNEL_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"
|
||||
KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6q-hummingboard2.dtb imx6dl-hummingboard2.dtb"
|
||||
KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6q-tbs2910.dtb"
|
||||
KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6q-udoo.dtb imx6dl-udoo.dtb"
|
||||
KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6q-udoo-15lvds.dtb imx6q-udoo-7lvds.dtb"
|
||||
KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET imx6dl-udoo-15lvds.dtb imx6dl-udoo-7lvds.dtb"
|
||||
KERNEL_UBOOT_EXTRA_TARGET="imx6q-cubox-i.dtb imx6dl-cubox-i.dtb \
|
||||
imx6q-hummingboard.dtb imx6dl-hummingboard.dtb \
|
||||
imx6q-hummingboard2.dtb imx6dl-hummingboard2.dtb \
|
||||
imx6q-tbs2910.dtb \
|
||||
imx6q-udoo.dtb imx6dl-udoo.dtb \
|
||||
imx6q-udoo-7lvds.dtb imx6dl-udoo-7lvds.dtb \
|
||||
imx6q-udoo-15lvds.dtb imx6dl-udoo-15lvds.dtb"
|
||||
|
||||
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
|
||||
KERNEL_MAKE_EXTRACMD=""
|
||||
|
||||
# Kernel to use.
|
||||
# default is 4.4 from xbian
|
||||
if [ -z "$LINUX_VERSION" -o "$LINUX_VERSION" != "sr-3.14" ]; then
|
||||
if [ "$LINUX_VERSION" = "sr-3.14" ]; then
|
||||
LINUX="imx6-3.14-sr"
|
||||
|
||||
KERNEL_UBOOT_EXTRA_TARGET="$KERNEL_UBOOT_EXTRA_TARGET \
|
||||
imx6q-cubox-i-som-v15.dtb imx6dl-cubox-i-som-v15.dtb \
|
||||
imx6q-hummingboard-som-v15.dtb imx6dl-hummingboard-som-v15.dtb \
|
||||
imx6q-hummingboard2-som-v15.dtb imx6dl-hummingboard2-som-v15.dtb"
|
||||
|
||||
# OpenGL-ES implementation to use
|
||||
OPENGLES="imx-gpu-viv"
|
||||
elif [ "$LINUX_VERSION" = "xbian-4.8" ]; then
|
||||
LINUX="imx6-4.8-xbian"
|
||||
LIBCEC_TYPE="xbian"
|
||||
|
||||
# OpenGL-ES implementation to use
|
||||
OPENGLES="gpu-viv-bin-mx6q"
|
||||
else
|
||||
LINUX="imx6-4.4-xbian"
|
||||
LIBCEC_TYPE="xbian"
|
||||
else
|
||||
LINUX="imx6"
|
||||
|
||||
# OpenGL-ES implementation to use
|
||||
OPENGLES="gpu-viv-bin-mx6q"
|
||||
fi
|
||||
|
||||
################################################################################
|
||||
@@ -95,13 +90,6 @@
|
||||
# OpenGL(X) implementation to use (no / mesa)
|
||||
OPENGL="no"
|
||||
|
||||
# OpenGL-ES implementation to use (no / bcm2835-driver / imx-gpu-viv)
|
||||
if [ "$LINUX" = "imx6" ]; then
|
||||
OPENGLES="imx-gpu-viv"
|
||||
else
|
||||
OPENGLES="gpu-viv-bin-mx6q"
|
||||
fi
|
||||
|
||||
# include uvesafb support (yes / no)
|
||||
UVESAFB_SUPPORT="no"
|
||||
|
||||
|
||||
@@ -0,0 +1,747 @@
|
||||
From e9d9bfee5506a7b00312f62722009a0194f81dfd Mon Sep 17 00:00:00 2001
|
||||
From: Peter Vicman <peter.vicman@gmail.com>
|
||||
Date: Sat, 3 Dec 2016 13:53:30 +0100
|
||||
Subject: [PATCH] patch for libcec from openbricks
|
||||
|
||||
libcec base: libcec-209884d
|
||||
libcec openbricks:
|
||||
https://github.com/warped-rudi/libcec/tree/libcec4-imx 47e1d6aba475616fc267aa0c2097949b55cfdedc
|
||||
---
|
||||
include/cectypes.h | 11 +
|
||||
src/libcec/CECTypeUtils.h | 2 +
|
||||
src/libcec/CMakeLists.txt | 2 +
|
||||
src/libcec/adapter/AdapterFactory.cpp | 28 +-
|
||||
.../adapter/IMX/IMXCECAdapterCommunication.cpp | 321 +++++++++++++++++++++
|
||||
.../adapter/IMX/IMXCECAdapterCommunication.h | 115 ++++++++
|
||||
src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp | 42 +++
|
||||
src/libcec/adapter/IMX/IMXCECAdapterDetection.h | 36 +++
|
||||
src/libcec/cmake/CheckPlatformSupport.cmake | 13 +
|
||||
src/libcec/cmake/DisplayPlatformSupport.cmake | 10 +-
|
||||
src/libcec/env.h.in | 3 +
|
||||
11 files changed, 579 insertions(+), 4 deletions(-)
|
||||
create mode 100644 src/libcec/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
create mode 100644 src/libcec/adapter/IMX/IMXCECAdapterCommunication.h
|
||||
create mode 100644 src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp
|
||||
create mode 100644 src/libcec/adapter/IMX/IMXCECAdapterDetection.h
|
||||
|
||||
diff --git a/include/cectypes.h b/include/cectypes.h
|
||||
index 9c91842..68e90e0 100644
|
||||
--- a/include/cectypes.h
|
||||
+++ b/include/cectypes.h
|
||||
@@ -292,6 +292,16 @@ namespace CEC {
|
||||
#define CEC_AOCEC_VIRTUAL_COM "AOCEC"
|
||||
|
||||
/*!
|
||||
+ * the path to use for the i.MX CEC wire
|
||||
+ */
|
||||
+#define CEC_IMX_PATH "/dev/mxc_hdmi_cec"
|
||||
+
|
||||
+/*!
|
||||
+ * the name of the virtual COM port to use for the i.MX CEC wire
|
||||
+ */
|
||||
+#define CEC_IMX_VIRTUAL_COM "i.MX"
|
||||
+
|
||||
+/*!
|
||||
* Mimimum client version
|
||||
*/
|
||||
#define CEC_MIN_LIB_VERSION 4
|
||||
@@ -861,6 +871,7 @@ typedef enum cec_adapter_type
|
||||
ADAPTERTYPE_RPI = 0x100,
|
||||
ADAPTERTYPE_TDA995x = 0x200,
|
||||
ADAPTERTYPE_EXYNOS = 0x300,
|
||||
+ ADAPTERTYPE_IMX = 0x400,
|
||||
ADAPTERTYPE_AOCEC = 0x500
|
||||
} cec_adapter_type;
|
||||
|
||||
diff --git a/src/libcec/CECTypeUtils.h b/src/libcec/CECTypeUtils.h
|
||||
index 0d0cf17..f6c818a 100644
|
||||
--- a/src/libcec/CECTypeUtils.h
|
||||
+++ b/src/libcec/CECTypeUtils.h
|
||||
@@ -766,6 +766,8 @@ namespace CEC
|
||||
return "Raspberry Pi";
|
||||
case ADAPTERTYPE_TDA995x:
|
||||
return "TDA995x";
|
||||
+ case ADAPTERTYPE_IMX:
|
||||
+ return "i.MX";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
diff --git a/src/libcec/CMakeLists.txt b/src/libcec/CMakeLists.txt
|
||||
index d3eefa3..a8fb9d0 100644
|
||||
--- a/src/libcec/CMakeLists.txt
|
||||
+++ b/src/libcec/CMakeLists.txt
|
||||
@@ -103,6 +103,8 @@ set(CEC_HEADERS devices/CECRecordingDevice.h
|
||||
adapter/RPi/RPiCECAdapterMessageQueue.h
|
||||
adapter/RPi/RPiCECAdapterCommunication.h
|
||||
adapter/RPi/RPiCECAdapterDetection.h
|
||||
+ adapter/IMX/IMXCECAdapterCommunication.h
|
||||
+ adapter/IMX/IMXCECAdapterDetection.h
|
||||
CECInputBuffer.h
|
||||
platform/util/baudrate.h
|
||||
platform/util/edid.h
|
||||
diff --git a/src/libcec/adapter/AdapterFactory.cpp b/src/libcec/adapter/AdapterFactory.cpp
|
||||
index 1e946e6..045c93e 100644
|
||||
--- a/src/libcec/adapter/AdapterFactory.cpp
|
||||
+++ b/src/libcec/adapter/AdapterFactory.cpp
|
||||
@@ -63,6 +63,11 @@
|
||||
#include "AOCEC/AOCECAdapterCommunication.h"
|
||||
#endif
|
||||
|
||||
+#if defined(HAVE_IMX_API)
|
||||
+#include "IMX/IMXCECAdapterDetection.h"
|
||||
+#include "IMX/IMXCECAdapterCommunication.h"
|
||||
+#endif
|
||||
+
|
||||
using namespace CEC;
|
||||
|
||||
int8_t CAdapterFactory::FindAdapters(cec_adapter *deviceList, uint8_t iBufSize, const char *strDevicePath /* = NULL */)
|
||||
@@ -143,8 +148,21 @@ int8_t CAdapterFactory::DetectAdapters(cec_adapter_descriptor *deviceList, uint8
|
||||
}
|
||||
#endif
|
||||
|
||||
+#if defined(HAVE_IMX_API)
|
||||
+ if (iAdaptersFound < iBufSize && CIMXCECAdapterDetection::FindAdapter() &&
|
||||
+ (!strDevicePath || !strcmp(strDevicePath, CEC_IMX_VIRTUAL_COM)))
|
||||
+ {
|
||||
+ snprintf(deviceList[iAdaptersFound].strComPath, sizeof(deviceList[iAdaptersFound].strComPath), CEC_IMX_PATH);
|
||||
+ snprintf(deviceList[iAdaptersFound].strComName, sizeof(deviceList[iAdaptersFound].strComName), CEC_IMX_VIRTUAL_COM);
|
||||
+ deviceList[iAdaptersFound].iVendorId = IMX_ADAPTER_VID;
|
||||
+ deviceList[iAdaptersFound].iProductId = IMX_ADAPTER_PID;
|
||||
+ deviceList[iAdaptersFound].adapterType = ADAPTERTYPE_IMX;
|
||||
+ iAdaptersFound++;
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
-#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_AOCEC_API)
|
||||
+#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && \
|
||||
+ !defined(HAVE_EXYNOS_API) && !defined(HAVE_AOCEC_API) && !defined(HAVE_IMX_API)
|
||||
#error "libCEC doesn't have support for any type of adapter. please check your build system or configuration"
|
||||
#endif
|
||||
|
||||
@@ -173,11 +191,17 @@ IAdapterCommunication *CAdapterFactory::GetInstance(const char *strPort, uint16_
|
||||
return new CRPiCECAdapterCommunication(m_lib->m_cec);
|
||||
#endif
|
||||
|
||||
+#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) && !defined(HAVE_AOCEC_API)
|
||||
+#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && \
|
||||
+ !defined(HAVE_EXYNOS_API) && !defined(HAVE_AOCEC_API) && !defined(HAVE_IMX_API)
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
diff --git a/src/libcec/adapter/IMX/IMXCECAdapterCommunication.cpp b/src/libcec/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
new file mode 100644
|
||||
index 0000000..f433b03
|
||||
--- /dev/null
|
||||
+++ b/src/libcec/adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
@@ -0,0 +1,321 @@
|
||||
+/*
|
||||
+ * 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.
|
||||
+ *
|
||||
+ * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
|
||||
+ *
|
||||
+ * You can redistribute this file 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.
|
||||
+ *
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "env.h"
|
||||
+
|
||||
+#if defined(HAVE_IMX_API)
|
||||
+#include "IMXCECAdapterCommunication.h"
|
||||
+
|
||||
+#include "p8-platform/sockets/cdevsocket.h"
|
||||
+#include "CECTypeUtils.h"
|
||||
+#include "LibCEC.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 P8PLATFORM;
|
||||
+
|
||||
+#define LIB_CEC m_callback->GetLib()
|
||||
+
|
||||
+// these are defined in nxp private header file
|
||||
+#define CEC_MSG_SUCCESS 0x00 /*Message transmisson Succeed*/
|
||||
+#define CEC_CSP_OFF_STATE 0x80 /*CSP in Off State*/
|
||||
+#define CEC_BAD_REQ_SERVICE 0x81 /*Bad .req service*/
|
||||
+#define CEC_MSG_FAIL_UNABLE_TO_ACCESS 0x82 /*Message transmisson failed: Unable to access CEC line*/
|
||||
+#define CEC_MSG_FAIL_ARBITRATION_ERROR 0x83 /*Message transmisson failed: Arbitration error*/
|
||||
+#define CEC_MSG_FAIL_BIT_TIMMING_ERROR 0x84 /*Message transmisson failed: Bit timming error*/
|
||||
+#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)
|
||||
+{
|
||||
+ CLockObject lock(m_mutex);
|
||||
+
|
||||
+ m_iNextMessage = 0;
|
||||
+ m_logicalAddress = CECDEVICE_UNKNOWN;
|
||||
+ m_bLogicalAddressRegistered = false;
|
||||
+ m_bInitialised = false;
|
||||
+ m_dev = new CCDevSocket(CEC_IMX_PATH);
|
||||
+}
|
||||
+
|
||||
+CIMXCECAdapterCommunication::~CIMXCECAdapterCommunication(void)
|
||||
+{
|
||||
+ Close();
|
||||
+
|
||||
+ CLockObject lock(m_mutex);
|
||||
+ delete m_dev;
|
||||
+ m_dev = 0;
|
||||
+}
|
||||
+
|
||||
+bool CIMXCECAdapterCommunication::IsOpen(void)
|
||||
+{
|
||||
+ return IsInitialised() && m_dev->IsOpen();
|
||||
+}
|
||||
+
|
||||
+bool CIMXCECAdapterCommunication::Open(uint32_t iTimeoutMs, bool UNUSED(bSkipChecks), bool bStartListening)
|
||||
+{
|
||||
+ if (m_dev->Open(iTimeoutMs))
|
||||
+ {
|
||||
+ if (!bStartListening || CreateThread()) {
|
||||
+ if (m_dev->Ioctl(HDMICEC_IOC_STARTDEVICE, NULL) == 0) {
|
||||
+ m_bInitialised = true;
|
||||
+ return true;
|
||||
+ }
|
||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: Unable to start device\n", __func__);
|
||||
+ }
|
||||
+ m_dev->Close();
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+void CIMXCECAdapterCommunication::Close(void)
|
||||
+{
|
||||
+ StopThread(0);
|
||||
+
|
||||
+ 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;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+std::string CIMXCECAdapterCommunication::GetError(void) const
|
||||
+{
|
||||
+ std::string strError(m_strError);
|
||||
+ return strError;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+cec_adapter_message_state CIMXCECAdapterCommunication::Write(
|
||||
+ const cec_command &data, bool &UNUSED(bRetry), uint8_t UNUSED(iLineTimeout), bool UNUSED(bIsReply))
|
||||
+{
|
||||
+ int error, msg_len = 1;
|
||||
+ unsigned char message[MAX_CEC_MESSAGE_LEN];
|
||||
+
|
||||
+ if ((size_t)data.parameters.size + data.opcode_set + 1 > sizeof(message))
|
||||
+ {
|
||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: data size too large !", __func__);
|
||||
+ return ADAPTER_MESSAGE_STATE_ERROR;
|
||||
+ }
|
||||
+
|
||||
+ message[0] = (data.initiator << 4) | (data.destination & 0x0f);
|
||||
+ if (data.opcode_set)
|
||||
+ {
|
||||
+ message[1] = data.opcode;
|
||||
+ msg_len++;
|
||||
+ memcpy(&message[2], data.parameters.data, data.parameters.size);
|
||||
+ msg_len+=data.parameters.size;
|
||||
+ }
|
||||
+
|
||||
+ if (m_dev->Write(message, msg_len) == msg_len)
|
||||
+ return ADAPTER_MESSAGE_STATE_SENT_ACKED;
|
||||
+
|
||||
+ error = m_dev->GetErrorNumber();
|
||||
+ if (error == EIO)
|
||||
+ return ADAPTER_MESSAGE_STATE_SENT_NOT_ACKED;
|
||||
+
|
||||
+ if (error != EAGAIN)
|
||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: write error %d", __func__, error);
|
||||
+
|
||||
+ return ADAPTER_MESSAGE_STATE_ERROR;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+uint16_t CIMXCECAdapterCommunication::GetFirmwareVersion(void)
|
||||
+{
|
||||
+ /* FIXME add ioctl ? */
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+cec_vendor_id CIMXCECAdapterCommunication::GetVendorId(void)
|
||||
+{
|
||||
+ return CEC_VENDOR_UNKNOWN;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+uint16_t CIMXCECAdapterCommunication::GetPhysicalAddress(void)
|
||||
+{
|
||||
+ uint32_t info;
|
||||
+ uint16_t phy_addr;
|
||||
+
|
||||
+ 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);
|
||||
+
|
||||
+ return phy_addr;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+cec_logical_addresses CIMXCECAdapterCommunication::GetLogicalAddresses(void)
|
||||
+{
|
||||
+ cec_logical_addresses addresses;
|
||||
+ addresses.Clear();
|
||||
+
|
||||
+ CLockObject lock(m_mutex);
|
||||
+ if ((m_logicalAddress & (CECDEVICE_UNKNOWN | CECDEVICE_UNREGISTERED)) == 0)
|
||||
+ addresses.Set(m_logicalAddress);
|
||||
+
|
||||
+ return addresses;
|
||||
+}
|
||||
+
|
||||
+void CIMXCECAdapterCommunication::HandleLogicalAddressLost(cec_logical_address UNUSED(oldAddress))
|
||||
+{
|
||||
+ UnregisterLogicalAddress();
|
||||
+}
|
||||
+
|
||||
+bool CIMXCECAdapterCommunication::UnregisterLogicalAddress(void)
|
||||
+{
|
||||
+ CLockObject lock(m_mutex);
|
||||
+ if (!m_bLogicalAddressRegistered)
|
||||
+ return true;
|
||||
+
|
||||
+ if (m_dev->Ioctl(HDMICEC_IOC_SETLOGICALADDRESS, (void *)CECDEVICE_BROADCAST) != 0)
|
||||
+ {
|
||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: HDMICEC_IOC_SETLOGICALADDRESS failed !", __func__);
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ 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)
|
||||
+ {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ if (m_dev->Ioctl(HDMICEC_IOC_SETLOGICALADDRESS, (void *)address) != 0)
|
||||
+ {
|
||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: HDMICEC_IOC_SETLOGICALADDRESS failed !", __func__);
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ m_logicalAddress = address;
|
||||
+ m_bLogicalAddressRegistered = true;
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+bool CIMXCECAdapterCommunication::SetLogicalAddresses(const cec_logical_addresses &addresses)
|
||||
+{
|
||||
+ int log_addr = addresses.primary;
|
||||
+
|
||||
+ return RegisterLogicalAddress((cec_logical_address)log_addr);
|
||||
+}
|
||||
+
|
||||
+void *CIMXCECAdapterCommunication::Process(void)
|
||||
+{
|
||||
+ hdmi_cec_event event;
|
||||
+ int ret;
|
||||
+
|
||||
+ cec_logical_address initiator, destination;
|
||||
+
|
||||
+ while (!IsStopped())
|
||||
+ {
|
||||
+ ret = m_dev->Read((char *)&event, sizeof(event), 1000);
|
||||
+ if (ret > 0)
|
||||
+ {
|
||||
+
|
||||
+ initiator = cec_logical_address(event.msg[0] >> 4);
|
||||
+ destination = cec_logical_address(event.msg[0] & 0x0f);
|
||||
+
|
||||
+ //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);
|
||||
+
|
||||
+ for( uint8_t i = 2; i < event.msg_len; i++ )
|
||||
+ cmd.parameters.PushBack(event.msg[i]);
|
||||
+
|
||||
+ if (!IsStopped())
|
||||
+ m_callback->OnCommandReceived(cmd);
|
||||
+ }
|
||||
+
|
||||
+ 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);
|
||||
+ }*/
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#endif // HAVE_IMX_API
|
||||
diff --git a/src/libcec/adapter/IMX/IMXCECAdapterCommunication.h b/src/libcec/adapter/IMX/IMXCECAdapterCommunication.h
|
||||
new file mode 100644
|
||||
index 0000000..7862656
|
||||
--- /dev/null
|
||||
+++ b/src/libcec/adapter/IMX/IMXCECAdapterCommunication.h
|
||||
@@ -0,0 +1,115 @@
|
||||
+#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.
|
||||
+ *
|
||||
+ * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
|
||||
+ *
|
||||
+ * You can redistribute this file 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.
|
||||
+ *
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#if defined(HAVE_IMX_API)
|
||||
+
|
||||
+#include "p8-platform/threads/mutex.h"
|
||||
+#include "p8-platform/threads/threads.h"
|
||||
+#include "p8-platform/sockets/socket.h"
|
||||
+#include "adapter/AdapterCommunication.h"
|
||||
+#include <map>
|
||||
+
|
||||
+#define IMX_ADAPTER_VID 0x0471 /*FIXME TBD*/
|
||||
+#define IMX_ADAPTER_PID 0x1001
|
||||
+
|
||||
+
|
||||
+
|
||||
+namespace P8PLATFORM
|
||||
+{
|
||||
+ class CCDevSocket;
|
||||
+};
|
||||
+
|
||||
+
|
||||
+namespace CEC
|
||||
+{
|
||||
+ class CIMXCECAdapterCommunication : public IAdapterCommunication, public P8PLATFORM::CThread
|
||||
+ {
|
||||
+ public:
|
||||
+ /*!
|
||||
+ * @brief Create a new USB-CEC communication handler.
|
||||
+ * @param callback The callback to use for incoming CEC commands.
|
||||
+ */
|
||||
+ CIMXCECAdapterCommunication(IAdapterCommunicationCallback *callback);
|
||||
+ virtual ~CIMXCECAdapterCommunication(void);
|
||||
+
|
||||
+ /** @name IAdapterCommunication implementation */
|
||||
+ ///{
|
||||
+ bool Open(uint32_t iTimeoutMs = CEC_DEFAULT_CONNECT_TIMEOUT, bool bSkipChecks = false, bool bStartListening = true);
|
||||
+ void Close(void);
|
||||
+ bool IsOpen(void);
|
||||
+ std::string GetError(void) const;
|
||||
+ cec_adapter_message_state Write(const cec_command &data, bool &bRetry, uint8_t iLineTimeout, bool bIsReply);
|
||||
+
|
||||
+ bool SetLineTimeout(uint8_t UNUSED(iTimeout)) { return true; }
|
||||
+ bool StartBootloader(void) { return false; }
|
||||
+ bool SetLogicalAddresses(const cec_logical_addresses &addresses);
|
||||
+ cec_logical_addresses GetLogicalAddresses(void);
|
||||
+ bool PingAdapter(void) { return IsInitialised(); }
|
||||
+ uint16_t GetFirmwareVersion(void);
|
||||
+ uint32_t GetFirmwareBuildDate(void) { return 0; }
|
||||
+ bool IsRunningLatestFirmware(void) { return true; }
|
||||
+ bool PersistConfiguration(const libcec_configuration & UNUSED(configuration)) { return false; }
|
||||
+ bool GetConfiguration(libcec_configuration & UNUSED(configuration)) { return false; }
|
||||
+ std::string GetPortName(void) { return std::string("IMX"); }
|
||||
+ uint16_t GetPhysicalAddress(void);
|
||||
+ bool SetControlledMode(bool UNUSED(controlled)) { return true; }
|
||||
+ cec_vendor_id GetVendorId(void);
|
||||
+ 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 P8PLATFORM::CThread implementation */
|
||||
+ ///{
|
||||
+ void *Process(void);
|
||||
+ ///}
|
||||
+
|
||||
+ private:
|
||||
+ bool IsInitialised(void) const { return m_bInitialised; };
|
||||
+ bool UnregisterLogicalAddress(void);
|
||||
+
|
||||
+ std::string m_strError; /**< current error message */
|
||||
+
|
||||
+ cec_logical_address m_logicalAddress;
|
||||
+
|
||||
+ P8PLATFORM::CMutex m_mutex;
|
||||
+ P8PLATFORM::CCDevSocket *m_dev; /**< the device connection */
|
||||
+ bool m_bLogicalAddressRegistered;
|
||||
+ bool m_bInitialised;
|
||||
+
|
||||
+ P8PLATFORM::CMutex m_messageMutex;
|
||||
+ uint32_t m_iNextMessage;
|
||||
+ };
|
||||
+
|
||||
+};
|
||||
+
|
||||
+#endif
|
||||
diff --git a/src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp b/src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp
|
||||
new file mode 100644
|
||||
index 0000000..dc4dca0
|
||||
--- /dev/null
|
||||
+++ b/src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp
|
||||
@@ -0,0 +1,42 @@
|
||||
+/*
|
||||
+ * 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.
|
||||
+ *
|
||||
+ * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
|
||||
+ *
|
||||
+ * You can redistribute this file 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.
|
||||
+ *
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "env.h"
|
||||
+#include <stdio.h>
|
||||
+
|
||||
+#if defined(HAVE_IMX_API)
|
||||
+#include "IMXCECAdapterDetection.h"
|
||||
+
|
||||
+
|
||||
+using namespace CEC;
|
||||
+
|
||||
+bool CIMXCECAdapterDetection::FindAdapter(void)
|
||||
+{
|
||||
+ return access(CEC_IMX_PATH, 0) == 0;
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
diff --git a/src/libcec/adapter/IMX/IMXCECAdapterDetection.h b/src/libcec/adapter/IMX/IMXCECAdapterDetection.h
|
||||
new file mode 100644
|
||||
index 0000000..14af8d8
|
||||
--- /dev/null
|
||||
+++ b/src/libcec/adapter/IMX/IMXCECAdapterDetection.h
|
||||
@@ -0,0 +1,36 @@
|
||||
+#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.
|
||||
+ *
|
||||
+ * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
|
||||
+ *
|
||||
+ * You can redistribute this file 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.
|
||||
+ *
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+namespace CEC
|
||||
+{
|
||||
+ class CIMXCECAdapterDetection
|
||||
+ {
|
||||
+ public:
|
||||
+ static bool FindAdapter(void);
|
||||
+ };
|
||||
+}
|
||||
diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake
|
||||
index 532f213..4ef5d75 100644
|
||||
--- a/src/libcec/cmake/CheckPlatformSupport.cmake
|
||||
+++ b/src/libcec/cmake/CheckPlatformSupport.cmake
|
||||
@@ -10,6 +10,7 @@
|
||||
# HAVE_TDA995X_API ON if TDA995X is supported
|
||||
# HAVE_EXYNOS_API ON if Exynos is supported
|
||||
# HAVE_AOCEC_API ON if AOCEC is supported
|
||||
+# HAVE_IMX_API ON if iMX.6 is supported
|
||||
# HAVE_P8_USB ON if Pulse-Eight devices are supported
|
||||
# HAVE_P8_USB_DETECT ON if Pulse-Eight devices can be auto-detected
|
||||
# HAVE_DRM_EDID_PARSER ON if DRM EDID parsing is supported
|
||||
@@ -148,6 +149,18 @@ else()
|
||||
else()
|
||||
set(HAVE_AOCEC_API 0)
|
||||
endif()
|
||||
+
|
||||
+ # i.MX6
|
||||
+ if (${HAVE_IMX_API})
|
||||
+ set(LIB_INFO "${LIB_INFO}, 'i.MX6'")
|
||||
+ set(HAVE_IMX_API 1)
|
||||
+ set(CEC_SOURCES_ADAPTER_IMX adapter/IMX/IMXCECAdapterCommunication.cpp
|
||||
+ adapter/IMX/IMXCECAdapterDetection.cpp)
|
||||
+ source_group("Source Files\\adapter\\IMX" FILES ${CEC_SOURCES_ADAPTER_IMX})
|
||||
+ list(APPEND CEC_SOURCES ${CEC_SOURCES_ADAPTER_IMX})
|
||||
+ else()
|
||||
+ set(HAVE_IMX_API 0)
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
# rt
|
||||
diff --git a/src/libcec/cmake/DisplayPlatformSupport.cmake b/src/libcec/cmake/DisplayPlatformSupport.cmake
|
||||
index 7ec10f5..2262638 100644
|
||||
--- a/src/libcec/cmake/DisplayPlatformSupport.cmake
|
||||
+++ b/src/libcec/cmake/DisplayPlatformSupport.cmake
|
||||
@@ -45,9 +45,15 @@ else()
|
||||
endif()
|
||||
|
||||
if (HAVE_AOCEC_API)
|
||||
- message(STATUS "AOCEC support: yes")
|
||||
+ message(STATUS "AOCEC support: yes")
|
||||
else()
|
||||
- message(STATUS "AOCEC support: no")
|
||||
+ message(STATUS "AOCEC support: no")
|
||||
+endif()
|
||||
+
|
||||
+if (HAVE_IMX_API)
|
||||
+ message(STATUS "i.MX6 support: yes")
|
||||
+else()
|
||||
+ message(STATUS "i.MX6 support: no")
|
||||
endif()
|
||||
|
||||
if (HAVE_PYTHON)
|
||||
diff --git a/src/libcec/env.h.in b/src/libcec/env.h.in
|
||||
index fe6c83d..e96bcd5 100644
|
||||
--- a/src/libcec/env.h.in
|
||||
+++ b/src/libcec/env.h.in
|
||||
@@ -73,6 +73,9 @@
|
||||
/* Define to 1 for TDA995x support */
|
||||
#cmakedefine HAVE_TDA995X_API @HAVE_TDA995X_API@
|
||||
|
||||
+/* Define to 1 for IMX support */
|
||||
+#cmakedefine HAVE_IMX_API @HAVE_IMX_API@
|
||||
+
|
||||
/* Define to 1 for Exynos support */
|
||||
#cmakedefine HAVE_EXYNOS_API @HAVE_EXYNOS_API@
|
||||
|
||||
--
|
||||
2.7.1
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
From bff5c44d1c5deeda77439c0f6d8e0ab1fa76c167 Mon Sep 17 00:00:00 2001
|
||||
From 714ce8ee2ba07fe88249b8033d875f58ed21a4ab Mon Sep 17 00:00:00 2001
|
||||
From: Peter Vicman <peter.vicman@gmail.com>
|
||||
Date: Sat, 3 Dec 2016 11:33:39 +0100
|
||||
Date: Thu, 12 Jan 2017 09:36:24 +0100
|
||||
Subject: [PATCH] patch for libcec from xbian
|
||||
|
||||
libcec base: libcec-209884d
|
||||
libcec base: libcec-2fc92b5
|
||||
libcec xbian:
|
||||
https://github.com/xbianonpi/xbian-sources-libcec/tree/masterv4 2ff5a0175937d5b190256c679d0b3b6f564f903a
|
||||
https://github.com/xbianonpi/xbian-sources-libcec/tree/masterv4 e12f92586ccda4fe20814c93d5830ed3a33f3a4e
|
||||
---
|
||||
CMakeLists.txt | 6 +
|
||||
debian/control | 7 +-
|
||||
@@ -52,12 +52,12 @@ libcec xbian:
|
||||
create mode 100644 src/libcec/implementations/GRCommandHandler.h
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 123b3b4..cdf1317 100644
|
||||
index 4f01662..7c19dd5 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -5,6 +5,12 @@ set(LIBCEC_VERSION_MAJOR 4)
|
||||
set(LIBCEC_VERSION_MINOR 0)
|
||||
set(LIBCEC_VERSION_PATCH 0)
|
||||
set(LIBCEC_VERSION_PATCH 1)
|
||||
|
||||
+find_program(CCACHE_FOUND ccache)
|
||||
+if(CCACHE_FOUND)
|
||||
@@ -475,7 +475,7 @@ index 7155926..b9e393b 100644
|
||||
const char* ToString(const cec_menu_state state) { return CCECTypeUtils::ToString(state); }
|
||||
const char* ToString(const cec_version version) { return CCECTypeUtils::ToString(version); }
|
||||
diff --git a/src/libcec/adapter/AdapterFactory.cpp b/src/libcec/adapter/AdapterFactory.cpp
|
||||
index 1e946e6..261c60d 100644
|
||||
index 91195ea..e2460ad 100644
|
||||
--- a/src/libcec/adapter/AdapterFactory.cpp
|
||||
+++ b/src/libcec/adapter/AdapterFactory.cpp
|
||||
@@ -63,6 +63,11 @@
|
||||
@@ -1458,7 +1458,7 @@ index db682c1..15b6a23 100755
|
||||
commits_since_tag=`git log ${last_tag}..HEAD --oneline | wc -l`
|
||||
git_dirty=`git diff HEAD | wc -l`
|
||||
diff --git a/src/libcec/devices/CECBusDevice.cpp b/src/libcec/devices/CECBusDevice.cpp
|
||||
index 612be6d..2be9816 100644
|
||||
index 99f762c..be72b05 100644
|
||||
--- a/src/libcec/devices/CECBusDevice.cpp
|
||||
+++ b/src/libcec/devices/CECBusDevice.cpp
|
||||
@@ -44,6 +44,7 @@
|
||||
@@ -1511,10 +1511,10 @@ index b8255aa..8493d48 100644
|
||||
static CCECAudioSystem * AsAudioSystem(CCECBusDevice *device);
|
||||
CCECPlaybackDevice * AsPlaybackDevice(void);
|
||||
diff --git a/src/libcec/env.h.in b/src/libcec/env.h.in
|
||||
index fe6c83d..91c7a27 100644
|
||||
index 0774a1c..14c7704 100644
|
||||
--- a/src/libcec/env.h.in
|
||||
+++ b/src/libcec/env.h.in
|
||||
@@ -66,6 +66,9 @@
|
||||
@@ -70,6 +70,9 @@
|
||||
/* Define to 1 for Raspberry Pi support */
|
||||
#cmakedefine HAVE_RPI_API @HAVE_RPI_API@
|
||||
|
||||
@@ -1762,5 +1762,5 @@ index 0000000..e01c7fc
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.7.1
|
||||
2.7.4
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
Fix build error when CONFIG_PM_SLEEP is not set
|
||||
|
||||
--- a/drivers/pci/host/pci-imx6.c 2017-01-14 19:50:14.159715318 +0100
|
||||
+++ b/drivers/pci/host/pci-imx6.c 2017-01-14 19:50:42.182645605 +0100
|
||||
@@ -1311,7 +1311,9 @@ static struct platform_driver imx6_pcie_
|
||||
.name = "imx6q-pcie",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = imx6_pcie_of_match,
|
||||
+#ifdef CONFIG_PM_SLEEP
|
||||
.pm = &pci_imx_pm_ops,
|
||||
+#endif
|
||||
},
|
||||
.shutdown = imx6_pcie_shutdown,
|
||||
};
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user