From b3c10d75cdbdecf044df85d2dda62ff4c409a4d3 Mon Sep 17 00:00:00 2001 From: hschang Date: Mon, 12 Nov 2018 16:36:36 +0900 Subject: [PATCH] Support duo4k. --- meta-bsp/conf/machine/vuduo4k.conf | 38 + .../directfb/directfb-armv7ahf-vfp-neon_1.7.7.inc | 2 +- .../recipes-graphics/directfb/directfb-vuduo4k.inc | 3 + .../directfb/directfb_1.7.7.bbappend | 1 + .../recipes-graphics/libgles/libgles-vuduo4k.bb | 12 + .../libvugles/libvugles2-vuduo4k.inc | 6 + .../recipes-graphics/libvupl/libvupl-vuduo4k.inc | 5 + .../files/linux_4_1_1_17_dvbs2x.patch | 89 + .../linux-libc-headers_4.1.45.bb | 17 + .../recipes-kernel/linux/linux-vuplus-4.1.45.inc | 72 + .../linux-vuplus-4.1.45/bcmsysport_4_1_45.patch | 45 + .../linux-vuplus-4.1.45/linux_4_1_45_dvbs2x.patch | 89 + .../linux/linux-vuplus-4.1.45/linux_dvb-core.patch | 198 + .../linux-vuplus-4.1.45/linux_dvb_adapter.patch | 37 + .../vuduo4k/linux_usb_hub.patch | 29 + .../linux-vuplus-4.1.45/vuduo4k/vuduo4k_defconfig | 4207 ++++++++++++++++++++ .../linux/linux-vuplus-vuduo4k_4.1.45.bb | 11 + .../gstreamer1.0-plugin-dvbmediasink.bbappend | 2 + meta-bsp/recipes-multimedia/kodi/kodi-vuduo4k.bb | 6 + .../recipes-multimedia/kodi/kodiegl-vuduo4k.bb | 10 + .../bluetoothsetup/bluetoothsetup-vuduo4k.bb | 9 + .../chromium/chromium-browser-vuduo4k.bb | 7 + meta-bsp/recipes-vuplus/enigma2/enigma2.bbappend | 13 +- .../enigma2/vuduo4k/lcd_icons_vuduo4k/16x9.png | Bin 0 -> 4423 bytes .../enigma2/vuduo4k/lcd_icons_vuduo4k/CRYPT.png | Bin 0 -> 3012 bytes .../enigma2/vuduo4k/lcd_icons_vuduo4k/DOLBY.png | Bin 0 -> 3799 bytes .../enigma2/vuduo4k/lcd_icons_vuduo4k/REC.png | Bin 0 -> 4608 bytes .../enigma2/vuduo4k/lcd_icons_vuduo4k/TELETEXT.png | Bin 0 -> 3651 bytes .../enigma2/vuduo4k/lcd_icons_vuduo4k/time.png | Bin 0 -> 3541 bytes .../enigma2/enigma2/vuduo4k/skin_user_vuduo4k.xml | 253 ++ .../vuplus-blindscan-utils.bb | 7 + .../vuplus-bluetooth-util-vuduo4k.bb | 10 + .../vuplus-bluetooth-util.inc | 6 +- .../vuplus-bootlogo/files/vuduo4k/splash_auto.bin | Bin 0 -> 1036854 bytes .../vuplus-bootlogo/vuplus-bootlogo-vuduo4k.bb | 19 + .../vuplus-bootlogo/vuplus-bootlogo.inc | 1 + .../vuplus-dvb-proxy/vuplus-dvb-proxy-vuduo4k.bb | 15 + .../vuplus-manual/vuplus-manual-vuduo4k.bb | 9 + .../vuplus-platform-util/files/bp3flash.tar.gz | Bin 0 -> 1367 bytes .../files/vuduo4k/vuplus-platform-util.sysvinit | 41 + .../vuplus-platform-util-vuduo4k.bb | 18 + .../vuplus-platform-util/vuplus-platform-util.inc | 11 +- .../vuplus-skins/vuplus-skins.bbappend | 2 + .../vuplus-tuner-turbo_4.1.45-1.17.bb | 11 + .../vuplus-wifi-util/vuplus-wifi-util-vuduo4k.bb | 11 + .../vuplus-wifi-util-vuultimo4k.bb | 10 + .../vuplus-wifi-util/vuplus-wifi-util.inc | 18 +- .../webkit-hbbtv/webkit-hbbtv-browser-vuduo4k.bb | 9 + .../packagegroups/packagegroup-vuplus-wlan.bb | 3 +- .../ppp/files/ppp_compile_error.patch | 22 + .../recipes-connectivity/ppp/ppp_2.4.7.bbappend | 8 +- .../recipes-core/udev/udev_182.bbappend | 2 +- .../recipes-vuplus/aio-grab/aio-grab.bb | 4 +- ..._6706273e6987e54e4dace15936a2cfd4e8c8c41c.patch | 316 -- ..._c469655e3498abdb58a36b4f62edbd9699ff6f84.patch | 318 ++ .../enigma2-plugin-extensions-openwebif.bb | 5 +- .../e2openplugins/files/box_duo4k.png | Bin 0 -> 53029 bytes .../files/openwebif_support_vumodels.patch | 4 +- .../files/openwebif_vu_box_remote.patch | 2 +- .../enigma2/enigma2-transtreamproxy.bb | 1 + .../packagegroups/packagegroup-vuplus-base.bb | 3 +- .../packagegroups/packagegroup-vuplus-enigma2.bb | 2 +- 62 files changed, 5699 insertions(+), 350 deletions(-) create mode 100644 meta-bsp/conf/machine/vuduo4k.conf create mode 100644 meta-bsp/recipes-graphics/directfb/directfb-vuduo4k.inc create mode 100644 meta-bsp/recipes-graphics/libgles/libgles-vuduo4k.bb create mode 100644 meta-bsp/recipes-graphics/libvugles/libvugles2-vuduo4k.inc create mode 100644 meta-bsp/recipes-graphics/libvupl/libvupl-vuduo4k.inc create mode 100644 meta-bsp/recipes-kernel/linux-libc-headers/files/linux_4_1_1_17_dvbs2x.patch create mode 100644 meta-bsp/recipes-kernel/linux-libc-headers/linux-libc-headers_4.1.45.bb create mode 100644 meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45.inc create mode 100644 meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/bcmsysport_4_1_45.patch create mode 100644 meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/linux_4_1_45_dvbs2x.patch create mode 100644 meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/linux_dvb-core.patch create mode 100644 meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/linux_dvb_adapter.patch create mode 100644 meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/vuduo4k/linux_usb_hub.patch create mode 100644 meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/vuduo4k/vuduo4k_defconfig create mode 100644 meta-bsp/recipes-kernel/linux/linux-vuplus-vuduo4k_4.1.45.bb create mode 100644 meta-bsp/recipes-multimedia/kodi/kodi-vuduo4k.bb create mode 100644 meta-bsp/recipes-multimedia/kodi/kodiegl-vuduo4k.bb create mode 100644 meta-bsp/recipes-vuplus/bluetoothsetup/bluetoothsetup-vuduo4k.bb create mode 100644 meta-bsp/recipes-vuplus/chromium/chromium-browser-vuduo4k.bb create mode 100644 meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/lcd_icons_vuduo4k/16x9.png create mode 100644 meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/lcd_icons_vuduo4k/CRYPT.png create mode 100644 meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/lcd_icons_vuduo4k/DOLBY.png create mode 100644 meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/lcd_icons_vuduo4k/REC.png create mode 100644 meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/lcd_icons_vuduo4k/TELETEXT.png create mode 100644 meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/lcd_icons_vuduo4k/time.png create mode 100644 meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/skin_user_vuduo4k.xml create mode 100644 meta-bsp/recipes-vuplus/vuplus-bluetooth-util/vuplus-bluetooth-util-vuduo4k.bb create mode 100644 meta-bsp/recipes-vuplus/vuplus-bootlogo/files/vuduo4k/splash_auto.bin create mode 100644 meta-bsp/recipes-vuplus/vuplus-bootlogo/vuplus-bootlogo-vuduo4k.bb create mode 100644 meta-bsp/recipes-vuplus/vuplus-dvb-proxy/vuplus-dvb-proxy-vuduo4k.bb create mode 100644 meta-bsp/recipes-vuplus/vuplus-manual/vuplus-manual-vuduo4k.bb create mode 100644 meta-bsp/recipes-vuplus/vuplus-platform-util/files/bp3flash.tar.gz create mode 100644 meta-bsp/recipes-vuplus/vuplus-platform-util/files/vuduo4k/vuplus-platform-util.sysvinit create mode 100644 meta-bsp/recipes-vuplus/vuplus-platform-util/vuplus-platform-util-vuduo4k.bb create mode 100644 meta-bsp/recipes-vuplus/vuplus-tuner-turbo/vuplus-tuner-turbo_4.1.45-1.17.bb create mode 100644 meta-bsp/recipes-vuplus/vuplus-wifi-util/vuplus-wifi-util-vuduo4k.bb create mode 100644 meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vuduo4k.bb create mode 100644 meta-openvuplus/recipes-connectivity/ppp/files/ppp_compile_error.patch delete mode 100644 meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_6706273e6987e54e4dace15936a2cfd4e8c8c41c.patch create mode 100644 meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_c469655e3498abdb58a36b4f62edbd9699ff6f84.patch create mode 100644 meta-openvuplus/recipes-vuplus/e2openplugins/files/box_duo4k.png diff --git a/meta-bsp/conf/machine/vuduo4k.conf b/meta-bsp/conf/machine/vuduo4k.conf new file mode 100644 index 0000000..874cbf7 --- /dev/null +++ b/meta-bsp/conf/machine/vuduo4k.conf @@ -0,0 +1,38 @@ +#@TYPE: Machine +#@NAME: Vu+ duo4k +#@DESCRIPTION: Machine configuration for Vu+ duo4k. + +VUPLUS_FEATURES += "vuwlan" +VUPLUS_FEATURES += "display-graphic-vfd" +VUPLUS_FEATURES += "enable-rc-kbd" +VUPLUS_FEATURES += "rc_code " + +VUPLUS_FEATURES += "blindscan" +VUPLUS_FEATURES += "webmanual" +VUPLUS_FEATURES += "webkithbbtv" +VUPLUS_FEATURES += "streamtv" +VUPLUS_FEATURES += "dlna" +VUPLUS_FEATURES += "3gmodem" +VUPLUS_FEATURES += "autoshutdown" +VUPLUS_FEATURES += "transcoding" +VUPLUS_FEATURES += "audioeffect" +VUPLUS_FEATURES += "dvbproxy" +VUPLUS_FEATURES += "uianimation" +VUPLUS_FEATURES += "kodi" +VUPLUS_FEATURES += "minitv" +VUPLUS_FEATURES += "chromiumos" +VUPLUS_FEATURES += "fcc" +VUPLUS_FEATURES += "bluetooth" +VUPLUS_FEATURES += "scrambledplayback" +VUPLUS_FEATURES += "quadpip" + +IMAGE_UNPACK_PATH = "vuplus/duo4k" +MKFS_UBI_MAX_ERASE_BLK_COUNT = "4096" + +require conf/machine/include/vuplus-bz2-splash-initrd.inc +require conf/machine/include/vuplus-arm32eb.inc + +LINUXLIBCVERSION = "4.1.45" +VUPLUS_KERNEL_VERSION = "4.1.45" + +DEV_KERNEL = "mmcblk0p6" diff --git a/meta-bsp/recipes-graphics/directfb/directfb-armv7ahf-vfp-neon_1.7.7.inc b/meta-bsp/recipes-graphics/directfb/directfb-armv7ahf-vfp-neon_1.7.7.inc index bb727b0..f1f491e 100644 --- a/meta-bsp/recipes-graphics/directfb/directfb-armv7ahf-vfp-neon_1.7.7.inc +++ b/meta-bsp/recipes-graphics/directfb/directfb-armv7ahf-vfp-neon_1.7.7.inc @@ -2,7 +2,7 @@ require directfb-${MACHINE}.inc GFX_FILE = "directfb_1.7-7_gfxdriver_${MACHINE}_${GFXPR}.tar.gz" -PR .= "-vuplus3_${GFXPR}" +PR .= "-vuplus4_${GFXPR}" GFX_URI ?= "http://archive.vuplus.com/download/build_support/vuplus/${GFX_FILE};name=gfxdriver " diff --git a/meta-bsp/recipes-graphics/directfb/directfb-vuduo4k.inc b/meta-bsp/recipes-graphics/directfb/directfb-vuduo4k.inc new file mode 100644 index 0000000..d540483 --- /dev/null +++ b/meta-bsp/recipes-graphics/directfb/directfb-vuduo4k.inc @@ -0,0 +1,3 @@ +GFXPR="20181109.r1" +SRC_URI[gfxdriver.md5sum]="12db83b5a9ffb534be5d05b3a9ddcf5b" +SRC_URI[gfxdriver.sha256sum]="50eb0bc6ff45236e1ec7970ee93834a98f9fe255adf5ed850a861d0e1e870eaf" diff --git a/meta-bsp/recipes-graphics/directfb/directfb_1.7.7.bbappend b/meta-bsp/recipes-graphics/directfb/directfb_1.7.7.bbappend index ca9aaad..5ec4b72 100644 --- a/meta-bsp/recipes-graphics/directfb/directfb_1.7.7.bbappend +++ b/meta-bsp/recipes-graphics/directfb/directfb_1.7.7.bbappend @@ -1,3 +1,4 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:" require directfb-${PACKAGE_ARCH}_1.7.7.inc + diff --git a/meta-bsp/recipes-graphics/libgles/libgles-vuduo4k.bb b/meta-bsp/recipes-graphics/libgles/libgles-vuduo4k.bb new file mode 100644 index 0000000..8db8c7f --- /dev/null +++ b/meta-bsp/recipes-graphics/libgles/libgles-vuduo4k.bb @@ -0,0 +1,12 @@ +require libgles.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + +SRCDATE = "20181113" +SRCDATE_PR = "r0" +PV="18.1" + +S = "${WORKDIR}/libgles-vuduo4k" + +SRC_URI[md5sum] = "457e6bc38cf978b2d3180144b39a012d" +SRC_URI[sha256sum] = "15dceac4937c112cfb709f8c4921962230fb9384686f6b88551d0a6b692d086b" diff --git a/meta-bsp/recipes-graphics/libvugles/libvugles2-vuduo4k.inc b/meta-bsp/recipes-graphics/libvugles/libvugles2-vuduo4k.inc new file mode 100644 index 0000000..ebfc830 --- /dev/null +++ b/meta-bsp/recipes-graphics/libvugles/libvugles2-vuduo4k.inc @@ -0,0 +1,6 @@ +SRCDATE = "20181109" +SRCDATE_PR = "r1" + + +SRC_URI[md5sum] = "f1601fc0f7324fbf8a8eedf8f34a9b59" +SRC_URI[sha256sum] = "a2c6d18e970a8d8b390159239f7e8d5bf8b5ec7d55ca14008c90ea4278705242" diff --git a/meta-bsp/recipes-graphics/libvupl/libvupl-vuduo4k.inc b/meta-bsp/recipes-graphics/libvupl/libvupl-vuduo4k.inc new file mode 100644 index 0000000..820510a --- /dev/null +++ b/meta-bsp/recipes-graphics/libvupl/libvupl-vuduo4k.inc @@ -0,0 +1,5 @@ +SRCDATE = "20181109" +SRCDATE_PR = "r1" + +SRC_URI[md5sum] = "9d7a1a27b6243835a70410584c3874a0" +SRC_URI[sha256sum] = "e86eb7bc9182607f87354ad08d8e23b722c39247335f27d9f5367bd6a877b1ee" diff --git a/meta-bsp/recipes-kernel/linux-libc-headers/files/linux_4_1_1_17_dvbs2x.patch b/meta-bsp/recipes-kernel/linux-libc-headers/files/linux_4_1_1_17_dvbs2x.patch new file mode 100644 index 0000000..a8ca9f2 --- /dev/null +++ b/meta-bsp/recipes-kernel/linux-libc-headers/files/linux_4_1_1_17_dvbs2x.patch @@ -0,0 +1,89 @@ +diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c +index 3ab8747..78c1b24 100644 +--- a/drivers/media/dvb-core/dvb_frontend.c ++++ b/drivers/media/dvb-core/dvb_frontend.c +@@ -170,6 +170,7 @@ static enum dvbv3_emulation_type dvbv3_type(u32 delivery_system) + return DVBV3_QAM; + case SYS_DVBS: + case SYS_DVBS2: ++ case SYS_DVBS2X: + case SYS_TURBO: + case SYS_ISDBS: + case SYS_DSS: +@@ -1008,6 +1009,7 @@ static int dvb_frontend_check_parameters(struct dvb_frontend *fe) + switch (c->delivery_system) { + case SYS_DVBS: + case SYS_DVBS2: ++ case SYS_DVBS2X: + case SYS_TURBO: + case SYS_DVBC_ANNEX_A: + case SYS_DVBC_ANNEX_C: +@@ -1074,6 +1076,7 @@ static int dvb_frontend_clear_cache(struct dvb_frontend *fe) + switch (c->delivery_system) { + case SYS_DVBS: + case SYS_DVBS2: ++ case SYS_DVBS2X: + case SYS_TURBO: + c->modulation = QPSK; /* implied for DVB-S in legacy API */ + c->rolloff = ROLLOFF_35;/* implied for DVB-S */ +@@ -2200,6 +2203,7 @@ static int dtv_set_frontend(struct dvb_frontend *fe) + rolloff = 135; + break; + case SYS_DVBS2: ++ case SYS_DVBS2X: + switch (c->rolloff) { + case ROLLOFF_20: + rolloff = 120; +@@ -2240,6 +2244,7 @@ static int dtv_set_frontend(struct dvb_frontend *fe) + switch (c->delivery_system) { + case SYS_DVBS: + case SYS_DVBS2: ++ case SYS_DVBS2X: + case SYS_ISDBS: + case SYS_TURBO: + case SYS_DVBC_ANNEX_A: +diff --git a/include/uapi/linux/dvb/frontend.h b/include/uapi/linux/dvb/frontend.h +index c56d77c..5aebaa9 100644 +--- a/include/uapi/linux/dvb/frontend.h ++++ b/include/uapi/linux/dvb/frontend.h +@@ -165,6 +165,24 @@ typedef enum fe_code_rate { + FEC_3_5, + FEC_9_10, + FEC_2_5, ++ FEC_13_45=13, ++ FEC_9_20=14, ++ FEC_11_20=15, ++ FEC_23_36=16, ++ FEC_25_36=17, ++ FEC_13_18=18, ++ FEC_26_45=19, ++ FEC_28_45=20, ++ FEC_7_9=21, ++ FEC_77_90=22, ++ FEC_32_45=23, ++ FEC_11_15=24, ++ FEC_1_2_L=25, ++ FEC_8_15_L=26, ++ FEC_3_5_L=27, ++ FEC_2_3_L=28, ++ FEC_5_9_L=29, ++ FEC_26_45_L=30 + } fe_code_rate_t; + + +@@ -183,6 +201,7 @@ typedef enum fe_modulation { + APSK_32, + DQPSK, + QAM_4_NR, ++ APSK_8, + } fe_modulation_t; + + typedef enum fe_transmit_mode { +@@ -410,6 +429,7 @@ typedef enum fe_delivery_system { + SYS_DVBT2, + SYS_TURBO, + SYS_DVBC_ANNEX_C, ++ SYS_DVBS2X = 21, + } fe_delivery_system_t; + + /* backward compatibility */ diff --git a/meta-bsp/recipes-kernel/linux-libc-headers/linux-libc-headers_4.1.45.bb b/meta-bsp/recipes-kernel/linux-libc-headers/linux-libc-headers_4.1.45.bb new file mode 100644 index 0000000..85d78ff --- /dev/null +++ b/meta-bsp/recipes-kernel/linux-libc-headers/linux-libc-headers_4.1.45.bb @@ -0,0 +1,17 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +PV = "4.1.45" +PR .= "-bsp1" + +require linux-libc-headers.inc + +SRC_URI += " \ + file://linux_4_1_1_17_dvbs2x.patch \ +" + +SRC_URI_append_vuduo4k = " \ + file://linux_4.1.20_dmx_source_dvr.patch \ +" + +SRC_URI[md5sum] = "c07e1bced97a4d3cd9095b3440b48b08" +SRC_URI[sha256sum] = "76700a6a788c5750e3421eba004190cdc5b63f62726fce3b5fa27bd1c2cd5912" diff --git a/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45.inc b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45.inc new file mode 100644 index 0000000..befcaa3 --- /dev/null +++ b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45.inc @@ -0,0 +1,72 @@ +DESCRIPTION = "Linux kernel for vuplus" +SECTION = "kernel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" + +PE = "1" +KV = "4.1.45" + +INC_PR = "r0" +SRCREV = "" + +MODULE = "linux-4.1.45" + +KERNEL_CONFIG = "${MACHINE}_defconfig" + +KSRC_VER = "4.1-1.17" + +SRC_URI = " \ + http://archive.vuplus.com/download/kernel/stblinux-${KSRC_VER}.tar.bz2 \ + file://${KERNEL_CONFIG} \ + file://linux_dvb_adapter.patch \ + file://linux_dvb-core.patch \ + file://linux_4_1_45_dvbs2x.patch \ +" + +inherit kernel + +S = "${WORKDIR}/linux" + +RREPLACES_${PN} = "linux-vuplus" +RCONFLICTS_${PN} = "linux-vuplus" + +export OS = "Linux" +KERNEL_IMAGETYPE = "zImage" +KERNEL_OBJECT_SUFFIX = "ko" +KERNEL_IMAGEDEST = "tmp" +KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}" + +FILES_kernel-image = "/${KERNEL_IMAGEDEST}/zImage" + +do_configure_prepend() { + oe_machinstall -m 0644 ${WORKDIR}/${KERNEL_CONFIG} ${WORKDIR}/defconfig +} + +kernel_do_install_append() { + install -d ${D}/${KERNEL_IMAGEDEST} + install -m 0755 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST} +} + +kernel_do_compile() { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE + oe_runmake ${KERNEL_IMAGETYPE_FOR_MAKE} ${KERNEL_ALT_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}" + if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; then + gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}" + fi +} + +pkg_postinst_kernel-image () { + if [ -d /proc/stb ] ; then + dd if=/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} of=/dev/${DEV_KERNEL} + fi + rm -f /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} + true +} + +pkg_postrm_kernel-image () { +} + +FILESEXTRAPATHS_prepend := "${THISDIR}/linux-vuplus-${KV}:" + +SRC_URI[md5sum] = "7b5617dc7ec01ff4347b5b50d9d46f0f" +SRC_URI[sha256sum] = "18ecc79522f6b975c96cca7975eb31db93d2e8cfea6755451bba0a1a28feb0bd" diff --git a/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/bcmsysport_4_1_45.patch b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/bcmsysport_4_1_45.patch new file mode 100644 index 0000000..0dac0e8 --- /dev/null +++ b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/bcmsysport_4_1_45.patch @@ -0,0 +1,45 @@ +diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c +index 6fc9b29..0aec0c5 100644 +--- a/drivers/net/ethernet/broadcom/bcmsysport.c ++++ b/drivers/net/ethernet/broadcom/bcmsysport.c +@@ -2146,7 +2146,7 @@ static int bcm_sysport_probe(struct platform_device *pdev) + if (!txq || txq > TDMA_NUM_RINGS) + return -EINVAL; + +- dev = alloc_etherdev_mqs(sizeof(*priv), txq, rxq); ++ dev = alloc_etherdev_mqs_sys(sizeof(*priv), txq, rxq); + if (!dev) + return -ENOMEM; + +diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h +index 606563e..6871f20 100644 +--- a/include/linux/etherdevice.h ++++ b/include/linux/etherdevice.h +@@ -48,6 +48,8 @@ int eth_validate_addr(struct net_device *dev); + + struct net_device *alloc_etherdev_mqs(int sizeof_priv, unsigned int txqs, + unsigned int rxqs); ++struct net_device *alloc_etherdev_mqs_sys(int sizeof_priv, unsigned int txqs, ++ unsigned int rxqs); + #define alloc_etherdev(sizeof_priv) alloc_etherdev_mq(sizeof_priv, 1) + #define alloc_etherdev_mq(sizeof_priv, count) alloc_etherdev_mqs(sizeof_priv, count, count) + +diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c +index 76f8389..43c8b72 100644 +--- a/net/ethernet/eth.c ++++ b/net/ethernet/eth.c +@@ -385,6 +385,14 @@ struct net_device *alloc_etherdev_mqs(int sizeof_priv, unsigned int txqs, + } + EXPORT_SYMBOL(alloc_etherdev_mqs); + ++struct net_device *alloc_etherdev_mqs_sys(int sizeof_priv, unsigned int txqs, ++ unsigned int rxqs) ++{ ++ return alloc_netdev_mqs(sizeof_priv, "sys%d", NET_NAME_UNKNOWN, ++ ether_setup, txqs, rxqs); ++} ++EXPORT_SYMBOL(alloc_etherdev_mqs_sys); ++ + ssize_t sysfs_format_mac(char *buf, const unsigned char *addr, int len) + { + return scnprintf(buf, PAGE_SIZE, "%*phC\n", len, addr); diff --git a/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/linux_4_1_45_dvbs2x.patch b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/linux_4_1_45_dvbs2x.patch new file mode 100644 index 0000000..a8ca9f2 --- /dev/null +++ b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/linux_4_1_45_dvbs2x.patch @@ -0,0 +1,89 @@ +diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c +index 3ab8747..78c1b24 100644 +--- a/drivers/media/dvb-core/dvb_frontend.c ++++ b/drivers/media/dvb-core/dvb_frontend.c +@@ -170,6 +170,7 @@ static enum dvbv3_emulation_type dvbv3_type(u32 delivery_system) + return DVBV3_QAM; + case SYS_DVBS: + case SYS_DVBS2: ++ case SYS_DVBS2X: + case SYS_TURBO: + case SYS_ISDBS: + case SYS_DSS: +@@ -1008,6 +1009,7 @@ static int dvb_frontend_check_parameters(struct dvb_frontend *fe) + switch (c->delivery_system) { + case SYS_DVBS: + case SYS_DVBS2: ++ case SYS_DVBS2X: + case SYS_TURBO: + case SYS_DVBC_ANNEX_A: + case SYS_DVBC_ANNEX_C: +@@ -1074,6 +1076,7 @@ static int dvb_frontend_clear_cache(struct dvb_frontend *fe) + switch (c->delivery_system) { + case SYS_DVBS: + case SYS_DVBS2: ++ case SYS_DVBS2X: + case SYS_TURBO: + c->modulation = QPSK; /* implied for DVB-S in legacy API */ + c->rolloff = ROLLOFF_35;/* implied for DVB-S */ +@@ -2200,6 +2203,7 @@ static int dtv_set_frontend(struct dvb_frontend *fe) + rolloff = 135; + break; + case SYS_DVBS2: ++ case SYS_DVBS2X: + switch (c->rolloff) { + case ROLLOFF_20: + rolloff = 120; +@@ -2240,6 +2244,7 @@ static int dtv_set_frontend(struct dvb_frontend *fe) + switch (c->delivery_system) { + case SYS_DVBS: + case SYS_DVBS2: ++ case SYS_DVBS2X: + case SYS_ISDBS: + case SYS_TURBO: + case SYS_DVBC_ANNEX_A: +diff --git a/include/uapi/linux/dvb/frontend.h b/include/uapi/linux/dvb/frontend.h +index c56d77c..5aebaa9 100644 +--- a/include/uapi/linux/dvb/frontend.h ++++ b/include/uapi/linux/dvb/frontend.h +@@ -165,6 +165,24 @@ typedef enum fe_code_rate { + FEC_3_5, + FEC_9_10, + FEC_2_5, ++ FEC_13_45=13, ++ FEC_9_20=14, ++ FEC_11_20=15, ++ FEC_23_36=16, ++ FEC_25_36=17, ++ FEC_13_18=18, ++ FEC_26_45=19, ++ FEC_28_45=20, ++ FEC_7_9=21, ++ FEC_77_90=22, ++ FEC_32_45=23, ++ FEC_11_15=24, ++ FEC_1_2_L=25, ++ FEC_8_15_L=26, ++ FEC_3_5_L=27, ++ FEC_2_3_L=28, ++ FEC_5_9_L=29, ++ FEC_26_45_L=30 + } fe_code_rate_t; + + +@@ -183,6 +201,7 @@ typedef enum fe_modulation { + APSK_32, + DQPSK, + QAM_4_NR, ++ APSK_8, + } fe_modulation_t; + + typedef enum fe_transmit_mode { +@@ -410,6 +429,7 @@ typedef enum fe_delivery_system { + SYS_DVBT2, + SYS_TURBO, + SYS_DVBC_ANNEX_C, ++ SYS_DVBS2X = 21, + } fe_delivery_system_t; + + /* backward compatibility */ diff --git a/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/linux_dvb-core.patch b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/linux_dvb-core.patch new file mode 100644 index 0000000..a2e9eef --- /dev/null +++ b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/linux_dvb-core.patch @@ -0,0 +1,198 @@ +diff --git a/drivers/media/dvb-core/dmxdev.c b/drivers/media/dvb-core/dmxdev.c +index d0e3f9d..d060019 100644 +--- a/drivers/media/dvb-core/dmxdev.c ++++ b/drivers/media/dvb-core/dmxdev.c +@@ -82,7 +82,11 @@ static ssize_t dvb_dmxdev_buffer_read(struct dvb_ringbuffer *src, + + ret = wait_event_interruptible(src->queue, + !dvb_ringbuffer_empty(src) || +- (src->error != 0)); ++ (src->error != 0) || ++ (src->do_wait != 1)); ++ if (src->do_wait != 1) ++ ret = -EINTR; ++ + if (ret < 0) + break; + +@@ -955,6 +959,22 @@ dvb_demux_read(struct file *file, char __user *buf, size_t count, + return ret; + } + ++static int dvb_demux_lock_filter(struct dmxdev_filter *dmxdevfilter) ++{ ++ int ret; ++ ++ dmxdevfilter->buffer.do_wait = 0; ++ ++ if (waitqueue_active(&dmxdevfilter->buffer.queue)) ++ wake_up(&dmxdevfilter->buffer.queue); ++ ++ ret = mutex_lock_interruptible(&dmxdevfilter->mutex); ++ ++ dmxdevfilter->buffer.do_wait = 1; ++ ++ return ret; ++} ++ + static int dvb_demux_do_ioctl(struct file *file, + unsigned int cmd, void *parg) + { +@@ -968,7 +988,7 @@ static int dvb_demux_do_ioctl(struct file *file, + + switch (cmd) { + case DMX_START: +- if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { ++ if (dvb_demux_lock_filter(dmxdevfilter)) { + mutex_unlock(&dmxdev->mutex); + return -ERESTARTSYS; + } +@@ -980,7 +1000,7 @@ static int dvb_demux_do_ioctl(struct file *file, + break; + + case DMX_STOP: +- if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { ++ if (dvb_demux_lock_filter(dmxdevfilter)) { + mutex_unlock(&dmxdev->mutex); + return -ERESTARTSYS; + } +@@ -989,7 +1009,7 @@ static int dvb_demux_do_ioctl(struct file *file, + break; + + case DMX_SET_FILTER: +- if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { ++ if (dvb_demux_lock_filter(dmxdevfilter)) { + mutex_unlock(&dmxdev->mutex); + return -ERESTARTSYS; + } +@@ -998,7 +1018,7 @@ static int dvb_demux_do_ioctl(struct file *file, + break; + + case DMX_SET_PES_FILTER: +- if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { ++ if (dvb_demux_lock_filter(dmxdevfilter)) { + mutex_unlock(&dmxdev->mutex); + return -ERESTARTSYS; + } +@@ -1007,7 +1027,7 @@ static int dvb_demux_do_ioctl(struct file *file, + break; + + case DMX_SET_BUFFER_SIZE: +- if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { ++ if (dvb_demux_lock_filter(dmxdevfilter)) { + mutex_unlock(&dmxdev->mutex); + return -ERESTARTSYS; + } +@@ -1051,7 +1071,7 @@ static int dvb_demux_do_ioctl(struct file *file, + break; + + case DMX_ADD_PID: +- if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { ++ if (dvb_demux_lock_filter(dmxdevfilter)) { + ret = -ERESTARTSYS; + break; + } +@@ -1060,7 +1080,7 @@ static int dvb_demux_do_ioctl(struct file *file, + break; + + case DMX_REMOVE_PID: +- if (mutex_lock_interruptible(&dmxdevfilter->mutex)) { ++ if (dvb_demux_lock_filter(dmxdevfilter)) { + ret = -ERESTARTSYS; + break; + } +@@ -1221,6 +1241,13 @@ static const struct dvb_device dvbdev_dvr = { + #endif + .fops = &dvb_dvr_fops + }; ++ ++void (*dvb_dmxdev_init_hook)(struct dmxdev *dmxdev, struct dvb_adapter *dvb_adapter) = NULL; ++EXPORT_SYMBOL(dvb_dmxdev_init_hook); ++ ++void (*dvb_dmxdev_release_hook)(struct dmxdev *dmxdev) = NULL; ++EXPORT_SYMBOL(dvb_dmxdev_release_hook); ++ + int dvb_dmxdev_init(struct dmxdev *dmxdev, struct dvb_adapter *dvb_adapter) + { + int i; +@@ -1248,6 +1275,9 @@ int dvb_dmxdev_init(struct dmxdev *dmxdev, struct dvb_adapter *dvb_adapter) + + dvb_ringbuffer_init(&dmxdev->dvr_buffer, NULL, 8192); + ++ if (dvb_dmxdev_init_hook) { ++ dvb_dmxdev_init_hook(dmxdev, dvb_adapter); ++ } + return 0; + } + +@@ -1255,6 +1285,10 @@ EXPORT_SYMBOL(dvb_dmxdev_init); + + void dvb_dmxdev_release(struct dmxdev *dmxdev) + { ++ if (dvb_dmxdev_release_hook) { ++ dvb_dmxdev_release_hook(dmxdev); ++ } ++ + dmxdev->exit=1; + if (dmxdev->dvbdev->users > 1) { + wait_event(dmxdev->dvbdev->wait_queue, +diff --git a/drivers/media/dvb-core/dvb_demux.c b/drivers/media/dvb-core/dvb_demux.c +index 6c7ff0c..bd2d3c5 100644 +--- a/drivers/media/dvb-core/dvb_demux.c ++++ b/drivers/media/dvb-core/dvb_demux.c +@@ -60,6 +60,9 @@ MODULE_PARM_DESC(dvb_demux_feed_err_pkts, + printk(x); \ + } while (0) + ++int (*dmx_swfilter_hook)(struct dvb_demux *dvbdmx, const u8 *buffer, size_t length) = NULL; ++EXPORT_SYMBOL(dmx_swfilter_hook); ++ + /****************************************************************************** + * static inlined helper functions + ******************************************************************************/ +@@ -478,6 +481,10 @@ void dvb_dmx_swfilter_packets(struct dvb_demux *demux, const u8 *buf, + { + unsigned long flags; + ++ if (dmx_swfilter_hook) { ++ if (dmx_swfilter_hook(demux, buf, count) >= 0) return; ++ } ++ + spin_lock_irqsave(&demux->lock, flags); + + while (count--) { +@@ -572,6 +579,10 @@ bailout: + + void dvb_dmx_swfilter(struct dvb_demux *demux, const u8 *buf, size_t count) + { ++ if (dmx_swfilter_hook) { ++ if (dmx_swfilter_hook(demux, buf, count) >= 0) return; ++ } ++ + _dvb_dmx_swfilter(demux, buf, count, 188); + } + EXPORT_SYMBOL(dvb_dmx_swfilter); +diff --git a/drivers/media/dvb-core/dvb_ringbuffer.c b/drivers/media/dvb-core/dvb_ringbuffer.c +index 7df7fb3..b8771b3 100644 +--- a/drivers/media/dvb-core/dvb_ringbuffer.c ++++ b/drivers/media/dvb-core/dvb_ringbuffer.c +@@ -45,6 +45,7 @@ void dvb_ringbuffer_init(struct dvb_ringbuffer *rbuf, void *data, size_t len) + rbuf->data=data; + rbuf->size=len; + rbuf->error=0; ++ rbuf->do_wait=1; + + init_waitqueue_head(&rbuf->queue); + +diff --git a/drivers/media/dvb-core/dvb_ringbuffer.h b/drivers/media/dvb-core/dvb_ringbuffer.h +index 9e1e11b..0f876c0 100644 +--- a/drivers/media/dvb-core/dvb_ringbuffer.h ++++ b/drivers/media/dvb-core/dvb_ringbuffer.h +@@ -39,6 +39,7 @@ struct dvb_ringbuffer { + + wait_queue_head_t queue; + spinlock_t lock; ++ int do_wait; + }; + + #define DVB_RINGBUFFER_PKTHDRSIZE 3 diff --git a/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/linux_dvb_adapter.patch b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/linux_dvb_adapter.patch new file mode 100644 index 0000000..293ad0f --- /dev/null +++ b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/linux_dvb_adapter.patch @@ -0,0 +1,37 @@ +diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c +index 13bb57f..69cc48d 100644 +--- a/drivers/media/dvb-core/dvbdev.c ++++ b/drivers/media/dvb-core/dvbdev.c +@@ -438,9 +438,9 @@ static int dvbdev_check_free_adapter_num(int num) + return 1; + } + +-static int dvbdev_get_free_adapter_num (void) ++static int dvbdev_get_free_adapter_num (int start_num) + { +- int num = 0; ++ int num = start_num; + + while (num < DVB_MAX_ADAPTERS) { + if (dvbdev_check_free_adapter_num(num)) +@@ -457,17 +457,18 @@ int dvb_register_adapter(struct dvb_adapter *adap, const char *name, + short *adapter_nums) + { + int i, num; ++ char *vu_name = strstr(name, "_vuplus_"); + + mutex_lock(&dvbdev_register_lock); + + for (i = 0; i < DVB_MAX_ADAPTERS; ++i) { + num = adapter_nums[i]; +- if (num >= 0 && num < DVB_MAX_ADAPTERS) { ++ if (num >= vu_name? 0:1 && num < DVB_MAX_ADAPTERS) { + /* use the one the driver asked for */ + if (dvbdev_check_free_adapter_num(num)) + break; + } else { +- num = dvbdev_get_free_adapter_num(); ++ num = dvbdev_get_free_adapter_num(vu_name? 0:1); + break; + } + num = -1; diff --git a/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/vuduo4k/linux_usb_hub.patch b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/vuduo4k/linux_usb_hub.patch new file mode 100644 index 0000000..bbb7e3c --- /dev/null +++ b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/vuduo4k/linux_usb_hub.patch @@ -0,0 +1,29 @@ +diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c +index 137276f..7a68c58 100644 +--- a/drivers/usb/core/hub.c ++++ b/drivers/usb/core/hub.c +@@ -1043,6 +1043,12 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type) + unsigned delay = hub_power_on_good_delay(hub); + + hub_power_on(hub, false); ++ ++ if( hdev->devnum == 1 && hdev->bus->busnum ==2 ){ ++ //dev_dbg(hub->hdev, "Found USB 3.0 RootHub"); ++ delay = 10000; ++ } ++ + INIT_DELAYED_WORK(&hub->init_work, hub_init_func2); + queue_delayed_work(system_power_efficient_wq, + &hub->init_work, +@@ -5057,8 +5063,10 @@ static void hub_event(struct work_struct *work) + hub->error = 0; + } + ++ msleep(1000); + /* deal with port status changes */ +- for (i = 1; i <= hdev->maxchild; i++) { ++ //for (i = 1; i <= hdev->maxchild; i++) { ++ for (i = hdev->maxchild ; i >= 1; i--) { + struct usb_port *port_dev = hub->ports[i - 1]; + + if (test_bit(i, hub->event_bits) diff --git a/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/vuduo4k/vuduo4k_defconfig b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/vuduo4k/vuduo4k_defconfig new file mode 100644 index 0000000..ad616be --- /dev/null +++ b/meta-bsp/recipes-kernel/linux/linux-vuplus-4.1.45/vuduo4k/vuduo4k_defconfig @@ -0,0 +1,4207 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.1.45-1.17 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=3 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="arm-linux-" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_FHANDLE=y +CONFIG_USELIB=y +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +# CONFIG_TICK_CPU_ACCOUNTING is not set +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +CONFIG_IRQ_TIME_ACCOUNTING=y +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_RCU_USER_QS is not set +CONFIG_RCU_FANOUT=32 +CONFIG_RCU_FANOUT_LEAF=16 +# CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_RCU_FAST_NO_HZ is not set +# CONFIG_TREE_RCU_TRACE is not set +CONFIG_RCU_KTHREAD_PRIO=0 +# CONFIG_RCU_NOCB_CPU is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +# CONFIG_BUILD_BIN2C is not set +# CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=16 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_CGROUPS=y +# CONFIG_CGROUP_DEBUG is not set +# CONFIG_CGROUP_FREEZER is not set +# CONFIG_CGROUP_DEVICE is not set +# CONFIG_CPUSETS is not set +# CONFIG_CGROUP_CPUACCT is not set +# CONFIG_MEMCG is not set +# CONFIG_CGROUP_PERF is not set +# CONFIG_CGROUP_SCHED is not set +# CONFIG_BLK_CGROUP is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_PCI_QUIRKS=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_COMPAT_BRK=y +CONFIG_SLAB=y +# CONFIG_SLUB is not set +# CONFIG_SLOB is not set +# CONFIG_SYSTEM_TRUSTED_KEYRING is not set +# CONFIG_PROFILING is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +# CONFIG_JUMP_LABEL is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_SIG_SHA1 is not set +# CONFIG_MODULE_SIG_SHA224 is not set +# CONFIG_MODULE_SIG_SHA256 is not set +# CONFIG_MODULE_SIG_SHA384 is not set +# CONFIG_MODULE_SIG_SHA512 is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_STOP_MACHINE=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_CMDLINE_PARSER is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_CMDLINE_PARTITION is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_SHMOBILE_LEGACY is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# Multiple platform selection +# + +# +# CPU Core family selection +# +# CONFIG_ARCH_MULTI_V6 is not set +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MULTI_V6_V7=y +# CONFIG_ARCH_MULTI_CPU_AUTO is not set +# CONFIG_ARCH_VIRT is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_AXXIA is not set +CONFIG_ARCH_BCM=y + +# +# IPROC architected SoCs +# +# CONFIG_ARCH_BCM_CYGNUS is not set +# CONFIG_ARCH_BCM_5301X is not set + +# +# KONA architected SoCs +# +# CONFIG_ARCH_BCM_281XX is not set +# CONFIG_ARCH_BCM_21664 is not set + +# +# Other Architectures +# +# CONFIG_ARCH_BCM_63XX is not set +CONFIG_ARCH_BRCMSTB=y +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_DIGICOLOR is not set +# CONFIG_ARCH_HIGHBANK is not set +# CONFIG_ARCH_HISI is not set +# CONFIG_ARCH_KEYSTONE is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_MEDIATEK is not set + +# +# TI OMAP/AM/DM/DRA Family +# +# CONFIG_ARCH_OMAP3 is not set +# CONFIG_ARCH_OMAP4 is not set +# CONFIG_SOC_OMAP5 is not set +# CONFIG_SOC_AM33XX is not set +# CONFIG_SOC_AM43XX is not set +# CONFIG_SOC_DRA7XX is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_SOCFPGA is not set +# CONFIG_PLAT_SPEAR is not set +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_SHMOBILE_MULTI is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_SIRF is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_U8500 is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_WM8850 is not set +# CONFIG_ARCH_ZYNQ is not set + +# +# Processor Type +# +CONFIG_CPU_V7=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_LPAE=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +CONFIG_SWP_EMULATE=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_VDSO=y +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_CACHE_B15_RAC=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_CACHE_L2X0=y +# CONFIG_PL310_ERRATA_588369 is not set +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +CONFIG_ARM_ERRATA_643719=y +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_754327 is not set +# CONFIG_ARM_ERRATA_764369 is not set +# CONFIG_ARM_ERRATA_775420 is not set +CONFIG_ARM_ERRATA_798181=y +# CONFIG_ARM_ERRATA_773022 is not set + +# +# Bus support +# +CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_SYSCALL=y +CONFIG_PCI_BUS_ADDR_T_64BIT=y +CONFIG_PCI_MSI=y +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set + +# +# PCI host controller drivers +# +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCIE_IPROC is not set +CONFIG_PCIE_BRCMSTB=y +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIEAER is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_NATIVE_64BIT_ACCESS=y +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +# CONFIG_SCHED_MC is not set +# CONFIG_SCHED_SMT is not set +CONFIG_HAVE_ARM_ARCH_TIMER=y +# CONFIG_MCPM is not set +# CONFIG_BIG_LITTLE is not set +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_NR_CPUS=4 +CONFIG_HOTPLUG_CPU=y +CONFIG_ARM_PSCI=y +CONFIG_ARCH_NR_GPIO=1024 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_100 is not set +# CONFIG_HZ_200 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_500 is not set +CONFIG_HZ_1000=y +CONFIG_HZ=1000 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_GENERIC_RCU_GUP=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_SELECT_MEMORY_MODEL=y +# CONFIG_FLATMEM_MANUAL is not set +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_TRANSPARENT_HUGEPAGE is not set +# CONFIG_CLEANCACHE is not set +# CONFIG_FRONTSWAP is not set +CONFIG_CMA=y +# CONFIG_CMA_DEBUG is not set +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_AREAS=7 +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +# CONFIG_ZSMALLOC is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set +CONFIG_CMDLINE="root=/dev/mmcblk0p9 rootfstype=ext4 rootflags=data=journal rootwait rw coherent_pool=2M vmalloc=500m bmem=891m@1156m bmem=575m@3520m" +# CONFIG_CMDLINE_FROM_BOOTLOADER is not set +# CONFIG_CMDLINE_EXTEND is not set +CONFIG_CMDLINE_FORCE=y +CONFIG_KEXEC=y +CONFIG_ATAGS_PROC=y +# CONFIG_CRASH_DUMP is not set +CONFIG_AUTO_ZRELADDR=y + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_STAT_DETAILS is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# 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_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +# +# CPU frequency scaling drivers +# +CONFIG_CPUFREQ_DT=y +CONFIG_ARM_BRCMSTB_AVS_CPUFREQ=y +# CONFIG_ARM_BRCMSTB_AVS_CPUFREQ_DEBUG is not set +CONFIG_ARM_BRCMSTB_CPUFREQ=y +CONFIG_ARM_BRCMSTB_CPUFREQ_OLD_DT_COMPAT=y +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y + +# +# ARM CPU Idle Drivers +# +# CONFIG_ARM_CPUIDLE is not set +# CONFIG_ARM_HIGHBANK_CPUIDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_HIBERNATION is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +# CONFIG_APM_EMULATION is not set +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_NET_IP_TUNNEL=m +CONFIG_IP_MROUTE=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_UDP_TUNNEL is not set +# CONFIG_NET_FOU is not set +# CONFIG_NET_FOU_IP_TUNNELS is not set +# CONFIG_GENEVE is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +# CONFIG_DEFAULT_BIC is not set +# CONFIG_DEFAULT_CUBIC is not set +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=m +# CONFIG_IPV6_ROUTER_PREF is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +# CONFIG_INET6_AH is not set +# CONFIG_INET6_ESP is not set +# CONFIG_INET6_IPCOMP is not set +# CONFIG_IPV6_MIP6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_GRE is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETWORK_SECMARK is not set +CONFIG_NET_PTP_CLASSIFY=y +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +# CONFIG_BRIDGE_NETFILTER is not set + +# +# Core Netfilter Configuration +# +# CONFIG_NETFILTER_NETLINK_ACCT is not set +# CONFIG_NETFILTER_NETLINK_QUEUE is not set +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NF_CONNTRACK is not set +# CONFIG_NF_TABLES is not set +# CONFIG_NETFILTER_XTABLES is not set +# CONFIG_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_IPV4 is not set +# CONFIG_NF_LOG_ARP is not set +# CONFIG_NF_LOG_IPV4 is not set +# CONFIG_NF_REJECT_IPV4 is not set +# CONFIG_IP_NF_IPTABLES is not set +# CONFIG_IP_NF_ARPTABLES is not set + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_DEFRAG_IPV6 is not set +# CONFIG_NF_REJECT_IPV6 is not set +# CONFIG_NF_LOG_IPV6 is not set +# CONFIG_IP6_NF_IPTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +CONFIG_NET_DSA=y +CONFIG_NET_DSA_TAG_BRCM=y +CONFIG_VLAN_8021Q=y +# CONFIG_VLAN_8021Q_GVRP is not set +# CONFIG_VLAN_8021Q_MVRP is not set +# CONFIG_DECNET is not set +CONFIG_LLC=m +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +CONFIG_NET_SWITCHDEV=y +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_XPS=y +# CONFIG_CGROUP_NET_PRIO is not set +# CONFIG_CGROUP_NET_CLASSID is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set +CONFIG_NET_FLOW_LIMIT=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +CONFIG_BT=m +CONFIG_BT_BREDR=y +# CONFIG_BT_RFCOMM is not set +# CONFIG_BT_BNEP is not set +# CONFIG_BT_HIDP is not set +CONFIG_BT_LE=y +# CONFIG_BT_SELFTEST is not set +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +# CONFIG_BT_HCIBTUSB is not set +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=y +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_WEXT=y +CONFIG_CFG80211_WEXT_EXPORT=y +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_WEP=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_RFKILL_REGULATOR is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_SOC_BUS=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_MMIO=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=16 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=9 + +# +# Bus devices +# +CONFIG_ARM_CCI=y +CONFIG_ARM_CCI400_COMMON=y +CONFIG_ARM_CCI400_PMU=y +# CONFIG_ARM_CCN is not set +CONFIG_BRCMSTB_GISB_ARB=y +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +CONFIG_MTD_JEDECPROBE=y +CONFIG_MTD_GEN_PROBE=y +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_CFI_AMDSTD=y +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_CFI_UTIL=y +# CONFIG_MTD_RAM is not set +CONFIG_MTD_ROM=y +CONFIG_MTD_ABSENT=y + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PHYSMAP is not set +CONFIG_MTD_PHYSMAP_OF=y +# CONFIG_MTD_IMPA7 is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +CONFIG_MTD_M25P80=y +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SMC is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_ECC_BCH is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_NAND_DENALI is not set +# CONFIG_MTD_NAND_GPIO is not set +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_RICOH is not set +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_DOCG4 is not set +# CONFIG_MTD_NAND_CAFE is not set +# CONFIG_MTD_NAND_NANDSIM is not set +CONFIG_MTD_NAND_BRCMNAND=y +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_NAND_HISI504 is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +CONFIG_MTD_UBI_GLUEBI=y +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_DTC=y +CONFIG_OF=y + +# +# Device Tree and Open Firmware support +# +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_MTD=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_NVME is not set +# CONFIG_BLK_DEV_SX8 is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_BLK_DEV_PMEM is not set +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +CONFIG_EEPROM_93CX6=y +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_CHR_DEV_SG=y +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_NSP32 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +# CONFIG_SATA_AHCI is not set +CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_AHCI_BRCMSTB=y +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_PLATFORM is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_IPVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=m +# CONFIG_VETH is not set +# CONFIG_NLMON is not set +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6060 is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +# CONFIG_NET_DSA_MV88E6131 is not set +# CONFIG_NET_DSA_MV88E6123_61_65 is not set +# CONFIG_NET_DSA_MV88E6171 is not set +# CONFIG_NET_DSA_MV88E6352 is not set +CONFIG_NET_DSA_BCM_SF2=y +CONFIG_ETHERNET=y +# CONFIG_NET_VENDOR_3COM is not set +# CONFIG_NET_VENDOR_ADAPTEC is not set +# CONFIG_NET_VENDOR_AGERE is not set +# CONFIG_NET_VENDOR_ALTEON is not set +# CONFIG_ALTERA_TSE is not set +# CONFIG_NET_VENDOR_AMD is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_ATHEROS is not set +# CONFIG_NET_CADENCE is not set +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +CONFIG_BCMGENET=y +# CONFIG_BNX2 is not set +# CONFIG_CNIC is not set +# CONFIG_TIGON3 is not set +# CONFIG_BNX2X is not set +CONFIG_SYSTEMPORT=y +# CONFIG_NET_VENDOR_BROCADE is not set +# CONFIG_NET_VENDOR_CHELSIO is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +# CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +# CONFIG_NET_VENDOR_DEC is not set +# CONFIG_NET_VENDOR_DLINK is not set +# CONFIG_NET_VENDOR_EMULEX is not set +# CONFIG_NET_VENDOR_EXAR is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_HISILICON is not set +# CONFIG_NET_VENDOR_HP is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_IP1000 is not set +# CONFIG_JME is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MYRI is not set +# CONFIG_FEALNX is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NVIDIA is not set +# CONFIG_NET_VENDOR_OKI is not set +# CONFIG_ETHOC is not set +# CONFIG_NET_PACKET_ENGINE is not set +# CONFIG_NET_VENDOR_QLOGIC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_REALTEK is not set +# CONFIG_NET_VENDOR_RDC is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SILAN is not set +# CONFIG_NET_VENDOR_SIS is not set +# CONFIG_SFC is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_SUN is not set +# CONFIG_NET_VENDOR_TEHUTI is not set +# CONFIG_NET_VENDOR_TI is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +# CONFIG_WIZNET_BUS_DIRECT is not set +# CONFIG_WIZNET_BUS_INDIRECT is not set +# CONFIG_WIZNET_BUS_ANY is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_AT803X_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +CONFIG_BCM531XX_PHY=y +CONFIG_BCM7XXX_PHY=y +# CONFIG_BCM87XX_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MICREL_PHY is not set +CONFIG_FIXED_PHY=y +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +CONFIG_MDIO_BCM_UNIMAC=y +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOE=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_SLIP=m +CONFIG_SLHC=m +# CONFIG_SLIP_COMPRESSED is not set +# CONFIG_SLIP_SMART is not set +# CONFIG_SLIP_MODE_SLIP6 is not set +CONFIG_USB_NET_DRIVERS=y +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_AX88179_178A=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_HUAWEI_CDC_NCM=m +CONFIG_USB_NET_CDC_MBIM=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SR9700=m +CONFIG_USB_NET_SR9800=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_NET_QMI_WWAN=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_IPHETH=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_VL600=m +CONFIG_WLAN=y +CONFIG_LIBERTAS_THINFIRM=m +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_ATMEL=m +# CONFIG_PCI_ATMEL is not set +CONFIG_AT76C50X_USB=m +# CONFIG_PRISM54 is not set +CONFIG_USB_ZD1201=m +CONFIG_USB_NET_RNDIS_WLAN=m +# CONFIG_RTL8180 is not set +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_ADM8211=m +CONFIG_MAC80211_HWSIM=m +# CONFIG_MWL8K is not set +CONFIG_ATH_COMMON=m +CONFIG_ATH_CARDS=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +CONFIG_ATH5K_PCI=y +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +# CONFIG_ATH9K_PCI is not set +# CONFIG_ATH9K_AHB is not set +# CONFIG_ATH9K_DEBUGFS is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_WOW is not set +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set +# CONFIG_ATH9K_PCOEM is not set +CONFIG_ATH9K_HTC=m +# CONFIG_ATH9K_HTC_DEBUGFS is not set +CONFIG_CARL9170=m +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_WPC=y +# CONFIG_CARL9170_HWRNG is not set +# CONFIG_ATH6KL is not set +CONFIG_AR5523=m +CONFIG_WIL6210=m +CONFIG_WIL6210_ISR_COR=y +CONFIG_ATH10K=m +# CONFIG_ATH10K_PCI is not set +# CONFIG_ATH10K_DEBUG is not set +# CONFIG_ATH10K_DEBUGFS is not set +CONFIG_WCN36XX=m +# CONFIG_WCN36XX_DEBUGFS is not set +CONFIG_B43=m +CONFIG_B43_BCMA=y +CONFIG_B43_SSB=y +CONFIG_B43_BUSES_BCMA_AND_SSB=y +# CONFIG_B43_BUSES_BCMA is not set +# CONFIG_B43_BUSES_SSB is not set +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PCICORE_AUTOSELECT=y +# CONFIG_B43_SDIO is not set +CONFIG_B43_BCMA_PIO=y +CONFIG_B43_PIO=y +CONFIG_B43_PHY_G=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_HT=y +CONFIG_B43_LEDS=y +CONFIG_B43_HWRNG=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_HWRNG=y +# CONFIG_B43LEGACY_DEBUG is not set +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_PIO=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_BRCMUTIL=m +# CONFIG_BRCMSMAC is not set +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_PROTO_BCDC=y +CONFIG_BRCMFMAC_SDIO=y +CONFIG_BRCMFMAC_USB=y +# CONFIG_BRCMFMAC_PCIE is not set +# CONFIG_BRCM_TRACING is not set +# CONFIG_BRCMDBG is not set +CONFIG_HOSTAP=m +# CONFIG_HOSTAP_FIRMWARE is not set +# CONFIG_HOSTAP_PLX is not set +# CONFIG_HOSTAP_PCI is not set +CONFIG_IPW2100=m +# CONFIG_IPW2100_MONITOR is not set +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2200=m +# CONFIG_IPW2200_MONITOR is not set +# CONFIG_IPW2200_QOS is not set +# CONFIG_IPW2200_DEBUG is not set +CONFIG_LIBIPW=m +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_IWLWIFI=m +CONFIG_IWLWIFI_LEDS=y +CONFIG_IWLDVM=m +# CONFIG_IWLMVM is not set +CONFIG_IWLWIFI_OPMODE_MODULAR=y + +# +# Debugging Options +# +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLEGACY=m +CONFIG_IWL4965=m +CONFIG_IWL3945=m + +# +# iwl3945 / iwl4965 Debugging Options +# +# CONFIG_IWLEGACY_DEBUG is not set +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_USB=m +# CONFIG_LIBERTAS_SDIO is not set +# CONFIG_LIBERTAS_SPI is not set +# CONFIG_LIBERTAS_DEBUG is not set +# CONFIG_LIBERTAS_MESH is not set +CONFIG_HERMES=m +CONFIG_HERMES_PRISM=y +CONFIG_HERMES_CACHE_FW_ON_INIT=y +# CONFIG_PLX_HERMES is not set +# CONFIG_TMD_HERMES is not set +# CONFIG_NORTEL_HERMES is not set +# CONFIG_PCI_HERMES is not set +CONFIG_ORINOCO_USB=m +CONFIG_P54_COMMON=m +CONFIG_P54_USB=m +# CONFIG_P54_PCI is not set +# CONFIG_P54_SPI is not set +CONFIG_P54_LEDS=y +CONFIG_RT2X00=m +# CONFIG_RT2400PCI is not set +# CONFIG_RT2500PCI is not set +# CONFIG_RT61PCI is not set +# CONFIG_RT2800PCI is not set +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_DEBUG is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTLWIFI_USB=m +# CONFIG_RTLWIFI_DEBUG is not set +CONFIG_RTL8192C_COMMON=m +CONFIG_WL_TI=y +CONFIG_WL1251=m +# CONFIG_WL1251_SPI is not set +# CONFIG_WL1251_SDIO is not set +CONFIG_WL12XX=m +CONFIG_WL18XX=m +CONFIG_WLCORE=m +# CONFIG_WLCORE_SPI is not set +# CONFIG_WLCORE_SDIO is not set +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_MWIFIEX=m +# CONFIG_MWIFIEX_SDIO is not set +# CONFIG_MWIFIEX_PCIE is not set +CONFIG_MWIFIEX_USB=m +CONFIG_CW1200=m +# CONFIG_CW1200_WLAN_SDIO is not set +# CONFIG_CW1200_WLAN_SPI is not set +CONFIG_RSI_91X=m +# CONFIG_RSI_DEBUGFS is not set +# CONFIG_RSI_SDIO is not set +CONFIG_RSI_USB=m + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_POLLDEV=m +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYBOARD_GPIO_POLLED is not set +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_LM8333 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_MCS is not set +# CONFIG_KEYBOARD_MPR121 is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_SAMSUNG is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +# CONFIG_MOUSE_PS2 is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_MOUSE_SYNAPTICS_USB is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYSPAN_REMOTE is not set +# CONFIG_INPUT_KXTJ9 is not set +# CONFIG_INPUT_POWERMATE is not set +# CONFIG_INPUT_YEALINK is not set +# CONFIG_INPUT_CM109 is not set +# CONFIG_INPUT_REGULATOR_HAPTIC is not set +CONFIG_INPUT_UINPUT=y +# CONFIG_INPUT_PCF8574 is not set +# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set +# CONFIG_INPUT_ADXL34X is not set +# CONFIG_INPUT_IMS_PCU is not set +# CONFIG_INPUT_CMA3000 is not set +# CONFIG_INPUT_DRV260X_HAPTICS is not set +# CONFIG_INPUT_DRV2667_HAPTICS is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +# CONFIG_SERIO_SERPORT is not set +# CONFIG_SERIO_PCIPS2 is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set +CONFIG_SERIAL_8250_DW=y +# CONFIG_SERIAL_8250_EM is not set +CONFIG_SERIAL_8250_BCM7271=y + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_JSM is not set +CONFIG_SERIAL_OF_PLATFORM=y +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_BCM63XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +CONFIG_HW_RANDOM_IPROC_RNG200=y +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_DEVPORT=y +# CONFIG_XILLYBUS is not set +CONFIG_BRCM_MOCA=y +CONFIG_BRCM_BCM6802=y + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y + +# +# Multiplexer I2C Chip support +# +# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set +# CONFIG_I2C_MUX_GPIO is not set +# CONFIG_I2C_MUX_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_ALGOBIT=m + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +CONFIG_I2C_BRCMSTB=y +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_DESIGNWARE_PCI is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_PXA2XX is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_DESIGNWARE is not set +CONFIG_SPI_BRCMSTB=y +CONFIG_SPI_BCM_QSPI=y +# CONFIG_SPI_BRCMSTB_MSPI is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +CONFIG_PPS=y +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +# CONFIG_PPS_CLIENT_KTIMER is not set +# CONFIG_PPS_CLIENT_LDISC is not set +# CONFIG_PPS_CLIENT_GPIO is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=y + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +CONFIG_GPIO_BRCMSTB=y +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_SCH311X is not set +# CONFIG_GPIO_SYSCON is not set +# CONFIG_GPIO_VX855 is not set +# CONFIG_GPIO_ZEVIO is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set + +# +# MFD GPIO expanders +# + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_RDC321X is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MCP23S08 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_BATTERY_BQ27x00 is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_CHARGER_MAX8903 is not set +# CONFIG_CHARGER_LP8727 is not set +# CONFIG_CHARGER_GPIO is not set +# CONFIG_CHARGER_MANAGER is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_BRCMSTB=y +# CONFIG_POWER_RESET_GPIO is not set +# CONFIG_POWER_RESET_GPIO_RESTART is not set +# CONFIG_POWER_RESET_LTC2952 is not set +# CONFIG_POWER_RESET_RESTART is not set +# CONFIG_POWER_RESET_VERSATILE is not set +# CONFIG_POWER_RESET_SYSCON is not set +# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set +# CONFIG_POWER_AVS is not set +# CONFIG_HWMON is not set +CONFIG_THERMAL=y +CONFIG_THERMAL_OF=y +# CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE is not set +# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set +CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=y +# CONFIG_THERMAL_GOV_FAIR_SHARE is not set +CONFIG_THERMAL_GOV_STEP_WISE=y +# CONFIG_THERMAL_GOV_BANG_BANG is not set +CONFIG_THERMAL_GOV_USER_SPACE=y +CONFIG_CPU_THERMAL=y +# CONFIG_CLOCK_THERMAL is not set +# CONFIG_THERMAL_EMULATION is not set +# CONFIG_IMX_THERMAL is not set +CONFIG_INTEL_POWERCLAMP=y +CONFIG_BRCMSTB_THERMAL=y + +# +# Texas Instruments thermal drivers +# +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +CONFIG_SSB=m +CONFIG_SSB_SPROM=y +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +# CONFIG_SSB_SDIOHOST is not set +# CONFIG_SSB_SILENT is not set +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_DRIVER_PCICORE=y +# CONFIG_SSB_DRIVER_GPIO is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +CONFIG_BCMA=m +CONFIG_BCMA_BLOCKIO=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +CONFIG_BCMA_HOST_PCI=y +# CONFIG_BCMA_HOST_SOC is not set +CONFIG_BCMA_DRIVER_PCI=y +# CONFIG_BCMA_DRIVER_GMAC_CMN is not set +# CONFIG_BCMA_DRIVER_GPIO is not set +# CONFIG_BCMA_DEBUG is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_DA9150 is not set +# CONFIG_MFD_DLN2 is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_UCB1400_CORE is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +CONFIG_MFD_SYSCON=y +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TPS65218 is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_ANATOP is not set +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +# CONFIG_REGULATOR_GPIO is not set +# CONFIG_REGULATOR_ISL9305 is not set +# CONFIG_REGULATOR_ISL6271A is not set +# CONFIG_REGULATOR_LP3971 is not set +# CONFIG_REGULATOR_LP3972 is not set +# CONFIG_REGULATOR_LP872X is not set +# CONFIG_REGULATOR_LP8755 is not set +# CONFIG_REGULATOR_LTC3589 is not set +# CONFIG_REGULATOR_MAX1586 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_PFUZE100 is not set +# CONFIG_REGULATOR_TPS51632 is not set +# CONFIG_REGULATOR_TPS62360 is not set +# CONFIG_REGULATOR_TPS65023 is not set +# CONFIG_REGULATOR_TPS6507X is not set +# CONFIG_REGULATOR_TPS6524X is not set +CONFIG_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_ANALOG_TV_SUPPORT=y +CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +CONFIG_MEDIA_RC_SUPPORT=y +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_TUNER=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOBUF_DVB=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_DVB_CORE=y +CONFIG_DVB_NET=y +CONFIG_TTPCI_EEPROM=m +CONFIG_DVB_MAX_ADAPTERS=8 +CONFIG_DVB_DYNAMIC_MINORS=y + +# +# Media drivers +# +CONFIG_RC_CORE=y +CONFIG_RC_MAP=y +CONFIG_RC_DECODERS=y +# CONFIG_LIRC is not set +CONFIG_IR_NEC_DECODER=y +CONFIG_IR_RC5_DECODER=y +CONFIG_IR_RC6_DECODER=y +CONFIG_IR_JVC_DECODER=y +CONFIG_IR_SONY_DECODER=y +CONFIG_IR_SANYO_DECODER=y +CONFIG_IR_SHARP_DECODER=y +CONFIG_IR_MCE_KBD_DECODER=y +CONFIG_IR_XMP_DECODER=y +# CONFIG_RC_DEVICES is not set +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +CONFIG_USB_M5602=m +CONFIG_USB_STV06XX=m +CONFIG_USB_GL860=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_DTCS033=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STK1135=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TOUPTEK=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_VIDEO_CPIA2=m +CONFIG_USB_ZR364XX=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_S2255=m +CONFIG_VIDEO_USBTV=m + +# +# Analog TV USB devices +# +CONFIG_VIDEO_PVRUSB2=m +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_PVRUSB2_DVB=y +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_USBVISION=m +CONFIG_VIDEO_STK1160_COMMON=m +CONFIG_VIDEO_STK1160_AC97=y +CONFIG_VIDEO_STK1160=m +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_USB=m +CONFIG_VIDEO_GO7007_LOADER=m +CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m + +# +# Analog/digital TV USB devices +# +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_AU0828_V4L2=y +# CONFIG_VIDEO_AU0828_RC is not set +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_RC=y +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m + +# +# Digital TV USB devices +# +CONFIG_DVB_USB=m +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_DIBUSB_MB=m +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_CXUSB=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_VP7045=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_FRIIO=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_V2=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_AF9035=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_AZ6007=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_DVBSKY=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_SMS_USB_DRV=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set +CONFIG_DVB_AS102=m + +# +# Webcam, TV (analog/digital) USB devices +# +CONFIG_VIDEO_EM28XX=m +# CONFIG_VIDEO_EM28XX_V4L2 is not set +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=m +# CONFIG_MEDIA_PCI_SUPPORT is not set +# CONFIG_V4L_PLATFORM_DRIVERS is not set +# CONFIG_V4L_MEM2MEM_DRIVERS is not set +# CONFIG_V4L_TEST_DRIVERS is not set + +# +# Supported MMC/SDIO adapters +# +# CONFIG_SMS_SDIO_DRV is not set +CONFIG_MEDIA_COMMON_OPTIONS=y + +# +# common driver options +# +CONFIG_VIDEO_CX2341X=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_CYPRESS_FIRMWARE=m +CONFIG_DVB_B2C2_FLEXCOP=m +CONFIG_SMS_SIANO_MDTV=m +CONFIG_SMS_SIANO_RC=y + +# +# Media ancillary drivers (tuners, sensors, i2c, frontends) +# +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y +CONFIG_MEDIA_ATTACH=y +CONFIG_VIDEO_IR_I2C=y + +# +# Audio decoders, processors and mixers +# +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_UDA1342=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_SONY_BTF_MPX=m + +# +# RDS decoders +# + +# +# Video decoders +# +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_TW2804=m +CONFIG_VIDEO_TW9903=m +CONFIG_VIDEO_TW9906=m + +# +# Video and audio decoders +# +CONFIG_VIDEO_CX25840=m + +# +# Video encoders +# + +# +# Camera sensor devices +# +CONFIG_VIDEO_OV7640=m + +# +# Flash devices +# + +# +# Video improvement chips +# + +# +# Audio/Video compression chips +# + +# +# Miscellaneous helper chips +# + +# +# Sensors used on soc_camera driver +# +CONFIG_MEDIA_TUNER=y +CONFIG_MEDIA_TUNER_SIMPLE=y +CONFIG_MEDIA_TUNER_TDA8290=y +CONFIG_MEDIA_TUNER_TDA827X=y +CONFIG_MEDIA_TUNER_TDA18271=y +CONFIG_MEDIA_TUNER_TDA9887=y +CONFIG_MEDIA_TUNER_MT20XX=y +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2063=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_XC2028=y +CONFIG_MEDIA_TUNER_XC5000=y +CONFIG_MEDIA_TUNER_XC4000=y +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_MC44S803=y +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_FC0011=m +CONFIG_MEDIA_TUNER_FC0012=m +CONFIG_MEDIA_TUNER_FC0013=m +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_MEDIA_TUNER_E4000=m +CONFIG_MEDIA_TUNER_FC2580=m +CONFIG_MEDIA_TUNER_TUA9001=m +CONFIG_MEDIA_TUNER_SI2157=m +CONFIG_MEDIA_TUNER_IT913X=m +CONFIG_MEDIA_TUNER_R820T=m + +# +# Multistandard (satellite) frontends +# +CONFIG_DVB_STB0899=m +CONFIG_DVB_STB6100=m +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV6110x=m +CONFIG_DVB_M88DS3103=m + +# +# Multistandard (cable + terrestrial) frontends +# +CONFIG_DVB_DRXK=m +CONFIG_DVB_TDA18271C2DD=m +CONFIG_DVB_SI2165=m + +# +# DVB-S (satellite) frontends +# +CONFIG_DVB_CX24123=m +CONFIG_DVB_MT312=m +CONFIG_DVB_ZL10039=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TUNER_ITD1000=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TDA826X=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_TS2020=m +CONFIG_DVB_DS3000=m +CONFIG_DVB_TDA10071=m + +# +# DVB-T (terrestrial) frontends +# +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_DRXD=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_MT352=m +CONFIG_DVB_ZL10353=m +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_AF9013=m +CONFIG_DVB_EC100=m +CONFIG_DVB_CXD2820R=m +CONFIG_DVB_RTL2830=m +CONFIG_DVB_RTL2832=m +CONFIG_DVB_SI2168=m +CONFIG_DVB_AS102_FE=m + +# +# DVB-C (cable) frontends +# +CONFIG_DVB_VES1820=m +CONFIG_DVB_TDA10023=m +CONFIG_DVB_STV0297=m + +# +# ATSC (North American/Korean Terrestrial/Cable DTV) frontends +# +CONFIG_DVB_NXT200X=m +CONFIG_DVB_BCM3510=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_LGDT3306A=m +CONFIG_DVB_LG2160=m +CONFIG_DVB_S5H1409=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_AU8522_DTV=m +CONFIG_DVB_AU8522_V4L=m +CONFIG_DVB_S5H1411=m + +# +# ISDB-T (terrestrial) frontends +# +CONFIG_DVB_S921=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_MB86A20S=m + +# +# ISDB-S (satellite) & ISDB-T (terrestrial) frontends +# + +# +# Digital terrestrial only tuners/PLL +# +CONFIG_DVB_PLL=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m + +# +# SEC control devices for DVB-S +# +CONFIG_DVB_DRX39XYJ=m +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_A8293=m +CONFIG_DVB_SP2=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_ATBM8830=m +CONFIG_DVB_IX2505V=m +CONFIG_DVB_M88RS2000=m +CONFIG_DVB_AF9033=m + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +# CONFIG_VGA_ARB is not set +# CONFIG_IMX_IPUV3_CORE is not set + +# +# Direct Rendering Manager +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_CARMINE_DRAM_EVAL is not set +# CONFIG_CARMINE_DRAM_CUSTOM is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_MB862XX_PCI_GDC is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set +# CONFIG_LOGO is not set +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_COMPRESS_OFFLOAD=y +CONFIG_SND_JACK=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_VMASTER=y +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +# CONFIG_SND_AC97_POWER_SAVE is not set +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 +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# 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 +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# 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 +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +# CONFIG_SND_HDA_INTEL is not set +CONFIG_SND_ARM=y +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +# CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set +# CONFIG_SND_SOC_QCOM is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_HDMI_CODEC is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1792A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5677_SPI is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF is not set +# CONFIG_SND_SOC_SSM2602_SPI is not set +# CONFIG_SND_SOC_SSM2602_I2C is not set +# CONFIG_SND_SOC_SSM4567 is not set +# CONFIG_SND_SOC_STA32X is not set +# CONFIG_SND_SOC_STA350 is not set +# CONFIG_SND_SOC_TAS2552 is not set +# CONFIG_SND_SOC_TAS5086 is not set +# CONFIG_SND_SOC_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +# CONFIG_HIDRAW is not set +# CONFIG_UHID is not set +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CP2112 is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_GT683R is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_MULTITOUCH is not set +# CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PENMOUNT is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PLANTRONICS is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_ROCCAT is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SONY is not set +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEELSERIES is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_RMI is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THINGM is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_WIIMOTE is not set +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_OTG_FSM is not set +CONFIG_USB_MON=y +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FUSBH200_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_BCMA is not set +# CONFIG_USB_HCD_SSB is not set +# CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_BRCM_USB_OHCI=y +CONFIG_BRCM_USB_EHCI=y +CONFIG_BRCM_USB_XHCI=y +CONFIG_BRCM_USB_PHY=y +CONFIG_BRCM_USB=y + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=m +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +# CONFIG_USB_UAS is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_MUSB_HOST is not set +# CONFIG_USB_MUSB_GADGET is not set +# CONFIG_USB_MUSB_DUAL_ROLE is not set +# CONFIG_MUSB_PIO_ONLY is not set +# CONFIG_USB_DWC3 is not set +# CONFIG_USB_DWC3_HOST is not set +# CONFIG_USB_DWC3_GADGET is not set +# CONFIG_USB_DWC3_DUAL_ROLE is not set +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_DWC2_HOST is not set +# CONFIG_USB_CHIPIDEA is not set +# CONFIG_USB_ISP1760 is not set +# CONFIG_USB_ISP1760_HOST_ROLE is not set +# CONFIG_USB_ISP1760_GADGET_ROLE is not set +# CONFIG_USB_ISP1760_DUAL_ROLE is not set + +# +# USB port drivers +# +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_MPR=y +CONFIG_USB_SERIAL_KEYSPAN_USA28=y +CONFIG_USB_SERIAL_KEYSPAN_USA28X=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y +CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y +CONFIG_USB_SERIAL_KEYSPAN_USA19=y +CONFIG_USB_SERIAL_KEYSPAN_USA18X=y +CONFIG_USB_SERIAL_KEYSPAN_USA19W=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y +CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y +CONFIG_USB_SERIAL_KEYSPAN_USA49W=y +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MXUPORT=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SAFE=m +CONFIG_USB_SERIAL_SAFE_PADDED=y +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_XSENS_MT=m +CONFIG_USB_SERIAL_WISHBONE=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_QT2=m +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +CONFIG_USB_EZUSB_FX2=m +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set +# CONFIG_USB_CHAOSKEY is not set + +# +# USB Physical Layer drivers +# +# CONFIG_USB_PHY is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# CONFIG_USB_GADGET is not set +# CONFIG_USB_CONFIGFS is not set +# CONFIG_USB_ZERO is not set +# CONFIG_USB_AUDIO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_G_NCM is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FUNCTIONFS is not set +# CONFIG_USB_MASS_STORAGE is not set +# CONFIG_USB_GADGET_TARGET is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_NOKIA is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +# CONFIG_USB_G_HID is not set +# CONFIG_USB_G_DBGP is not set +# CONFIG_USB_G_DBGP_PRINTK is not set +# CONFIG_USB_G_DBGP_SERIAL is not set +# CONFIG_USB_G_WEBCAM is not set +# CONFIG_USB_LED_TRIG is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_CLKGATE is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=16 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +# CONFIG_MMC_SDHCI_PCI is not set +CONFIG_MMC_SDHCI_PLTFM=y +# CONFIG_MMC_SDHCI_OF_ARASAN is not set +# CONFIG_MMC_SDHCI_F_SDH30 is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +# CONFIG_MMC_TOSHIBA_PCI is not set +CONFIG_MMC_SDHCI_BRCMSTB=y +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=m +# CONFIG_LEDS_CLASS_FLASH is not set + +# +# LED drivers +# +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_REGULATOR is not set +# CONFIG_LEDS_BD2802 is not set +# CONFIG_LEDS_LT3593 is not set +# CONFIG_LEDS_TCA6507 is not set +# CONFIG_LEDS_LM355x is not set + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set +# CONFIG_LEDS_PM8941_WLED is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set +# CONFIG_RTC_DRV_DS1685 is not set +# CONFIG_RTC_DRV_DS1689 is not set +# CONFIG_RTC_DRV_DS17285 is not set +# CONFIG_RTC_DRV_DS17485 is not set +# CONFIG_RTC_DRV_DS17885 is not set +# CONFIG_DMADEVICES is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_PCI is not set +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +CONFIG_PRISM2_USB=m +# CONFIG_COMEDI is not set +# CONFIG_RTL8192U is not set +# CONFIG_RTLLIB is not set +CONFIG_R8712U=m +CONFIG_R8188EU=m +CONFIG_88EU_AP_MODE=y +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set +# CONFIG_FB_SM7XX is not set +# CONFIG_FB_SM750 is not set +# CONFIG_FB_XGI is not set +# CONFIG_FT1000 is not set + +# +# Speakup console speech +# +# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set +CONFIG_STAGING_MEDIA=y +# CONFIG_DVB_CXD2099 is not set +# CONFIG_VIDEO_DT3155 is not set +# CONFIG_DVB_MN88472 is not set +# CONFIG_DVB_MN88473 is not set + +# +# Android +# +# CONFIG_USB_WPAN_HCD is not set +# CONFIG_WIMAX_GDM72XX is not set +# CONFIG_WIMAX_GDM72XX_USB is not set +# CONFIG_WIMAX_GDM72XX_SDIO is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_MTD_SPINAND_MT29F is not set +# CONFIG_LUSTRE_FS is not set +# CONFIG_DGNC is not set +# CONFIG_DGAP is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_I2O is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +CONFIG_SOC_BRCMSTB=y +CONFIG_BRCMSTB_BMEM=y +CONFIG_BRCMSTB_CMA=y +CONFIG_BRCMSTB_DPFE=y +CONFIG_BRCMSTB_MEMORY_API=y +CONFIG_BRCMSTB_PM=y +CONFIG_BRCMSTB_SRPD=y +CONFIG_BRCMSTB_WKTMR=y +CONFIG_BRCMSTB_XPT_HASH=y +CONFIG_BRCMSTB_NEXUS_API=y +CONFIG_BRCMSTB_BBSI=y +CONFIG_BRCMSTB=y +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_VME_BUS is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +CONFIG_BCM7120_L2_IRQ=y +CONFIG_BRCMSTB_L2_IRQ=y +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_BCM_KONA_USB2_PHY is not set +CONFIG_PHY_BRCMSTB_SATA=y +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set +# CONFIG_THUNDERBOLT is not set + +# +# Android +# +# CONFIG_ANDROID is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_DEFAULTS_TO_ORDERED=y +CONFIG_EXT3_FS_XATTR=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT23=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD=y +# CONFIG_JBD_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +# CONFIG_REISERFS_CHECK is not set +# CONFIG_REISERFS_PROC_INFO is not set +# CONFIG_REISERFS_FS_XATTR is not set +# CONFIG_JFS_FS is not set +CONFIG_XFS_FS=m +# CONFIG_XFS_QUOTA is not set +# CONFIG_XFS_POSIX_ACL is not set +CONFIG_XFS_RT=y +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG is not set +# CONFIG_GFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_EXPORTFS=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +CONFIG_AUTOFS4_FS=y +CONFIG_FUSE_FS=m +CONFIG_CUSE=m +# CONFIG_OVERLAY_FS is not set + +# +# Caches +# +CONFIG_FSCACHE=y +# CONFIG_FSCACHE_STATS is not set +# CONFIG_FSCACHE_HISTOGRAM is not set +# CONFIG_FSCACHE_DEBUG is not set +# CONFIG_FSCACHE_OBJECT_LIST is not set +# CONFIG_CACHEFILES is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=y +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_NTFS_FS=m +# CONFIG_NTFS_DEBUG is not set +# CONFIG_NTFS_RW is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_TMPFS_XATTR is not set +# CONFIG_HUGETLBFS is not set +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_ECRYPT_FS is not set +CONFIG_HFS_FS=m +CONFIG_HFSPLUS_FS=m +# CONFIG_HFSPLUS_FS_POSIX_ACL is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_JFFS2_CMODE_NONE is not set +# CONFIG_JFFS2_CMODE_PRIORITY is not set +# CONFIG_JFFS2_CMODE_SIZE is not set +# CONFIG_JFFS2_CMODE_FAVOURLZO is not set +# CONFIG_UBIFS_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +# CONFIG_SQUASHFS is not set +# CONFIG_SQUASHFS_FILE_CACHE is not set +# CONFIG_SQUASHFS_FILE_DIRECT is not set +# CONFIG_SQUASHFS_DECOMP_SINGLE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_ROMFS_BACKED_BY_BLOCK is not set +# CONFIG_ROMFS_BACKED_BY_MTD is not set +# CONFIG_ROMFS_BACKED_BY_BOTH is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_2=y +CONFIG_PNFS_FILE_LAYOUT=y +CONFIG_PNFS_FLEXFILE_LAYOUT=m +CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" +# CONFIG_NFS_V4_1_MIGRATION is not set +CONFIG_ROOT_NFS=y +# CONFIG_NFS_FSCACHE is not set +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +CONFIG_NFSD=y +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +# CONFIG_NFSD_V4 is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_SUNRPC_BACKCHANNEL=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +CONFIG_CIFS=y +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_UPCALL is not set +# CONFIG_CIFS_XATTR is not set +# CONFIG_CIFS_DEBUG is not set +# CONFIG_CIFS_DFS_UPCALL is not set +CONFIG_CIFS_SMB2=y +# CONFIG_CIFS_FSCACHE is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=y +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +CONFIG_NLS_UTF8=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_REDUCED=y +# CONFIG_DEBUG_INFO_SPLIT is not set +# CONFIG_DEBUG_INFO_DWARF4 is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_SLAB is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +CONFIG_LOCKUP_DETECTOR=y +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_STACKTRACE is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_CPU_STALL_INFO is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +# CONFIG_FUNCTION_TRACER is not set +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_ENABLE_DEFAULT_TRACERS is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_UPROBE_EVENT is not set +# CONFIG_PROBE_EVENTS is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +# CONFIG_STRICT_DEVMEM is not set +CONFIG_ARM_UNWIND=y +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_LL=y +CONFIG_DEBUG_BRCMSTB_UART=y +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_SEMIHOSTING is not set +# CONFIG_DEBUG_LL_UART_8250 is not set +# CONFIG_DEBUG_LL_UART_PL01X is not set +CONFIG_DEBUG_LL_INCLUDE="debug/brcmstb.S" +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +CONFIG_EARLY_PRINTK=y +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_ENCRYPTED_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_IMA_TEMPLATE is not set +# CONFIG_IMA_NG_TEMPLATE is not set +# CONFIG_IMA_SIG_TEMPLATE is not set +# CONFIG_IMA_DEFAULT_HASH_SHA1 is not set +# CONFIG_IMA_DEFAULT_HASH_SHA256 is not set +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set +# CONFIG_IMA_DEFAULT_HASH_WP512 is not set +# CONFIG_DEFAULT_SECURITY_SELINUX is not set +# CONFIG_DEFAULT_SECURITY_SMACK is not set +# CONFIG_DEFAULT_SECURITY_TOMOYO is not set +# CONFIG_DEFAULT_SECURITY_APPARMOR is not set +# CONFIG_DEFAULT_SECURITY_YAMA is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_NULL=m +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_SEQIV=y + +# +# Block modes +# +CONFIG_CRYPTO_CBC=m +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=m +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_ZLIB is not set +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +# CONFIG_CRYPTO_DRBG_MENU is not set +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +CONFIG_CRYPTO_HW=y +# CONFIG_ASYMMETRIC_KEY_TYPE is not set +# CONFIG_ARM_CRYPTO is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +CONFIG_CRC7=m +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +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 +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +# CONFIG_XZ_DEC_SPARC is not set +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_AVERAGE=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/meta-bsp/recipes-kernel/linux/linux-vuplus-vuduo4k_4.1.45.bb b/meta-bsp/recipes-kernel/linux/linux-vuplus-vuduo4k_4.1.45.bb new file mode 100644 index 0000000..d150253 --- /dev/null +++ b/meta-bsp/recipes-kernel/linux/linux-vuplus-vuduo4k_4.1.45.bb @@ -0,0 +1,11 @@ +require linux-vuplus-4.1.45.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + +SRC_URI += " \ + file://bcmsysport_4_1_45.patch \ + file://linux_usb_hub.patch \ +" + +PR = "${INC_PR}.3" + diff --git a/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink.bbappend b/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink.bbappend index f93062a..c608bac 100644 --- a/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink.bbappend +++ b/meta-bsp/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink.bbappend @@ -6,9 +6,11 @@ SRC_URI_append_vuuno4k = " file://dvbvideosink_vp9.patch" SRC_URI_append_vuultimo4k = " file://dvbvideosink_vp9.patch" SRC_URI_append_vuuno4kse = " file://dvbvideosink_vp9.patch" SRC_URI_append_vuzero4k = " file://dvbvideosink_vp9.patch" +SRC_URI_append_vuduo4k = " file://dvbvideosink_vp9.patch" EXTRA_OECONF_append_vusolo4k = " --with-dtsdownmix --with-dts=yes" EXTRA_OECONF_append_vuuno4k = " --with-vb9 --with-dtsdownmix --with-dts=yes" EXTRA_OECONF_append_vuultimo4k = " --with-vb9 --with-dtsdownmix --with-dts=yes" EXTRA_OECONF_append_vuuno4kse = " --with-vb9 --with-dtsdownmix --with-dts=yes" EXTRA_OECONF_append_vuzero4k = " --with-vb9 --with-dtsdownmix --with-dts=yes" +EXTRA_OECONF_append_vuduo4k = " --with-vb9 --with-dtsdownmix --with-dts=yes" diff --git a/meta-bsp/recipes-multimedia/kodi/kodi-vuduo4k.bb b/meta-bsp/recipes-multimedia/kodi/kodi-vuduo4k.bb new file mode 100644 index 0000000..e59a69a --- /dev/null +++ b/meta-bsp/recipes-multimedia/kodi/kodi-vuduo4k.bb @@ -0,0 +1,6 @@ +require kodi-17.x.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + +EXTRA_OECONF += " --with-platform=vuplus-arm " + diff --git a/meta-bsp/recipes-multimedia/kodi/kodiegl-vuduo4k.bb b/meta-bsp/recipes-multimedia/kodi/kodiegl-vuduo4k.bb new file mode 100644 index 0000000..d22b416 --- /dev/null +++ b/meta-bsp/recipes-multimedia/kodi/kodiegl-vuduo4k.bb @@ -0,0 +1,10 @@ +require kodiegl.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + +PV = "1.0" +PR_append = ".r1" + +PKGDATE="20181111p1" +SRC_URI[md5sum]="a88c7f2472a7b7ccc8576d4070622346" +SRC_URI[sha256sum]="d99d5c5f222ec9dc73c223228b193b7de04596f0e30ffb60a8fb2c5e7a1f5567" \ No newline at end of file diff --git a/meta-bsp/recipes-vuplus/bluetoothsetup/bluetoothsetup-vuduo4k.bb b/meta-bsp/recipes-vuplus/bluetoothsetup/bluetoothsetup-vuduo4k.bb new file mode 100644 index 0000000..a0865a0 --- /dev/null +++ b/meta-bsp/recipes-vuplus/bluetoothsetup/bluetoothsetup-vuduo4k.bb @@ -0,0 +1,9 @@ +require bluetoothsetup.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + +SRCDATE = "20181109" +SRCDATE_PR = "r1" + +SRC_URI[md5sum] = "e361db36f21cf1d5a17cc82d720510e2" +SRC_URI[sha256sum] = "2a6c7687f470210f69758fed6240f8b99728a78e4a9283f47c8c57495ee39fb7" diff --git a/meta-bsp/recipes-vuplus/chromium/chromium-browser-vuduo4k.bb b/meta-bsp/recipes-vuplus/chromium/chromium-browser-vuduo4k.bb new file mode 100644 index 0000000..324ad1c --- /dev/null +++ b/meta-bsp/recipes-vuplus/chromium/chromium-browser-vuduo4k.bb @@ -0,0 +1,7 @@ +SRCDATE="20181108_r5" +SRC_URI[md5sum]="4e0f7f2c1b8f33ff1b5d25373be503e9" +SRC_URI[sha256sum]="bf8493dad4fb4a8b486467b0de510b8ac060342a93a90bd25ec631a5403204a6" + +require chromium-browser.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" diff --git a/meta-bsp/recipes-vuplus/enigma2/enigma2.bbappend b/meta-bsp/recipes-vuplus/enigma2/enigma2.bbappend index 07d6df3..d266b6f 100644 --- a/meta-bsp/recipes-vuplus/enigma2/enigma2.bbappend +++ b/meta-bsp/recipes-vuplus/enigma2/enigma2.bbappend @@ -1,6 +1,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -PR .= "-bsp28" +PR .= "-bsp31" SRC_URI_append_vusolo = " \ file://enigma2_vuplus_misc.patch \ @@ -44,6 +44,11 @@ SRC_URI_append_vuuno4kse = " \ SRC_URI_append_vuzero4k = " \ " +SRC_URI_append_vuduo4k = " \ + file://skin_user_vuduo4k.xml \ + file://lcd_icons_vuduo4k \ +" + do_install_append_vuultimo() { install -m 0755 ${WORKDIR}/analog.ttf ${D}/usr/share/fonts/ install -m 0755 ${WORKDIR}/skin_user.xml ${D}/usr/share/enigma2/defaults/ @@ -75,3 +80,9 @@ do_install_append_vuuno4kse() { install -m 0755 ${WORKDIR}/lcd_icons_vuuno4kse/*.png ${D}/usr/share/enigma2/lcd_icons/ } +do_install_append_vuduo4k() { + install -m 0755 ${WORKDIR}/skin_user_vuduo4k.xml ${D}/usr/share/enigma2/defaults/skin_user.xml + install -d ${D}/usr/share/enigma2/lcd_icons/ + install -m 0755 ${WORKDIR}/lcd_icons_vuduo4k/*.png ${D}/usr/share/enigma2/lcd_icons/ +} + diff --git a/meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/lcd_icons_vuduo4k/16x9.png b/meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/lcd_icons_vuduo4k/16x9.png new file mode 100644 index 0000000000000000000000000000000000000000..233fe6f5339ccc59e77410e0a01360845ff6078a GIT binary patch literal 4423 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 N002ovPDHLkV1mqJKH~rY literal 0 HcmV?d00001 diff --git a/meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/lcd_icons_vuduo4k/REC.png b/meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/lcd_icons_vuduo4k/REC.png new file mode 100644 index 0000000000000000000000000000000000000000..53ee6115566207ee1720028e3a97ee11ecfedd5b GIT binary patch literal 4608 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 P00000NkvXXu0mjfORv5A literal 0 HcmV?d00001 diff --git a/meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/skin_user_vuduo4k.xml b/meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/skin_user_vuduo4k.xml new file mode 100644 index 0000000..cf0ace6 --- /dev/null +++ b/meta-bsp/recipes-vuplus/enigma2/enigma2/vuduo4k/skin_user_vuduo4k.xml @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IsCrypted + + + + HasTelext + + + + IsWidescreen + + + + IsMultichannel + + + + + Format:%H:%M + + + Name + + + Name + + + Progress + + + + + + + + IsCrypted + + + + HasTelext + + + + IsWidescreen + + + + IsMultichannel + + + + + Format:%H:%M + + + Name + + + Name + + + Progress + + + + + + + + IsCrypted + + + + HasTelext + + + + IsWidescreen + + + + IsMultichannel + + + + + Format:%H:%M + + + Name + + + Position + + + + + + + + + + + + + + + IsCrypted + + + + HasTelext + + + + IsWidescreen + + + + IsMultichannel + + + + + Format:%H:%M + + + + + + + + + + + + + + + + + IsCrypted + + + + HasTelext + + + + IsWidescreen + + + + IsMultichannel + + + + + Format:%H:%M + + + + + + + + + + + IsCrypted + + + + HasTelext + + + + IsWidescreen + + + + IsMultichannel + + + + Format:%H:%M + + + + + + + + IsCrypted + + + + HasTelext + + + + IsWidescreen + + + + IsMultichannel + + + + + Format:%H:%M + + + + + + + + + + + + + + + diff --git a/meta-bsp/recipes-vuplus/vuplus-blindscan-utils/vuplus-blindscan-utils.bb b/meta-bsp/recipes-vuplus/vuplus-blindscan-utils/vuplus-blindscan-utils.bb index ae425c1..d8be2fb 100755 --- a/meta-bsp/recipes-vuplus/vuplus-blindscan-utils/vuplus-blindscan-utils.bb +++ b/meta-bsp/recipes-vuplus/vuplus-blindscan-utils/vuplus-blindscan-utils.bb @@ -118,6 +118,13 @@ do_install_vuzero4k() { install -m 0755 "${S}/vuplus_si2166_blindscan" "${D}/${bindir}/vuplus_si2166_blindscan" } +do_install_vuduo4k() { + install -d "${D}/${bindir}" + for f in ${PLUGABLE_ARM_BLINDSCAN}; do + install -m 0755 "${S}/$f" "${D}/${bindir}" + done +} + SRC_URI[md5sum] = "b6d485516762453dcb829d914b4e06b3" SRC_URI[sha256sum] = "cb7045db4aee0d1ef9392231d2bfc7f843e9e9ec82ceb17d86dd7c1fe56bef4b" diff --git a/meta-bsp/recipes-vuplus/vuplus-bluetooth-util/vuplus-bluetooth-util-vuduo4k.bb b/meta-bsp/recipes-vuplus/vuplus-bluetooth-util/vuplus-bluetooth-util-vuduo4k.bb new file mode 100644 index 0000000..13411ee --- /dev/null +++ b/meta-bsp/recipes-vuplus/vuplus-bluetooth-util/vuplus-bluetooth-util-vuduo4k.bb @@ -0,0 +1,10 @@ +require vuplus-bluetooth-util.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + +SRCDATE = "20181109" +SRCDATE_PR = "r1" + +SRC_URI[md5sum] = "fbbe1050ab72d8ae1b541293eb83a9d6" +SRC_URI[sha256sum] = "c99de55349d9d8259639a70154956583aa29e1d28517de883d8811934d8bd6b8" + diff --git a/meta-bsp/recipes-vuplus/vuplus-bluetooth-util/vuplus-bluetooth-util.inc b/meta-bsp/recipes-vuplus/vuplus-bluetooth-util/vuplus-bluetooth-util.inc index 65ef794..2845038 100644 --- a/meta-bsp/recipes-vuplus/vuplus-bluetooth-util/vuplus-bluetooth-util.inc +++ b/meta-bsp/recipes-vuplus/vuplus-bluetooth-util/vuplus-bluetooth-util.inc @@ -32,8 +32,10 @@ do_install() { install -m 0644 ${S}/btusb.ko ${D}/usr/local/modules/btusb.ko install -m 0644 ${S}/bthid.ko ${D}/usr/local/modules/bthid.ko - install -d ${D}/lib/firmware/${FIRMWARE_PATH} - install -m 0644 ${S}/${FIRMWARE_FILE} ${D}/lib/firmware/${FIRMWARE_PATH} + if [ -n "${FIRMWARE_FILE}" ]; then + install -d ${D}/lib/firmware/${FIRMWARE_PATH} + install -m 0644 ${S}/${FIRMWARE_FILE} ${D}/lib/firmware/${FIRMWARE_PATH} + fi } INSANE_SKIP_${PN} = "already-stripped" diff --git a/meta-bsp/recipes-vuplus/vuplus-bootlogo/files/vuduo4k/splash_auto.bin b/meta-bsp/recipes-vuplus/vuplus-bootlogo/files/vuduo4k/splash_auto.bin new file mode 100644 index 0000000000000000000000000000000000000000..80f9b516959808f7a8fc8526b2dd1b6cbbd1a075 GIT binary patch literal 1036854 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 literal 0 HcmV?d00001 diff --git a/meta-bsp/recipes-vuplus/vuplus-bootlogo/vuplus-bootlogo-vuduo4k.bb b/meta-bsp/recipes-vuplus/vuplus-bootlogo/vuplus-bootlogo-vuduo4k.bb new file mode 100644 index 0000000..8d3944a --- /dev/null +++ b/meta-bsp/recipes-vuplus/vuplus-bootlogo/vuplus-bootlogo-vuduo4k.bb @@ -0,0 +1,19 @@ +require vuplus-bootlogo.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + +PR = "${INC_PR}.5" +SRCDATE = "20181030" + +SRC_URI += "\ + http://archive.vuplus.com/download/kernel/vmlinuz-initrd_${MACHINE}_${SRCDATE}.tar.gz \ + file://splash_auto.bin \ +" + +do_install_append() { + install -m 0755 ${S}/vmlinuz-initrd-7278b1 ${D}/boot/initrd_auto.bin + install -m 0755 ${S}/splash_auto.bin ${D}/boot/splash_auto.bin +} + +SRC_URI[md5sum] = "2280778c1a445ea7727268597ac559be" +SRC_URI[sha256sum] = "42d3bac078edfc0c80d82caad708fdb4eca5cef5d130e7fc2e6fafdb11e66b64" diff --git a/meta-bsp/recipes-vuplus/vuplus-bootlogo/vuplus-bootlogo.inc b/meta-bsp/recipes-vuplus/vuplus-bootlogo/vuplus-bootlogo.inc index e319e1a..fa3a105 100644 --- a/meta-bsp/recipes-vuplus/vuplus-bootlogo/vuplus-bootlogo.inc +++ b/meta-bsp/recipes-vuplus/vuplus-bootlogo/vuplus-bootlogo.inc @@ -47,3 +47,4 @@ do_install_append() { fi } +do_populate_sysroot[noexec] = "1" diff --git a/meta-bsp/recipes-vuplus/vuplus-dvb-proxy/vuplus-dvb-proxy-vuduo4k.bb b/meta-bsp/recipes-vuplus/vuplus-dvb-proxy/vuplus-dvb-proxy-vuduo4k.bb new file mode 100644 index 0000000..4055496 --- /dev/null +++ b/meta-bsp/recipes-vuplus/vuplus-dvb-proxy/vuplus-dvb-proxy-vuduo4k.bb @@ -0,0 +1,15 @@ +require vuplus-dvb-proxy.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + +SRCDATE = "20181113" +SRCDATE_PR = "r0" + +pkg_postinst_${PN}_append () { + if [ ! -f $D/lib/modules/${KERNEL_VERSION}/extra/dvb-bcm.ko ]; then + ln -s /lib/modules/${KERNEL_VERSION}/extra/dvb-bcm7278.ko $D/lib/modules/${KERNEL_VERSION}/extra/dvb-bcm.ko + fi +} + +SRC_URI[md5sum] = "2179d657f6e628efc4c13b4f23eab317" +SRC_URI[sha256sum] = "0ea477ab605369b493dfc47e314069831e80cca3e993feea7a8b6408f1bf8d36" diff --git a/meta-bsp/recipes-vuplus/vuplus-manual/vuplus-manual-vuduo4k.bb b/meta-bsp/recipes-vuplus/vuplus-manual/vuplus-manual-vuduo4k.bb new file mode 100644 index 0000000..59bd53c --- /dev/null +++ b/meta-bsp/recipes-vuplus/vuplus-manual/vuplus-manual-vuduo4k.bb @@ -0,0 +1,9 @@ +require vuplus-manual.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + +SRC_DATE = "20181102_p0" + +SRC_URI[md5sum] = "b18e78380b34cc14966cac5ffd6cfd6c" +SRC_URI[sha256sum] = "d6d0836452bbd76615f6407ac82d0935ec1f9ee69642b4c23b1ed70e5929021d" + diff --git a/meta-bsp/recipes-vuplus/vuplus-platform-util/files/bp3flash.tar.gz b/meta-bsp/recipes-vuplus/vuplus-platform-util/files/bp3flash.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..d704303cb8e840b6da988dfffb0b2d3f50b39f61 GIT binary patch literal 1367 zcmV-d1*rNTiwFR-V(D7|1MOICPvb@q=4<>b7N2OG0*RgUKst%5$Prp}Bt%ybA1Jbn zy&-$C*Ou3z@b9~?_O6{AwAHDtK!z1^2bhP7o!}r7C4sgGlM;fh35##{ud`$_=mfPiC>uJ*UL7#`BRsKmBs;Pp@uf*Ym53*)=!;-9eFL zgD&TeFJ}JibUI>Q32_z&?B(3Q`rK3Emk6)w(pgX}`-sGXWmzFTPzVdwJje@FpcGSartbR)qr&$c z0%MAuQMQkR1X6!zDTWNS!&rUBnF&TIq<9op%Inhgr5w^#NcSu(BfLntRc=GZ$iCYn z_smZoLg9~mOwu(jU?ktD2(9HZ(2n8b0Z?wqC&rMEh)fxf)06MZfQ+-z7-6SJv!Sxc z+)<7y$4g(i-U8u>D)Q~H%EM_P0HahIV4`JwrmF>E>Fz*Ux)mo%ZxSJ`3!js4C4fyt z=}_fz>5|O6xkC`(NGlzCj|}u^J;H(u&Qm1fp|@O5uQP7d6t7#}bQJ9aBP$X|1P5qb& zw-jPeVswAUU4VO|2jXEGNION@;#+h7anGR_)yu6-i zaB>3Na{5jKc65sQ=hAZ4XN+UBMP`ovdYhP@WV(Gm4y2_1;`&J@G~Id_gmB6CntZGC zj%xzQMk)xGFkJC_0*7O5iU>bps=~CG&N`#b4*`aMNJ)gbnwrh}O-UTHtU}}{Hkf+s z!%XCyr&yQbHX@x(G*wos!d5YQX&#YfjrS*--J9%wh7)M%D*!l*b z0^5+;zmvdv`Bp{qk1Mg+8MRcGpC$Szkd5BtzaElrq`riDbFr8jUQ@$36KWdGsA@%~ z0P;jDfNHNQ1!{=XkC~V~)ItJwPfRmLind{IEG!L_b?Wv2EA$wHL$cW3T_z~A%1c$h zkn;l57ivS)LhSpAeF*tJ8;Z8?Cv+P6zAeU~7>$/dev/null + DRV_PATH=/lib/modules/`uname -r`/extra + insmod $DRV_PATH/procmk.ko + insmod $DRV_PATH/bcm_event.ko + insmod $DRV_PATH/dvb_base.ko + + start-stop-daemon --start --quiet --exec /usr/bin/dvb_server -- & + + mknod -m a=rw /dev/brcm0 c 30 0 + + start-stop-daemon --start --quiet --exec /usr/bin/init_client $DRV_PATH/dvb-bcm.ko $DRV_PATH/brcmfb.ko -- & + fi + + while [ ! -c /dev/fb0 ]; do + usleep 100000 + done + + echo "." + ;; + stop) + ;; + restart) + ;; + *) + echo "Usage: /etc/init.d/vuplus-platform-util {start|stop|restart}" + exit 1 +esac + +exit 0 diff --git a/meta-bsp/recipes-vuplus/vuplus-platform-util/vuplus-platform-util-vuduo4k.bb b/meta-bsp/recipes-vuplus/vuplus-platform-util/vuplus-platform-util-vuduo4k.bb new file mode 100644 index 0000000..2d706e8 --- /dev/null +++ b/meta-bsp/recipes-vuplus/vuplus-platform-util/vuplus-platform-util-vuduo4k.bb @@ -0,0 +1,18 @@ +require vuplus-platform-util.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + +PV="18.1" +SRCDATE = "20181113" +SRCDATE_PR = "r0" + +SRC_URI += "\ + file://bp3flash.tar.gz \ +" + +do_install_append() { + install -m 0755 ${WORKDIR}/bp3flash.py ${D}${bindir} +} + +SRC_URI[md5sum] = "e24d814a7a122b945a52bd5755f5b590" +SRC_URI[sha256sum] = "6a8b4428aff578a9811206c1b35364648dd6942f669c6f6a5c7b3707dd2b5b63" diff --git a/meta-bsp/recipes-vuplus/vuplus-platform-util/vuplus-platform-util.inc b/meta-bsp/recipes-vuplus/vuplus-platform-util/vuplus-platform-util.inc index 6489c20..f0166aa 100644 --- a/meta-bsp/recipes-vuplus/vuplus-platform-util/vuplus-platform-util.inc +++ b/meta-bsp/recipes-vuplus/vuplus-platform-util/vuplus-platform-util.inc @@ -18,6 +18,10 @@ S="${WORKDIR}/platform-util-${MACHINE}" do_install() { install -d ${D}${bindir} install -m 0755 ${S}/* ${D}${bindir} + if [ -f ${WORKDIR}/${INITSCRIPT_NAME}.sysvinit ]; then + install -d ${D}${INIT_D_DIR} + install -m 0755 ${WORKDIR}/${INITSCRIPT_NAME}.sysvinit ${D}${INIT_D_DIR}/${INITSCRIPT_NAME} + fi } do_package_qa() { @@ -31,12 +35,5 @@ inherit update-rc.d INITSCRIPT_PARAMS = "start 65 S . stop 90 0 ." INITSCRIPT_NAME = "vuplus-platform-util" -do_install_append() { - if [ -f ${WORKDIR}/${INITSCRIPT_NAME}.sysvinit ]; then - install -d ${D}${INIT_D_DIR} - install -m 0755 ${WORKDIR}/${INITSCRIPT_NAME}.sysvinit ${D}${INIT_D_DIR}/${INITSCRIPT_NAME} - fi -} - INSANE_SKIP_${PN} = "already-stripped" diff --git a/meta-bsp/recipes-vuplus/vuplus-skins/vuplus-skins.bbappend b/meta-bsp/recipes-vuplus/vuplus-skins/vuplus-skins.bbappend index dd551ed..de7a1e9 100644 --- a/meta-bsp/recipes-vuplus/vuplus-skins/vuplus-skins.bbappend +++ b/meta-bsp/recipes-vuplus/vuplus-skins/vuplus-skins.bbappend @@ -3,10 +3,12 @@ BRANCH_vuultimo4k = "Vu_HD_1080p" BRANCH_vuuno4k = "Vu_HD_1080p" BRANCH_vuuno4kse = "Vu_HD_1080p" BRANCH_vuzero4k = "Vu_HD_1080p" +BRANCH_vuduo4k = "Vu_HD_1080p" PACKAGE_ARCH := "${MACHINE_ARCH}" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += " ${@base_conditional("MACHINE", "vuultimo4k", "file://remove_frontendinfo.patch", "", d)}" +SRC_URI += " ${@base_conditional("MACHINE", "vuduo4k", "file://remove_frontendinfo.patch", "", d)}" diff --git a/meta-bsp/recipes-vuplus/vuplus-tuner-turbo/vuplus-tuner-turbo_4.1.45-1.17.bb b/meta-bsp/recipes-vuplus/vuplus-tuner-turbo/vuplus-tuner-turbo_4.1.45-1.17.bb new file mode 100644 index 0000000..c6ead03 --- /dev/null +++ b/meta-bsp/recipes-vuplus/vuplus-tuner-turbo/vuplus-tuner-turbo_4.1.45-1.17.bb @@ -0,0 +1,11 @@ +require vuplus-tuner-turbo.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + +KV = "${VUPLUS_KERNEL_VERSION}-1.17" + +SRCDATE_arm = "20181112" + +SRC_URI[driver.md5sum] = "a1ba2928f2be2f70daaeb2112b3bf462" +SRC_URI[driver.sha256sum] = "6b73a5102c4491085359af3b26f8088b7553edfc007d29059af456fe68ed6207" + diff --git a/meta-bsp/recipes-vuplus/vuplus-wifi-util/vuplus-wifi-util-vuduo4k.bb b/meta-bsp/recipes-vuplus/vuplus-wifi-util/vuplus-wifi-util-vuduo4k.bb new file mode 100644 index 0000000..837edd0 --- /dev/null +++ b/meta-bsp/recipes-vuplus/vuplus-wifi-util/vuplus-wifi-util-vuduo4k.bb @@ -0,0 +1,11 @@ +require vuplus-wifi-util.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + +PV="18.1" +SRCDATE = "20181109" +SRCDATE_PR = "r0" + +SRC_URI[md5sum] = "2df0715a75c7ff0b85f13f907536bf84" +SRC_URI[sha256sum] = "a02c58fe339e6d75d7da9ec55d99520dff4838adec0ed60225ff4a85a7e5649d" + diff --git a/meta-bsp/recipes-vuplus/vuplus-wifi-util/vuplus-wifi-util-vuultimo4k.bb b/meta-bsp/recipes-vuplus/vuplus-wifi-util/vuplus-wifi-util-vuultimo4k.bb index fe94918..80f16d8 100644 --- a/meta-bsp/recipes-vuplus/vuplus-wifi-util/vuplus-wifi-util-vuultimo4k.bb +++ b/meta-bsp/recipes-vuplus/vuplus-wifi-util/vuplus-wifi-util-vuultimo4k.bb @@ -8,3 +8,13 @@ SRCDATE_PR = "r0" SRC_URI[md5sum] = "63cfafdbe221e9c87c18abcab7d7ce46" SRC_URI[sha256sum] = "c7eedb2d82e800b9382ab970027b071387c4281174bdb6e6717ee733ce893787" + +inherit update-rc.d + +INITSCRIPT_PARAMS = "start 60 S ." +INITSCRIPT_NAME = "vuplus-wifi-init.sh" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/* ${D}${bindir} +} diff --git a/meta-bsp/recipes-vuplus/vuplus-wifi-util/vuplus-wifi-util.inc b/meta-bsp/recipes-vuplus/vuplus-wifi-util/vuplus-wifi-util.inc index a51ff3e..403f4a4 100644 --- a/meta-bsp/recipes-vuplus/vuplus-wifi-util/vuplus-wifi-util.inc +++ b/meta-bsp/recipes-vuplus/vuplus-wifi-util/vuplus-wifi-util.inc @@ -14,22 +14,12 @@ SRC_URI = " \ S="${WORKDIR}/vuplus-wifi-util-${MACHINE}" -do_install() { - install -d ${D}${bindir} - install -m 0755 ${S}/* ${D}${bindir} -} - do_package_qa() { } PACKAGE_ARCH := "${MACHINE_ARCH}" FILES_${PN}="/" -inherit update-rc.d - -INITSCRIPT_PARAMS = "start 60 S ." -INITSCRIPT_NAME = "vuplus-wifi-init.sh" - do_install() { install -d ${D}${bindir} install -m 0755 ${S}/bcmdl ${D}${bindir} @@ -44,8 +34,12 @@ do_install() { install -m 0644 ${S}/bcm43569-firmware.bin ${D}/lib/firmware/bcm43569/ install -m 0644 ${S}/bcm43569_iton.nvm ${D}/lib/firmware/bcm43569/ - install -d ${D}${INIT_D_DIR} - install -m 0755 ${S}/${INITSCRIPT_NAME} ${D}${INIT_D_DIR}/${INITSCRIPT_NAME} + install -d ${D}${sysconfdir}/udev + install -m 0755 ${S}/bcmwifi_firmware.sh ${D}${sysconfdir}/udev/ + install -m 0755 ${S}/bcmwifi_drv.sh ${D}${sysconfdir}/udev/ + + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${S}/vuplus-wifi.rules ${D}${sysconfdir}/udev/rules.d/ } INSANE_SKIP_${PN} = "already-stripped" diff --git a/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vuduo4k.bb b/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vuduo4k.bb new file mode 100644 index 0000000..60a4877 --- /dev/null +++ b/meta-bsp/recipes-vuplus/webkit-hbbtv/webkit-hbbtv-browser-vuduo4k.bb @@ -0,0 +1,9 @@ +SRCDATE = "20181010.r4" + +require webkit-hbbtv-browser.inc + +COMPATIBLE_MACHINE = "^(vuduo4k)$" + + +SRC_URI[md5sum] = "d0f7ed2f854fb6b014917ea314ad8d86" +SRC_URI[sha256sum] = "f0f62147155f34184682549037c0e2f796b6bdb9b8e1e86c94becad827b5fbe1" diff --git a/meta-openvuplus/recipes-connectivity/packagegroups/packagegroup-vuplus-wlan.bb b/meta-openvuplus/recipes-connectivity/packagegroups/packagegroup-vuplus-wlan.bb index 8875b03..f79f89c 100644 --- a/meta-openvuplus/recipes-connectivity/packagegroups/packagegroup-vuplus-wlan.bb +++ b/meta-openvuplus/recipes-connectivity/packagegroups/packagegroup-vuplus-wlan.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Vuplus: W-LAN package group for the Vuplus Distribution" SECTION = "vuplus/base" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" -PR = "r20" +PR = "r22" PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -54,5 +54,6 @@ RDEPENDS_${PN}_append = "\ ${LEGACY_MODULES} \ rt2870sta \ ${@base_conditional("MACHINE", "vuultimo4k", "vuplus-wifi-util-vuultimo4k", "", d)} \ + ${@base_conditional("MACHINE", "vuduo4k", "vuplus-wifi-util-vuduo4k", "", d)} \ " diff --git a/meta-openvuplus/recipes-connectivity/ppp/files/ppp_compile_error.patch b/meta-openvuplus/recipes-connectivity/ppp/files/ppp_compile_error.patch new file mode 100644 index 0000000..2f6933f --- /dev/null +++ b/meta-openvuplus/recipes-connectivity/ppp/files/ppp_compile_error.patch @@ -0,0 +1,22 @@ +diff --git a/pppd/plugins/rp-pppoe/pppoe.h b/pppd/plugins/rp-pppoe/pppoe.h +index 9ab2eee..b827620 100644 +--- a/pppd/plugins/rp-pppoe/pppoe.h ++++ b/pppd/plugins/rp-pppoe/pppoe.h +@@ -47,6 +47,8 @@ + #include + #endif + ++#include ++ + /* Ugly header files on some Linux boxes... */ + #if defined(HAVE_LINUX_IF_H) + #include +@@ -84,8 +86,6 @@ typedef unsigned long UINT32_t; + #include + #endif + +-#include +- + #ifdef HAVE_NETINET_IF_ETHER_H + #include + diff --git a/meta-openvuplus/recipes-connectivity/ppp/ppp_2.4.7.bbappend b/meta-openvuplus/recipes-connectivity/ppp/ppp_2.4.7.bbappend index e6587d2..eadf7d3 100644 --- a/meta-openvuplus/recipes-connectivity/ppp/ppp_2.4.7.bbappend +++ b/meta-openvuplus/recipes-connectivity/ppp/ppp_2.4.7.bbappend @@ -1,4 +1,8 @@ -PR .= "-vuplus0" +PR .= "-vuplus1" + +SRC_URI += " \ + ${@base_version_less_or_equal('VUPLUS_KERNEL_VERSION', '4.1.20', '', 'file://ppp_compile_error.patch', d)} \ +" do_install_append() { rm ${D}/${sysconfdir}/ppp/options @@ -6,3 +10,5 @@ do_install_append() { } CONFFILES_${PN} = "${sysconfdir}/ppp/chap-secrets" + +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" diff --git a/meta-openvuplus/recipes-core/udev/udev_182.bbappend b/meta-openvuplus/recipes-core/udev/udev_182.bbappend index 06620a1..4bedf38 100644 --- a/meta-openvuplus/recipes-core/udev/udev_182.bbappend +++ b/meta-openvuplus/recipes-core/udev/udev_182.bbappend @@ -1,4 +1,4 @@ -PR .= "-vuplus7" +PR .= "-vuplus9" SRC_URI += " \ file://99_vuplus.rules \ diff --git a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb index 27e0a05..5d727a5 100755 --- a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb +++ b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb @@ -2,13 +2,13 @@ SUMMARY = "Screen grabber for Set-Top-Boxes" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f" SRCREV = "8394e1ba98c73d7c56d3235ef16cce253dc597cd" -PR = "r4" +PR = "r5" DEPENDS = "jpeg libpng" SRC_URI = " \ git://schwerkraft.elitedvb.net/aio-grab/aio-grab.git;protocol=git;tag=${SRCREV} \ - file://aio-grab_vuplus_6706273e6987e54e4dace15936a2cfd4e8c8c41c.patch;striplevel=1 \ + file://aio-grab_vuplus_c469655e3498abdb58a36b4f62edbd9699ff6f84.patch;striplevel=1 \ " S = "${WORKDIR}/git" diff --git a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_6706273e6987e54e4dace15936a2cfd4e8c8c41c.patch b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_6706273e6987e54e4dace15936a2cfd4e8c8c41c.patch deleted file mode 100644 index 8d7bc10..0000000 --- a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_6706273e6987e54e4dace15936a2cfd4e8c8c41c.patch +++ /dev/null @@ -1,316 +0,0 @@ -diff --git a/.gitignore b/.gitignore -index ccfb515..a6f8d11 100644 ---- a/.gitignore -+++ b/.gitignore -@@ -16,3 +16,4 @@ install-sh - *.o - missing - stamp-h1 -+aio-grab_vuplus_* -diff --git a/main.c b/main.c -index 190ff5f..c600103 100644 ---- a/main.c -+++ b/main.c -@@ -1,5 +1,5 @@ - /* --AiO Dreambox Screengrabber v0.83a -+AiO Screengrabber v0.83a - - written 2006 - 2009 by Seddi - Contact: seddi@ihad.tv / http://www.ihad.tv -@@ -38,6 +38,7 @@ Feel free to use the code for your own projects. See LICENSE file for details. - #include - #include - #include -+#include - - #include - -@@ -80,6 +81,8 @@ static const int yuv2rgbtable_bv[256] = { - }; - - static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yres); -+static bool getvideo2(unsigned char *video, unsigned int *xres, unsigned int *yres); -+ - static bool getosd(unsigned char *osd, unsigned int *xres, unsigned int *yres); - - static void smooth_resize(const unsigned char *source, unsigned char *dest, -@@ -101,10 +104,24 @@ static void combine(unsigned char *output, - const unsigned char *video, const unsigned char *osd, - unsigned int xres, unsigned int yres); - -+#define IS_VUPLUS 1 -+#if IS_VUPLUS -+enum {UNKNOWN,PALLAS,VULCAN,XILLEON,BRCM7401,BRCM7400,BRCM7405,BRCM7335,BRCM7325,BRCM7346,BRCM7425,BRCM7362,BRCM_ARM}; -+char *stb_name[]={"unknown","Pallas","Vulcan","Xilleon","Brcm7401","Brcm7400","Brcm7405","Brcm7335","Brcm7325","Brcm7346","Brcm7425\/7241","Brcm7362", "Brcm_ARM"}; -+#else - enum {UNKNOWN,PALLAS,VULCAN,XILLEON,BRCM7401,BRCM7400,BRCM7405}; - static const char *stb_name[]={"unknown","Pallas","Vulcan","Xilleon","Brcm7401","Brcm7400","Brcm7405"}; -+#endif - static int stb_type=UNKNOWN; - -+char* upcase(char* mixedstr) -+{ -+ size_t j; -+ for (j=0; j< strlen(mixedstr); ++j) -+ mixedstr[j]=toupper(mixedstr[j]); -+ return mixedstr; -+} -+ - static const char *file_getline(const char *filename) - { - static char *line = NULL; -@@ -184,10 +201,9 @@ static int file_scanf_lines(const char *filename, const char *fmt, ...) - } - - // main program -- - int main(int argc, char **argv) { - -- printf("AiO Dreambox Screengrabber " PACKAGE_VERSION "\n\n"); -+ printf("AiO Screengrabber " PACKAGE_VERSION "\n\n"); - - unsigned int xres_v = 0,yres_v = 0,xres_o,yres_o,xres,yres,aspect,width; - int c,osd_only,video_only,use_osd_res,use_png,use_jpg,jpg_quality,no_aspect,use_letterbox; -@@ -205,11 +221,43 @@ int main(int argc, char **argv) { - char filename[256] = { "/tmp/screenshot.bmp" }; - - // detect STB -- const char *line = file_getline("/proc/fb"); -+ char *line = (char*)file_getline("/proc/fb"); - if (line == NULL) - return 1; - - if (strstr(line, "bcmfb")) { -+#if IS_VUPLUS -+ if((line=(char*)file_getline("/proc/stb/info/chipset")) == NULL) -+ return 1; -+ if (strstr(upcase(line),"7335")) -+ stb_type=BRCM7335; -+ else if (strstr(upcase(line),"7325")) -+ stb_type=BRCM7325; -+ else if (strstr(upcase(line),"7405")) -+ stb_type=BRCM7405; -+ else if (strstr(upcase(line),"7356")) -+ stb_type=BRCM7346; -+ else if (strstr(upcase(line),"7346")) -+ stb_type=BRCM7346; -+ else if (strstr(upcase(line),"7424")) -+ stb_type=BRCM7425; -+ else if (strstr(upcase(line),"7425")) -+ stb_type=BRCM7425; -+ else if (strstr(upcase(line),"7241")) -+ stb_type=BRCM7425; -+ else if (strstr(upcase(line),"7362")) -+ stb_type=BRCM7362; -+ else if (strstr(upcase(line),"7366")) -+ stb_type=BRCM_ARM; -+ else if (strstr(upcase(line),"7376")) -+ stb_type=BRCM_ARM; -+ else if (strstr(upcase(line),"7444")) -+ stb_type=BRCM_ARM; -+ else if (strstr(upcase(line),"7252")) -+ stb_type=BRCM_ARM; -+ else if (strstr(upcase(line),"7260")) -+ stb_type=BRCM_ARM; -+#else - line = file_getline("/proc/stb/info/model"); - if (line == NULL) - return 1; -@@ -221,6 +269,7 @@ int main(int argc, char **argv) { - !strcmp(line, "dm800se") || - !strcmp(line, "dm7020hd")) - stb_type = BRCM7405; -+#endif - } else if (strstr(line, "xilleonfb")) { - stb_type = XILLEON; - } else if (strstr(line, "Pallas FB")) { -@@ -325,9 +374,18 @@ int main(int argc, char **argv) { - if (!video_only && !getosd(osd, &xres_o, &yres_o)) - return 1; - -- // get video -- if (!osd_only && !getvideo(video, &xres_v, &yres_v)) -- return 1; -+ if (stb_type == BRCM_ARM) -+ { -+ if (!osd_only && !getvideo2(video, &xres_v, &yres_v)) -+ return 1; -+ } -+ else -+ { -+ if (!osd_only && !getvideo(video, &xres_v, &yres_v)) -+ return 1; -+ } -+ -+ - - // get aspect ratio - if (stb_type == VULCAN || stb_type == PALLAS) -@@ -549,6 +607,22 @@ int main(int argc, char **argv) { - } - - // grabing the video picture -+static bool getvideo2(unsigned char *video, unsigned int *xres, unsigned int *yres) -+{ -+ int fd_video = open("/dev/dvb/adapter0/video0", O_RDONLY); -+ if (fd_video < 0) { -+ perror("/dev/dvb/adapter0/video0"); -+ return false; -+ } -+ -+ ssize_t r = read(fd_video, video, 1920 * 1080 * 3); -+ close(fd_video); -+ -+ *xres = 1920; -+ *yres = 1080; -+ -+ return true; -+} - - static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yres) - { -@@ -563,16 +637,34 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre - perror("/dev/mem"); - return false; - } -- -+#if IS_VUPLUS -+ if (stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405 || stb_type == BRCM7335 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425 || stb_type == BRCM7362) -+#else - if (stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405) -+#endif - { - // grab brcm7401 pic from decoder memory -+#if IS_VUPLUS -+ off_t offset_addr = 0x10600000; -+ switch(stb_type) { -+ case BRCM7401: -+ case BRCM7400: -+ case BRCM7405: -+ case BRCM7335: -+ case BRCM7325: offset_addr = 0x10100000; break; -+ } -+ unsigned char *memory = mmap(0, 100, PROT_READ, MAP_SHARED, mem_fd, offset_addr); -+ if (memory == MAP_FAILED) { -+ perror("mmap"); -+ return false; -+ } -+#else - unsigned char *memory = mmap(0, 100, PROT_READ, MAP_SHARED, mem_fd, 0x10100000); - if (memory == MAP_FAILED) { - perror("mmap"); - return false; - } -- -+#endif - unsigned char data[100]; - - unsigned int adr,adr2,ofs,ofs2,offset/*,vert_start,vert_end*/; -@@ -582,12 +674,30 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre - memcpy(data,memory,100); - //vert_start=data[0x1B]<<8|data[0x1A]; - //vert_end=data[0x19]<<8|data[0x18]; -+#if IS_VUPLUS -+ if(stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405 || stb_type == BRCM7335 || stb_type == BRCM7325) { -+ stride=data[0x15]<<8|data[0x14]; -+ ofs=(data[0x28]<<8|data[0x27])>>4; -+ ofs2=(data[0x2c]<<8|data[0x2b])>>4; -+ adr=(data[0x1f]<<24|data[0x1e]<<16|data[0x1d]<<8|data[0x1c])&0xFFFFFF00; -+ adr2=(data[0x23]<<24|data[0x22]<<16|data[0x21]<<8|data[0x20])&0xFFFFFF00; -+ offset=adr2-adr; -+ } else { -+ stride=data[0x15]<<8|data[0x14]; -+ ofs=(data[0x3c]<<8|data[0x3b])>>4; -+ ofs2=(data[0x40]<<8|data[0x3f])>>4; -+ adr=(data[0x1f]<<24|data[0x1e]<<16|data[0x1d]<<8|data[0x1c])&0xFFFFFF00; -+ adr2=(data[0x37]<<24|data[0x36]<<16|data[0x35]<<8|data[0x34])&0xFFFFFF00; -+ offset=adr2-adr; -+ } -+#else - stride=data[0x15]<<8|data[0x14]; - ofs=(data[0x28]<<8|data[0x27])>>4; - ofs2=(data[0x2c]<<8|data[0x2b])>>4; - adr=(data[0x1f]<<24|data[0x1e]<<16|data[0x1d]<<8|data[0x1c])&0xFFFFFF00; - adr2=(data[0x23]<<24|data[0x22]<<16|data[0x21]<<8|data[0x20])&0xFFFFFF00; - offset=adr2-adr; -+#endif - - munmap(memory, 100); - -@@ -609,7 +719,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre - assert(chroma); - - // grabbing luma & chroma plane from the decoder memory -+#if IS_VUPLUS -+ if (stb_type == BRCM7401 || stb_type == BRCM7405 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425 || stb_type == BRCM7362 ) { -+#else - if (stb_type == BRCM7401 || stb_type == BRCM7405) { -+#endif - // on dm800/dm500hd we have direct access to the decoder memory - memory = mmap(0, offset + stride*(ofs2+64), PROT_READ, MAP_SHARED, mem_fd, adr); - if (memory == MAP_FAILED) { -@@ -620,7 +734,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre - usleep(50000); // we try to get a full picture, its not possible to get a sync from the decoder so we use a delay - // and hope we get a good timing. dont ask me why, but every DM800 i tested so far produced a good - // result with a 50ms delay -+#if IS_VUPLUS -+ } else if (stb_type == BRCM7400 || stb_type == BRCM7335) { -+#else - } else if (stb_type == BRCM7400) { -+#endif - // on dm8000 we have to use dma, so dont change anything here until you really know what you are doing ! - - unsigned int i = 0; -@@ -639,7 +757,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre - } - - volatile unsigned long *mem_dma; -+#if IS_VUPLUS -+ mem_dma = mmap(0, 0x1000, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, (stb_type==BRCM7400)?0x10c02000:0x10c01000); -+#else - mem_dma = mmap(0, 0x1000, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, 0x10c02000); -+#endif - if (mem_dma == MAP_FAILED) { - perror("mmap"); - return false; -@@ -675,8 +797,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre - unsigned int t = 0, t2 = 0, dat1 = 0; - unsigned int chr_luma_stride = 0x40; - unsigned int sw; -- -+#if IS_VUPLUS -+ if (stb_type == BRCM7405 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425) -+#else - if (stb_type == BRCM7405) -+#endif - chr_luma_stride *= 2; - - xsub=chr_luma_stride; -@@ -692,6 +817,7 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre - for (ytmp = 0; ytmp < ofs; ytmp++) - { - memcpy(luma + dat1, memory + t, xsub); // luma -+ - t += chr_luma_stride; - - switch (ofs2-ytmp) // the two switch commands are much faster than one if statement -@@ -710,10 +836,17 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre - dat1+=stride; - } - } -- -+#if IS_VUPLUS -+ if (stb_type == BRCM7401 || stb_type == BRCM7405 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425 || stb_type == BRCM7362) { -+#else - if (stb_type == BRCM7401 || stb_type == BRCM7405) -+#endif - munmap(memory, offset + stride * (ofs2 + 64)); -+#if IS_VUPLUS -+ } else if (stb_type == BRCM7400 || stb_type == BRCM7335) { -+#else - else if (stb_type == BRCM7400) { -+#endif - memory -= 0x1000; - munmap(memory, DMA_BLOCKSIZE + 0x1000); - } diff --git a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_c469655e3498abdb58a36b4f62edbd9699ff6f84.patch b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_c469655e3498abdb58a36b4f62edbd9699ff6f84.patch new file mode 100644 index 0000000..884a908 --- /dev/null +++ b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_c469655e3498abdb58a36b4f62edbd9699ff6f84.patch @@ -0,0 +1,318 @@ +diff --git a/.gitignore b/.gitignore +index ccfb515..a6f8d11 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -16,3 +16,4 @@ install-sh + *.o + missing + stamp-h1 ++aio-grab_vuplus_* +diff --git a/main.c b/main.c +index 190ff5f..0a4cc01 100644 +--- a/main.c ++++ b/main.c +@@ -1,5 +1,5 @@ + /* +-AiO Dreambox Screengrabber v0.83a ++AiO Screengrabber v0.83a + + written 2006 - 2009 by Seddi + Contact: seddi@ihad.tv / http://www.ihad.tv +@@ -38,6 +38,7 @@ Feel free to use the code for your own projects. See LICENSE file for details. + #include + #include + #include ++#include + + #include + +@@ -80,6 +81,8 @@ static const int yuv2rgbtable_bv[256] = { + }; + + static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yres); ++static bool getvideo2(unsigned char *video, unsigned int *xres, unsigned int *yres); ++ + static bool getosd(unsigned char *osd, unsigned int *xres, unsigned int *yres); + + static void smooth_resize(const unsigned char *source, unsigned char *dest, +@@ -101,10 +104,24 @@ static void combine(unsigned char *output, + const unsigned char *video, const unsigned char *osd, + unsigned int xres, unsigned int yres); + ++#define IS_VUPLUS 1 ++#if IS_VUPLUS ++enum {UNKNOWN,PALLAS,VULCAN,XILLEON,BRCM7401,BRCM7400,BRCM7405,BRCM7335,BRCM7325,BRCM7346,BRCM7425,BRCM7362,BRCM_ARM}; ++char *stb_name[]={"unknown","Pallas","Vulcan","Xilleon","Brcm7401","Brcm7400","Brcm7405","Brcm7335","Brcm7325","Brcm7346","Brcm7425\/7241","Brcm7362", "Brcm_ARM"}; ++#else + enum {UNKNOWN,PALLAS,VULCAN,XILLEON,BRCM7401,BRCM7400,BRCM7405}; + static const char *stb_name[]={"unknown","Pallas","Vulcan","Xilleon","Brcm7401","Brcm7400","Brcm7405"}; ++#endif + static int stb_type=UNKNOWN; + ++char* upcase(char* mixedstr) ++{ ++ size_t j; ++ for (j=0; j< strlen(mixedstr); ++j) ++ mixedstr[j]=toupper(mixedstr[j]); ++ return mixedstr; ++} ++ + static const char *file_getline(const char *filename) + { + static char *line = NULL; +@@ -184,10 +201,9 @@ static int file_scanf_lines(const char *filename, const char *fmt, ...) + } + + // main program +- + int main(int argc, char **argv) { + +- printf("AiO Dreambox Screengrabber " PACKAGE_VERSION "\n\n"); ++ printf("AiO Screengrabber " PACKAGE_VERSION "\n\n"); + + unsigned int xres_v = 0,yres_v = 0,xres_o,yres_o,xres,yres,aspect,width; + int c,osd_only,video_only,use_osd_res,use_png,use_jpg,jpg_quality,no_aspect,use_letterbox; +@@ -205,11 +221,45 @@ int main(int argc, char **argv) { + char filename[256] = { "/tmp/screenshot.bmp" }; + + // detect STB +- const char *line = file_getline("/proc/fb"); ++ char *line = (char*)file_getline("/proc/fb"); + if (line == NULL) + return 1; + + if (strstr(line, "bcmfb")) { ++#if IS_VUPLUS ++ if((line=(char*)file_getline("/proc/stb/info/chipset")) == NULL) ++ return 1; ++ if (strstr(upcase(line),"7335")) ++ stb_type=BRCM7335; ++ else if (strstr(upcase(line),"7325")) ++ stb_type=BRCM7325; ++ else if (strstr(upcase(line),"7405")) ++ stb_type=BRCM7405; ++ else if (strstr(upcase(line),"7356")) ++ stb_type=BRCM7346; ++ else if (strstr(upcase(line),"7346")) ++ stb_type=BRCM7346; ++ else if (strstr(upcase(line),"7424")) ++ stb_type=BRCM7425; ++ else if (strstr(upcase(line),"7425")) ++ stb_type=BRCM7425; ++ else if (strstr(upcase(line),"7241")) ++ stb_type=BRCM7425; ++ else if (strstr(upcase(line),"7362")) ++ stb_type=BRCM7362; ++ else if (strstr(upcase(line),"7366")) ++ stb_type=BRCM_ARM; ++ else if (strstr(upcase(line),"7376")) ++ stb_type=BRCM_ARM; ++ else if (strstr(upcase(line),"7444")) ++ stb_type=BRCM_ARM; ++ else if (strstr(upcase(line),"7252")) ++ stb_type=BRCM_ARM; ++ else if (strstr(upcase(line),"7260")) ++ stb_type=BRCM_ARM; ++ else if (strstr(upcase(line),"7278")) ++ stb_type=BRCM_ARM; ++#else + line = file_getline("/proc/stb/info/model"); + if (line == NULL) + return 1; +@@ -221,6 +271,7 @@ int main(int argc, char **argv) { + !strcmp(line, "dm800se") || + !strcmp(line, "dm7020hd")) + stb_type = BRCM7405; ++#endif + } else if (strstr(line, "xilleonfb")) { + stb_type = XILLEON; + } else if (strstr(line, "Pallas FB")) { +@@ -325,9 +376,18 @@ int main(int argc, char **argv) { + if (!video_only && !getosd(osd, &xres_o, &yres_o)) + return 1; + +- // get video +- if (!osd_only && !getvideo(video, &xres_v, &yres_v)) +- return 1; ++ if (stb_type == BRCM_ARM) ++ { ++ if (!osd_only && !getvideo2(video, &xres_v, &yres_v)) ++ return 1; ++ } ++ else ++ { ++ if (!osd_only && !getvideo(video, &xres_v, &yres_v)) ++ return 1; ++ } ++ ++ + + // get aspect ratio + if (stb_type == VULCAN || stb_type == PALLAS) +@@ -549,6 +609,22 @@ int main(int argc, char **argv) { + } + + // grabing the video picture ++static bool getvideo2(unsigned char *video, unsigned int *xres, unsigned int *yres) ++{ ++ int fd_video = open("/dev/dvb/adapter0/video0", O_RDONLY); ++ if (fd_video < 0) { ++ perror("/dev/dvb/adapter0/video0"); ++ return false; ++ } ++ ++ ssize_t r = read(fd_video, video, 1920 * 1080 * 3); ++ close(fd_video); ++ ++ *xres = 1920; ++ *yres = 1080; ++ ++ return true; ++} + + static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yres) + { +@@ -563,16 +639,34 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + perror("/dev/mem"); + return false; + } +- ++#if IS_VUPLUS ++ if (stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405 || stb_type == BRCM7335 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425 || stb_type == BRCM7362) ++#else + if (stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405) ++#endif + { + // grab brcm7401 pic from decoder memory ++#if IS_VUPLUS ++ off_t offset_addr = 0x10600000; ++ switch(stb_type) { ++ case BRCM7401: ++ case BRCM7400: ++ case BRCM7405: ++ case BRCM7335: ++ case BRCM7325: offset_addr = 0x10100000; break; ++ } ++ unsigned char *memory = mmap(0, 100, PROT_READ, MAP_SHARED, mem_fd, offset_addr); ++ if (memory == MAP_FAILED) { ++ perror("mmap"); ++ return false; ++ } ++#else + unsigned char *memory = mmap(0, 100, PROT_READ, MAP_SHARED, mem_fd, 0x10100000); + if (memory == MAP_FAILED) { + perror("mmap"); + return false; + } +- ++#endif + unsigned char data[100]; + + unsigned int adr,adr2,ofs,ofs2,offset/*,vert_start,vert_end*/; +@@ -582,12 +676,30 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + memcpy(data,memory,100); + //vert_start=data[0x1B]<<8|data[0x1A]; + //vert_end=data[0x19]<<8|data[0x18]; ++#if IS_VUPLUS ++ if(stb_type == BRCM7401 || stb_type == BRCM7400 || stb_type == BRCM7405 || stb_type == BRCM7335 || stb_type == BRCM7325) { ++ stride=data[0x15]<<8|data[0x14]; ++ ofs=(data[0x28]<<8|data[0x27])>>4; ++ ofs2=(data[0x2c]<<8|data[0x2b])>>4; ++ adr=(data[0x1f]<<24|data[0x1e]<<16|data[0x1d]<<8|data[0x1c])&0xFFFFFF00; ++ adr2=(data[0x23]<<24|data[0x22]<<16|data[0x21]<<8|data[0x20])&0xFFFFFF00; ++ offset=adr2-adr; ++ } else { ++ stride=data[0x15]<<8|data[0x14]; ++ ofs=(data[0x3c]<<8|data[0x3b])>>4; ++ ofs2=(data[0x40]<<8|data[0x3f])>>4; ++ adr=(data[0x1f]<<24|data[0x1e]<<16|data[0x1d]<<8|data[0x1c])&0xFFFFFF00; ++ adr2=(data[0x37]<<24|data[0x36]<<16|data[0x35]<<8|data[0x34])&0xFFFFFF00; ++ offset=adr2-adr; ++ } ++#else + stride=data[0x15]<<8|data[0x14]; + ofs=(data[0x28]<<8|data[0x27])>>4; + ofs2=(data[0x2c]<<8|data[0x2b])>>4; + adr=(data[0x1f]<<24|data[0x1e]<<16|data[0x1d]<<8|data[0x1c])&0xFFFFFF00; + adr2=(data[0x23]<<24|data[0x22]<<16|data[0x21]<<8|data[0x20])&0xFFFFFF00; + offset=adr2-adr; ++#endif + + munmap(memory, 100); + +@@ -609,7 +721,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + assert(chroma); + + // grabbing luma & chroma plane from the decoder memory ++#if IS_VUPLUS ++ if (stb_type == BRCM7401 || stb_type == BRCM7405 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425 || stb_type == BRCM7362 ) { ++#else + if (stb_type == BRCM7401 || stb_type == BRCM7405) { ++#endif + // on dm800/dm500hd we have direct access to the decoder memory + memory = mmap(0, offset + stride*(ofs2+64), PROT_READ, MAP_SHARED, mem_fd, adr); + if (memory == MAP_FAILED) { +@@ -620,7 +736,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + usleep(50000); // we try to get a full picture, its not possible to get a sync from the decoder so we use a delay + // and hope we get a good timing. dont ask me why, but every DM800 i tested so far produced a good + // result with a 50ms delay ++#if IS_VUPLUS ++ } else if (stb_type == BRCM7400 || stb_type == BRCM7335) { ++#else + } else if (stb_type == BRCM7400) { ++#endif + // on dm8000 we have to use dma, so dont change anything here until you really know what you are doing ! + + unsigned int i = 0; +@@ -639,7 +759,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + } + + volatile unsigned long *mem_dma; ++#if IS_VUPLUS ++ mem_dma = mmap(0, 0x1000, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, (stb_type==BRCM7400)?0x10c02000:0x10c01000); ++#else + mem_dma = mmap(0, 0x1000, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, 0x10c02000); ++#endif + if (mem_dma == MAP_FAILED) { + perror("mmap"); + return false; +@@ -675,8 +799,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + unsigned int t = 0, t2 = 0, dat1 = 0; + unsigned int chr_luma_stride = 0x40; + unsigned int sw; +- ++#if IS_VUPLUS ++ if (stb_type == BRCM7405 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425) ++#else + if (stb_type == BRCM7405) ++#endif + chr_luma_stride *= 2; + + xsub=chr_luma_stride; +@@ -692,6 +819,7 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + for (ytmp = 0; ytmp < ofs; ytmp++) + { + memcpy(luma + dat1, memory + t, xsub); // luma ++ + t += chr_luma_stride; + + switch (ofs2-ytmp) // the two switch commands are much faster than one if statement +@@ -710,10 +838,17 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre + dat1+=stride; + } + } +- ++#if IS_VUPLUS ++ if (stb_type == BRCM7401 || stb_type == BRCM7405 || stb_type == BRCM7325 || stb_type == BRCM7346 || stb_type == BRCM7425 || stb_type == BRCM7362) { ++#else + if (stb_type == BRCM7401 || stb_type == BRCM7405) ++#endif + munmap(memory, offset + stride * (ofs2 + 64)); ++#if IS_VUPLUS ++ } else if (stb_type == BRCM7400 || stb_type == BRCM7335) { ++#else + else if (stb_type == BRCM7400) { ++#endif + memory -= 0x1000; + munmap(memory, DMA_BLOCKSIZE + 0x1000); + } diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb index de2a1a2..b3c3f93 100644 --- a/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb +++ b/meta-openvuplus/recipes-vuplus/e2openplugins/enigma2-plugin-extensions-openwebif.bb @@ -12,7 +12,7 @@ SRCREV_pn-${PN}="d84307958746e6a597b43defe5bd1cb78fd745c8" inherit gitpkgv PV = "1+git${SRCPV}" PKGV = "1+git${GITPKGV}" -PR = "r6" +PR = "r9" require openplugins-distutils.inc @@ -26,6 +26,7 @@ SRC_URI = "git://github.com/E2OpenPlugins/e2openplugin-${MODULE}.git;protocol=gi file://box_ultimo4k.png \ file://box_uno4kse.png \ file://box_zero4k.png \ + file://box_duo4k.png \ " # Just a quick hack to "compile" it @@ -44,6 +45,7 @@ do_install_append() { install -m 0755 ${WORKDIR}/box_ultimo4k.png ${D}${PLUGINPATH}/public/images/boxes/ultimo4k.png install -m 0755 ${WORKDIR}/box_uno4kse.png ${D}${PLUGINPATH}/public/images/boxes/uno4kse.png install -m 0755 ${WORKDIR}/box_zero4k.png ${D}${PLUGINPATH}/public/images/boxes/zero4k.png + install -m 0755 ${WORKDIR}/box_duo4k.png ${D}${PLUGINPATH}/public/images/boxes/duo4k.png } python do_package_prepend () { @@ -61,6 +63,7 @@ python do_package_prepend () { ('vuultimo4k', 'ultimo4k.png', 'vu_normal.png'), ('vuuno4kse', 'uno4kse.png', 'vu_brown.png'), ('vuzero4k', 'zero4k.png', 'vu_brown.png'), + ('vuduo4k', 'duo4k.png', 'vu_brown.png'), ] import os top = '${D}${PLUGINPATH}/public/images/' diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/files/box_duo4k.png b/meta-openvuplus/recipes-vuplus/e2openplugins/files/box_duo4k.png new file mode 100644 index 0000000000000000000000000000000000000000..a0d6b3e44099766860ca6dcdba35f7767c974e93 GIT binary patch literal 53029 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 literal 0 HcmV?d00001 diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_support_vumodels.patch b/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_support_vumodels.patch index b7726fe..a4ef179 100644 --- a/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_support_vumodels.patch +++ b/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_support_vumodels.patch @@ -7,7 +7,7 @@ index 446a97c..8e0e0f6 100644 info['transcoding'] = False - if (info['model'] in ("Solo²", "Duo²", "Solo SE", "Quad", "Quad Plus") or info['machinebuild'] in ('inihdp', 'hd2400', 'et10000', 'xpeedlx3', 'ew7356', 'dags3', 'dags4')): -+ if (info['model'] in ("Uno4Kse", "Uno4K", "Ultimo4K", "Solo4K", "Solo²", "Duo²", "Solo SE", "Quad", "Quad Plus") or info['machinebuild'] in ('inihdp', 'hd2400', 'et10000', 'xpeedlx3', 'ew7356', 'dags3', 'dags4')): ++ if (info['model'] in ("Duo4K", "Uno4Kse", "Uno4K", "Ultimo4K", "Solo4K", "Solo²", "Duo²", "Solo SE", "Quad", "Quad Plus") or info['machinebuild'] in ('inihdp', 'hd2400', 'et10000', 'xpeedlx3', 'ew7356', 'dags3', 'dags4')): if os.path.exists(eEnv.resolve('${libdir}/enigma2/python/Plugins/SystemPlugins/TransCodingSetup/plugin.pyo')) or os.path.exists(eEnv.resolve('${libdir}/enigma2/python/Plugins/SystemPlugins/TranscodingSetup/plugin.pyo')) or os.path.exists(eEnv.resolve('${libdir}/enigma2/python/Plugins/SystemPlugins/MultiTransCodingSetup/plugin.pyo')): info['transcoding'] = True @@ -20,7 +20,7 @@ index cb33277..d75ca6f 100644 transcoder_port = None args = "" - if model in ("Solo²", "Duo²", "Solo SE", "Quad", "Quad Plus") or machinebuild in ('dags3', 'dags4'): -+ if model in ("Uno4Kse", "Uno4K", "Ultimo4K", "Solo4K", "Solo²", "Duo²", "Solo SE", "Quad", "Quad Plus") or machinebuild in ('dags3', 'dags4'): ++ if model in ("Duo4K", "Uno4Kse", "Uno4K", "Ultimo4K", "Solo4K", "Solo²", "Duo²", "Solo SE", "Quad", "Quad Plus") or machinebuild in ('dags3', 'dags4'): try: transcoder_port = int(config.plugins.transcodingsetup.port.value) except StandardError: diff --git a/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_vu_box_remote.patch b/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_vu_box_remote.patch index 996793e..315022a 100644 --- a/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_vu_box_remote.patch +++ b/meta-openvuplus/recipes-vuplus/e2openplugins/files/openwebif_vu_box_remote.patch @@ -21,7 +21,7 @@ index 9b8f1e5..4bbf6fb 100644 remote = "vu_duo2" elif procmodel == "ultimo": remote = "vu_ultimo" -+ elif procmodel in ("uno4kse", "zero4k"): ++ elif procmodel in ("uno4kse", "zero4k", "duo4k"): + remote = "vu_brown" elif procmodel == "e3hd": remote = "e3hd" diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2-transtreamproxy.bb b/meta-openvuplus/recipes-vuplus/enigma2/enigma2-transtreamproxy.bb index 41765a5..6d8764b 100644 --- a/meta-openvuplus/recipes-vuplus/enigma2/enigma2-transtreamproxy.bb +++ b/meta-openvuplus/recipes-vuplus/enigma2/enigma2-transtreamproxy.bb @@ -21,6 +21,7 @@ EXTRA_OECONF_vusolo4k += " --enable-ext-pid " EXTRA_OECONF_vuultimo4k += " --enable-ext-pid " EXTRA_OECONF_vuuno4k += " --enable-ext-pid " EXTRA_OECONF_vuuno4kse += " --enable-ext-pid " +EXTRA_OECONF_vuduo4k += " --enable-ext-pid " S = "${WORKDIR}/git" diff --git a/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-base.bb b/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-base.bb index 90f7e00..601bfac 100644 --- a/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-base.bb +++ b/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-base.bb @@ -2,7 +2,7 @@ SUMMARY = "Vuplus: Base set of packages for Vuplus." SECTION = "vuplus/base" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" -PR = "r7" +PR = "r10" inherit packagegroup @@ -66,6 +66,7 @@ VUPLUS_BASE_RECOMMENDS = "\ ${@base_contains("VUPLUS_FEATURES", "vuplus-fpga-update", "vuplus-fpga-update", "", d)} \ ${@base_contains("VUPLUS_FEATURES", "wol", "vuplus-coldboot", "", d)} \ ${@base_contains("VUPLUS_FEATURES", "wowl", "vuplus-wowl", "", d)} \ + bash \ " VUPLUS_BASE_OPTIONAL_RECOMMENDS = "\ diff --git a/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb b/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb index 8251abd..6dd087b 100644 --- a/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb +++ b/meta-openvuplus/recipes-vuplus/packagegroups/packagegroup-vuplus-enigma2.bb @@ -2,7 +2,7 @@ SUMMARY = "Enigma2 set of packages for Vuplus" SECTION = "vuplus/base" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" -PR = "r23" +PR = "r27" PACKAGE_ARCH = "${MACHINE_ARCH}" -- 2.7.4