mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-25 19:56:43 +00:00
Merge pull request #594 from codesnake/wetek_hub
Add support for WeTek Hub TV box
This commit is contained in:
commit
54cf9f3432
5
packages/linux-drivers/brcmap6xxx-aml/config/config.txt
Normal file
5
packages/linux-drivers/brcmap6xxx-aml/config/config.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
kso_enable=0
|
||||||
|
ccode=CN
|
||||||
|
regrev=38
|
||||||
|
nv_by_chip=1 \
|
||||||
|
17209 1 nvram_ap6335.txt
|
@ -0,0 +1 @@
|
|||||||
|
options dhd firmware_path=/lib/firmware/brcm/ nvram_path=/lib/firmware/brcm/
|
@ -0,0 +1 @@
|
|||||||
|
dhd
|
50
packages/linux-drivers/brcmap6xxx-aml/package.mk
Normal file
50
packages/linux-drivers/brcmap6xxx-aml/package.mk
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
################################################################################
|
||||||
|
# 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="brcmap6xxx-aml"
|
||||||
|
PKG_REV="1"
|
||||||
|
PKG_ARCH="arm aarch64"
|
||||||
|
PKG_LICENSE="GPL"
|
||||||
|
PKG_SITE="http://openlinux.amlogic.com:8000/download/ARM/wifi/"
|
||||||
|
PKG_VERSION="1.201.59.5-b82e63f"
|
||||||
|
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain linux wlan-firmware-aml"
|
||||||
|
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||||
|
PKG_PRIORITY="optional"
|
||||||
|
PKG_SECTION="driver"
|
||||||
|
PKG_SHORTDESC="brcmap6xxx-aml: Linux drivers for AP6xxx WLAN chips used in some devices based on Amlogic SoCs"
|
||||||
|
PKG_LONGDESC="brcmap6xxx-aml: Linux drivers for AP6xxx WLAN chips used in some devices based on Amlogic SoCs"
|
||||||
|
|
||||||
|
PKG_IS_ADDON="no"
|
||||||
|
PKG_AUTORECONF="no"
|
||||||
|
|
||||||
|
make_target() {
|
||||||
|
cd bcmdhd_1_201_59_x
|
||||||
|
LDFLAGS="" make V=1 \
|
||||||
|
-C $(kernel_path) M=$ROOT/$PKG_BUILD/bcmdhd_1_201_59_x \
|
||||||
|
ARCH=$TARGET_KERNEL_ARCH \
|
||||||
|
CROSS_COMPILE=$TARGET_PREFIX
|
||||||
|
}
|
||||||
|
|
||||||
|
makeinstall_target() {
|
||||||
|
mkdir -p $INSTALL/lib/modules/$(get_module_dir)/bcmdhd
|
||||||
|
cp *.ko $INSTALL/lib/modules/$(get_module_dir)/bcmdhd
|
||||||
|
|
||||||
|
mkdir -p $INSTALL/lib/firmware/brcm
|
||||||
|
cp $PKG_DIR/config/config.txt $INSTALL/lib/firmware/brcm
|
||||||
|
}
|
1
packages/linux-drivers/gpu-aml/modules-load.d/mali.conf
Normal file
1
packages/linux-drivers/gpu-aml/modules-load.d/mali.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
mali
|
48
packages/linux-drivers/gpu-aml/package.mk
Normal file
48
packages/linux-drivers/gpu-aml/package.mk
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
################################################################################
|
||||||
|
# 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="gpu-aml"
|
||||||
|
PKG_REV="1"
|
||||||
|
PKG_ARCH="arm aarch64"
|
||||||
|
PKG_LICENSE="GPL"
|
||||||
|
PKG_SITE="http://openlinux.amlogic.com:8000/download/ARM/gpu/"
|
||||||
|
PKG_VERSION="r6p1-01rel0-2364187"
|
||||||
|
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain linux"
|
||||||
|
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||||
|
PKG_PRIORITY="optional"
|
||||||
|
PKG_SECTION="driver"
|
||||||
|
PKG_SHORTDESC="gpu-aml: Linux drivers for Mali GPUs found in Amlogic Meson SoCs"
|
||||||
|
PKG_LONGDESC="gpu-aml: Linux drivers for Mali GPUs found in Amlogic Meson SoCs"
|
||||||
|
|
||||||
|
PKG_IS_ADDON="no"
|
||||||
|
PKG_AUTORECONF="no"
|
||||||
|
|
||||||
|
make_target() {
|
||||||
|
cd mali
|
||||||
|
LDFLAGS="" make V=1 \
|
||||||
|
-C $(kernel_path) M=$ROOT/$PKG_BUILD/mali \
|
||||||
|
ARCH=$TARGET_KERNEL_ARCH \
|
||||||
|
CROSS_COMPILE=$TARGET_PREFIX \
|
||||||
|
CONFIG_MALI400=m CONFIG_MALI450=m
|
||||||
|
}
|
||||||
|
|
||||||
|
makeinstall_target() {
|
||||||
|
mkdir -p $INSTALL/lib/modules/$(get_module_dir)/mali
|
||||||
|
cp *.ko $INSTALL/lib/modules/$(get_module_dir)/mali
|
||||||
|
}
|
44
packages/linux-firmware/wlan-firmware-aml/package.mk
Normal file
44
packages/linux-firmware/wlan-firmware-aml/package.mk
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
################################################################################
|
||||||
|
# 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="wlan-firmware-aml"
|
||||||
|
PKG_VERSION="b74369c"
|
||||||
|
PKG_REV="1"
|
||||||
|
PKG_ARCH="any"
|
||||||
|
PKG_LICENSE="Free-to-use"
|
||||||
|
PKG_SITE="http://openlinux.amlogic.com:8000/download/ARM/wifi/"
|
||||||
|
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
|
PKG_PRIORITY="optional"
|
||||||
|
PKG_SECTION="firmware"
|
||||||
|
PKG_SHORTDESC="wlan-firmware-aml: Firmware for various WLAN chips used in the devices based on Amlogic SoCs"
|
||||||
|
PKG_LONGDESC="wlan-firmware-aml: Firmware for various WLAN chips used in the devices based on Amlogic SoCs"
|
||||||
|
|
||||||
|
PKG_IS_ADDON="no"
|
||||||
|
PKG_AUTORECONF="no"
|
||||||
|
|
||||||
|
make_target() {
|
||||||
|
: # nothing todo
|
||||||
|
}
|
||||||
|
|
||||||
|
makeinstall_target() {
|
||||||
|
mkdir -p $INSTALL/lib/firmware/brcm
|
||||||
|
cp -PR bcm_ampak/config/6335/fw_bcm4339a0_*.bin $INSTALL/lib/firmware/brcm
|
||||||
|
cp -P bcm_ampak/config/6335/nvram.txt $INSTALL/lib/firmware/brcm/nvram_ap6335.txt
|
||||||
|
cp -P bcm_ampak/config/6335/BT/bcm4335c0.hcd $INSTALL/lib/firmware/brcm
|
||||||
|
}
|
@ -34,8 +34,12 @@ case "$LINUX" in
|
|||||||
PKG_VERSION="b8b59bb"
|
PKG_VERSION="b8b59bb"
|
||||||
PKG_URL="https://github.com/hardkernel/linux/archive/$PKG_VERSION.tar.gz"
|
PKG_URL="https://github.com/hardkernel/linux/archive/$PKG_VERSION.tar.gz"
|
||||||
;;
|
;;
|
||||||
amlogic)
|
amlogic-3.10)
|
||||||
PKG_VERSION="amlogic-3.10-c8d5b2f"
|
PKG_VERSION="$LINUX-c8d5b2f"
|
||||||
|
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||||
|
;;
|
||||||
|
amlogic-3.14)
|
||||||
|
PKG_VERSION="$LINUX-9c0ad98"
|
||||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||||
;;
|
;;
|
||||||
imx6)
|
imx6)
|
||||||
@ -171,7 +175,7 @@ make_target() {
|
|||||||
|
|
||||||
if [ "$BUILD_ANDROID_BOOTIMG" = "yes" ]; then
|
if [ "$BUILD_ANDROID_BOOTIMG" = "yes" ]; then
|
||||||
LDFLAGS="" mkbootimg --kernel arch/$TARGET_KERNEL_ARCH/boot/$KERNEL_TARGET --ramdisk $ROOT/$BUILD/image/initramfs.cpio \
|
LDFLAGS="" mkbootimg --kernel arch/$TARGET_KERNEL_ARCH/boot/$KERNEL_TARGET --ramdisk $ROOT/$BUILD/image/initramfs.cpio \
|
||||||
--second "$ANDROID_BOOTIMG_SECOND" --output arch/$TARGET_KERNEL_ARCH/boot/boot.img
|
$ANDROID_BOOTIMG_OPTIONS --output arch/$TARGET_KERNEL_ARCH/boot/boot.img
|
||||||
mv -f arch/$TARGET_KERNEL_ARCH/boot/boot.img arch/$TARGET_KERNEL_ARCH/boot/$KERNEL_TARGET
|
mv -f arch/$TARGET_KERNEL_ARCH/boot/boot.img arch/$TARGET_KERNEL_ARCH/boot/$KERNEL_TARGET
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -182,6 +186,9 @@ makeinstall_target() {
|
|||||||
for dtb in arch/$TARGET_KERNEL_ARCH/boot/dts/*.dtb; do
|
for dtb in arch/$TARGET_KERNEL_ARCH/boot/dts/*.dtb; do
|
||||||
cp $dtb $INSTALL/usr/share/bootloader 2>/dev/null || :
|
cp $dtb $INSTALL/usr/share/bootloader 2>/dev/null || :
|
||||||
done
|
done
|
||||||
|
if [ -f arch/$TARGET_KERNEL_ARCH/boot/dts/amlogic/$KERNEL_UBOOT_EXTRA_TARGET ]; then
|
||||||
|
cp arch/$TARGET_KERNEL_ARCH/boot/dts/amlogic/$KERNEL_UBOOT_EXTRA_TARGET $INSTALL/usr/share/bootloader/dtb.img 2>/dev/null || :
|
||||||
|
fi
|
||||||
elif [ "$BOOTLOADER" = "bcm2835-bootloader" ]; then
|
elif [ "$BOOTLOADER" = "bcm2835-bootloader" ]; then
|
||||||
mkdir -p $INSTALL/usr/share/bootloader/overlays
|
mkdir -p $INSTALL/usr/share/bootloader/overlays
|
||||||
cp -p arch/$TARGET_KERNEL_ARCH/boot/dts/*.dtb $INSTALL/usr/share/bootloader
|
cp -p arch/$TARGET_KERNEL_ARCH/boot/dts/*.dtb $INSTALL/usr/share/bootloader
|
||||||
|
@ -17,9 +17,9 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="amremote"
|
PKG_NAME="amremote"
|
||||||
PKG_VERSION="d4f6458"
|
PKG_VERSION="6431040"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="arm"
|
PKG_ARCH="arm aarch64"
|
||||||
PKG_LICENSE="other"
|
PKG_LICENSE="other"
|
||||||
PKG_SITE="http://www.amlogic.com"
|
PKG_SITE="http://www.amlogic.com"
|
||||||
PKG_URL="https://github.com/codesnake/amremote/archive/$PKG_VERSION.tar.gz"
|
PKG_URL="https://github.com/codesnake/amremote/archive/$PKG_VERSION.tar.gz"
|
||||||
|
@ -56,15 +56,15 @@
|
|||||||
# Build Android kernel image using mkbootimg
|
# Build Android kernel image using mkbootimg
|
||||||
BUILD_ANDROID_BOOTIMG="yes"
|
BUILD_ANDROID_BOOTIMG="yes"
|
||||||
|
|
||||||
# Path to a file that will be passed as the --second parameter to Android mkbootimg
|
# Additional options to be passed to Android mkbootimg
|
||||||
ANDROID_BOOTIMG_SECOND="arch/arm/boot/dts/amlogic/meson8m2_wetek_core.dtb"
|
ANDROID_BOOTIMG_OPTIONS="--second arch/arm/boot/dts/amlogic/meson8m2_wetek_core.dtb"
|
||||||
|
|
||||||
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
|
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
|
||||||
KERNEL_MAKE_EXTRACMD=""
|
KERNEL_MAKE_EXTRACMD=""
|
||||||
|
|
||||||
# Kernel to use. values can be:
|
# Kernel to use. values can be:
|
||||||
# default: default mainline kernel
|
# default: default mainline kernel
|
||||||
LINUX="amlogic"
|
LINUX="amlogic-3.10"
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
24
projects/WeTek_Hub/bootloader/release
Executable file
24
projects/WeTek_Hub/bootloader/release
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/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/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
. config/options $1
|
||||||
|
|
||||||
|
mkdir -p $RELEASE_DIR/3rdparty/bootloader
|
||||||
|
cp $INSTALL/usr/share/bootloader/dtb.img $RELEASE_DIR/3rdparty/bootloader
|
64
projects/WeTek_Hub/filesystem/etc/amremote/remote.conf
Normal file
64
projects/WeTek_Hub/filesystem/etc/amremote/remote.conf
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
#*********************************************************************************************************
|
||||||
|
#this file is configuration for each factory remote device
|
||||||
|
# work_mode 0 :software mode 1 :hardware mode
|
||||||
|
# repeat_enable 0 :disable repeat 1 :enable repeat
|
||||||
|
#
|
||||||
|
# factory_code each device has it's unique factory code.
|
||||||
|
# pattern:custom_code(16bit)+index_code(16bit)
|
||||||
|
# examble: 0xff000001 = 0xff00(custom cod) 0001 (index)
|
||||||
|
#
|
||||||
|
# release_delay unit:ms.release will report from kernel to user layer after this period of time
|
||||||
|
# from press or repeat triggered.
|
||||||
|
#
|
||||||
|
# debug_enable 0 :debug disable 1 :debug disable
|
||||||
|
#
|
||||||
|
# SW MODE:
|
||||||
|
# bit_count how many bits in each frame
|
||||||
|
# tw_leader_act time window for leader active
|
||||||
|
# tw_bit0 time window for bit0 time.
|
||||||
|
# tw_bit1 time window for bit1 time
|
||||||
|
# tw_repeat_leader time window for repeat leader
|
||||||
|
# REG
|
||||||
|
# reg_base_gen set value for PREG_IR_DEC_BASE_GEN
|
||||||
|
# reg_control set value for PREG_IR_DEC_CONTROL
|
||||||
|
# reg_leader_act set value for PREG_IR_DEC_LEADER_ACTIVE
|
||||||
|
# reg_leader_idle set value for PREG_IR_DEC_LEADER_IDLE
|
||||||
|
# reg_repeat_leader set value for PREG_IR_DEC_REPEAT_IDLE
|
||||||
|
# reg_bit0_time set value for PREG_IR_DEC_BIT0_TIME
|
||||||
|
#*************************************************************************************************************
|
||||||
|
#amlogic NEC remote
|
||||||
|
factory_code = 0x88770001
|
||||||
|
work_mode = 0
|
||||||
|
repeat_enable = 1
|
||||||
|
repeat_delay = 40
|
||||||
|
repeat_peroid = 39
|
||||||
|
release_delay = 121
|
||||||
|
debug_enable = 1
|
||||||
|
|
||||||
|
fn_key_scancode = 0xf3
|
||||||
|
up_key_scancode = 0xf4
|
||||||
|
down_key_scancode = 0xf5
|
||||||
|
left_key_scancode = 0xf6
|
||||||
|
right_key_scancode = 0xf7
|
||||||
|
ok_key_scancode = 0xf8
|
||||||
|
|
||||||
|
mouse_begin
|
||||||
|
0 0xf6
|
||||||
|
1 0xf7
|
||||||
|
2 0xf4
|
||||||
|
3 0xf5
|
||||||
|
mouse_end
|
||||||
|
|
||||||
|
key_begin
|
||||||
|
0xf1 116
|
||||||
|
0xf2 388
|
||||||
|
0xf4 103
|
||||||
|
0xf5 108
|
||||||
|
0xf6 105
|
||||||
|
0xf7 106
|
||||||
|
0xf8 28
|
||||||
|
0xf9 1
|
||||||
|
0xfa 46
|
||||||
|
0xfb 115
|
||||||
|
0xfc 114
|
||||||
|
key_end
|
11
projects/WeTek_Hub/filesystem/etc/asound.conf
Normal file
11
projects/WeTek_Hub/filesystem/etc/asound.conf
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
pcm.!default {
|
||||||
|
type hw
|
||||||
|
card 0
|
||||||
|
device 1
|
||||||
|
format S16_LE
|
||||||
|
}
|
||||||
|
|
||||||
|
ctl.!default {
|
||||||
|
type hw
|
||||||
|
card 0
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
dhd
|
47
projects/WeTek_Hub/filesystem/usr/share/bootloader/update.sh
Executable file
47
projects/WeTek_Hub/filesystem/usr/share/bootloader/update.sh
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
#!/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/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
[ -z "$SYSTEM_ROOT" ] && SYSTEM_ROOT=""
|
||||||
|
[ -z "$BOOT_ROOT" ] && BOOT_ROOT="/flash"
|
||||||
|
|
||||||
|
IMAGE_KERNEL="/flash/kernel.img"
|
||||||
|
|
||||||
|
# parse command line arguments
|
||||||
|
for arg in $(cat /proc/cmdline); do
|
||||||
|
case $arg in
|
||||||
|
BOOT_IMAGE=*)
|
||||||
|
IMAGE_KERNEL="${arg#*=}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# mount $BOOT_ROOT r/w
|
||||||
|
mount -o remount,rw $BOOT_ROOT
|
||||||
|
|
||||||
|
if [ -b $IMAGE_KERNEL ]; then
|
||||||
|
dd if="$SYSTEM_ROOT/usr/share/bootloader/dtb.img" of="/dev/dtb" bs=262144 2>&1
|
||||||
|
else
|
||||||
|
cp -p $SYSTEM_ROOT/usr/share/bootloader/dtb.img $BOOT_ROOT
|
||||||
|
fi
|
||||||
|
|
||||||
|
# mount $BOOT_ROOT r/o
|
||||||
|
sync
|
||||||
|
mount -o remount,ro $BOOT_ROOT
|
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<keymap>
|
||||||
|
<global>
|
||||||
|
<keyboard>
|
||||||
|
<f7>ContextMenu</f7>
|
||||||
|
<f1>AspectRatio</f1>
|
||||||
|
<home>XBMC.ActivateWindow(Home)</home>
|
||||||
|
<f2>ActivateWindowAndFocus(MyPVR, 31,0, 10,0)</f2>
|
||||||
|
<f6>FullScreen</f6>
|
||||||
|
<key id="61952">Screenshot</key> <!-- KEY_RECORD -->
|
||||||
|
</keyboard>
|
||||||
|
</global>
|
||||||
|
</keymap>
|
80
projects/WeTek_Hub/initramfs/platform_init
Executable file
80
projects/WeTek_Hub/initramfs/platform_init
Executable file
@ -0,0 +1,80 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
################################################################################
|
||||||
|
# This file is part of OpenELEC - http://www.openelec.tv
|
||||||
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
|
#
|
||||||
|
# OpenELEC is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# OpenELEC is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
hdmimode=720p
|
||||||
|
|
||||||
|
# Parse command line arguments
|
||||||
|
for arg in $(cat /proc/cmdline); do
|
||||||
|
case $arg in
|
||||||
|
hdmimode=*)
|
||||||
|
hdmimode="${arg#*=}"
|
||||||
|
;;
|
||||||
|
scaling_governor=*)
|
||||||
|
scaling_governor="${arg#*=}"
|
||||||
|
;;
|
||||||
|
scaling_min_freq=*)
|
||||||
|
scaling_min_freq="${arg#*=}"
|
||||||
|
;;
|
||||||
|
scaling_max_freq=*)
|
||||||
|
scaling_max_freq="${arg#*=}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# echo "$hdmimode" > /sys/class/display/mode
|
||||||
|
|
||||||
|
# Enable first framebuffer
|
||||||
|
echo 0 > /sys/class/graphics/fb0/blank
|
||||||
|
|
||||||
|
# Disable second framebuffer
|
||||||
|
echo 1 > /sys/class/graphics/fb1/blank
|
||||||
|
|
||||||
|
# Disable framebuffer scaling
|
||||||
|
echo 0 > /sys/class/graphics/fb0/free_scale
|
||||||
|
|
||||||
|
# set initial video state
|
||||||
|
echo 1 > /sys/class/video/disable_video
|
||||||
|
|
||||||
|
# Set framebuffer geometry to match the resolution
|
||||||
|
case "$hdmimode" in
|
||||||
|
720*)
|
||||||
|
fbset -fb /dev/fb0 -g 1280 720 1920 2160 32
|
||||||
|
;;
|
||||||
|
1080*)
|
||||||
|
fbset -fb /dev/fb0 -g 1920 1080 1920 2160 32
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Include deinterlacer into default VFM map
|
||||||
|
echo rm default > /sys/class/vfm/map
|
||||||
|
echo add default decoder ppmgr deinterlace amvideo > /sys/class/vfm/map
|
||||||
|
|
||||||
|
# Boot with performance governor, then switch to the governor specified in the kernel command line
|
||||||
|
# Assume SMP uses shared cpufreq policy for all CPUs
|
||||||
|
cpufreq="/sys/devices/system/cpu/cpu0/cpufreq"
|
||||||
|
if [ -n "$scaling_governor" ]; then
|
||||||
|
echo "$scaling_governor" > "$cpufreq/scaling_governor"
|
||||||
|
fi
|
||||||
|
if [ -n "$scaling_min_freq" ]; then
|
||||||
|
echo "$scaling_min_freq" > "$cpufreq/scaling_min_freq"
|
||||||
|
fi
|
||||||
|
if [ -n "$scaling_max_freq" ]; then
|
||||||
|
echo "$scaling_max_freq" > "$cpufreq/scaling_max_freq"
|
||||||
|
echo "$scaling_max_freq" > "$cpufreq/scaling_dflt_freq"
|
||||||
|
fi
|
BIN
projects/WeTek_Hub/install/files/bootloader.img
Normal file
BIN
projects/WeTek_Hub/install/files/bootloader.img
Normal file
Binary file not shown.
BIN
projects/WeTek_Hub/install/files/recovery.img
Normal file
BIN
projects/WeTek_Hub/install/files/recovery.img
Normal file
Binary file not shown.
BIN
projects/WeTek_Hub/install/update-binary
Normal file
BIN
projects/WeTek_Hub/install/update-binary
Normal file
Binary file not shown.
36
projects/WeTek_Hub/install/updater-script
Normal file
36
projects/WeTek_Hub/install/updater-script
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
show_progress(0.500000, 3);
|
||||||
|
set_bootloader_env("upgrade_step", "3");
|
||||||
|
|
||||||
|
ui_print("Wiping Userdata");
|
||||||
|
format("ext4", "EMMC", "/dev/block/data", "0", "/data");
|
||||||
|
|
||||||
|
ui_print("Writing kernel image");
|
||||||
|
assert(package_extract_file("KERNEL", "/tmp/boot.img"),
|
||||||
|
write_raw_image("/tmp/boot.img", "boot"),
|
||||||
|
delete("/tmp/boot.img"));
|
||||||
|
|
||||||
|
ui_print("Writing device tree image");
|
||||||
|
write_dtb_image(package_extract_file("dtb.img"));
|
||||||
|
|
||||||
|
show_progress(0.020000, 0);
|
||||||
|
|
||||||
|
ui_print("Wiping System");
|
||||||
|
format("ext4", "EMMC", "/dev/block/system", "0", "/system");
|
||||||
|
mount("ext4", "EMMC", "/dev/block/system", "/system");
|
||||||
|
ui_print("Writing system files");
|
||||||
|
package_extract_dir("system", "/system");
|
||||||
|
unmount("/system");
|
||||||
|
|
||||||
|
show_progress(0.300000, 60);
|
||||||
|
|
||||||
|
ui_print("Writing recovery");
|
||||||
|
write_raw_image(package_extract_file("recovery.img"), "recovery");
|
||||||
|
|
||||||
|
show_progress(0.018000, 0);
|
||||||
|
|
||||||
|
ui_print("Writing bootloader");
|
||||||
|
write_raw_image(package_extract_file("bootloader.img"), "bootloader");
|
||||||
|
|
||||||
|
set_bootloader_env("upgrade_step", "1");
|
||||||
|
show_progress(0.100000, 0);
|
||||||
|
ui_print("OpenELEC Installed Successfully");
|
19
projects/WeTek_Hub/kodi/advancedsettings.xml
Normal file
19
projects/WeTek_Hub/kodi/advancedsettings.xml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<advancedsettings>
|
||||||
|
<showexitbutton>false</showexitbutton>
|
||||||
|
|
||||||
|
<samba>
|
||||||
|
<clienttimeout>30</clienttimeout>
|
||||||
|
</samba>
|
||||||
|
|
||||||
|
<network>
|
||||||
|
<readbufferfactor>4.0</readbufferfactor>
|
||||||
|
</network>
|
||||||
|
|
||||||
|
<pvr>
|
||||||
|
<minvideocachelevel>5</minvideocachelevel>
|
||||||
|
<minaudiocachelevel>20</minaudiocachelevel>
|
||||||
|
</pvr>
|
||||||
|
|
||||||
|
<loglevel>2</loglevel>
|
||||||
|
</advancedsettings>
|
3821
projects/WeTek_Hub/linux/linux.aarch64.conf
Normal file
3821
projects/WeTek_Hub/linux/linux.aarch64.conf
Normal file
File diff suppressed because it is too large
Load Diff
165
projects/WeTek_Hub/options
Normal file
165
projects/WeTek_Hub/options
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
################################################################################
|
||||||
|
# setup system defaults
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# The TARGET_CPU variable controls which processor should be targeted for
|
||||||
|
# generated code.
|
||||||
|
case $TARGET_ARCH in
|
||||||
|
aarch64)
|
||||||
|
# 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-a53"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Bootloader to use (syslinux / u-boot / atv-bootloader / bcm2835-bootloader)
|
||||||
|
BOOTLOADER="u-boot"
|
||||||
|
|
||||||
|
# u-boot version to use (default)
|
||||||
|
UBOOT_VERSION=""
|
||||||
|
|
||||||
|
# Configuration for u-boot
|
||||||
|
UBOOT_CONFIG=""
|
||||||
|
|
||||||
|
# Target Configfile for u-boot
|
||||||
|
UBOOT_CONFIGFILE=""
|
||||||
|
|
||||||
|
# Kernel target
|
||||||
|
KERNEL_TARGET="Image.lzo"
|
||||||
|
|
||||||
|
# Kernel extra targets to build
|
||||||
|
KERNEL_UBOOT_EXTRA_TARGET="gxbb_p200_1G_wetek_hub.dtb"
|
||||||
|
|
||||||
|
# Build Android kernel image using mkbootimg
|
||||||
|
BUILD_ANDROID_BOOTIMG="yes"
|
||||||
|
|
||||||
|
# Additional options to be passed to Android mkbootimg
|
||||||
|
ANDROID_BOOTIMG_OPTIONS="--second arch/arm64/boot/dts/amlogic/gxbb_p200_1G_wetek_hub.dtb --base 0x0 --kernel_offset 0x1080000"
|
||||||
|
|
||||||
|
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
|
||||||
|
KERNEL_MAKE_EXTRACMD=""
|
||||||
|
|
||||||
|
# Kernel to use. values can be:
|
||||||
|
# default: default mainline kernel
|
||||||
|
LINUX="amlogic-3.14"
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# setup build defaults
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# Build optimizations (size/normal)
|
||||||
|
OPTIMIZATIONS="size"
|
||||||
|
|
||||||
|
# Project CFLAGS
|
||||||
|
PROJECT_CFLAGS=""
|
||||||
|
|
||||||
|
# LTO (Link Time Optimization) support
|
||||||
|
LTO_SUPPORT="yes"
|
||||||
|
|
||||||
|
# GOLD (Google Linker) support
|
||||||
|
GOLD_SUPPORT="yes"
|
||||||
|
|
||||||
|
# SquashFS compression method (gzip / lzo / xz)
|
||||||
|
SQUASHFS_COMPRESSION="lzo"
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# setup project defaults
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# build and install ALSA Audio support (yes / no)
|
||||||
|
ALSA_SUPPORT="yes"
|
||||||
|
|
||||||
|
# OpenGL(X) implementation to use (no / Mesa)
|
||||||
|
OPENGL="no"
|
||||||
|
|
||||||
|
# OpenGL-ES implementation to use (no / bcm2835-driver / gpu-viv-bin-mx6q / opengl-meson6)
|
||||||
|
OPENGLES="opengl-meson"
|
||||||
|
|
||||||
|
# Amlogic Meson SOC family (8 / 6 / gxbb)
|
||||||
|
MESON_FAMILY="gxbb"
|
||||||
|
|
||||||
|
# include uvesafb support (yes / no)
|
||||||
|
UVESAFB_SUPPORT="no"
|
||||||
|
|
||||||
|
# Displayserver to use (x11 / no)
|
||||||
|
DISPLAYSERVER="no"
|
||||||
|
|
||||||
|
# Windowmanager to use (ratpoison / fluxbox / none)
|
||||||
|
WINDOWMANAGER="none"
|
||||||
|
|
||||||
|
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
|
||||||
|
# Space separated list is supported,
|
||||||
|
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
|
||||||
|
GRAPHIC_DRIVERS=""
|
||||||
|
|
||||||
|
# KODI Player implementation to use (default / bcm2835-driver / libfslvpuwrap / libamcodec)
|
||||||
|
KODIPLAYER_DRIVER="libamcodec"
|
||||||
|
|
||||||
|
# Modules to install in initramfs for early boot
|
||||||
|
INITRAMFS_MODULES=""
|
||||||
|
|
||||||
|
# additional drivers to install:
|
||||||
|
# for a list of additinoal drivers see packages/linux-drivers
|
||||||
|
# Space separated list is supported,
|
||||||
|
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||||
|
ADDITIONAL_DRIVERS="gpu-aml brcmap6xxx-aml"
|
||||||
|
|
||||||
|
# additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
|
||||||
|
# Space separated list is supported,
|
||||||
|
# e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
|
||||||
|
FIRMWARE="misc-firmware wlan-firmware dvb-firmware brcmfmac_sdio-firmware-aml"
|
||||||
|
|
||||||
|
# build and install ATV IR remote support (yes / no)
|
||||||
|
ATVCLIENT_SUPPORT="no"
|
||||||
|
|
||||||
|
# build and install IRServer IR/LCD support (yes / no)
|
||||||
|
IRSERVER_SUPPORT="no"
|
||||||
|
|
||||||
|
# Amlogic IR remote support (yes / no)
|
||||||
|
AMREMOTE_SUPPORT="yes"
|
||||||
|
|
||||||
|
# build with swap support (yes / no)
|
||||||
|
SWAP_SUPPORT="no"
|
||||||
|
|
||||||
|
# swap support enabled per default (yes / no)
|
||||||
|
SWAP_ENABLED_DEFAULT="no"
|
||||||
|
|
||||||
|
# swapfile size if SWAP_SUPPORT=yes in MB
|
||||||
|
SWAPFILESIZE="128"
|
||||||
|
|
||||||
|
# build with installer (yes / no)
|
||||||
|
INSTALLER_SUPPORT="no"
|
||||||
|
|
||||||
|
# build and install 'RSXS' Screensaver (yes / no)
|
||||||
|
KODI_SCR_RSXS="no"
|
||||||
|
|
||||||
|
# build and install 'ProjectM' Visualization (yes / no)
|
||||||
|
KODI_VIS_PROJECTM="no"
|
||||||
|
|
||||||
|
# build and install 'GOOM' Visualization (yes / no)
|
||||||
|
KODI_VIS_GOOM="no"
|
||||||
|
|
||||||
|
# build and install 'FishBMC' Visualization (yes / no)
|
||||||
|
KODI_VIS_FISHBMC="no"
|
||||||
|
|
||||||
|
# extra build dependeices
|
||||||
|
EXTRA_DEPS="mkimage"
|
||||||
|
EXTRA_DEPS_PKG="u-boot-tools"
|
||||||
|
|
||||||
|
# kernel image name
|
||||||
|
KERNEL_NAME="kernel.img"
|
||||||
|
|
||||||
|
# set the addon dirs
|
||||||
|
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
|
||||||
|
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
@ -0,0 +1,29 @@
|
|||||||
|
From 58415a1c26a1d0f41bc45ff66471c2a41b705edf Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alex Deryskyba <alex@codesnake.com>
|
||||||
|
Date: Sat, 20 Sep 2014 04:43:52 +0300
|
||||||
|
Subject: [PATCH 1/5] [aml] Fill audio packets completely when resampling to
|
||||||
|
prevent 'audio data unaligned' kernel warnings
|
||||||
|
|
||||||
|
---
|
||||||
|
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp
|
||||||
|
index 3ca667c..304cff8 100644
|
||||||
|
--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp
|
||||||
|
+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp
|
||||||
|
@@ -162,7 +162,11 @@ CActiveAEBufferPoolResample::CActiveAEBufferPoolResample(AEAudioFormat inputForm
|
||||||
|
m_inputFormat.m_channelLayout += AE_CH_FC;
|
||||||
|
}
|
||||||
|
m_resampler = NULL;
|
||||||
|
+#ifdef HAS_LIBAMCODEC
|
||||||
|
+ m_fillPackets = true;
|
||||||
|
+#else
|
||||||
|
m_fillPackets = false;
|
||||||
|
+#endif
|
||||||
|
m_drain = false;
|
||||||
|
m_empty = true;
|
||||||
|
m_procSample = NULL;
|
||||||
|
--
|
||||||
|
1.7.10.4
|
||||||
|
|
@ -0,0 +1,30 @@
|
|||||||
|
From 4b3958857f85df99dece4faffd42b15a9445e5cb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alex Deryskyba <alex@codesnake.com>
|
||||||
|
Date: Tue, 30 Jun 2015 11:19:57 +0200
|
||||||
|
Subject: [PATCH 2/5] [aml] Ugly workaround to show DTS/AC3 caps
|
||||||
|
|
||||||
|
... but don't run into multi channel issues as we can only open 2 pcm channels
|
||||||
|
---
|
||||||
|
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
|
||||||
|
index 6a9066b..7abf119 100644
|
||||||
|
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
|
||||||
|
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
|
||||||
|
@@ -1301,6 +1301,12 @@ void CAESinkALSA::EnumerateDevicesEx(AEDeviceInfoList &list, bool force)
|
||||||
|
|
||||||
|
AEDeviceType CAESinkALSA::AEDeviceTypeFromName(const std::string &name)
|
||||||
|
{
|
||||||
|
+#ifdef HAS_LIBAMCODEC
|
||||||
|
+ // ugly workaround to show DTS / AC3 caps
|
||||||
|
+ // but don't run into multi channel issues
|
||||||
|
+ // as we can only open 2 pcm channels
|
||||||
|
+ return AE_DEVTYPE_IEC958;
|
||||||
|
+#endif
|
||||||
|
if (name.substr(0, 4) == "hdmi")
|
||||||
|
return AE_DEVTYPE_HDMI;
|
||||||
|
else if (name.substr(0, 6) == "iec958" || name.substr(0, 5) == "spdif")
|
||||||
|
--
|
||||||
|
1.7.10.4
|
||||||
|
|
@ -0,0 +1,124 @@
|
|||||||
|
From 46aab0b0856eeaa855c430ddd36ac97203afa43b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alex Deryskyba <alex@codesnake.com>
|
||||||
|
Date: Wed, 1 Jul 2015 23:37:11 +0200
|
||||||
|
Subject: [PATCH 3/5] [aml] Add support for 4k resolutions
|
||||||
|
|
||||||
|
---
|
||||||
|
xbmc/utils/AMLUtils.cpp | 16 ++++++++--------
|
||||||
|
xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp | 23 +++++++++++++++++++----
|
||||||
|
xbmc/windowing/egl/EGLNativeTypeAmlogic.h | 2 ++
|
||||||
|
3 files changed, 29 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/xbmc/utils/AMLUtils.cpp b/xbmc/utils/AMLUtils.cpp
|
||||||
|
index 80fb453..65286de 100644
|
||||||
|
--- a/xbmc/utils/AMLUtils.cpp
|
||||||
|
+++ b/xbmc/utils/AMLUtils.cpp
|
||||||
|
@@ -463,8 +463,8 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
|
||||||
|
}
|
||||||
|
else if (StringUtils::EqualsNoCase(fromMode, "4k2ksmpte") || StringUtils::EqualsNoCase(fromMode, "smpte24hz"))
|
||||||
|
{
|
||||||
|
- res->iWidth = 1920;
|
||||||
|
- res->iHeight= 1080;
|
||||||
|
+ res->iWidth = 4096;
|
||||||
|
+ res->iHeight= 2160;
|
||||||
|
res->iScreenWidth = 4096;
|
||||||
|
res->iScreenHeight= 2160;
|
||||||
|
res->fRefreshRate = 24;
|
||||||
|
@@ -481,8 +481,8 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
|
||||||
|
}
|
||||||
|
else if (StringUtils::EqualsNoCase(fromMode, "4k2k24hz") || StringUtils::EqualsNoCase(fromMode, "2160p24hz"))
|
||||||
|
{
|
||||||
|
- res->iWidth = 1920;
|
||||||
|
- res->iHeight= 1080;
|
||||||
|
+ res->iWidth = 3840;
|
||||||
|
+ res->iHeight= 2160;
|
||||||
|
res->iScreenWidth = 3840;
|
||||||
|
res->iScreenHeight= 2160;
|
||||||
|
res->fRefreshRate = 24;
|
||||||
|
@@ -490,8 +490,8 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
|
||||||
|
}
|
||||||
|
else if (StringUtils::EqualsNoCase(fromMode, "4k2k25hz") || StringUtils::EqualsNoCase(fromMode, "2160p25hz"))
|
||||||
|
{
|
||||||
|
- res->iWidth = 1920;
|
||||||
|
- res->iHeight= 1080;
|
||||||
|
+ res->iWidth = 3840;
|
||||||
|
+ res->iHeight= 2160;
|
||||||
|
res->iScreenWidth = 3840;
|
||||||
|
res->iScreenHeight= 2160;
|
||||||
|
res->fRefreshRate = 25;
|
||||||
|
@@ -508,8 +508,8 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
|
||||||
|
}
|
||||||
|
else if (StringUtils::EqualsNoCase(fromMode, "4k2k30hz") || StringUtils::EqualsNoCase(fromMode, "2160p30hz"))
|
||||||
|
{
|
||||||
|
- res->iWidth = 1920;
|
||||||
|
- res->iHeight= 1080;
|
||||||
|
+ res->iWidth = 3840;
|
||||||
|
+ res->iHeight= 2160;
|
||||||
|
res->iScreenWidth = 3840;
|
||||||
|
res->iScreenHeight= 2160;
|
||||||
|
res->fRefreshRate = 30;
|
||||||
|
diff --git a/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp b/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp
|
||||||
|
index 88cd385..3bfb0c6 100644
|
||||||
|
--- a/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp
|
||||||
|
+++ b/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp
|
||||||
|
@@ -64,7 +64,22 @@ void CEGLNativeTypeAmlogic::Initialize()
|
||||||
|
{
|
||||||
|
aml_permissions();
|
||||||
|
DisableFreeScale();
|
||||||
|
+ GetMaxResolution(m_maxResolution);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+void CEGLNativeTypeAmlogic::GetMaxResolution(RESOLUTION_INFO &maxResolution)
|
||||||
|
+{
|
||||||
|
+ std::vector<RESOLUTION_INFO> resolutions;
|
||||||
|
+ ProbeResolutions(resolutions);
|
||||||
|
+
|
||||||
|
+ maxResolution = {0};
|
||||||
|
+ for (size_t i = 0; i < resolutions.size(); i++)
|
||||||
|
+ {
|
||||||
|
+ if (resolutions[i].iScreenWidth > maxResolution.iScreenWidth || resolutions[i].iScreenHeight > maxResolution.iScreenHeight)
|
||||||
|
+ maxResolution = resolutions[i];
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void CEGLNativeTypeAmlogic::Destroy()
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
@@ -83,8 +98,8 @@ bool CEGLNativeTypeAmlogic::CreateNativeWindow()
|
||||||
|
if (!nativeWindow)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
- nativeWindow->width = 1920;
|
||||||
|
- nativeWindow->height = 1080;
|
||||||
|
+ nativeWindow->width = m_maxResolution.iScreenWidth;
|
||||||
|
+ nativeWindow->height = m_maxResolution.iScreenHeight;
|
||||||
|
m_nativeWindow = nativeWindow;
|
||||||
|
|
||||||
|
SetFramebufferResolution(nativeWindow->width, nativeWindow->height);
|
||||||
|
@@ -244,8 +259,8 @@ void CEGLNativeTypeAmlogic::SetFramebufferResolution(int width, int height) cons
|
||||||
|
{
|
||||||
|
vinfo.xres = width;
|
||||||
|
vinfo.yres = height;
|
||||||
|
- vinfo.xres_virtual = 1920;
|
||||||
|
- vinfo.yres_virtual = 2160;
|
||||||
|
+ vinfo.xres_virtual = m_maxResolution.iScreenWidth;
|
||||||
|
+ vinfo.yres_virtual = m_maxResolution.iScreenHeight * 2;
|
||||||
|
vinfo.bits_per_pixel = 32;
|
||||||
|
vinfo.activate = FB_ACTIVATE_ALL;
|
||||||
|
ioctl(fd0, FBIOPUT_VSCREENINFO, &vinfo);
|
||||||
|
diff --git a/xbmc/windowing/egl/EGLNativeTypeAmlogic.h b/xbmc/windowing/egl/EGLNativeTypeAmlogic.h
|
||||||
|
index cfb33ca..cf60134 100644
|
||||||
|
--- a/xbmc/windowing/egl/EGLNativeTypeAmlogic.h
|
||||||
|
+++ b/xbmc/windowing/egl/EGLNativeTypeAmlogic.h
|
||||||
|
@@ -58,6 +58,8 @@ protected:
|
||||||
|
private:
|
||||||
|
void SetFramebufferResolution(const RESOLUTION_INFO &res) const;
|
||||||
|
void SetFramebufferResolution(int width, int height) const;
|
||||||
|
+ void GetMaxResolution(RESOLUTION_INFO &maxResolution);
|
||||||
|
|
||||||
|
std::string m_framebuffer_name;
|
||||||
|
+ RESOLUTION_INFO m_maxResolution;
|
||||||
|
};
|
||||||
|
--
|
||||||
|
1.7.10.4
|
||||||
|
|
@ -0,0 +1,34 @@
|
|||||||
|
From 5095bcfcb4bf235855f2474ff229a95c8f20fc2d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alex Deryskyba <alex@codesnake.com>
|
||||||
|
Date: Tue, 14 Jul 2015 16:02:35 +0300
|
||||||
|
Subject: [PATCH 4/5] [powermanagement] Perform suspend instead of powerdown
|
||||||
|
|
||||||
|
---
|
||||||
|
xbmc/powermanagement/linux/LogindUPowerSyscall.cpp | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp b/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
|
||||||
|
index 4e5bcc6..ad5847d 100644
|
||||||
|
--- a/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
|
||||||
|
+++ b/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
|
||||||
|
@@ -53,7 +53,7 @@ CLogindUPowerSyscall::CLogindUPowerSyscall()
|
||||||
|
m_canPowerdown = LogindCheckCapability("CanPowerOff");
|
||||||
|
m_canReboot = LogindCheckCapability("CanReboot");
|
||||||
|
m_canHibernate = LogindCheckCapability("CanHibernate");
|
||||||
|
- m_canSuspend = LogindCheckCapability("CanSuspend");
|
||||||
|
+ m_canSuspend = false;
|
||||||
|
|
||||||
|
InhibitDelayLock();
|
||||||
|
|
||||||
|
@@ -98,7 +98,7 @@ CLogindUPowerSyscall::~CLogindUPowerSyscall()
|
||||||
|
|
||||||
|
bool CLogindUPowerSyscall::Powerdown()
|
||||||
|
{
|
||||||
|
- return LogindSetPowerState("PowerOff");
|
||||||
|
+ return Suspend();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CLogindUPowerSyscall::Reboot()
|
||||||
|
--
|
||||||
|
1.7.10.4
|
||||||
|
|
@ -0,0 +1,26 @@
|
|||||||
|
From 90f9b85847f5e3d81ee6ddbbf303fec19a8e778a Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Chris \\\\\\\"Koying\\\\\\\" Browet" <cbro@semperpax.com>
|
||||||
|
Date: Fri, 19 Dec 2014 12:30:04 +0100
|
||||||
|
Subject: [PATCH 5/5] [aml] FIX: [renderer] hide meaningless skips from users
|
||||||
|
|
||||||
|
---
|
||||||
|
xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
||||||
|
index 558a1f3..7e25e16 100644
|
||||||
|
--- a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
||||||
|
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
||||||
|
@@ -1351,7 +1351,8 @@ void CRenderManager::PrepareNextRender()
|
||||||
|
while (m_queued.front() != idx)
|
||||||
|
{
|
||||||
|
requeue(m_discard, m_queued);
|
||||||
|
- m_QueueSkip++;
|
||||||
|
+ if (m_format != RENDER_FMT_AML) // skips scares users ;)
|
||||||
|
+ m_QueueSkip++;
|
||||||
|
}
|
||||||
|
|
||||||
|
int lateframes = (renderPts - m_Queue[idx].pts) / frametime;
|
||||||
|
--
|
||||||
|
1.7.10.4
|
||||||
|
|
13
projects/WeTek_Hub/patches/linux/hdmi_always_connected.patch
Normal file
13
projects/WeTek_Hub/patches/linux/hdmi_always_connected.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/drivers/amlogic/display/logo/logo.c b/drivers/amlogic/display/logo/logo.c
|
||||||
|
index 9266be3..c2f10bd 100644
|
||||||
|
--- a/drivers/amlogic/display/logo/logo.c
|
||||||
|
+++ b/drivers/amlogic/display/logo/logo.c
|
||||||
|
@@ -117,7 +117,7 @@ int set_osd_freescaler(int index, enum vmode_e new_mode)
|
||||||
|
static int refresh_mode_and_logo(bool first)
|
||||||
|
{
|
||||||
|
enum vmode_e cur_mode = VMODE_MAX;
|
||||||
|
- int hdp_state = get_hpd_state();
|
||||||
|
+ int hdp_state = 1;//get_hpd_state();
|
||||||
|
|
||||||
|
if (!first && osd_get_logo_index() != logo_info.index)
|
||||||
|
return -1;
|
@ -0,0 +1,22 @@
|
|||||||
|
diff --git a/arch/arm64/boot/dts/amlogic/gxbb_p200_1G_wetek_hub.dts b/arch/arm64/boot/dts/amlogic/gxbb_p200_1G_wetek_hub.dts
|
||||||
|
index 26d381c..e8573af 100644
|
||||||
|
--- a/arch/arm64/boot/dts/amlogic/gxbb_p200_1G_wetek_hub.dts
|
||||||
|
+++ b/arch/arm64/boot/dts/amlogic/gxbb_p200_1G_wetek_hub.dts
|
||||||
|
@@ -57,7 +57,7 @@
|
||||||
|
};
|
||||||
|
fb_reserved:linux,meson-fb {
|
||||||
|
compatible = "amlogic, fb-memory";
|
||||||
|
- size = <0x0 0x1900000>;
|
||||||
|
+ size = <0x0 0x4480000>;
|
||||||
|
no-map;
|
||||||
|
};
|
||||||
|
|
||||||
|
@@ -141,7 +141,7 @@
|
||||||
|
interrupts = <0 3 1
|
||||||
|
0 89 1>;
|
||||||
|
interrupt-names = "viu-vsync", "rdma";
|
||||||
|
- mem_size = <0x01800000 0x00100000>; /* fb0/fb1 memory size */
|
||||||
|
+ mem_size = <0x04380000 0x00100000>; /* fb0/fb1 memory size */
|
||||||
|
display_mode_default = "1080p60hz";
|
||||||
|
scale_mode = <1>; /** 0:VPU free scale 1:OSD free scale 2:OSD super scale */
|
||||||
|
display_size_default = <1920 1080 1920 3240 32>; //1920*1080*4*3 = 0x17BB000
|
21
projects/WeTek_Hub/patches/linux/no_dev_console.patch
Normal file
21
projects/WeTek_Hub/patches/linux/no_dev_console.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
diff --git a/init/main.c b/init/main.c
|
||||||
|
index 9484f4b..db55edd 100644
|
||||||
|
--- a/init/main.c
|
||||||
|
+++ b/init/main.c
|
||||||
|
@@ -880,8 +880,14 @@ static noinline void __init kernel_init_freeable(void)
|
||||||
|
do_basic_setup();
|
||||||
|
|
||||||
|
/* Open the /dev/console on the rootfs, this should never fail */
|
||||||
|
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
|
||||||
|
- pr_err("Warning: unable to open an initial console.\n");
|
||||||
|
+ char *console = "/dev_console";
|
||||||
|
+
|
||||||
|
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) {
|
||||||
|
+ sys_mknod(console, S_IFCHR|0600, (TTYAUX_MAJOR<<8)|1);
|
||||||
|
+ if (sys_open(console, O_RDWR, 0) < 0)
|
||||||
|
+ printk(KERN_WARNING "Warning: unable to open an initial console.\n");
|
||||||
|
+ sys_unlink(console);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
(void) sys_dup(0);
|
||||||
|
(void) sys_dup(0);
|
@ -0,0 +1,113 @@
|
|||||||
|
From fa89009a1869844f9a9360eb07c45d457446ac0e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Arnd Bergmann <arnd@arndb.de>
|
||||||
|
Date: Thu, 5 Jun 2014 22:48:15 +0200
|
||||||
|
Subject: [PATCH] staging: rtl8712, rtl8712: avoid lots of build warnings
|
||||||
|
|
||||||
|
commit 0c9f3a65c5eb7fe1fc611a22eb8a8b71ea865998 upstream.
|
||||||
|
|
||||||
|
The rtl8712 driver has an 'extern inline' function that contains an
|
||||||
|
'if', which causes lots of warnings with CONFIG_PROFILE_ALL_BRANCHES
|
||||||
|
overriding the definition of 'if':
|
||||||
|
|
||||||
|
drivers/staging/rtl8712/ieee80211.h:759:229: warning: '______f' is static but declared in inline function 'ieee80211_get_hdrlen' which is not static [enabled by default]
|
||||||
|
|
||||||
|
This changes the driver to use 'static inline' instead, which happens
|
||||||
|
to be the correct annotation anyway.
|
||||||
|
|
||||||
|
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
||||||
|
Cc: Larry Finger <Larry.Finger@lwfinger.net>
|
||||||
|
Cc: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
|
||||||
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||||
|
---
|
||||||
|
drivers/staging/rtl8187se/ieee80211/ieee80211.h | 4 ++--
|
||||||
|
drivers/staging/rtl8192u/ieee80211/ieee80211.h | 10 +++++-----
|
||||||
|
drivers/staging/rtl8712/ieee80211.h | 4 ++--
|
||||||
|
3 files changed, 9 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/staging/rtl8187se/ieee80211/ieee80211.h b/drivers/staging/rtl8187se/ieee80211/ieee80211.h
|
||||||
|
index 09ffd9b..6ebdd3f 100644
|
||||||
|
--- a/drivers/staging/rtl8187se/ieee80211/ieee80211.h
|
||||||
|
+++ b/drivers/staging/rtl8187se/ieee80211/ieee80211.h
|
||||||
|
@@ -1460,12 +1460,12 @@ extern void ieee80211_sta_ps_send_null_frame(struct ieee80211_device *ieee,
|
||||||
|
|
||||||
|
extern const long ieee80211_wlan_frequencies[];
|
||||||
|
|
||||||
|
-extern inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
|
||||||
|
+static inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
|
||||||
|
{
|
||||||
|
ieee->scans++;
|
||||||
|
}
|
||||||
|
|
||||||
|
-extern inline int ieee80211_get_scans(struct ieee80211_device *ieee)
|
||||||
|
+static inline int ieee80211_get_scans(struct ieee80211_device *ieee)
|
||||||
|
{
|
||||||
|
return ieee->scans;
|
||||||
|
}
|
||||||
|
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
|
||||||
|
index bc64f05..b1a0380 100644
|
||||||
|
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h
|
||||||
|
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
|
||||||
|
@@ -2250,7 +2250,7 @@ static inline void *ieee80211_priv(struct net_device *dev)
|
||||||
|
return ((struct ieee80211_device *)netdev_priv(dev))->priv;
|
||||||
|
}
|
||||||
|
|
||||||
|
-extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
|
||||||
|
+static inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
|
||||||
|
{
|
||||||
|
/* Single white space is for Linksys APs */
|
||||||
|
if (essid_len == 1 && essid[0] == ' ')
|
||||||
|
@@ -2266,7 +2266,7 @@ extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
-extern inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mode)
|
||||||
|
+static inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mode)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* It is possible for both access points and our device to support
|
||||||
|
@@ -2292,7 +2292,7 @@ extern inline int ieee80211_is_valid_mode(struct ieee80211_device *ieee, int mod
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-extern inline int ieee80211_get_hdrlen(u16 fc)
|
||||||
|
+static inline int ieee80211_get_hdrlen(u16 fc)
|
||||||
|
{
|
||||||
|
int hdrlen = IEEE80211_3ADDR_LEN;
|
||||||
|
|
||||||
|
@@ -2578,12 +2578,12 @@ void ieee80211_softmac_scan_syncro(struct ieee80211_device *ieee);
|
||||||
|
|
||||||
|
extern const long ieee80211_wlan_frequencies[];
|
||||||
|
|
||||||
|
-extern inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
|
||||||
|
+static inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
|
||||||
|
{
|
||||||
|
ieee->scans++;
|
||||||
|
}
|
||||||
|
|
||||||
|
-extern inline int ieee80211_get_scans(struct ieee80211_device *ieee)
|
||||||
|
+static inline int ieee80211_get_scans(struct ieee80211_device *ieee)
|
||||||
|
{
|
||||||
|
return ieee->scans;
|
||||||
|
}
|
||||||
|
diff --git a/drivers/staging/rtl8712/ieee80211.h b/drivers/staging/rtl8712/ieee80211.h
|
||||||
|
index da4000e..8269be8 100644
|
||||||
|
--- a/drivers/staging/rtl8712/ieee80211.h
|
||||||
|
+++ b/drivers/staging/rtl8712/ieee80211.h
|
||||||
|
@@ -734,7 +734,7 @@ enum ieee80211_state {
|
||||||
|
#define IEEE_G (1<<2)
|
||||||
|
#define IEEE_MODE_MASK (IEEE_A|IEEE_B|IEEE_G)
|
||||||
|
|
||||||
|
-extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
|
||||||
|
+static inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
|
||||||
|
{
|
||||||
|
/* Single white space is for Linksys APs */
|
||||||
|
if (essid_len == 1 && essid[0] == ' ')
|
||||||
|
@@ -748,7 +748,7 @@ extern inline int ieee80211_is_empty_essid(const char *essid, int essid_len)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
-extern inline int ieee80211_get_hdrlen(u16 fc)
|
||||||
|
+static inline int ieee80211_get_hdrlen(u16 fc)
|
||||||
|
{
|
||||||
|
int hdrlen = 24;
|
||||||
|
|
@ -0,0 +1,39 @@
|
|||||||
|
diff --git a/drivers/amlogic/display/vout/vout_serve.c b/drivers/amlogic/display/vout/vout_serve.c
|
||||||
|
index d91d40d..029b36d 100644
|
||||||
|
--- a/drivers/amlogic/display/vout/vout_serve.c
|
||||||
|
+++ b/drivers/amlogic/display/vout/vout_serve.c
|
||||||
|
@@ -596,10 +596,16 @@ static int __init get_vout_init_mode(char *str)
|
||||||
|
char *option;
|
||||||
|
int count = 3;
|
||||||
|
char find = 0;
|
||||||
|
+ char str2[1024];
|
||||||
|
+ char *ptr2 = str2;
|
||||||
|
|
||||||
|
if (NULL == str)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
+ strcpy(str2, str);
|
||||||
|
+ strcat(str2, ",en"); // logo was already displayed by uboot
|
||||||
|
+ ptr = ptr2 = str2;
|
||||||
|
+
|
||||||
|
do {
|
||||||
|
if (!isalpha(*ptr) && !isdigit(*ptr)) {
|
||||||
|
find = 1;
|
||||||
|
@@ -611,7 +617,7 @@ static int __init get_vout_init_mode(char *str)
|
||||||
|
|
||||||
|
sep[0] = *ptr;
|
||||||
|
sep[1] = '\0';
|
||||||
|
- while ((count--) && (option = strsep(&str, sep))) {
|
||||||
|
+ while ((count--) && (option = strsep(&ptr2, sep))) {
|
||||||
|
/* vout_log_info("%s\n", option); */
|
||||||
|
str2lower(option);
|
||||||
|
vout_init_mode_parse(option);
|
||||||
|
@@ -619,7 +625,7 @@ static int __init get_vout_init_mode(char *str)
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
-__setup("vout=", get_vout_init_mode);
|
||||||
|
+__setup("hdmimode=", get_vout_init_mode);
|
||||||
|
|
||||||
|
MODULE_AUTHOR("Platform-BJ <platform.bj@amlogic.com>");
|
||||||
|
MODULE_DESCRIPTION("VOUT Server Module");
|
@ -58,7 +58,7 @@
|
|||||||
|
|
||||||
# Kernel to use. values can be:
|
# Kernel to use. values can be:
|
||||||
# default: default mainline kernel
|
# default: default mainline kernel
|
||||||
LINUX="amlogic"
|
LINUX="amlogic-3.10"
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -28,8 +28,8 @@ if [ -f /etc/os-release ]; then
|
|||||||
DISTRO=$(grep ^ID= /etc/os-release | cut -d "=" -f 2 | tr A-Z a-z)
|
DISTRO=$(grep ^ID= /etc/os-release | cut -d "=" -f 2 | tr A-Z a-z)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
deps="wget bash bc gcc sed patch tar bzip2 gzip perl gawk gperf zip unzip diff makeinfo"
|
deps="wget bash bc gcc sed patch tar bzip2 gzip perl gawk gperf zip unzip diff makeinfo lzop"
|
||||||
deps_pkg="wget bash bc gcc sed patch tar bzip2 gzip perl gawk gperf zip unzip diffutils texinfo"
|
deps_pkg="wget bash bc gcc sed patch tar bzip2 gzip perl gawk gperf zip unzip diffutils texinfo lzop"
|
||||||
|
|
||||||
files="/usr/include/stdio.h /usr/include/ncurses.h"
|
files="/usr/include/stdio.h /usr/include/ncurses.h"
|
||||||
files_pkg="libc6-dev libncurses5-dev"
|
files_pkg="libc6-dev libncurses5-dev"
|
||||||
|
@ -416,6 +416,11 @@ fi
|
|||||||
cp -PR $INSTALL_SRC_DIR/files/* $AML_PKG_DIR
|
cp -PR $INSTALL_SRC_DIR/files/* $AML_PKG_DIR
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# copy device tree image if any
|
||||||
|
if [ -f "$INSTALL/usr/share/bootloader/dtb.img" ]; then
|
||||||
|
cp "$INSTALL/usr/share/bootloader/dtb.img" $AML_PKG_DIR/dtb.img
|
||||||
|
fi
|
||||||
|
|
||||||
# create the update package
|
# create the update package
|
||||||
pushd "$AML_PKG_DIR" > /dev/null
|
pushd "$AML_PKG_DIR" > /dev/null
|
||||||
zip -rq update.zip *
|
zip -rq update.zip *
|
||||||
@ -432,15 +437,25 @@ fi
|
|||||||
pushd sign > /dev/null
|
pushd sign > /dev/null
|
||||||
echo --update_package=/sdcard/$IMAGE_NAME-update.zip > factory_update_param.aml
|
echo --update_package=/sdcard/$IMAGE_NAME-update.zip > factory_update_param.aml
|
||||||
cp $INSTALL_SRC_DIR/files/recovery.img .
|
cp $INSTALL_SRC_DIR/files/recovery.img .
|
||||||
|
|
||||||
if [ -f $INSTALL_SRC_DIR/files/aml_autoscript ]; then
|
if [ -f $INSTALL_SRC_DIR/files/aml_autoscript ]; then
|
||||||
cp $INSTALL_SRC_DIR/files/aml_autoscript .
|
cp $INSTALL_SRC_DIR/files/aml_autoscript .
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# copy device tree image if any
|
||||||
|
if [ -f "$ROOT/$INSTALL/usr/share/bootloader/dtb.img" ]; then
|
||||||
|
cp "$ROOT/$INSTALL/usr/share/bootloader/dtb.img" .
|
||||||
|
fi
|
||||||
|
|
||||||
zip -q $TARGET_IMG/$IMAGE_NAME.zip *
|
zip -q $TARGET_IMG/$IMAGE_NAME.zip *
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
|
|
||||||
|
# cleanup release dir
|
||||||
|
rm -rf $RELEASE_DIR
|
||||||
|
|
||||||
elif [ "$1" = "noobs" ]; then
|
elif [ "$1" = "noobs" ]; then
|
||||||
|
|
||||||
RELEASE_DIR="$TARGET_IMG/${IMAGE_NAME}-$1"
|
RELEASE_DIR="$TARGET_IMG/${IMAGE_NAME}-$1"
|
||||||
|
@ -251,6 +251,11 @@ elif [ "$BOOTLOADER" = "u-boot" ]; then
|
|||||||
mcopy "$dtb" ::/$(basename "$dtb")
|
mcopy "$dtb" ::/$(basename "$dtb")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# copy Amlogic device tree image
|
||||||
|
if [ -f "$RELEASE_DIR/3rdparty/bootloader/dtb.img" ]; then
|
||||||
|
mcopy $RELEASE_DIR/3rdparty/bootloader/dtb.img ::
|
||||||
|
fi
|
||||||
fi # bootloader
|
fi # bootloader
|
||||||
|
|
||||||
# extract part2 from image to format and copy files
|
# extract part2 from image to format and copy files
|
||||||
|
Loading…
x
Reference in New Issue
Block a user