Compare commits

...

93 Commits

Author SHA1 Message Date
Christian Hewitt
7542b351ce Merge pull request #1374 from codesnake/update_wetekdvb_le8
Backport of #1372 (Update WeTek proprietary DVB modules to wetekdvb-20170116)
2017-02-21 23:45:23 +04:00
Christian Hewitt
22cb3de37b Merge pull request #1375 from codesnake/wetek_core_cpu_governor_le8
Backport of #1373 (projects/WeTek_Core: Switch to ondemand CPU scaling governor)
2017-02-20 09:24:16 +04:00
Christian Hewitt
47ba862258 Merge pull request #1376 from Kwiboo/le8-wetek-pwm
WeTek_Hub/WeTek_Play_2: disable meson PWM support
2017-02-20 09:23:32 +04:00
Jonas Karlman
0c29d42dfb WeTek_Hub/WeTek_Play_2: disable meson PWM support 2017-02-19 22:34:52 +01:00
Alex Deryskyba
c908c1f453 projects/WeTek_Core: Switch to ondemand CPU scaling governor
The interactive CPU scaling governor for some reason causes a significant slowdown after some time of inactivity.
WeTek Core becomes very sluggish and almost unusable until a reboot.

Switching to ondemand governor seems fixes the issue.
2017-02-19 20:29:29 +01:00
Alex Deryskyba
03b1748e35 packages/linux-drivers/wetekdvb: Update WeTek proprietary DVB modules to wetekdvb-20170116 2017-02-19 20:23:11 +01:00
Lukas Rusak
6f8718d27c Merge pull request #1361 from chewitt/version_800
config: set version to 8.0.0
2017-02-17 20:22:48 -08:00
Lukas Rusak
52032717d3 Merge pull request #1368 from chewitt/linux-hashes
linux: udpate linux-amlogic 3.14 kernel to 2f04daa
2017-02-17 20:22:12 -08:00
chewitt
7b73c87b5c config: set version to 8.0.0 2017-02-18 04:20:29 +00:00
Christian Hewitt
fc3302b54a Merge pull request #1342 from wrxtasy/LE8-C2-PWM
odroid-c2: linux add PWM support
2017-02-18 08:18:07 +04:00
chewitt
6b4fc85163 linux: udpate linux-amlogic 3.14 kernel to 2f04daa 2017-02-18 04:03:54 +00:00
MilhouseVH
a0bc8c4dac Merge pull request #1367 from chewitt/linux-hashes
linux: update linux-amlogic 3.10 kernel to de626d8
2017-02-18 02:53:25 +00:00
chewitt
da66b9b4bd linux: update linux-amlogic 3.10 kernel to de626d8 2017-02-18 02:45:21 +00:00
Christian Hewitt
c31206ff78 Merge pull request #1363 from codesnake/update_amlogic_kernel_3.10_le8
Backport of #1362 (Update Amlogic kernel to 3.10-de626d8)
2017-02-17 19:57:42 +04:00
Peter V
94e8f64f12 Merge pull request #1335 from wrxtasy/LE8-hexdump
busybox: add hexdump for C2 RAM OClocking script
2017-02-17 13:43:16 +01:00
Alex Deryskyba
6467122c22 packages/linux: Update Amlogic kernel to 3.10-de626d8 2017-02-17 12:56:36 +01:00
Christian Hewitt
2907959e13 Merge pull request #1360 from Kwiboo/lirc-repeat-fixup
kodi: skip one lirc repeat event
2017-02-17 12:45:06 +04:00
Jonas Karlman
8454fbaa70 kodi: skip one lirc repeat event
This fixes an edge case for Harmony remotes configured to send 3 command repeats
2017-02-17 09:13:33 +01:00
Lukas Rusak
4e85d78c5a Merge pull request #1359 from chewitt/settings_089
settings: bump to v0.8.9
2017-02-16 21:41:58 -08:00
chewitt
0668aa8a07 settings: bump to v0.8.9 2017-02-17 05:35:16 +00:00
Christian Hewitt
91099120ac Merge pull request #1351 from lrusak/docker-libreelec-8.0
backport of #1350 (docker: enable journald buildtag)
2017-02-15 23:51:36 +04:00
Lukas Rusak
be9c7ab79f docker: enable journald buildtag 2017-02-15 11:48:27 -08:00
Christian Hewitt
396624cfb9 Merge pull request #1345 from MilhouseVH/nvidia_bump_8.0
xf86-video-nvidia*: bump 375.39 and 340.102 [backport]
2017-02-15 22:48:58 +04:00
Christian Hewitt
97a8eb49cb Merge pull request #1349 from HiassofT/le8-v4l-utils-backport
[LE8 backport] v4l-utils: fix issues with streamzap remote
2017-02-15 22:47:01 +04:00
Matthias Reichl
6949ffd446 v4l-utils: fix invalid protocol in streamzap keymap 2017-02-15 18:18:59 +01:00
Matthias Reichl
3f7cc3eb02 v4l-utils: backport ir-keytable streamzap fix 2017-02-15 18:18:59 +01:00
MilhouseVH
28dedbd6de xf86-video-nvidia-legacy: update to xf86-video-nvidia-legacy-340.102 2017-02-15 02:51:14 +00:00
MilhouseVH
01685cc719 xf86-video-nvidia: update to xf86-video-nvidia-375.39 2017-02-15 02:51:14 +00:00
Jamie Coldhill
c56cc486af odroid-c2: linux add PWM support
dependant on PR:
https://github.com/LibreELEC/linux-amlogic/pull/45
2017-02-15 02:13:11 +08:00
Christian Hewitt
824565fc3f Merge pull request #1341 from wrxtasy/LE8-IR-GPIOPLUG
odroid-c2: linux - add missing IR_GPIOPLUG_CIR module
2017-02-14 22:12:46 +04:00
Jamie Coldhill
d6180afba3 odroid-c2: linux - add requested IR_GPIOPLUG_CIR module
http://forum.odroid.com/viewtopic.php?f=144&t=25742&start=50#p179080
2017-02-15 02:08:51 +08:00
Jamie Coldhill
2a7793733c busybox: add hexdump for C2 RAM OClock script 2017-02-14 23:06:34 +08:00
Christian Hewitt
d33c7ea336 Merge pull request #1332 from linuxserver/ziploc8.0
Backport of #1331 (change repo location for linuxserver addon zips)
2017-02-14 05:08:55 +04:00
aptalca
ac9bee017e repo: update linuxserver
change repo location for addon zips
2017-02-13 17:07:59 -05:00
Christian Hewitt
91d7ffa374 Merge pull request #1323 from Kwiboo/lirc-repeat
input: change input repeat config
2017-02-13 00:19:09 +04:00
Christian Hewitt
a0ab5dff70 Merge pull request #1328 from lrusak/devel
config/version: set back to devel
2017-02-12 23:26:29 +04:00
Lukas Rusak
7ddcdfa65a config/version: set back to devel 2017-02-12 09:50:36 -08:00
Jonas Karlman
ae5a16791b kodi: process all lirc repeat events 2017-02-12 17:56:16 +01:00
Jonas Karlman
194f304c22 v4l-utils: add 70-input-repeat.rules
This moves the repeat delay config from 98-eventlircd.rules,
changes the repeat period from 33ms to 80ms for lircd-uinput
and changes the repeat delay from 1s to 500ms for all input devices.
2017-02-12 17:56:16 +01:00
Christian Hewitt
c6e0ad65d7 Merge pull request #1325 from jester-xbmc/patch-3
Backport for LE8: Revert "Merge pull request #1081 from Raybuntu/even…
2017-02-12 20:02:37 +04:00
Christian Hewitt
22510cdfd2 Merge pull request #1324 from jester-xbmc/patch-2
Backport for LE8: WeTek_Play_2: Remap buttons in remote.conf
2017-02-12 20:01:30 +04:00
Jester
db83f0b8ba Backport for LE8: Revert "Merge pull request #1081 from Raybuntu/eventlircd"
work by @Raybuntu:
This reverts commit 8104294, reversing
changes made to dc61a12.

As mentioned in the other pull
https://github.com/LibreELEC/LibreELEC.tv/pull/1324#issuecomment-279215468
2017-02-12 13:49:45 +01:00
Jester
838715a1af Backport for LE8: WeTek_Play_2: Remap buttons in remote.conf
work by @Raybuntu this was already in master:
5df86b714d
2017-02-12 13:23:47 +01:00
Christian Hewitt
f9704e0d6f Merge pull request #1316 from lrusak/kodi-17-wp-libreelec-8.0
remove uneeded patches
2017-02-12 10:09:43 +04:00
Christian Hewitt
599d041a28 Merge pull request #1315 from lrusak/kodi-17-libreelec-8.0
backport of #1176 (remove and rework kodi patches)
2017-02-12 10:04:56 +04:00
Christian Hewitt
8a06a27d9c Merge pull request #1322 from lrusak/linux-am-libreelec-8.0
backport of #1321 (linux-amlogic: update to 83803a1)
2017-02-12 10:02:26 +04:00
Christian Hewitt
0ffe72b890 Merge pull request #1308 from lrusak/docker-libreelec-8.0
backport of #1307 (docker: update to 1.13.1)
2017-02-12 09:59:02 +04:00
Lukas Rusak
053fd91d52 linux-amlogic: update to 83803a1 2017-02-11 19:27:00 -08:00
Lukas Rusak
cf63cc1051 kodi: drop unneeded patch 2017-02-11 13:00:32 -08:00
Lukas Rusak
c3afcf4e6c WeTek_Play: remove uneeded patch 2017-02-10 12:49:14 -08:00
fritsch
deb8e68a2c kodi: add reworked intel detection patch to avoid polluting DVDCodecInfo 2017-02-10 12:46:15 -08:00
Lukas Rusak
82e434597d kodi: remove old intel detection patch 2017-02-10 12:46:15 -08:00
Lukas Rusak
764595b2b8 kodi: remove patch, p-state driver exposes scaling_cur_freq just fine 2017-02-10 12:46:15 -08:00
Lukas Rusak
a063d8f61d kodi: remove patch, possibly fixed in kernel 4.9 2017-02-10 12:46:14 -08:00
Lukas Rusak
88d0220b64 Merge pull request #1311 from chewitt/version_7953
config: set version to 7.95.3
2017-02-09 20:13:27 -08:00
chewitt
36a93bd8b5 config: set version to 7.95.3 2017-02-10 03:39:39 +00:00
Christian Hewitt
6051b70bbb Merge pull request #1310 from CvH/kodi17_backport
kodi: add backport to fix addon cache
2017-02-10 06:20:51 +04:00
cvh
c2eed16d0c kodi: add backport to fix addon cache 2017-02-09 19:58:35 +01:00
Lukas Rusak
3dfd23d811 docker: update to 1.13.1 2017-02-09 01:09:01 -08:00
Lukas Rusak
2d27c7d6b2 runc: update to 9df8b30 2017-02-09 01:09:01 -08:00
Lukas Rusak
840495f829 containerd: update to aa8187d 2017-02-09 01:09:00 -08:00
Lukas Rusak
6a931c6228 go: update to 1.7.5 2017-02-09 01:09:00 -08:00
lsellens
3390efbc80 net-snmp: new addon 2017-02-09 06:53:41 +04:00
Christian Hewitt
8f6f8614fe Merge pull request #1305 from lrusak/lirc-libreelec-8.0
backport of #1295 (lirc: simplify scripts)
2017-02-09 06:28:25 +04:00
Lukas Rusak
7a28e471ee lirc: simplify scripts 2017-02-08 18:21:44 -08:00
CvH
31ec452a95 Merge pull request #1303 from vpeter4/imx6-libcec
imx6/libcec: update libcec patches, add it also for 3.14 kernel [back…
2017-02-08 13:19:51 +01:00
CvH
6cd60e15b6 Merge pull request #1302 from vpeter4/imx6-linux
imx6/linux: update sr-3.14 to 2fb11e2 (supports v1.5 soms from solidr…
2017-02-08 13:15:26 +01:00
CvH
62f9fb4246 Merge pull request #1300 from vpeter4/imx6-uboot
imx6/u-boot: update to c8d1200 [backport]
2017-02-08 13:15:19 +01:00
CvH
48cc5baf64 Merge pull request #1301 from vpeter4/imx6-uboot-v2
imx6/u-boot-v2: update to 2017.01 [backport]
2017-02-08 13:15:04 +01:00
Peter Vicman
f97b5e20f6 imx6/libcec: update libcec patches, add it also for 3.14 kernel [backport] 2017-02-08 11:42:43 +01:00
Peter Vicman
b9c74ec5a7 imx6/linux: update sr-3.14 to 2fb11e2 (supports v1.5 soms from solidrun) [backport] 2017-02-08 11:42:02 +01:00
Peter Vicman
30db61e96b imx6/u-boot-v2: update to 2017.01 [backport] 2017-02-08 11:41:05 +01:00
Peter Vicman
b6e4f4ee49 imx6/u-boot: update to c8d1200 [backport] 2017-02-08 11:40:00 +01:00
Christian Hewitt
858b653a36 Merge pull request #1290 from HiassofT/le8-lirc
backport of #1281 (fix lirc cross-compilation and non-working left/right keys)
2017-02-07 14:43:56 +04:00
Matthias Reichl
d3c568d81c eventlircd: dont' send _UP release events
Kodi doesn't support the artificial lirc release events and
_UP leads to a clash since KEY_LEFT_UP and KEY_RIGHT_UP are valid
linux input events since the diagonal key support in kernel 4.7.
2017-02-07 09:10:14 +01:00
Matthias Reichl
f63efba4e9 lirc: fix cross compilation
Make sure lirc uses kernel headers from target, not the build
host, when generating input_map.inc.
2017-02-07 09:10:06 +01:00
Matthias Reichl
7305d58ddb lirc: use _LIRCUP as key-release suffix instead of _UP
Since diagonal key support was added in kernel 4.7 KEY_LEFT_UP
and KEY_RIGHT_UP are valid input symbols.

This means we can no longer use _UP as a suffix for transporting
release events from lircd to lircd-uinput, lircd-uinput now
interprets KEY_LEFT_UP/KEY_RIGHT_UP as a diagnoal key down event
instead of left/right key release.
2017-02-07 09:09:58 +01:00
Lukas Rusak
ab5d0de1b2 Merge pull request #1289 from chewitt/backports
eventlircd: use default initial-repeat delay for gpio-rc-recv
2017-02-06 22:42:09 -08:00
Matthias Reichl
3fc5343a9d eventlircd: use default initial-repeat delay for gpio-rc-recv 2017-02-07 05:34:34 +00:00
Christian Hewitt
d845c83825 Merge pull request #1267 from ozolli/le8-btpowerup
backport of #1256
2017-02-07 09:32:17 +04:00
Christian Hewitt
f140ac6130 Merge pull request #1288 from lrusak/64bit-fix-libreelec-8.0
backport of #1286 (kodi: set MALLOC_MMAP_THRESHOLD_=524288 for 64bit cpus)
2017-02-07 09:31:32 +04:00
popcornmix
36a3754ef5 kodi: set MALLOC_MMAP_THRESHOLD_=524288 for 64bit cpus 2017-02-06 21:28:15 -08:00
Christian Hewitt
62808dc328 Merge pull request #1280 from MilhouseVH/linux498_backport
linux: update to linux-4.9.8 [LE8]
2017-02-06 16:24:33 +04:00
MilhouseVH
fc9d875d7d RBP: config: Add SND_SOC_ADAU7002 codec module 2017-02-05 06:22:50 +00:00
MilhouseVH
1d3f16f6e2 RPi/RPi2: update linux support patches for linux 4.9.8 2017-02-05 06:13:58 +00:00
MilhouseVH
07e8421ff5 RBP: update to firmware 475a89a 2017-02-05 06:12:26 +00:00
MilhouseVH
8bf437cc18 linux: update to linux-4.9.8 2017-02-05 06:11:48 +00:00
MilhouseVH
504ecccd10 Merge pull request #1279 from chewitt/version_devel
config: set version to devel
2017-02-05 06:06:07 +00:00
chewitt
cdf4232fe3 config: set version to devel 2017-02-05 05:58:58 +00:00
Christian Hewitt
f9c44bc1a7 Merge pull request #1235 from HiassofT/le8-systemd
backport of #1234
2017-02-05 08:51:53 +04:00
DaVukovic
b48f83a18a busybox: cleanup getedid script 2017-02-05 08:39:56 +04:00
ozolli
25d93d8f5d bluez: set AutoEnable policy 2017-02-02 09:45:27 +01:00
Matthias Reichl
6d14b10631 systemd: make standard systemctl commands work again 2017-01-28 13:12:40 +01:00
121 changed files with 4908 additions and 1260 deletions

View File

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

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="containerd"
PKG_VERSION="03e5862"
PKG_VERSION="aa8187d"
PKG_ARCH="any"
PKG_LICENSE="APL"
PKG_SITE="https://containerd.tools/"

View File

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

View File

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

View File

@@ -1,2 +1,5 @@
101
- Change repo location for zips
100
- Initial LibreELEC version

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,3 @@
100
- Initial addon
- net-snmp 5.7.3

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View 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
}

View 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

View 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

View 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/>.
################################################################################

View 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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View 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);

View File

@@ -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 &current, 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

View File

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

View File

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

View File

@@ -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() {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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 },
{}
};

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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() {

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<showexitbutton>false</showexitbutton>
<remotedelay>1</remotedelay>
<fanartres>720</fanartres>
<imageres>540</imageres>

View File

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

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<showexitbutton>false</showexitbutton>
<remotedelay>1</remotedelay>
<fanartres>720</fanartres>
<imageres>540</imageres>

View File

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

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<showexitbutton>false</showexitbutton>
<remotedelay>1</remotedelay>
<samba>
<clienttimeout>30</clienttimeout>

View File

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

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<showexitbutton>false</showexitbutton>
<remotedelay>1</remotedelay>
<samba>
<clienttimeout>30</clienttimeout>

View File

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

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<showexitbutton>false</showexitbutton>
<remotedelay>1</remotedelay>
<samba>
<clienttimeout>30</clienttimeout>

View File

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

View File

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

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<showexitbutton>false</showexitbutton>
<remotedelay>1</remotedelay>
<samba>
<clienttimeout>30</clienttimeout>

View File

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

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<showexitbutton>false</showexitbutton>
<remotedelay>1</remotedelay>
<samba>
<clienttimeout>30</clienttimeout>
</samba>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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