]> code.ossystems Code Review - meta-freescale.git/commitdiff
linux-imx: Cleanup recipe as SabreLITE machine has been moved
authorOtavio Salvador <otavio@ossystems.com.br>
Sat, 6 Apr 2013 14:51:26 +0000 (11:51 -0300)
committerOtavio Salvador <otavio@ossystems.com.br>
Sat, 6 Apr 2013 14:51:26 +0000 (11:51 -0300)
The SabreLITE machine is now supported using the Boundary Devices
kernel in meta-fsl-arm-extra, so we remove the patch and specific
overrides of this recipe.

Change-Id: I109226bf6fc5f5d9979430795b990dfe09b11421
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
meta-fsl-arm/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/defconfig [deleted file]
meta-fsl-arm/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/sync-boundary-changes.patch [deleted file]
meta-fsl-arm/recipes-kernel/linux/linux-imx_3.0.35.bb

diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/defconfig b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/defconfig
deleted file mode 100644 (file)
index 632fb3a..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-CONFIG_EXPERIMENTAL=y
-CONFIG_SYSVIPC=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_EMBEDDED=y
-CONFIG_PERF_EVENTS=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_ARCH_MXC=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_ARCH_MX6=y
-CONFIG_FORCE_MAX_ZONEORDER=14
-CONFIG_MACH_MX6Q_SABRELITE=y
-CONFIG_IMX_PCIE=y
-CONFIG_USB_EHCI_ARC_H1=y
-CONFIG_MXC_PWM=y
-CONFIG_MXC_REBOOT_MFGMODE=y
-CONFIG_CLK_DEBUG=y
-CONFIG_DMA_ZONE_SIZE=184
-# CONFIG_SWP_EMULATE is not set
-CONFIG_ARM_ERRATA_743622=y
-CONFIG_ARM_ERRATA_751472=y
-CONFIG_ARM_ERRATA_754322=y
-CONFIG_ARM_ERRATA_764369=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_SMP=y
-CONFIG_VMSPLIT_2G=y
-CONFIG_PREEMPT=y
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-CONFIG_HIGHMEM=y
-CONFIG_COMPACTION=y
-CONFIG_KSM=y
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw rootfstype=jffs2 ip=off"
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
-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
-CONFIG_CPU_FREQ_IMX=y
-CONFIG_VFP=y
-CONFIG_NEON=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_SUSPEND_DEVICE_TIME_DEBUG=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM_DEBUG=y
-CONFIG_APM_EMULATION=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-# CONFIG_INET_LRO is not set
-# CONFIG_IPV6 is not set
-CONFIG_NETFILTER=y
-CONFIG_LLC2=y
-CONFIG_CAN=y
-CONFIG_CAN_RAW=y
-CONFIG_CAN_BCM=y
-CONFIG_CAN_VCAN=y
-CONFIG_CAN_FLEXCAN=y
-CONFIG_BT=y
-CONFIG_BT_L2CAP=y
-CONFIG_BT_SCO=y
-CONFIG_BT_RFCOMM=y
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=y
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=y
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_CFG80211=y
-CONFIG_MAC80211=y
-CONFIG_RFKILL=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_CONNECTOR=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_M25P80=y
-CONFIG_MTD_NAND=y
-CONFIG_MTD_UBI=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_MISC_DEVICES=y
-CONFIG_MXS_PERFMON=m
-CONFIG_BLK_DEV_SD=y
-CONFIG_SCSI_MULTI_LUN=y
-CONFIG_ATA=y
-# CONFIG_SATA_PMP is not set
-CONFIG_SATA_AHCI_PLATFORM=y
-CONFIG_NETDEVICES=y
-CONFIG_TUN=y
-CONFIG_MII=y
-CONFIG_MICREL_PHY=y
-CONFIG_NET_ETHERNET=y
-CONFIG_FEC_NAPI=y
-# CONFIG_NETDEV_1000 is not set
-# CONFIG_NETDEV_10000 is not set
-CONFIG_HOSTAP=y
-CONFIG_WL12XX_MENU=y
-CONFIG_WL12XX=y
-CONFIG_WL12XX_SDIO=m
-CONFIG_INPUT_POLLDEV=y
-CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_INPUT_MOUSE is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_EGALAX=y
-CONFIG_TOUCHSCREEN_FT5X06=y
-CONFIG_TOUCHSCREEN_FT5X06_SINGLE_TOUCH=y
-CONFIG_TOUCHSCREEN_TSC2004=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_UINPUT=y
-CONFIG_INPUT_ISL29023=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_SERIAL_IMX=y
-CONFIG_SERIAL_IMX_CONSOLE=y
-CONFIG_FSL_OTP=y
-CONFIG_HW_RANDOM=y
-CONFIG_MXS_VIIM=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_IMX=y
-CONFIG_SPI=y
-CONFIG_SPI_IMX=y
-CONFIG_GPIO_SYSFS=y
-CONFIG_SENSORS_MAX17135=y
-CONFIG_SENSORS_MAG3110=y
-# CONFIG_MXC_MMA8450 is not set
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_NOWAYOUT=y
-CONFIG_IMX2_WDT=y
-CONFIG_MFD_WM8994=y
-CONFIG_MFD_PFUZE=y
-CONFIG_MFD_MAX17135=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_PFUZE100=y
-CONFIG_REGULATOR_MAX17135=y
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_VIDEO_DEV=y
-# CONFIG_RC_CORE is not set
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-CONFIG_VIDEO_MXC_CAMERA=m
-CONFIG_MXC_CAMERA_OV5642=m
-CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
-CONFIG_USB_VIDEO_CLASS=m
-# CONFIG_RADIO_ADAPTERS is not set
-CONFIG_DRM=m
-CONFIG_DRM_VIVANTE=m
-CONFIG_FB=y
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-# CONFIG_LCD_CLASS_DEVICE is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_BACKLIGHT_PWM=y
-CONFIG_FB_MXC_LDB=y
-CONFIG_FB_MXC_MIPI_DSI=y
-CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
-CONFIG_FB_MXC_HDMI=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_USB_AUDIO=y
-CONFIG_SND_SOC=y
-CONFIG_SND_IMX_SOC=y
-CONFIG_SND_SOC_IMX_SGTL5000=y
-CONFIG_SND_SOC_IMX_SPDIF=y
-CONFIG_SND_SOC_IMX_HDMI=y
-CONFIG_HIDRAW=y
-CONFIG_HID_QUANTA=y
-CONFIG_HID_SAMSUNG=m
-CONFIG_HID_SONY=m
-CONFIG_HID_SUNPLUS=m
-CONFIG_USB=y
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_DEVICE_CLASS is not set
-CONFIG_USB_SUSPEND=y
-# CONFIG_USB_OTG_WHITELIST is not set
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ARC=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-CONFIG_USB_ACM=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_SERIAL=y
-CONFIG_USB_SERIAL_QUALCOMM=y
-CONFIG_USB_SERIAL_OPTION=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_FILE_STORAGE=m
-CONFIG_USB_G_SERIAL=m
-CONFIG_MXC_OTG=y
-CONFIG_MMC=y
-CONFIG_MMC_UNSAFE_RESUME=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_ESDHC_IMX=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_GPIO=y
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-CONFIG_RTC_DRV_SNVS=y
-CONFIG_DMADEVICES=y
-CONFIG_MXC_PXP_V2=y
-CONFIG_IMX_SDMA=y
-CONFIG_MXC_IPU=y
-# CONFIG_MXC_HMP4E is not set
-# CONFIG_MXC_HWEVENT is not set
-CONFIG_MXC_ASRC=y
-CONFIG_MXC_GPU_VIV=y
-CONFIG_MXC_MIPI_CSI2=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_EXT4_FS=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_TMPFS=y
-CONFIG_JFFS2_FS=y
-CONFIG_UBIFS_FS=y
-CONFIG_CRAMFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_ROOT_NFS=y
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_EFI_PARTITION=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_UTF8=m
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_FS=y
-CONFIG_SYSCTL_SYSCALL_CHECK=y
-# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
-CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_CCM=y
-CONFIG_CRYPTO_GCM=y
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_LRW=y
-CONFIG_CRYPTO_PCBC=y
-CONFIG_CRYPTO_XTS=y
-CONFIG_CRYPTO_DES=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-# CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API is not set
-CONFIG_CRC_CCITT=m
diff --git a/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/sync-boundary-changes.patch b/meta-fsl-arm/recipes-kernel/linux/linux-imx-3.0.35/imx6qsabrelite/sync-boundary-changes.patch
deleted file mode 100644 (file)
index 91f5b2a..0000000
+++ /dev/null
@@ -1,7473 +0,0 @@
-diff --git a/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt b/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/configs/imx5_defconfig b/arch/arm/configs/imx5_defconfig
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/configs/nitrogen6x_defconfig b/arch/arm/configs/nitrogen6x_defconfig
-new file mode 100644
-index 0000000..dfb067c
---- /dev/null
-+++ b/arch/arm/configs/nitrogen6x_defconfig
-@@ -0,0 +1,3092 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux/arm 3.0.35 Kernel Configuration
-+#
-+CONFIG_ARM=y
-+CONFIG_HAVE_PWM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_HAVE_SCHED_CLOCK=y
-+CONFIG_GENERIC_GPIO=y
-+# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-+CONFIG_GENERIC_CLOCKEVENTS=y
-+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-+CONFIG_KTIME_SCALAR=y
-+CONFIG_HAVE_PROC_CPU=y
-+CONFIG_STACKTRACE_SUPPORT=y
-+CONFIG_LOCKDEP_SUPPORT=y
-+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-+CONFIG_HARDIRQS_SW_RESEND=y
-+CONFIG_GENERIC_IRQ_PROBE=y
-+CONFIG_GENERIC_LOCKBREAK=y
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+CONFIG_ARCH_HAS_CPUFREQ=y
-+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-+CONFIG_GENERIC_HWEIGHT=y
-+CONFIG_GENERIC_CALIBRATE_DELAY=y
-+CONFIG_ZONE_DMA=y
-+CONFIG_NEED_DMA_MAP_STATE=y
-+CONFIG_FIQ=y
-+CONFIG_VECTORS_BASE=0xffff0000
-+# CONFIG_ARM_PATCH_PHYS_VIRT is not set
-+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-+CONFIG_HAVE_IRQ_WORK=y
-+CONFIG_IRQ_WORK=y
-+
-+#
-+# General setup
-+#
-+CONFIG_EXPERIMENTAL=y
-+CONFIG_INIT_ENV_ARG_LIMIT=32
-+CONFIG_CROSS_COMPILE=""
-+CONFIG_LOCALVERSION=""
-+CONFIG_LOCALVERSION_AUTO=y
-+CONFIG_HAVE_KERNEL_GZIP=y
-+CONFIG_HAVE_KERNEL_LZMA=y
-+CONFIG_HAVE_KERNEL_LZO=y
-+CONFIG_KERNEL_GZIP=y
-+# CONFIG_KERNEL_LZMA is not set
-+# CONFIG_KERNEL_LZO is not set
-+CONFIG_DEFAULT_HOSTNAME="(none)"
-+CONFIG_SWAP=y
-+CONFIG_SYSVIPC=y
-+CONFIG_SYSVIPC_SYSCTL=y
-+# CONFIG_POSIX_MQUEUE is not set
-+# CONFIG_BSD_PROCESS_ACCT is not set
-+# CONFIG_FHANDLE is not set
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_AUDIT is not set
-+CONFIG_HAVE_GENERIC_HARDIRQS=y
-+
-+#
-+# IRQ subsystem
-+#
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_HAVE_SPARSE_IRQ=y
-+CONFIG_GENERIC_IRQ_SHOW=y
-+# CONFIG_SPARSE_IRQ is not set
-+
-+#
-+# RCU Subsystem
-+#
-+CONFIG_TREE_PREEMPT_RCU=y
-+CONFIG_PREEMPT_RCU=y
-+# CONFIG_RCU_TRACE is not set
-+CONFIG_RCU_FANOUT=32
-+# CONFIG_RCU_FANOUT_EXACT is not set
-+# CONFIG_TREE_RCU_TRACE is not set
-+# CONFIG_RCU_BOOST is not set
-+CONFIG_IKCONFIG=y
-+CONFIG_IKCONFIG_PROC=y
-+CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_CGROUPS is not set
-+# CONFIG_NAMESPACES is not set
-+# CONFIG_SCHED_AUTOGROUP is not set
-+# CONFIG_SYSFS_DEPRECATED is not set
-+# CONFIG_RELAY is not set
-+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_CC_OPTIMIZE_FOR_SIZE is not set
-+CONFIG_SYSCTL=y
-+CONFIG_ANON_INODES=y
-+CONFIG_EXPERT=y
-+CONFIG_UID16=y
-+CONFIG_SYSCTL_SYSCALL=y
-+CONFIG_KALLSYMS=y
-+CONFIG_HOTPLUG=y
-+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_SHMEM=y
-+CONFIG_AIO=y
-+CONFIG_EMBEDDED=y
-+CONFIG_HAVE_PERF_EVENTS=y
-+CONFIG_PERF_USE_VMALLOC=y
-+
-+#
-+# Kernel Performance Events And Counters
-+#
-+CONFIG_PERF_EVENTS=y
-+# CONFIG_PERF_COUNTERS is not set
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_PCI_QUIRKS=y
-+CONFIG_SLUB_DEBUG=y
-+CONFIG_COMPAT_BRK=y
-+# CONFIG_SLAB is not set
-+CONFIG_SLUB=y
-+# CONFIG_SLOB is not set
-+# CONFIG_PROFILING is not set
-+CONFIG_HAVE_OPROFILE=y
-+# CONFIG_KPROBES is not set
-+CONFIG_HAVE_KPROBES=y
-+CONFIG_HAVE_KRETPROBES=y
-+CONFIG_USE_GENERIC_SMP_HELPERS=y
-+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-+CONFIG_HAVE_CLK=y
-+CONFIG_HAVE_DMA_API_DEBUG=y
-+CONFIG_HAVE_HW_BREAKPOINT=y
-+
-+#
-+# GCOV-based kernel profiling
-+#
-+# CONFIG_GCOV_KERNEL is not set
-+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-+CONFIG_SLABINFO=y
-+CONFIG_RT_MUTEXES=y
-+CONFIG_BASE_SMALL=0
-+CONFIG_MODULES=y
-+# CONFIG_MODULE_FORCE_LOAD is not set
-+CONFIG_MODULE_UNLOAD=y
-+CONFIG_MODULE_FORCE_UNLOAD=y
-+CONFIG_MODVERSIONS=y
-+# CONFIG_MODULE_SRCVERSION_ALL is not set
-+CONFIG_STOP_MACHINE=y
-+CONFIG_BLOCK=y
-+CONFIG_LBDAF=y
-+# CONFIG_BLK_DEV_BSG is not set
-+# CONFIG_BLK_DEV_INTEGRITY 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_TRYLOCK is not set
-+# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-+# CONFIG_INLINE_SPIN_LOCK is not set
-+# CONFIG_INLINE_SPIN_LOCK_BH is not set
-+# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-+# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-+# CONFIG_INLINE_SPIN_UNLOCK is not set
-+# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-+# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
-+# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-+# CONFIG_INLINE_READ_TRYLOCK is not set
-+# CONFIG_INLINE_READ_LOCK is not set
-+# CONFIG_INLINE_READ_LOCK_BH is not set
-+# CONFIG_INLINE_READ_LOCK_IRQ is not set
-+# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-+# CONFIG_INLINE_READ_UNLOCK is not set
-+# CONFIG_INLINE_READ_UNLOCK_BH is not set
-+# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
-+# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-+# CONFIG_INLINE_WRITE_TRYLOCK is not set
-+# CONFIG_INLINE_WRITE_LOCK is not set
-+# CONFIG_INLINE_WRITE_LOCK_BH is not set
-+# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-+# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-+# CONFIG_INLINE_WRITE_UNLOCK is not set
-+# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-+# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
-+# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-+CONFIG_MUTEX_SPIN_ON_OWNER=y
-+CONFIG_FREEZER=y
-+
-+#
-+# System Type
-+#
-+CONFIG_MMU=y
-+# CONFIG_ARCH_INTEGRATOR is not set
-+# CONFIG_ARCH_REALVIEW is not set
-+# CONFIG_ARCH_VERSATILE is not set
-+# CONFIG_ARCH_VEXPRESS is not set
-+# CONFIG_ARCH_AT91 is not set
-+# CONFIG_ARCH_BCMRING is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_CNS3XXX 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_MXC=y
-+# CONFIG_ARCH_MXS is not set
-+# CONFIG_ARCH_NETX is not set
-+# CONFIG_ARCH_H720X is not set
-+# CONFIG_ARCH_IOP13XX is not set
-+# CONFIG_ARCH_IOP32X is not set
-+# CONFIG_ARCH_IOP33X is not set
-+# CONFIG_ARCH_IXP23XX is not set
-+# CONFIG_ARCH_IXP2000 is not set
-+# CONFIG_ARCH_IXP4XX is not set
-+# CONFIG_ARCH_DOVE is not set
-+# CONFIG_ARCH_KIRKWOOD is not set
-+# CONFIG_ARCH_LOKI is not set
-+# CONFIG_ARCH_LPC32XX 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_NUC93X is not set
-+# CONFIG_ARCH_TEGRA is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+# CONFIG_ARCH_PXA is not set
-+# CONFIG_ARCH_MSM is not set
-+# CONFIG_ARCH_SHMOBILE is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+# CONFIG_ARCH_S3C2410 is not set
-+# CONFIG_ARCH_S3C64XX is not set
-+# CONFIG_ARCH_S5P64X0 is not set
-+# CONFIG_ARCH_S5PC100 is not set
-+# CONFIG_ARCH_S5PV210 is not set
-+# CONFIG_ARCH_EXYNOS4 is not set
-+# CONFIG_ARCH_SHARK is not set
-+# CONFIG_ARCH_TCC_926 is not set
-+# CONFIG_ARCH_U300 is not set
-+# CONFIG_ARCH_U8500 is not set
-+# CONFIG_ARCH_NOMADIK is not set
-+# CONFIG_ARCH_DAVINCI is not set
-+# CONFIG_ARCH_OMAP is not set
-+# CONFIG_PLAT_SPEAR is not set
-+# CONFIG_ARCH_VT8500 is not set
-+CONFIG_GPIO_PCA953X=y
-+# CONFIG_KEYBOARD_GPIO_POLLED is not set
-+CONFIG_IMX_HAVE_PLATFORM_DMA=y
-+CONFIG_IMX_HAVE_PLATFORM_FEC=y
-+CONFIG_IMX_HAVE_PLATFORM_FLEXCAN=y
-+CONFIG_IMX_HAVE_PLATFORM_FSL_USB2_UDC=y
-+CONFIG_IMX_HAVE_PLATFORM_GPMI_NFC=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX2_WDT=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_SNVS_RTC=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_CAAM=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_I2C=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_SSI=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_UART=y
-+CONFIG_IMX_HAVE_PLATFORM_MXC_EHCI=y
-+CONFIG_IMX_HAVE_PLATFORM_MXC_PWM=y
-+CONFIG_IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX=y
-+CONFIG_IMX_HAVE_PLATFORM_SPI_IMX=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_IPUV3=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_VPU=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_DVFS=y
-+CONFIG_IMX_HAVE_PLATFORM_AHCI=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_OCOTP=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_VIIM=y
-+CONFIG_IMX_HAVE_PLATFORM_PERFMON=y
-+CONFIG_IMX_HAVE_PLATFORM_LDB=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_SPDIF=y
-+CONFIG_IMX_HAVE_PLATFORM_VIV_GPU=y
-+CONFIG_IMX_HAVE_PLATFORM_MXC_HDMI=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_ANATOP_THERMAL=y
-+CONFIG_IMX_HAVE_PLATFORM_FSL_OTG=y
-+CONFIG_IMX_HAVE_PLATFORM_FSL_USB_WAKEUP=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_PM=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_ASRC=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_MIPI_CSI2=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_VDOA=y
-+CONFIG_IMX_HAVE_PLATFORM_IMX_PCIE=y
-+
-+#
-+# Freescale MXC Implementations
-+#
-+# CONFIG_ARCH_MX1 is not set
-+# CONFIG_ARCH_MX2 is not set
-+# CONFIG_ARCH_MX25 is not set
-+# CONFIG_ARCH_MX3 is not set
-+# CONFIG_ARCH_MX503 is not set
-+# CONFIG_ARCH_MX51 is not set
-+CONFIG_ARCH_MX6=y
-+CONFIG_ARCH_MX6Q=y
-+CONFIG_FORCE_MAX_ZONEORDER=14
-+CONFIG_SOC_IMX6Q=y
-+# CONFIG_MACH_MX6Q_ARM2 is not set
-+# CONFIG_MACH_MX6SL_ARM2 is not set
-+# CONFIG_MACH_MX6SL_EVK is not set
-+CONFIG_MACH_MX6Q_SABRELITE=y
-+# CONFIG_MACH_MX6Q_SABRESD is not set
-+# CONFIG_MACH_MX6Q_SABREAUTO is not set
-+
-+#
-+# MX6 Options:
-+#
-+CONFIG_IMX_PCIE=y
-+CONFIG_USB_EHCI_ARC_H1=y
-+# CONFIG_MX6_INTER_LDO_BYPASS is not set
-+CONFIG_ISP1504_MXC=y
-+# CONFIG_MXC_IRQ_PRIOR is not set
-+CONFIG_MXC_PWM=y
-+# CONFIG_MXC_DEBUG_BOARD is not set
-+CONFIG_MXC_REBOOT_MFGMODE=y
-+# CONFIG_MXC_REBOOT_ANDROID_CMD is not set
-+CONFIG_ARCH_MXC_IOMUX_V3=y
-+CONFIG_ARCH_MXC_AUDMUX_V2=y
-+CONFIG_IRAM_ALLOC=y
-+CONFIG_CLK_DEBUG=y
-+CONFIG_DMA_ZONE_SIZE=184
-+
-+#
-+# System MMU
-+#
-+
-+#
-+# 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_THUMB=y
-+# CONFIG_ARM_THUMBEE is not set
-+# CONFIG_SWP_EMULATE is not set
-+# CONFIG_CPU_ICACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_DISABLE is not set
-+# CONFIG_CPU_BPREDICT_DISABLE is not set
-+CONFIG_OUTER_CACHE=y
-+CONFIG_OUTER_CACHE_SYNC=y
-+CONFIG_CACHE_L2X0=y
-+CONFIG_CACHE_PL310=y
-+CONFIG_ARM_L1_CACHE_SHIFT=5
-+CONFIG_ARM_DMA_MEM_BUFFERABLE=y
-+CONFIG_CPU_HAS_PMU=y
-+# CONFIG_ARM_ERRATA_430973 is not set
-+# CONFIG_ARM_ERRATA_458693 is not set
-+# CONFIG_ARM_ERRATA_460075 is not set
-+# CONFIG_ARM_ERRATA_742230 is not set
-+# CONFIG_ARM_ERRATA_742231 is not set
-+# CONFIG_PL310_ERRATA_588369 is not set
-+# CONFIG_ARM_ERRATA_720789 is not set
-+# CONFIG_PL310_ERRATA_727915 is not set
-+CONFIG_ARM_ERRATA_743622=y
-+CONFIG_ARM_ERRATA_751472=y
-+# CONFIG_ARM_ERRATA_753970 is not set
-+CONFIG_ARM_ERRATA_754322=y
-+# CONFIG_ARM_ERRATA_754327 is not set
-+CONFIG_ARM_GIC=y
-+
-+#
-+# Bus support
-+#
-+CONFIG_PCI=y
-+CONFIG_PCI_SYSCALL=y
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
-+# CONFIG_PCI_STUB is not set
-+# CONFIG_PCI_IOV is not set
-+# CONFIG_PCIEPORTBUS is not set
-+# CONFIG_PCCARD is not set
-+CONFIG_ARM_ERRATA_764369=y
-+# CONFIG_PL310_ERRATA_769419 is not set
-+
-+#
-+# Kernel Features
-+#
-+CONFIG_TICK_ONESHOT=y
-+CONFIG_NO_HZ=y
-+CONFIG_HIGH_RES_TIMERS=y
-+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-+CONFIG_SMP=y
-+CONFIG_SMP_ON_UP=y
-+CONFIG_HAVE_ARM_SCU=y
-+CONFIG_HAVE_ARM_TWD=y
-+# CONFIG_VMSPLIT_3G is not set
-+CONFIG_VMSPLIT_2G=y
-+# CONFIG_VMSPLIT_1G is not set
-+CONFIG_PAGE_OFFSET=0x80000000
-+CONFIG_NR_CPUS=4
-+CONFIG_HOTPLUG_CPU=y
-+CONFIG_LOCAL_TIMERS=y
-+# CONFIG_PREEMPT_NONE is not set
-+# CONFIG_PREEMPT_VOLUNTARY is not set
-+CONFIG_PREEMPT=y
-+CONFIG_HZ=100
-+# CONFIG_THUMB2_KERNEL is not set
-+CONFIG_AEABI=y
-+# CONFIG_OABI_COMPAT is not set
-+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-+CONFIG_HAVE_ARCH_PFN_VALID=y
-+CONFIG_HIGHMEM=y
-+# CONFIG_HIGHPTE is not set
-+CONFIG_HW_PERF_EVENTS=y
-+CONFIG_SELECT_MEMORY_MODEL=y
-+CONFIG_FLATMEM_MANUAL=y
-+CONFIG_FLATMEM=y
-+CONFIG_FLAT_NODE_MEM_MAP=y
-+CONFIG_HAVE_MEMBLOCK=y
-+CONFIG_PAGEFLAGS_EXTENDED=y
-+CONFIG_SPLIT_PTLOCK_CPUS=4
-+CONFIG_COMPACTION=y
-+CONFIG_MIGRATION=y
-+# CONFIG_PHYS_ADDR_T_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=1
-+CONFIG_BOUNCE=y
-+CONFIG_VIRT_TO_BUS=y
-+CONFIG_KSM=y
-+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-+# CONFIG_CLEANCACHE is not set
-+CONFIG_ALIGNMENT_TRAP=y
-+# CONFIG_UACCESS_WITH_MEMCPY is not set
-+# CONFIG_SECCOMP is not set
-+# CONFIG_CC_STACKPROTECTOR is not set
-+# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-+
-+#
-+# Boot options
-+#
-+# CONFIG_USE_OF is not set
-+CONFIG_ZBOOT_ROM_TEXT=0x0
-+CONFIG_ZBOOT_ROM_BSS=0x0
-+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw rootfstype=jffs2 ip=off"
-+CONFIG_CMDLINE_FROM_BOOTLOADER=y
-+# CONFIG_CMDLINE_EXTEND is not set
-+# CONFIG_CMDLINE_FORCE is not set
-+# CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC is not set
-+# CONFIG_CRASH_DUMP is not set
-+# CONFIG_AUTO_ZRELADDR is not set
-+
-+#
-+# CPU Power Management
-+#
-+
-+#
-+# CPU Frequency scaling
-+#
-+CONFIG_CPU_FREQ=y
-+CONFIG_CPU_FREQ_TABLE=y
-+CONFIG_CPU_FREQ_STAT=y
-+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
-+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
-+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
-+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-+CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
-+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_INTERACTIVE=y
-+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-+CONFIG_CPU_FREQ_IMX=y
-+# CONFIG_CPU_IDLE is not set
-+
-+#
-+# Floating point emulation
-+#
-+
-+#
-+# At least one emulation must be selected
-+#
-+CONFIG_VFP=y
-+CONFIG_VFPv3=y
-+CONFIG_NEON=y
-+
-+#
-+# Userspace binary formats
-+#
-+CONFIG_BINFMT_ELF=y
-+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-+CONFIG_HAVE_AOUT=y
-+# CONFIG_BINFMT_AOUT is not set
-+# CONFIG_BINFMT_MISC is not set
-+
-+#
-+# Power management options
-+#
-+CONFIG_SUSPEND=y
-+# CONFIG_PM_TEST_SUSPEND is not set
-+CONFIG_SUSPEND_DEVICE_TIME_DEBUG=y
-+CONFIG_SUSPEND_FREEZER=y
-+CONFIG_PM_SLEEP=y
-+CONFIG_PM_SLEEP_SMP=y
-+CONFIG_PM_RUNTIME=y
-+CONFIG_PM=y
-+CONFIG_PM_DEBUG=y
-+# CONFIG_PM_ADVANCED_DEBUG is not set
-+CONFIG_CAN_PM_TRACE=y
-+CONFIG_APM_EMULATION=y
-+CONFIG_PM_RUNTIME_CLK=y
-+CONFIG_ARCH_SUSPEND_POSSIBLE=y
-+CONFIG_NET=y
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+CONFIG_UNIX=y
-+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 is not set
-+# CONFIG_NET_IPIP is not set
-+# CONFIG_NET_IPGRE_DEMUX is not set
-+# CONFIG_IP_MROUTE is not set
-+# CONFIG_ARPD is not set
-+# CONFIG_SYN_COOKIES 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 is not set
-+CONFIG_INET_XFRM_MODE_TRANSPORT=y
-+CONFIG_INET_XFRM_MODE_TUNNEL=y
-+CONFIG_INET_XFRM_MODE_BEET=y
-+# CONFIG_INET_LRO is not set
-+CONFIG_INET_DIAG=y
-+CONFIG_INET_TCP_DIAG=y
-+# CONFIG_TCP_CONG_ADVANCED is not set
-+CONFIG_TCP_CONG_CUBIC=y
-+CONFIG_DEFAULT_TCP_CONG="cubic"
-+# CONFIG_TCP_MD5SIG is not set
-+# CONFIG_IPV6 is not set
-+# CONFIG_NETWORK_SECMARK is not set
-+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-+# CONFIG_NETFILTER is not set
-+# CONFIG_IP_DCCP is not set
-+# CONFIG_IP_SCTP is not set
-+# CONFIG_RDS is not set
-+# CONFIG_TIPC is not set
-+# CONFIG_ATM is not set
-+# CONFIG_L2TP is not set
-+# CONFIG_BRIDGE is not set
-+# CONFIG_NET_DSA is not set
-+# CONFIG_VLAN_8021Q is not set
-+# CONFIG_DECNET is not set
-+CONFIG_LLC=y
-+CONFIG_LLC2=y
-+# CONFIG_IPX is not set
-+# CONFIG_ATALK is not set
-+# CONFIG_X25 is not set
-+# CONFIG_LAPB is not set
-+# CONFIG_ECONET is not set
-+# CONFIG_WAN_ROUTER is not set
-+# CONFIG_PHONET is not set
-+# CONFIG_IEEE802154 is not set
-+# CONFIG_NET_SCHED is not set
-+# CONFIG_DCB is not set
-+# CONFIG_BATMAN_ADV is not set
-+CONFIG_RPS=y
-+CONFIG_RFS_ACCEL=y
-+CONFIG_XPS=y
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+CONFIG_CAN=y
-+CONFIG_CAN_RAW=y
-+CONFIG_CAN_BCM=y
-+
-+#
-+# CAN Device Drivers
-+#
-+CONFIG_CAN_VCAN=y
-+# CONFIG_CAN_SLCAN is not set
-+CONFIG_CAN_DEV=y
-+CONFIG_CAN_CALC_BITTIMING=y
-+# CONFIG_CAN_MCP251X is not set
-+CONFIG_HAVE_CAN_FLEXCAN=y
-+CONFIG_CAN_FLEXCAN=y
-+# CONFIG_PCH_CAN is not set
-+# CONFIG_CAN_SJA1000 is not set
-+# CONFIG_CAN_C_CAN is not set
-+
-+#
-+# CAN USB interfaces
-+#
-+# CONFIG_CAN_EMS_USB is not set
-+# CONFIG_CAN_ESD_USB2 is not set
-+# CONFIG_CAN_SOFTING is not set
-+# CONFIG_CAN_DEBUG_DEVICES is not set
-+# CONFIG_IRDA is not set
-+CONFIG_BT=y
-+CONFIG_BT_L2CAP=y
-+CONFIG_BT_SCO=y
-+CONFIG_BT_RFCOMM=y
-+CONFIG_BT_RFCOMM_TTY=y
-+CONFIG_BT_BNEP=y
-+CONFIG_BT_BNEP_MC_FILTER=y
-+CONFIG_BT_BNEP_PROTO_FILTER=y
-+CONFIG_BT_HIDP=y
-+
-+#
-+# Bluetooth device drivers
-+#
-+# CONFIG_BT_HCIBTUSB is not set
-+# CONFIG_BT_HCIBTSDIO is not set
-+CONFIG_BT_HCIUART=y
-+# CONFIG_BT_HCIUART_H4 is not set
-+# CONFIG_BT_HCIUART_BCSP is not set
-+# CONFIG_BT_HCIUART_ATH3K is not set
-+CONFIG_BT_HCIUART_LL=y
-+# 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_DEFAULT_PS=y
-+# CONFIG_CFG80211_DEBUGFS is not set
-+# CONFIG_CFG80211_INTERNAL_REGDB is not set
-+CONFIG_CFG80211_WEXT=y
-+CONFIG_WIRELESS_EXT_SYSFS=y
-+CONFIG_LIB80211=y
-+CONFIG_LIB80211_CRYPT_WEP=y
-+CONFIG_LIB80211_CRYPT_CCMP=y
-+CONFIG_LIB80211_CRYPT_TKIP=y
-+# CONFIG_LIB80211_DEBUG is not set
-+CONFIG_MAC80211=y
-+CONFIG_MAC80211_HAS_RC=y
-+# CONFIG_MAC80211_RC_PID is not set
-+CONFIG_MAC80211_RC_MINSTREL=y
-+CONFIG_MAC80211_RC_MINSTREL_HT=y
-+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-+# CONFIG_MAC80211_MESH is not set
-+# CONFIG_MAC80211_LEDS is not set
-+# CONFIG_MAC80211_DEBUGFS is not set
-+# CONFIG_MAC80211_DEBUG_MENU is not set
-+# CONFIG_WIMAX is not set
-+CONFIG_RFKILL=y
-+CONFIG_RFKILL_LEDS=y
-+CONFIG_RFKILL_INPUT=y
-+# CONFIG_RFKILL_REGULATOR is not set
-+# CONFIG_RFKILL_GPIO is not set
-+# CONFIG_NET_9P is not set
-+# CONFIG_CAIF is not set
-+# CONFIG_CEPH_LIB is not set
-+
-+#
-+# Device Drivers
-+#
-+
-+#
-+# Generic Driver Options
-+#
-+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-+# CONFIG_DEVTMPFS is not set
-+CONFIG_STANDALONE=y
-+CONFIG_PREVENT_FIRMWARE_BUILD=y
-+CONFIG_FW_LOADER=y
-+CONFIG_FIRMWARE_IN_KERNEL=y
-+CONFIG_EXTRA_FIRMWARE=""
-+# CONFIG_SYS_HYPERVISOR is not set
-+CONFIG_CONNECTOR=y
-+CONFIG_PROC_EVENTS=y
-+CONFIG_MTD=y
-+# CONFIG_MTD_DEBUG is not set
-+# 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_AR7_PARTS is not set
-+
-+#
-+# User Modules And Translation Layers
-+#
-+CONFIG_MTD_CHAR=y
-+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
-+
-+#
-+# RAM/ROM/Flash chip drivers
-+#
-+# CONFIG_MTD_CFI is not set
-+# CONFIG_MTD_JEDECPROBE 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_RAM is not set
-+# CONFIG_MTD_ROM is not set
-+# CONFIG_MTD_ABSENT is not set
-+
-+#
-+# Mapping drivers for chip access
-+#
-+# CONFIG_MTD_COMPLEX_MAPPINGS 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_M25PXX_USE_FAST_READ=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_DOC2000 is not set
-+# CONFIG_MTD_DOC2001 is not set
-+# CONFIG_MTD_DOC2001PLUS is not set
-+CONFIG_MTD_NAND_ECC=y
-+# CONFIG_MTD_NAND_ECC_SMC is not set
-+CONFIG_MTD_NAND=y
-+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-+# CONFIG_MTD_NAND_ECC_BCH is not set
-+# CONFIG_MTD_SM_COMMON is not set
-+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-+# CONFIG_MTD_NAND_DENALI is not set
-+# CONFIG_MTD_NAND_GPIO 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_CAFE is not set
-+# CONFIG_MTD_NAND_NANDSIM is not set
-+# CONFIG_MTD_NAND_GPMI_NAND is not set
-+# CONFIG_MTD_NAND_PLATFORM is not set
-+# CONFIG_MTD_ALAUDA is not set
-+# CONFIG_MTD_ONENAND is not set
-+
-+#
-+# LPDDR flash memory drivers
-+#
-+# CONFIG_MTD_LPDDR is not set
-+CONFIG_MTD_UBI=y
-+CONFIG_MTD_UBI_WL_THRESHOLD=4096
-+CONFIG_MTD_UBI_BEB_RESERVE=1
-+# CONFIG_MTD_UBI_GLUEBI is not set
-+# CONFIG_MTD_UBI_DEBUG is not set
-+# CONFIG_PARPORT is not set
-+CONFIG_BLK_DEV=y
-+# CONFIG_BLK_CPQ_DA 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_CRYPTOLOOP is not set
-+# CONFIG_BLK_DEV_DRBD is not set
-+# CONFIG_BLK_DEV_NBD is not set
-+# CONFIG_BLK_DEV_SX8 is not set
-+# CONFIG_BLK_DEV_UB is not set
-+# CONFIG_BLK_DEV_RAM is not set
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+# CONFIG_MG_DISK is not set
-+# CONFIG_BLK_DEV_RBD is not set
-+# CONFIG_SENSORS_LIS3LV02D is not set
-+CONFIG_MISC_DEVICES=y
-+# CONFIG_AD525X_DPOT is not set
-+# CONFIG_PHANTOM is not set
-+# CONFIG_INTEL_MID_PTI 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 is not set
-+# CONFIG_PCH_PHUB is not set
-+CONFIG_MXS_PERFMON=m
-+# 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 is not set
-+# CONFIG_CB710_CORE is not set
-+# CONFIG_IWMC3200TOP 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
-+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_TGT is not set
-+# CONFIG_SCSI_NETLINK 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 is not set
-+# CONFIG_CHR_DEV_SG is not set
-+# CONFIG_CHR_DEV_SCH is not set
-+CONFIG_SCSI_MULTI_LUN=y
-+# CONFIG_SCSI_CONSTANTS is not set
-+# CONFIG_SCSI_LOGGING is not set
-+# CONFIG_SCSI_SCAN_ASYNC is not set
-+CONFIG_SCSI_WAIT_SCAN=m
-+
-+#
-+# 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_SCSI_BNX2X_FCOE 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_AIC7XXX_OLD is not set
-+# CONFIG_SCSI_AIC79XX is not set
-+# CONFIG_SCSI_AIC94XX is not set
-+# CONFIG_SCSI_MVSAS is not set
-+# CONFIG_SCSI_DPT_I2O is not set
-+# CONFIG_SCSI_ADVANSYS is not set
-+# CONFIG_SCSI_ARCMSR 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_HPTIOP is not set
-+# CONFIG_LIBFC is not set
-+# CONFIG_LIBFCOE is not set
-+# CONFIG_FCOE 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_FC is not set
-+# CONFIG_SCSI_QLA_ISCSI is not set
-+# CONFIG_SCSI_LPFC is not set
-+# CONFIG_SCSI_DC395x is not set
-+# CONFIG_SCSI_DC390T is not set
-+# CONFIG_SCSI_NSP32 is not set
-+# CONFIG_SCSI_DEBUG is not set
-+# CONFIG_SCSI_PMCRAID is not set
-+# CONFIG_SCSI_PM8001 is not set
-+# CONFIG_SCSI_SRP is not set
-+# CONFIG_SCSI_BFA_FC 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 is not set
-+
-+#
-+# Controllers with non-SFF native interface
-+#
-+# CONFIG_SATA_AHCI is not set
-+CONFIG_SATA_AHCI_PLATFORM=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_ARASAN_CF 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_CS5520 is not set
-+# CONFIG_PATA_CS5530 is not set
-+# CONFIG_PATA_CS5536 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_SC1200 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_I2O is not set
-+CONFIG_NETDEVICES=y
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
-+# CONFIG_EQUALIZER is not set
-+CONFIG_TUN=y
-+# CONFIG_VETH is not set
-+# CONFIG_ARCNET is not set
-+CONFIG_MII=y
-+CONFIG_PHYLIB=y
-+
-+#
-+# MII PHY device drivers
-+#
-+# 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_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=y
-+# CONFIG_FIXED_PHY is not set
-+# CONFIG_MDIO_BITBANG is not set
-+CONFIG_NET_ETHERNET=y
-+# CONFIG_AX88796 is not set
-+# CONFIG_HAPPYMEAL is not set
-+# CONFIG_SUNGEM is not set
-+# CONFIG_CASSINI is not set
-+# CONFIG_NET_VENDOR_3COM is not set
-+# CONFIG_SMC91X is not set
-+# CONFIG_DM9000 is not set
-+# CONFIG_ENC28J60 is not set
-+# CONFIG_ETHOC is not set
-+# CONFIG_SMC911X is not set
-+# CONFIG_SMSC911X is not set
-+# CONFIG_DNET is not set
-+# CONFIG_NET_TULIP is not set
-+# CONFIG_HP100 is not set
-+# CONFIG_IBM_NEW_EMAC_ZMII is not set
-+# CONFIG_IBM_NEW_EMAC_RGMII is not set
-+# CONFIG_IBM_NEW_EMAC_TAH is not set
-+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
-+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
-+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
-+# CONFIG_NET_PCI is not set
-+# CONFIG_B44 is not set
-+# CONFIG_KS8842 is not set
-+# CONFIG_KS8851 is not set
-+# CONFIG_KS8851_MLL is not set
-+CONFIG_FEC=y
-+CONFIG_FEC_NAPI=y
-+# CONFIG_FEC_1588 is not set
-+# CONFIG_ATL2 is not set
-+# CONFIG_FTMAC100 is not set
-+# CONFIG_NETDEV_1000 is not set
-+# CONFIG_NETDEV_10000 is not set
-+# CONFIG_TR is not set
-+CONFIG_WLAN=y
-+# CONFIG_LIBERTAS_THINFIRM is not set
-+# CONFIG_ATMEL is not set
-+# CONFIG_AT76C50X_USB is not set
-+# CONFIG_PRISM54 is not set
-+# CONFIG_USB_ZD1201 is not set
-+# CONFIG_USB_NET_RNDIS_WLAN is not set
-+# CONFIG_RTL8180 is not set
-+# CONFIG_RTL8187 is not set
-+# CONFIG_ADM8211 is not set
-+# CONFIG_MAC80211_HWSIM is not set
-+# CONFIG_MWL8K is not set
-+# CONFIG_ATH_COMMON is not set
-+# CONFIG_B43 is not set
-+# CONFIG_B43LEGACY is not set
-+CONFIG_HOSTAP=y
-+# CONFIG_HOSTAP_FIRMWARE is not set
-+# CONFIG_HOSTAP_PLX is not set
-+# CONFIG_HOSTAP_PCI is not set
-+# CONFIG_IPW2100 is not set
-+# CONFIG_IPW2200 is not set
-+# CONFIG_IWLAGN is not set
-+# CONFIG_IWL4965 is not set
-+# CONFIG_IWL3945 is not set
-+# CONFIG_IWM is not set
-+# CONFIG_LIBERTAS is not set
-+# CONFIG_HERMES is not set
-+# CONFIG_P54_COMMON is not set
-+# CONFIG_RT2X00 is not set
-+# CONFIG_RTL8192CE is not set
-+# CONFIG_RTL8192SE is not set
-+# CONFIG_RTL8192CU is not set
-+# CONFIG_WL1251 is not set
-+CONFIG_WL12XX_MENU=y
-+CONFIG_WL12XX=y
-+# CONFIG_WL12XX_HT is not set
-+# CONFIG_WL12XX_SPI is not set
-+CONFIG_WL12XX_SDIO=m
-+# CONFIG_WL12XX_SDIO_TEST is not set
-+CONFIG_WL12XX_PLATFORM_DATA=y
-+# CONFIG_ZD1211RW is not set
-+# CONFIG_MWIFIEX is not set
-+
-+#
-+# Enable WiMAX (Networking options) to see the WiMAX drivers
-+#
-+
-+#
-+# USB Network Adapters
-+#
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET is not set
-+# CONFIG_USB_HSO is not set
-+# CONFIG_USB_IPHETH is not set
-+# CONFIG_WAN is not set
-+
-+#
-+# CAIF transport drivers
-+#
-+# CONFIG_FDDI is not set
-+# CONFIG_HIPPI is not set
-+# CONFIG_PPP is not set
-+# CONFIG_SLIP is not set
-+# CONFIG_NET_FC is not set
-+# CONFIG_NETCONSOLE is not set
-+# CONFIG_NETPOLL is not set
-+# CONFIG_NET_POLL_CONTROLLER is not set
-+# CONFIG_VMXNET3 is not set
-+# CONFIG_ISDN is not set
-+# CONFIG_PHONE is not set
-+
-+#
-+# Input device support
-+#
-+CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+CONFIG_INPUT_POLLDEV=y
-+# CONFIG_INPUT_SPARSEKMAP is not set
-+
-+#
-+# Userland interfaces
-+#
-+CONFIG_INPUT_MOUSEDEV=y
-+CONFIG_INPUT_MOUSEDEV_PSAUX=y
-+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
-+# CONFIG_INPUT_APMPOWER 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=y
-+# CONFIG_KEYBOARD_TCA6416 is not set
-+# CONFIG_KEYBOARD_MATRIX is not set
-+# CONFIG_KEYBOARD_LM8323 is not set
-+# CONFIG_KEYBOARD_MAX7359 is not set
-+# CONFIG_KEYBOARD_MCS is not set
-+# CONFIG_KEYBOARD_MPR121 is not set
-+# CONFIG_KEYBOARD_IMX is not set
-+# CONFIG_KEYBOARD_NEWTON is not set
-+# CONFIG_KEYBOARD_OPENCORES is not set
-+# CONFIG_KEYBOARD_STOWAWAY is not set
-+# CONFIG_KEYBOARD_SUNKBD is not set
-+# CONFIG_KEYBOARD_XTKBD is not set
-+# CONFIG_KEYBOARD_MXC is not set
-+# CONFIG_INPUT_MOUSE is not set
-+# CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
-+CONFIG_INPUT_TOUCHSCREEN=y
-+# CONFIG_TOUCHSCREEN_ADS7846 is not set
-+# CONFIG_TOUCHSCREEN_AD7877 is not set
-+# CONFIG_TOUCHSCREEN_AD7879 is not set
-+# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
-+# CONFIG_TOUCHSCREEN_BU21013 is not set
-+# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-+# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-+# CONFIG_TOUCHSCREEN_EETI is not set
-+CONFIG_TOUCHSCREEN_EGALAX=y
-+# CONFIG_TOUCHSCREEN_ELAN is not set
-+# CONFIG_TOUCHSCREEN_EGALAX_SINGLE_TOUCH is not set
-+# CONFIG_TOUCHSCREEN_FUJITSU is not set
-+# CONFIG_TOUCHSCREEN_GUNZE is not set
-+# CONFIG_TOUCHSCREEN_ELO is not set
-+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
-+# CONFIG_TOUCHSCREEN_MAX11801 is not set
-+CONFIG_TOUCHSCREEN_FT5X06=y
-+CONFIG_TOUCHSCREEN_FT5X06_SINGLE_TOUCH=y
-+# CONFIG_TOUCHSCREEN_MCS5000 is not set
-+# CONFIG_TOUCHSCREEN_MTOUCH is not set
-+# CONFIG_TOUCHSCREEN_INEXIO is not set
-+# CONFIG_TOUCHSCREEN_MK712 is not set
-+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-+# CONFIG_TOUCHSCREEN_WM97XX is not set
-+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-+# CONFIG_TOUCHSCREEN_TSC2005 is not set
-+# CONFIG_TOUCHSCREEN_TSC2007 is not set
-+CONFIG_TOUCHSCREEN_TSC2004=y
-+# CONFIG_TOUCHSCREEN_W90X900 is not set
-+# CONFIG_TOUCHSCREEN_ST1232 is not set
-+# CONFIG_TOUCHSCREEN_P1003 is not set
-+# CONFIG_TOUCHSCREEN_TPS6507X is not set
-+CONFIG_INPUT_MISC=y
-+# CONFIG_INPUT_AD714X is not set
-+# CONFIG_INPUT_ATI_REMOTE is not set
-+# CONFIG_INPUT_ATI_REMOTE2 is not set
-+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-+# CONFIG_INPUT_POWERMATE is not set
-+# CONFIG_INPUT_YEALINK is not set
-+# CONFIG_INPUT_CM109 is not set
-+CONFIG_INPUT_UINPUT=y
-+# CONFIG_INPUT_PCF8574 is not set
-+# CONFIG_INPUT_PWM_BEEPER is not set
-+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
-+# CONFIG_INPUT_ADXL34X is not set
-+# CONFIG_INPUT_CMA3000 is not set
-+CONFIG_INPUT_ISL29023=y
-+
-+#
-+# Hardware I/O ports
-+#
-+CONFIG_SERIO=y
-+CONFIG_SERIO_SERPORT=y
-+# 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_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_CONSOLE_TRANSLATIONS=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_HW_CONSOLE=y
-+CONFIG_VT_HW_CONSOLE_BINDING=y
-+CONFIG_UNIX98_PTYS=y
-+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-+CONFIG_LEGACY_PTYS=y
-+CONFIG_LEGACY_PTY_COUNT=256
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+# CONFIG_NOZOMI is not set
-+# CONFIG_N_GSM is not set
-+# CONFIG_TRACE_SINK is not set
-+CONFIG_DEVKMEM=y
-+
-+#
-+# Serial drivers
-+#
-+# CONFIG_SERIAL_8250 is not set
-+
-+#
-+# Non-8250 serial port support
-+#
-+# CONFIG_SERIAL_MAX3100 is not set
-+# CONFIG_SERIAL_MAX3107 is not set
-+# CONFIG_SERIAL_MFD_HSU is not set
-+CONFIG_SERIAL_IMX=y
-+CONFIG_SERIAL_IMX_CONSOLE=y
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+# CONFIG_SERIAL_JSM is not set
-+# CONFIG_SERIAL_TIMBERDALE 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_PCH_UART is not set
-+# CONFIG_SERIAL_XILINX_PS_UART is not set
-+# CONFIG_TTY_PRINTK is not set
-+CONFIG_FSL_OTP=y
-+# CONFIG_HVC_DCC is not set
-+# CONFIG_IPMI_HANDLER is not set
-+CONFIG_HW_RANDOM=y
-+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-+# 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_RAMOOPS is not set
-+CONFIG_MXS_VIIM=y
-+CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
-+CONFIG_I2C_COMPAT=y
-+CONFIG_I2C_CHARDEV=y
-+# CONFIG_I2C_MUX 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_DESIGNWARE is not set
-+# CONFIG_I2C_GPIO is not set
-+CONFIG_I2C_IMX=y
-+# CONFIG_I2C_INTEL_MID 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_SIMTEC is not set
-+# CONFIG_I2C_XILINX is not set
-+# CONFIG_I2C_EG20T is not set
-+
-+#
-+# External I2C/SMBus adapter drivers
-+#
-+# CONFIG_I2C_DIOLAN_U2C is not set
-+# CONFIG_I2C_PARPORT_LIGHT 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_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+CONFIG_SPI=y
-+CONFIG_SPI_MASTER=y
-+
-+#
-+# SPI Master Controller Drivers
-+#
-+# CONFIG_SPI_ALTERA is not set
-+CONFIG_SPI_BITBANG=y
-+# CONFIG_SPI_GPIO is not set
-+CONFIG_SPI_IMX_VER_2_3=y
-+CONFIG_SPI_IMX=y
-+# CONFIG_SPI_OC_TINY is not set
-+# CONFIG_SPI_PXA2XX_PCI is not set
-+# CONFIG_SPI_TOPCLIFF_PCH is not set
-+# CONFIG_SPI_XILINX is not set
-+# CONFIG_SPI_DESIGNWARE is not set
-+
-+#
-+# SPI Protocol Masters
-+#
-+# CONFIG_SPI_SPIDEV is not set
-+# CONFIG_SPI_TLE62X0 is not set
-+
-+#
-+# PPS support
-+#
-+# CONFIG_PPS is not set
-+
-+#
-+# PPS generators support
-+#
-+
-+#
-+# PTP clock support
-+#
-+
-+#
-+# Enable Device Drivers -> PPS to see the PTP clock options.
-+#
-+CONFIG_ARCH_REQUIRE_GPIOLIB=y
-+CONFIG_GPIOLIB=y
-+CONFIG_GPIO_SYSFS=y
-+
-+#
-+# Memory mapped GPIO drivers:
-+#
-+# CONFIG_GPIO_BASIC_MMIO is not set
-+# CONFIG_GPIO_IT8761E is not set
-+# CONFIG_GPIO_VX855 is not set
-+
-+#
-+# I2C GPIO expanders:
-+#
-+# CONFIG_GPIO_MAX7300 is not set
-+# CONFIG_GPIO_MAX732X is not set
-+# CONFIG_GPIO_PCA953X_IRQ is not set
-+# CONFIG_GPIO_PCF857X is not set
-+# CONFIG_GPIO_SX150X is not set
-+# CONFIG_GPIO_WM8994 is not set
-+# CONFIG_GPIO_ADP5588 is not set
-+
-+#
-+# PCI GPIO expanders:
-+#
-+# CONFIG_GPIO_BT8XX is not set
-+# CONFIG_GPIO_ML_IOH is not set
-+# CONFIG_GPIO_RDC321X is not set
-+
-+#
-+# SPI GPIO expanders:
-+#
-+# CONFIG_GPIO_MAX7301 is not set
-+# CONFIG_GPIO_MCP23S08 is not set
-+# CONFIG_GPIO_MC33880 is not set
-+# CONFIG_GPIO_74X164 is not set
-+
-+#
-+# AC97 GPIO expanders:
-+#
-+
-+#
-+# MODULbus 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_APM_POWER is not set
-+# CONFIG_TEST_POWER is not set
-+# CONFIG_BATTERY_DS2780 is not set
-+# CONFIG_BATTERY_DS2782 is not set
-+# CONFIG_BATTERY_BQ20Z75 is not set
-+# CONFIG_BATTERY_BQ27x00 is not set
-+# CONFIG_BATTERY_MAX17040 is not set
-+# CONFIG_BATTERY_MAX17042 is not set
-+# CONFIG_CHARGER_ISP1704 is not set
-+# CONFIG_CHARGER_MAX8903 is not set
-+# CONFIG_CHARGER_GPIO is not set
-+CONFIG_HWMON=y
-+# CONFIG_HWMON_VID is not set
-+# CONFIG_HWMON_DEBUG_CHIP is not set
-+
-+#
-+# Native drivers
-+#
-+# CONFIG_SENSORS_AD7414 is not set
-+# CONFIG_SENSORS_AD7418 is not set
-+# CONFIG_SENSORS_ADCXX is not set
-+# CONFIG_SENSORS_ADM1021 is not set
-+# CONFIG_SENSORS_ADM1025 is not set
-+# CONFIG_SENSORS_ADM1026 is not set
-+# CONFIG_SENSORS_ADM1029 is not set
-+# CONFIG_SENSORS_ADM1031 is not set
-+# CONFIG_SENSORS_ADM9240 is not set
-+# CONFIG_SENSORS_ADT7411 is not set
-+# CONFIG_SENSORS_ADT7462 is not set
-+# CONFIG_SENSORS_ADT7470 is not set
-+# CONFIG_SENSORS_ADT7475 is not set
-+# CONFIG_SENSORS_ASC7621 is not set
-+# CONFIG_SENSORS_ATXP1 is not set
-+# CONFIG_SENSORS_DS620 is not set
-+# CONFIG_SENSORS_DS1621 is not set
-+# CONFIG_SENSORS_I5K_AMB is not set
-+# CONFIG_SENSORS_F71805F is not set
-+# CONFIG_SENSORS_F71882FG is not set
-+# CONFIG_SENSORS_F75375S is not set
-+# CONFIG_SENSORS_G760A is not set
-+# CONFIG_SENSORS_GL518SM is not set
-+# CONFIG_SENSORS_GL520SM is not set
-+# CONFIG_SENSORS_GPIO_FAN is not set
-+# CONFIG_SENSORS_IT87 is not set
-+# CONFIG_SENSORS_JC42 is not set
-+# CONFIG_SENSORS_LINEAGE is not set
-+# CONFIG_SENSORS_LM63 is not set
-+# CONFIG_SENSORS_LM70 is not set
-+# CONFIG_SENSORS_LM73 is not set
-+# CONFIG_SENSORS_LM75 is not set
-+# CONFIG_SENSORS_LM77 is not set
-+# CONFIG_SENSORS_LM78 is not set
-+# CONFIG_SENSORS_LM80 is not set
-+# CONFIG_SENSORS_LM83 is not set
-+# CONFIG_SENSORS_LM85 is not set
-+# CONFIG_SENSORS_LM87 is not set
-+# CONFIG_SENSORS_LM90 is not set
-+# CONFIG_SENSORS_LM92 is not set
-+# CONFIG_SENSORS_LM93 is not set
-+# CONFIG_SENSORS_LTC4151 is not set
-+# CONFIG_SENSORS_LTC4215 is not set
-+# CONFIG_SENSORS_LTC4245 is not set
-+# CONFIG_SENSORS_LTC4261 is not set
-+# CONFIG_SENSORS_LM95241 is not set
-+# CONFIG_SENSORS_MAX1111 is not set
-+# CONFIG_SENSORS_MAX16065 is not set
-+# CONFIG_SENSORS_MAX1619 is not set
-+# CONFIG_SENSORS_MAX6639 is not set
-+# CONFIG_SENSORS_MAX6642 is not set
-+CONFIG_SENSORS_MAX17135=y
-+# CONFIG_SENSORS_MAX6650 is not set
-+# CONFIG_SENSORS_PC87360 is not set
-+# CONFIG_SENSORS_PC87427 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_PMBUS is not set
-+# CONFIG_SENSORS_SHT15 is not set
-+# CONFIG_SENSORS_SHT21 is not set
-+# CONFIG_SENSORS_SIS5595 is not set
-+# CONFIG_SENSORS_SMM665 is not set
-+# CONFIG_SENSORS_DME1737 is not set
-+# CONFIG_SENSORS_EMC1403 is not set
-+# CONFIG_SENSORS_EMC2103 is not set
-+# CONFIG_SENSORS_EMC6W201 is not set
-+# CONFIG_SENSORS_SMSC47M1 is not set
-+# CONFIG_SENSORS_SMSC47M192 is not set
-+# CONFIG_SENSORS_SMSC47B397 is not set
-+# CONFIG_SENSORS_SCH5627 is not set
-+# CONFIG_SENSORS_ADS1015 is not set
-+# CONFIG_SENSORS_ADS7828 is not set
-+# CONFIG_SENSORS_ADS7871 is not set
-+# CONFIG_SENSORS_AMC6821 is not set
-+# CONFIG_SENSORS_THMC50 is not set
-+# CONFIG_SENSORS_TMP102 is not set
-+# CONFIG_SENSORS_TMP401 is not set
-+# CONFIG_SENSORS_TMP421 is not set
-+# CONFIG_SENSORS_VIA686A is not set
-+# CONFIG_SENSORS_VT1211 is not set
-+# CONFIG_SENSORS_VT8231 is not set
-+# CONFIG_SENSORS_W83781D is not set
-+# CONFIG_SENSORS_W83791D is not set
-+# CONFIG_SENSORS_W83792D is not set
-+# CONFIG_SENSORS_W83793 is not set
-+# CONFIG_SENSORS_W83795 is not set
-+# CONFIG_SENSORS_W83L785TS is not set
-+# CONFIG_SENSORS_W83L786NG is not set
-+# CONFIG_SENSORS_W83627HF is not set
-+# CONFIG_SENSORS_W83627EHF is not set
-+CONFIG_SENSORS_MAG3110=y
-+# CONFIG_MXC_MMA8450 is not set
-+CONFIG_MXC_MMA8451=y
-+CONFIG_THERMAL=y
-+# CONFIG_THERMAL_HWMON is not set
-+CONFIG_WATCHDOG=y
-+CONFIG_WATCHDOG_NOWAYOUT=y
-+
-+#
-+# Watchdog Device Drivers
-+#
-+# CONFIG_SOFT_WATCHDOG is not set
-+# CONFIG_MPCORE_WATCHDOG is not set
-+# CONFIG_MAX63XX_WATCHDOG is not set
-+CONFIG_IMX2_WDT=y
-+# CONFIG_ALIM7101_WDT is not set
-+
-+#
-+# PCI-based Watchdog Cards
-+#
-+# CONFIG_PCIPCWATCHDOG is not set
-+# CONFIG_WDTPCI is not set
-+
-+#
-+# USB-based Watchdog Cards
-+#
-+# CONFIG_USBPCWATCHDOG is not set
-+CONFIG_SSB_POSSIBLE=y
-+
-+#
-+# Sonics Silicon Backplane
-+#
-+# CONFIG_SSB is not set
-+CONFIG_BCMA_POSSIBLE=y
-+
-+#
-+# Broadcom specific AMBA
-+#
-+# CONFIG_BCMA is not set
-+CONFIG_MFD_SUPPORT=y
-+CONFIG_MFD_CORE=y
-+# CONFIG_MFD_88PM860X is not set
-+# CONFIG_MFD_SM501 is not set
-+# CONFIG_MFD_ASIC3 is not set
-+# CONFIG_HTC_EGPIO is not set
-+# CONFIG_HTC_PASIC3 is not set
-+# CONFIG_HTC_I2CPLD is not set
-+# CONFIG_UCB1400_CORE is not set
-+# CONFIG_TPS6105X is not set
-+# CONFIG_TPS65010 is not set
-+# CONFIG_TPS6507X is not set
-+# CONFIG_MFD_TPS6586X is not set
-+# CONFIG_TWL4030_CORE is not set
-+# CONFIG_MFD_STMPE 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_PMIC_DA903X is not set
-+# CONFIG_PMIC_ADP5520 is not set
-+# CONFIG_MFD_MAX8925 is not set
-+# CONFIG_MFD_MAX8997 is not set
-+# CONFIG_MFD_MAX8998 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=y
-+# CONFIG_MFD_PCF50633 is not set
-+# CONFIG_PMIC_DIALOG is not set
-+# CONFIG_MFD_MC_PMIC is not set
-+# CONFIG_MFD_MC34708 is not set
-+CONFIG_MFD_PFUZE=y
-+# CONFIG_MFD_MC13XXX is not set
-+# CONFIG_ABX500_CORE is not set
-+# CONFIG_EZX_PCAP is not set
-+# CONFIG_MFD_TIMBERDALE is not set
-+# CONFIG_LPC_SCH is not set
-+# CONFIG_MFD_RDC321X is not set
-+# CONFIG_MFD_JANZ_CMODIO is not set
-+# CONFIG_MFD_VX855 is not set
-+# CONFIG_MFD_WL1273_CORE is not set
-+# CONFIG_MFD_TPS65910 is not set
-+CONFIG_MFD_MAX17135=y
-+CONFIG_MFD_MXC_HDMI=y
-+CONFIG_REGULATOR=y
-+# CONFIG_REGULATOR_DEBUG is not set
-+# CONFIG_REGULATOR_DUMMY is not set
-+CONFIG_REGULATOR_FIXED_VOLTAGE=y
-+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
-+# CONFIG_REGULATOR_BQ24022 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_WM8994 is not set
-+# CONFIG_REGULATOR_LP3971 is not set
-+# CONFIG_REGULATOR_LP3972 is not set
-+# CONFIG_REGULATOR_MC34708 is not set
-+CONFIG_REGULATOR_PFUZE100=y
-+# CONFIG_REGULATOR_TPS65023 is not set
-+# CONFIG_REGULATOR_TPS6507X is not set
-+# CONFIG_REGULATOR_ISL6271A is not set
-+# CONFIG_REGULATOR_AD5398 is not set
-+CONFIG_REGULATOR_ANATOP=y
-+# CONFIG_REGULATOR_TPS6524X is not set
-+CONFIG_REGULATOR_MAX17135=y
-+CONFIG_MEDIA_SUPPORT=y
-+
-+#
-+# Multimedia core support
-+#
-+# CONFIG_MEDIA_CONTROLLER is not set
-+CONFIG_VIDEO_DEV=y
-+CONFIG_VIDEO_V4L2_COMMON=y
-+# CONFIG_DVB_CORE is not set
-+CONFIG_VIDEO_MEDIA=y
-+
-+#
-+# Multimedia drivers
-+#
-+# CONFIG_RC_CORE is not set
-+# CONFIG_MEDIA_ATTACH is not set
-+CONFIG_MEDIA_TUNER=y
-+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
-+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_TEA5761=y
-+CONFIG_MEDIA_TUNER_TEA5767=y
-+CONFIG_MEDIA_TUNER_MT20XX=y
-+CONFIG_MEDIA_TUNER_XC2028=y
-+CONFIG_MEDIA_TUNER_XC5000=y
-+CONFIG_MEDIA_TUNER_MC44S803=y
-+CONFIG_VIDEO_V4L2=y
-+CONFIG_VIDEOBUF_GEN=y
-+CONFIG_VIDEOBUF_DMA_CONTIG=y
-+CONFIG_VIDEO_CAPTURE_DRIVERS=y
-+# CONFIG_VIDEO_ADV_DEBUG is not set
-+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-+# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-+
-+#
-+# Encoders, decoders, sensors and other helper chips
-+#
-+
-+#
-+# Audio decoders, processors and mixers
-+#
-+# CONFIG_VIDEO_TVAUDIO is not set
-+# CONFIG_VIDEO_TDA7432 is not set
-+# CONFIG_VIDEO_TDA9840 is not set
-+# CONFIG_VIDEO_TEA6415C is not set
-+# CONFIG_VIDEO_TEA6420 is not set
-+# CONFIG_VIDEO_MSP3400 is not set
-+# CONFIG_VIDEO_CS5345 is not set
-+# CONFIG_VIDEO_CS53L32A is not set
-+# CONFIG_VIDEO_TLV320AIC23B is not set
-+# CONFIG_VIDEO_WM8775 is not set
-+# CONFIG_VIDEO_WM8739 is not set
-+# CONFIG_VIDEO_VP27SMPX is not set
-+
-+#
-+# RDS decoders
-+#
-+# CONFIG_VIDEO_SAA6588 is not set
-+
-+#
-+# Video decoders
-+#
-+# CONFIG_VIDEO_ADV7180 is not set
-+# CONFIG_VIDEO_BT819 is not set
-+# CONFIG_VIDEO_BT856 is not set
-+# CONFIG_VIDEO_BT866 is not set
-+# CONFIG_VIDEO_KS0127 is not set
-+# CONFIG_VIDEO_SAA7110 is not set
-+# CONFIG_VIDEO_SAA711X is not set
-+# CONFIG_VIDEO_SAA7191 is not set
-+# CONFIG_VIDEO_TVP514X is not set
-+# CONFIG_VIDEO_TVP5150 is not set
-+# CONFIG_VIDEO_TVP7002 is not set
-+# CONFIG_VIDEO_VPX3220 is not set
-+
-+#
-+# Video and audio decoders
-+#
-+# CONFIG_VIDEO_SAA717X is not set
-+# CONFIG_VIDEO_CX25840 is not set
-+
-+#
-+# MPEG video encoders
-+#
-+# CONFIG_VIDEO_CX2341X is not set
-+
-+#
-+# Video encoders
-+#
-+# CONFIG_VIDEO_SAA7127 is not set
-+# CONFIG_VIDEO_SAA7185 is not set
-+# CONFIG_VIDEO_ADV7170 is not set
-+# CONFIG_VIDEO_ADV7175 is not set
-+# CONFIG_VIDEO_ADV7343 is not set
-+# CONFIG_VIDEO_AK881X is not set
-+
-+#
-+# Camera sensor devices
-+#
-+# CONFIG_VIDEO_OV7670 is not set
-+# CONFIG_VIDEO_MT9V011 is not set
-+# CONFIG_VIDEO_TCM825X is not set
-+
-+#
-+# Video improvement chips
-+#
-+# CONFIG_VIDEO_UPD64031A is not set
-+# CONFIG_VIDEO_UPD64083 is not set
-+
-+#
-+# Miscelaneous helper chips
-+#
-+# CONFIG_VIDEO_THS7303 is not set
-+# CONFIG_VIDEO_M52790 is not set
-+# CONFIG_VIDEO_VIVI is not set
-+CONFIG_VIDEO_MXC_CAMERA=m
-+
-+#
-+# MXC Camera/V4L2 PRP Features support
-+#
-+CONFIG_VIDEO_MXC_IPU_CAMERA=y
-+# CONFIG_VIDEO_MXC_CSI_CAMERA is not set
-+# CONFIG_MXC_CAMERA_MICRON111 is not set
-+# CONFIG_MXC_CAMERA_OV2640 is not set
-+# CONFIG_MXC_CAMERA_OV3640 is not set
-+# CONFIG_MXC_CAMERA_OV5640 is not set
-+# CONFIG_MXC_CAMERA_OV8820_MIPI is not set
-+CONFIG_MXC_CAMERA_OV5642=m
-+# CONFIG_MXC_CAMERA_OV5640_MIPI is not set
-+CONFIG_MXC_CAMERA_SENSOR_CLK=m
-+CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
-+CONFIG_MXC_IPU_PRP_ENC=m
-+CONFIG_MXC_IPU_CSI_ENC=m
-+CONFIG_VIDEO_MXC_OUTPUT=y
-+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
-+# CONFIG_VIDEO_MXC_IPUV1_WVGA_OUTPUT is not set
-+# CONFIG_VIDEO_MXC_OPL is not set
-+# CONFIG_VIDEO_CPIA2 is not set
-+# CONFIG_VIDEO_ZORAN is not set
-+# CONFIG_VIDEO_SAA7134 is not set
-+# CONFIG_VIDEO_MXB is not set
-+# CONFIG_VIDEO_HEXIUM_ORION is not set
-+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
-+# CONFIG_VIDEO_TIMBERDALE is not set
-+# CONFIG_VIDEO_CAFE_CCIC is not set
-+# CONFIG_VIDEO_SR030PC30 is not set
-+# CONFIG_VIDEO_NOON010PC30 is not set
-+# CONFIG_SOC_CAMERA is not set
-+CONFIG_V4L_USB_DRIVERS=y
-+CONFIG_USB_VIDEO_CLASS=m
-+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-+CONFIG_USB_GSPCA=m
-+# CONFIG_USB_M5602 is not set
-+# CONFIG_USB_STV06XX is not set
-+# CONFIG_USB_GL860 is not set
-+# CONFIG_USB_GSPCA_BENQ is not set
-+# CONFIG_USB_GSPCA_CONEX is not set
-+# CONFIG_USB_GSPCA_CPIA1 is not set
-+# CONFIG_USB_GSPCA_ETOMS is not set
-+# CONFIG_USB_GSPCA_FINEPIX is not set
-+# CONFIG_USB_GSPCA_JEILINJ is not set
-+# CONFIG_USB_GSPCA_KINECT is not set
-+# CONFIG_USB_GSPCA_KONICA is not set
-+# CONFIG_USB_GSPCA_MARS is not set
-+# CONFIG_USB_GSPCA_MR97310A is not set
-+# CONFIG_USB_GSPCA_NW80X is not set
-+# CONFIG_USB_GSPCA_OV519 is not set
-+# CONFIG_USB_GSPCA_OV534 is not set
-+# CONFIG_USB_GSPCA_OV534_9 is not set
-+# CONFIG_USB_GSPCA_PAC207 is not set
-+# CONFIG_USB_GSPCA_PAC7302 is not set
-+# CONFIG_USB_GSPCA_PAC7311 is not set
-+# CONFIG_USB_GSPCA_SN9C2028 is not set
-+# CONFIG_USB_GSPCA_SN9C20X is not set
-+# CONFIG_USB_GSPCA_SONIXB is not set
-+# CONFIG_USB_GSPCA_SONIXJ is not set
-+# CONFIG_USB_GSPCA_SPCA500 is not set
-+# CONFIG_USB_GSPCA_SPCA501 is not set
-+# CONFIG_USB_GSPCA_SPCA505 is not set
-+# CONFIG_USB_GSPCA_SPCA506 is not set
-+# CONFIG_USB_GSPCA_SPCA508 is not set
-+# CONFIG_USB_GSPCA_SPCA561 is not set
-+# CONFIG_USB_GSPCA_SPCA1528 is not set
-+# CONFIG_USB_GSPCA_SQ905 is not set
-+# CONFIG_USB_GSPCA_SQ905C is not set
-+# CONFIG_USB_GSPCA_SQ930X is not set
-+# CONFIG_USB_GSPCA_STK014 is not set
-+# CONFIG_USB_GSPCA_STV0680 is not set
-+# CONFIG_USB_GSPCA_SUNPLUS is not set
-+# CONFIG_USB_GSPCA_T613 is not set
-+# CONFIG_USB_GSPCA_TV8532 is not set
-+# CONFIG_USB_GSPCA_VC032X is not set
-+# CONFIG_USB_GSPCA_VICAM is not set
-+# CONFIG_USB_GSPCA_XIRLINK_CIT is not set
-+# CONFIG_USB_GSPCA_ZC3XX is not set
-+# CONFIG_VIDEO_PVRUSB2 is not set
-+# CONFIG_VIDEO_HDPVR is not set
-+# CONFIG_VIDEO_USBVISION is not set
-+# CONFIG_USB_ET61X251 is not set
-+# CONFIG_USB_SN9C102 is not set
-+# CONFIG_USB_PWC is not set
-+# CONFIG_USB_ZR364XX is not set
-+# CONFIG_USB_STKWEBCAM is not set
-+# CONFIG_USB_S2255 is not set
-+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
-+# CONFIG_RADIO_ADAPTERS is not set
-+
-+#
-+# Graphics support
-+#
-+CONFIG_VGA_ARB=y
-+CONFIG_VGA_ARB_MAX_GPUS=16
-+CONFIG_DRM=m
-+CONFIG_DRM_VIVANTE=m
-+# CONFIG_STUB_POULSBO is not set
-+# CONFIG_VGASTATE is not set
-+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-+CONFIG_FB=y
-+# CONFIG_FIRMWARE_EDID is not set
-+# CONFIG_FB_DDC is not set
-+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-+CONFIG_FB_CFB_FILLRECT=y
-+CONFIG_FB_CFB_COPYAREA=y
-+CONFIG_FB_CFB_IMAGEBLIT=y
-+# 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_WMT_GE_ROPS 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=y
-+# 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_UVESA is not set
-+# CONFIG_FB_S1D13XXX is not set
-+# CONFIG_FB_NVIDIA is not set
-+# CONFIG_FB_RIVA 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_TMIO 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_BROADSHEET is not set
-+CONFIG_BACKLIGHT_LCD_SUPPORT=y
-+# CONFIG_LCD_CLASS_DEVICE is not set
-+CONFIG_BACKLIGHT_CLASS_DEVICE=y
-+# CONFIG_BACKLIGHT_GENERIC is not set
-+CONFIG_BACKLIGHT_PWM=y
-+# CONFIG_BACKLIGHT_ADP8860 is not set
-+# CONFIG_BACKLIGHT_ADP8870 is not set
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-+CONFIG_FB_MXC=y
-+CONFIG_FB_MXC_EDID=y
-+CONFIG_FB_MXC_SYNC_PANEL=y
-+# CONFIG_FB_MXC_EPSON_VGA_SYNC_PANEL is not set
-+CONFIG_FB_MXC_LDB=y
-+CONFIG_FB_MXC_MIPI_DSI=y
-+CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
-+# CONFIG_FB_MXC_CLAA_WVGA_SYNC_PANEL is not set
-+# CONFIG_FB_MXC_SEIKO_WVGA_SYNC_PANEL is not set
-+# CONFIG_FB_MXC_SII902X is not set
-+# CONFIG_FB_MXC_CH7026 is not set
-+# CONFIG_FB_MXC_TVOUT_CH7024 is not set
-+# CONFIG_FB_MXC_ASYNC_PANEL is not set
-+# CONFIG_FB_MXC_EINK_PANEL is not set
-+# CONFIG_FB_MXC_SIPIX_PANEL is not set
-+# CONFIG_FB_MXC_ELCDIF_FB is not set
-+CONFIG_FB_MXC_HDMI=y
-+
-+#
-+# Console display driver support
-+#
-+CONFIG_DUMMY_CONSOLE=y
-+CONFIG_FRAMEBUFFER_CONSOLE=y
-+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-+CONFIG_FONTS=y
-+# CONFIG_FONT_8x8 is not set
-+CONFIG_FONT_8x16=y
-+# CONFIG_FONT_6x11 is not set
-+# CONFIG_FONT_7x14 is not set
-+# CONFIG_FONT_PEARL_8x8 is not set
-+# CONFIG_FONT_ACORN_8x8 is not set
-+# CONFIG_FONT_MINI_4x6 is not set
-+# CONFIG_FONT_SUN8x16 is not set
-+# CONFIG_FONT_SUN12x22 is not set
-+# CONFIG_FONT_10x18 is not set
-+CONFIG_LOGO=y
-+CONFIG_LOGO_LINUX_MONO=y
-+CONFIG_LOGO_LINUX_VGA16=y
-+CONFIG_LOGO_LINUX_CLUT224=y
-+CONFIG_SOUND=y
-+# CONFIG_SOUND_OSS_CORE is not set
-+CONFIG_SND=y
-+CONFIG_SND_TIMER=y
-+CONFIG_SND_PCM=y
-+CONFIG_SND_HWDEP=y
-+CONFIG_SND_RAWMIDI=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_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_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_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_CS5535AUDIO 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_HDA_INTEL 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_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
-+CONFIG_SND_ARM=y
-+CONFIG_SND_SPI=y
-+CONFIG_SND_USB=y
-+CONFIG_SND_USB_AUDIO=y
-+# CONFIG_SND_USB_UA101 is not set
-+# CONFIG_SND_USB_CAIAQ is not set
-+# CONFIG_SND_USB_6FIRE is not set
-+CONFIG_SND_SOC=y
-+# CONFIG_SND_SOC_CACHE_LZO is not set
-+CONFIG_SND_SOC_AC97_BUS=y
-+CONFIG_SND_IMX_SOC=y
-+CONFIG_SND_MXC_SOC_MX2=y
-+CONFIG_SND_MXC_SOC_SPDIF_DAI=y
-+CONFIG_SND_SOC_IMX_SGTL5000=y
-+# CONFIG_SND_SOC_IMX_WM8958 is not set
-+# CONFIG_SND_SOC_IMX_WM8962 is not set
-+# CONFIG_SND_SOC_IMX_SI4763 is not set
-+CONFIG_SND_SOC_IMX_SPDIF=y
-+CONFIG_SND_SOC_IMX_HDMI=y
-+CONFIG_SND_SOC_I2C_AND_SPI=y
-+# CONFIG_SND_SOC_ALL_CODECS is not set
-+CONFIG_SND_SOC_MXC_HDMI=y
-+CONFIG_SND_SOC_MXC_SPDIF=y
-+CONFIG_SND_SOC_SGTL5000=y
-+# CONFIG_SOUND_PRIME is not set
-+CONFIG_AC97_BUS=y
-+CONFIG_HID_SUPPORT=y
-+CONFIG_HID=y
-+CONFIG_HIDRAW=y
-+
-+#
-+# USB Input Devices
-+#
-+CONFIG_USB_HID=y
-+# CONFIG_HID_PID is not set
-+# CONFIG_USB_HIDDEV is not set
-+
-+#
-+# Special HID drivers
-+#
-+# CONFIG_HID_A4TECH is not set
-+# CONFIG_HID_ACRUX is not set
-+# CONFIG_HID_APPLE is not set
-+# CONFIG_HID_BELKIN is not set
-+# CONFIG_HID_CHERRY is not set
-+# CONFIG_HID_CHICONY is not set
-+# CONFIG_HID_PRODIKEYS 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_EZKEY 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_TWINHAN is not set
-+# CONFIG_HID_KENSINGTON is not set
-+# CONFIG_HID_LCPOWER 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_PETALYNX is not set
-+# CONFIG_HID_PICOLCD is not set
-+CONFIG_HID_QUANTA=y
-+# CONFIG_HID_ROCCAT is not set
-+# CONFIG_HID_ROCCAT_ARVO is not set
-+# CONFIG_HID_ROCCAT_KONE is not set
-+# CONFIG_HID_ROCCAT_KONEPLUS is not set
-+# CONFIG_HID_ROCCAT_KOVAPLUS is not set
-+# CONFIG_HID_ROCCAT_PYRA is not set
-+CONFIG_HID_SAMSUNG=m
-+CONFIG_HID_SONY=m
-+CONFIG_HID_SUNPLUS=m
-+# CONFIG_HID_GREENASIA is not set
-+# CONFIG_HID_SMARTJOYPLUS is not set
-+# CONFIG_HID_TOPSEED is not set
-+# CONFIG_HID_THRUSTMASTER is not set
-+# CONFIG_HID_WACOM is not set
-+# CONFIG_HID_ZEROPLUS is not set
-+# CONFIG_HID_ZYDACRON is not set
-+CONFIG_USB_SUPPORT=y
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+CONFIG_USB_ARCH_HAS_EHCI=y
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+# CONFIG_USB_DEVICE_CLASS is not set
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+CONFIG_USB_SUSPEND=y
-+CONFIG_USB_OTG=y
-+# CONFIG_USB_OTG_WHITELIST is not set
-+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-+# CONFIG_USB_MON is not set
-+# CONFIG_USB_WUSB is not set
-+# CONFIG_USB_WUSB_CBAF is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_C67X00_HCD is not set
-+# CONFIG_USB_XHCI_HCD is not set
-+CONFIG_USB_EHCI_HCD=y
-+CONFIG_USB_EHCI_ARC=y
-+CONFIG_USB_EHCI_ARC_OTG=y
-+# CONFIG_USB_EHCI_ARC_HSIC is not set
-+# CONFIG_USB_STATIC_IRAM is not set
-+CONFIG_USB_EHCI_ROOT_HUB_TT=y
-+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-+# CONFIG_USB_EHCI_MXC is not set
-+# CONFIG_USB_OXU210HP_HCD is not set
-+# CONFIG_USB_ISP116X_HCD is not set
-+# CONFIG_USB_ISP1760_HCD is not set
-+# CONFIG_USB_ISP1362_HCD is not set
-+# CONFIG_USB_OHCI_HCD 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_WHCI_HCD is not set
-+# CONFIG_USB_HWA_HCD is not set
-+# CONFIG_USB_MUSB_HDRC is not set
-+
-+#
-+# USB Device Class drivers
-+#
-+CONFIG_USB_ACM=y
-+# CONFIG_USB_PRINTER is not set
-+# CONFIG_USB_WDM is not set
-+# 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
-+# CONFIG_USB_LIBUSUAL is not set
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_MICROTEK is not set
-+
-+#
-+# USB port drivers
-+#
-+CONFIG_USB_SERIAL=y
-+# CONFIG_USB_SERIAL_CONSOLE is not set
-+# CONFIG_USB_EZUSB is not set
-+# CONFIG_USB_SERIAL_GENERIC is not set
-+# CONFIG_USB_SERIAL_AIRCABLE is not set
-+# CONFIG_USB_SERIAL_ARK3116 is not set
-+# CONFIG_USB_SERIAL_BELKIN is not set
-+# CONFIG_USB_SERIAL_CH341 is not set
-+# CONFIG_USB_SERIAL_WHITEHEAT is not set
-+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
-+# CONFIG_USB_SERIAL_CP210X is not set
-+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
-+# CONFIG_USB_SERIAL_EMPEG is not set
-+# CONFIG_USB_SERIAL_FTDI_SIO is not set
-+# CONFIG_USB_SERIAL_FUNSOFT is not set
-+# CONFIG_USB_SERIAL_VISOR is not set
-+# CONFIG_USB_SERIAL_IPAQ is not set
-+# CONFIG_USB_SERIAL_IR is not set
-+# CONFIG_USB_SERIAL_EDGEPORT is not set
-+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
-+# CONFIG_USB_SERIAL_GARMIN is not set
-+# CONFIG_USB_SERIAL_IPW is not set
-+# CONFIG_USB_SERIAL_IUU is not set
-+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
-+# CONFIG_USB_SERIAL_KEYSPAN is not set
-+# CONFIG_USB_SERIAL_KLSI is not set
-+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
-+# CONFIG_USB_SERIAL_MCT_U232 is not set
-+# CONFIG_USB_SERIAL_MOS7720 is not set
-+# CONFIG_USB_SERIAL_MOS7840 is not set
-+# CONFIG_USB_SERIAL_MOTOROLA is not set
-+# CONFIG_USB_SERIAL_NAVMAN is not set
-+# CONFIG_USB_SERIAL_PL2303 is not set
-+# CONFIG_USB_SERIAL_OTI6858 is not set
-+# CONFIG_USB_SERIAL_QCAUX is not set
-+CONFIG_USB_SERIAL_QUALCOMM=y
-+# CONFIG_USB_SERIAL_SPCP8X5 is not set
-+# CONFIG_USB_SERIAL_HP4X is not set
-+# CONFIG_USB_SERIAL_SAFE is not set
-+# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
-+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
-+# CONFIG_USB_SERIAL_SYMBOL is not set
-+# CONFIG_USB_SERIAL_TI is not set
-+# CONFIG_USB_SERIAL_CYBERJACK is not set
-+# CONFIG_USB_SERIAL_XIRCOM is not set
-+CONFIG_USB_SERIAL_WWAN=y
-+CONFIG_USB_SERIAL_OPTION=y
-+# CONFIG_USB_SERIAL_OMNINET is not set
-+# CONFIG_USB_SERIAL_OPTICON is not set
-+# CONFIG_USB_SERIAL_VIVOPAY_SERIAL is not set
-+# CONFIG_USB_SERIAL_ZIO is not set
-+# CONFIG_USB_SERIAL_SSU100 is not set
-+# 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_ISIGHTFW is not set
-+# CONFIG_USB_YUREX is not set
-+CONFIG_USB_GADGET=y
-+# CONFIG_USB_GADGET_DEBUG_FILES is not set
-+# CONFIG_USB_GADGET_DEBUG_FS is not set
-+CONFIG_USB_GADGET_VBUS_DRAW=2
-+CONFIG_USB_GADGET_SELECTED=y
-+CONFIG_USB_GADGET_ARC=y
-+# CONFIG_IMX_USB_CHARGER is not set
-+CONFIG_USB_ARC=y
-+# CONFIG_USB_GADGET_FSL_USB2 is not set
-+# CONFIG_USB_GADGET_FUSB300 is not set
-+# CONFIG_USB_GADGET_R8A66597 is not set
-+# CONFIG_USB_GADGET_PXA_U2O is not set
-+# CONFIG_USB_GADGET_M66592 is not set
-+# CONFIG_USB_GADGET_AMD5536UDC is not set
-+# CONFIG_USB_GADGET_CI13XXX_PCI is not set
-+# CONFIG_USB_GADGET_NET2280 is not set
-+# CONFIG_USB_GADGET_GOKU is not set
-+# CONFIG_USB_GADGET_LANGWELL is not set
-+# CONFIG_USB_GADGET_EG20T is not set
-+# CONFIG_USB_GADGET_DUMMY_HCD is not set
-+CONFIG_USB_GADGET_DUALSPEED=y
-+# 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_FILE_STORAGE=m
-+# CONFIG_FSL_UTP is not set
-+# CONFIG_USB_FILE_STORAGE_TEST is not set
-+# CONFIG_USB_MASS_STORAGE is not set
-+CONFIG_USB_G_SERIAL=m
-+# CONFIG_USB_MIDI_GADGET is not set
-+# CONFIG_USB_G_PRINTER is not set
-+# CONFIG_USB_CDC_COMPOSITE 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_WEBCAM is not set
-+
-+#
-+# OTG and related infrastructure
-+#
-+CONFIG_USB_OTG_UTILS=y
-+# CONFIG_USB_GPIO_VBUS is not set
-+# CONFIG_USB_ULPI is not set
-+# CONFIG_NOP_USB_XCEIV is not set
-+CONFIG_MXC_OTG=y
-+# CONFIG_UWB is not set
-+CONFIG_MMC=y
-+# CONFIG_MMC_DEBUG is not set
-+CONFIG_MMC_UNSAFE_RESUME=y
-+# CONFIG_MMC_CLKGATE is not set
-+
-+#
-+# MMC/SD/SDIO Card Drivers
-+#
-+CONFIG_MMC_BLOCK=y
-+CONFIG_MMC_BLOCK_MINORS=8
-+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_ESDHC_IMX=y
-+# 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_MEMSTICK is not set
-+CONFIG_NEW_LEDS=y
-+CONFIG_LEDS_CLASS=y
-+
-+#
-+# LED drivers
-+#
-+# CONFIG_LEDS_LM3530 is not set
-+# CONFIG_LEDS_PCA9532 is not set
-+CONFIG_LEDS_GPIO=y
-+CONFIG_LEDS_GPIO_PLATFORM=y
-+# CONFIG_LEDS_LP3944 is not set
-+# CONFIG_LEDS_LP5521 is not set
-+# CONFIG_LEDS_LP5523 is not set
-+# CONFIG_LEDS_PCA955X is not set
-+# CONFIG_LEDS_DAC124S085 is not set
-+# CONFIG_LEDS_PWM is not set
-+# CONFIG_LEDS_REGULATOR is not set
-+# CONFIG_LEDS_BD2802 is not set
-+# CONFIG_LEDS_LT3593 is not set
-+CONFIG_LEDS_TRIGGERS=y
-+
-+#
-+# LED Triggers
-+#
-+# CONFIG_LEDS_TRIGGER_TIMER is not set
-+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-+CONFIG_LEDS_TRIGGER_GPIO=y
-+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-+
-+#
-+# iptables trigger is under Netfilter config (LED target)
-+#
-+
-+#
-+# LED Triggers
-+#
-+# CONFIG_NFC_DEVICES is not set
-+# CONFIG_ACCESSIBILITY is not set
-+# CONFIG_INFINIBAND is not set
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+
-+#
-+# RTC interfaces
-+#
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
-+# CONFIG_RTC_DRV_TEST is not set
-+
-+#
-+# I2C RTC drivers
-+#
-+# CONFIG_RTC_DRV_DS1307 is not set
-+# CONFIG_RTC_DRV_DS1374 is not set
-+# CONFIG_RTC_DRV_DS1672 is not set
-+# CONFIG_RTC_DRV_DS3232 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_ISL12022 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
-+# CONFIG_RTC_DRV_PCF8563 is not set
-+# CONFIG_RTC_DRV_PCF8583 is not set
-+# CONFIG_RTC_DRV_M41T80 is not set
-+# CONFIG_RTC_DRV_BQ32K is not set
-+# CONFIG_RTC_DRV_S35390A is not set
-+# CONFIG_RTC_DRV_FM3130 is not set
-+# CONFIG_RTC_DRV_RX8581 is not set
-+# CONFIG_RTC_DRV_RX8025 is not set
-+# CONFIG_RTC_DRV_EM3027 is not set
-+# CONFIG_RTC_DRV_RV3029C2 is not set
-+
-+#
-+# SPI RTC drivers
-+#
-+# CONFIG_RTC_DRV_M41T93 is not set
-+# CONFIG_RTC_DRV_M41T94 is not set
-+# CONFIG_RTC_DRV_DS1305 is not set
-+# CONFIG_RTC_DRV_DS1390 is not set
-+# CONFIG_RTC_DRV_MAX6902 is not set
-+# CONFIG_RTC_DRV_R9701 is not set
-+# CONFIG_RTC_DRV_RS5C348 is not set
-+# CONFIG_RTC_DRV_DS3234 is not set
-+# CONFIG_RTC_DRV_PCF2123 is not set
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1286 is not set
-+# CONFIG_RTC_DRV_DS1511 is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+# CONFIG_RTC_DRV_M48T35 is not set
-+# CONFIG_RTC_DRV_M48T59 is not set
-+# CONFIG_RTC_DRV_MSM6242 is not set
-+# CONFIG_RTC_MXC is not set
-+# CONFIG_RTC_DRV_MXC_V2 is not set
-+CONFIG_RTC_DRV_SNVS=y
-+# CONFIG_RTC_DRV_BQ4802 is not set
-+# CONFIG_RTC_DRV_RP5C01 is not set
-+# CONFIG_RTC_DRV_V3020 is not set
-+
-+#
-+# on-CPU RTC drivers
-+#
-+CONFIG_DMADEVICES=y
-+# CONFIG_DMADEVICES_DEBUG is not set
-+
-+#
-+# DMA Devices
-+#
-+# CONFIG_DW_DMAC is not set
-+CONFIG_MXC_PXP_V2=y
-+CONFIG_MXC_PXP_CLIENT_DEVICE=y
-+# CONFIG_TIMB_DMA is not set
-+CONFIG_IMX_SDMA=y
-+# CONFIG_MXS_DMA is not set
-+CONFIG_DMA_ENGINE=y
-+
-+#
-+# DMA Clients
-+#
-+# CONFIG_NET_DMA is not set
-+# CONFIG_ASYNC_TX_DMA is not set
-+# CONFIG_DMATEST is not set
-+# CONFIG_AUXDISPLAY is not set
-+# CONFIG_UIO is not set
-+# CONFIG_STAGING is not set
-+CONFIG_CLKDEV_LOOKUP=y
-+CONFIG_CLKSRC_MMIO=y
-+
-+#
-+# MXC support drivers
-+#
-+CONFIG_MXC_IPU=y
-+CONFIG_MXC_IPU_V3=y
-+CONFIG_MXC_IPU_V3H=y
-+
-+#
-+# MXC SSI support
-+#
-+# CONFIG_MXC_SSI is not set
-+
-+#
-+# MXC Digital Audio Multiplexer support
-+#
-+# CONFIG_MXC_DAM is not set
-+
-+#
-+# MXC PMIC support
-+#
-+# CONFIG_MXC_PMIC_MC13783 is not set
-+# CONFIG_MXC_PMIC_MC13892 is not set
-+# CONFIG_MXC_PMIC_MC34704 is not set
-+# CONFIG_MXC_PMIC_MC9SDZ60 is not set
-+# CONFIG_MXC_PMIC_MC9S08DZ60 is not set
-+
-+#
-+# MXC Security Drivers
-+#
-+# CONFIG_MXC_SECURITY_SCC is not set
-+# CONFIG_MXC_SECURITY_RNG is not set
-+
-+#
-+# MXC MPEG4 Encoder Kernel module support
-+#
-+# CONFIG_MXC_HMP4E is not set
-+
-+#
-+# MXC HARDWARE EVENT
-+#
-+# CONFIG_MXC_HWEVENT is not set
-+
-+#
-+# MXC VPU(Video Processing Unit) support
-+#
-+CONFIG_MXC_VPU=y
-+# CONFIG_MXC_VPU_DEBUG is not set
-+# CONFIG_MX6_VPU_352M is not set
-+
-+#
-+# MXC Asynchronous Sample Rate Converter support
-+#
-+CONFIG_MXC_ASRC=y
-+
-+#
-+# MXC Bluetooth support
-+#
-+
-+#
-+# Broadcom GPS ioctrl support
-+#
-+
-+#
-+# MXC Media Local Bus Driver
-+#
-+# CONFIG_MXC_MLB150 is not set
-+
-+#
-+# i.MX ADC support
-+#
-+# CONFIG_IMX_ADC is not set
-+
-+#
-+# MXC Vivante GPU support
-+#
-+CONFIG_MXC_GPU_VIV=m
-+
-+#
-+# ANATOP_THERMAL
-+#
-+CONFIG_ANATOP_THERMAL=y
-+
-+#
-+# MXC MIPI Support
-+#
-+CONFIG_MXC_MIPI_CSI2=y
-+
-+#
-+# MXC HDMI CEC (Consumer Electronics Control) support
-+#
-+# CONFIG_MXC_HDMI_CEC is not set
-+
-+#
-+# File systems
-+#
-+CONFIG_EXT2_FS=y
-+# CONFIG_EXT2_FS_XATTR is not set
-+# CONFIG_EXT2_FS_XIP is not set
-+CONFIG_EXT3_FS=y
-+# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-+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_FS_XATTR=y
-+# CONFIG_EXT4_FS_POSIX_ACL is not set
-+# CONFIG_EXT4_FS_SECURITY 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 is not set
-+# CONFIG_JFS_FS is not set
-+# CONFIG_XFS_FS is not set
-+# CONFIG_GFS2_FS is not set
-+# CONFIG_BTRFS_FS is not set
-+# CONFIG_NILFS2_FS is not set
-+# CONFIG_FS_POSIX_ACL is not set
-+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 is not set
-+
-+#
-+# Caches
-+#
-+# CONFIG_FSCACHE is not set
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_UDF_FS is not set
-+
-+#
-+# 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 is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_PROC_PAGE_MONITOR=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_TMPFS_POSIX_ACL is not set
-+# CONFIG_TMPFS_XATTR 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_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+CONFIG_JFFS2_FS=y
-+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_UBIFS_FS=y
-+# CONFIG_UBIFS_FS_XATTR is not set
-+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
-+CONFIG_UBIFS_FS_LZO=y
-+CONFIG_UBIFS_FS_ZLIB=y
-+# CONFIG_UBIFS_FS_DEBUG is not set
-+# CONFIG_LOGFS is not set
-+CONFIG_CRAMFS=y
-+# CONFIG_SQUASHFS 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_ROMFS_FS 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_V3=y
-+# CONFIG_NFS_V3_ACL is not set
-+# CONFIG_NFS_V4 is not set
-+CONFIG_ROOT_NFS=y
-+# CONFIG_NFSD is not set
-+CONFIG_LOCKD=y
-+CONFIG_LOCKD_V4=y
-+CONFIG_NFS_COMMON=y
-+CONFIG_SUNRPC=y
-+# CONFIG_CEPH_FS is not set
-+# CONFIG_CIFS is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_CODA_FS is not set
-+# CONFIG_AFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+CONFIG_PARTITION_ADVANCED=y
-+# CONFIG_ACORN_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_NLS=y
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+CONFIG_NLS_CODEPAGE_437=y
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+# CONFIG_NLS_CODEPAGE_850 is not set
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+# CONFIG_NLS_CODEPAGE_936 is not set
-+# CONFIG_NLS_CODEPAGE_950 is not set
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+CONFIG_NLS_ASCII=m
-+CONFIG_NLS_ISO8859_1=y
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+CONFIG_NLS_UTF8=m
-+
-+#
-+# Kernel hacking
-+#
-+# CONFIG_PRINTK_TIME is not set
-+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-+CONFIG_ENABLE_WARN_DEPRECATED=y
-+CONFIG_ENABLE_MUST_CHECK=y
-+CONFIG_FRAME_WARN=1024
-+CONFIG_MAGIC_SYSRQ=y
-+# CONFIG_STRIP_ASM_SYMS is not set
-+# CONFIG_UNUSED_SYMBOLS is not set
-+CONFIG_DEBUG_FS=y
-+# CONFIG_HEADERS_CHECK is not set
-+# CONFIG_DEBUG_SECTION_MISMATCH is not set
-+# CONFIG_DEBUG_KERNEL is not set
-+# CONFIG_HARDLOCKUP_DETECTOR is not set
-+# CONFIG_SLUB_DEBUG_ON is not set
-+# CONFIG_SLUB_STATS is not set
-+# CONFIG_SPARSE_RCU_POINTER is not set
-+CONFIG_DEBUG_BUGVERBOSE=y
-+# CONFIG_DEBUG_MEMORY_INIT is not set
-+CONFIG_RCU_CPU_STALL_TIMEOUT=60
-+CONFIG_RCU_CPU_STALL_VERBOSE=y
-+# CONFIG_LKDTM is not set
-+CONFIG_SYSCTL_SYSCALL_CHECK=y
-+CONFIG_HAVE_FUNCTION_TRACER=y
-+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-+CONFIG_HAVE_DYNAMIC_FTRACE=y
-+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-+CONFIG_HAVE_C_RECORDMCOUNT=y
-+CONFIG_TRACING_SUPPORT=y
-+# CONFIG_FTRACE is not set
-+# CONFIG_DYNAMIC_DEBUG is not set
-+# CONFIG_DMA_API_DEBUG is not set
-+# CONFIG_ATOMIC64_SELFTEST is not set
-+# CONFIG_SAMPLES is not set
-+CONFIG_HAVE_ARCH_KGDB=y
-+# CONFIG_TEST_KSTRTOX is not set
-+# CONFIG_STRICT_DEVMEM is not set
-+CONFIG_ARM_UNWIND=y
-+# CONFIG_DEBUG_USER is not set
-+# CONFIG_OC_ETM is not set
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY_DMESG_RESTRICT is not set
-+# CONFIG_SECURITY is not set
-+# CONFIG_SECURITYFS 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_MANAGER_DISABLE_TESTS is not set
-+CONFIG_CRYPTO_GF128MUL=y
-+# CONFIG_CRYPTO_NULL is not set
-+# CONFIG_CRYPTO_PCRYPT is not set
-+CONFIG_CRYPTO_WORKQUEUE=y
-+# CONFIG_CRYPTO_CRYPTD is not set
-+CONFIG_CRYPTO_AUTHENC=y
-+CONFIG_CRYPTO_TEST=m
-+# CONFIG_CRYPTO_CRYPTODEV is not set
-+
-+#
-+# Authenticated Encryption with Associated Data
-+#
-+CONFIG_CRYPTO_CCM=y
-+CONFIG_CRYPTO_GCM=y
-+CONFIG_CRYPTO_SEQIV=y
-+
-+#
-+# Block modes
-+#
-+CONFIG_CRYPTO_CBC=y
-+CONFIG_CRYPTO_CTR=y
-+CONFIG_CRYPTO_CTS=y
-+CONFIG_CRYPTO_ECB=y
-+CONFIG_CRYPTO_LRW=y
-+CONFIG_CRYPTO_PCBC=y
-+CONFIG_CRYPTO_XTS=y
-+
-+#
-+# Hash modes
-+#
-+# CONFIG_CRYPTO_HMAC is not set
-+# CONFIG_CRYPTO_XCBC is not set
-+# CONFIG_CRYPTO_VMAC is not set
-+
-+#
-+# Digest
-+#
-+# CONFIG_CRYPTO_CRC32C is not set
-+CONFIG_CRYPTO_GHASH=y
-+# CONFIG_CRYPTO_MD4 is not set
-+# CONFIG_CRYPTO_MD5 is not set
-+CONFIG_CRYPTO_MICHAEL_MIC=y
-+# 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 is not set
-+# CONFIG_CRYPTO_SHA256 is not set
-+# 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
-+
-+#
-+# Random Number Generation
-+#
-+# CONFIG_CRYPTO_ANSI_CPRNG is not set
-+# CONFIG_CRYPTO_USER_API_HASH is not set
-+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
-+CONFIG_CRYPTO_HW=y
-+# CONFIG_CRYPTO_DEV_HIFN_795X is not set
-+CONFIG_CRYPTO_DEV_FSL_CAAM=y
-+CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9
-+CONFIG_CRYPTO_DEV_FSL_CAAM_INTC=y
-+CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD=255
-+CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD=2048
-+CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y
-+# CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API is not set
-+CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
-+# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set
-+# CONFIG_BINARY_PRINTF is not set
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+CONFIG_RATIONAL=y
-+CONFIG_CRC_CCITT=m
-+CONFIG_CRC16=y
-+# CONFIG_CRC_T10DIF is not set
-+# CONFIG_CRC_ITU_T is not set
-+CONFIG_CRC32=y
-+CONFIG_CRC7=y
-+# CONFIG_LIBCRC32C is not set
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_ZLIB_DEFLATE=y
-+CONFIG_LZO_COMPRESS=y
-+CONFIG_LZO_DECOMPRESS=y
-+# CONFIG_XZ_DEC is not set
-+# CONFIG_XZ_DEC_BCJ is not set
-+CONFIG_DECOMPRESS_GZIP=y
-+CONFIG_GENERIC_ALLOCATOR=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-+CONFIG_HAS_DMA=y
-+CONFIG_CPU_RMAP=y
-+CONFIG_NLATTR=y
-+CONFIG_AVERAGE=y
-diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/Makefile b/arch/arm/mach-mx5/Makefile
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/board-mx50_rdp.c b/arch/arm/mach-mx5/board-mx50_rdp.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/board-mx51_babbage.c b/arch/arm/mach-mx5/board-mx51_babbage.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/board-mx53_ard.c b/arch/arm/mach-mx5/board-mx53_ard.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/board-mx53_evk.c b/arch/arm/mach-mx5/board-mx53_evk.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/board-mx53_loco.c b/arch/arm/mach-mx5/board-mx53_loco.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/board-mx53_smd.c b/arch/arm/mach-mx5/board-mx53_smd.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/bus_freq.c b/arch/arm/mach-mx5/bus_freq.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/clock-mx51-mx53.c b/arch/arm/mach-mx5/clock-mx51-mx53.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/clock.c b/arch/arm/mach-mx5/clock.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/clock_mx50.c b/arch/arm/mach-mx5/clock_mx50.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/cpu.c b/arch/arm/mach-mx5/cpu.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/cpu_op-mx50.c b/arch/arm/mach-mx5/cpu_op-mx50.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/cpu_op-mx50.h b/arch/arm/mach-mx5/cpu_op-mx50.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/cpu_op-mx51.c b/arch/arm/mach-mx5/cpu_op-mx51.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/cpu_op-mx51.h b/arch/arm/mach-mx5/cpu_op-mx51.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/cpu_op-mx53.c b/arch/arm/mach-mx5/cpu_op-mx53.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/cpu_op-mx53.h b/arch/arm/mach-mx5/cpu_op-mx53.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/crm_regs.h b/arch/arm/mach-mx5/crm_regs.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/devices-imx50.h b/arch/arm/mach-mx5/devices-imx50.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/devices-imx51.h b/arch/arm/mach-mx5/devices-imx51.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/devices-imx53.h b/arch/arm/mach-mx5/devices-imx53.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/devices.c b/arch/arm/mach-mx5/devices.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/devices.h b/arch/arm/mach-mx5/devices.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/imx_bt_rfkill.c b/arch/arm/mach-mx5/imx_bt_rfkill.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/mx50_ddr_freq.S b/arch/arm/mach-mx5/mx50_ddr_freq.S
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/mx50_freq.c b/arch/arm/mach-mx5/mx50_freq.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/mx50_suspend.S b/arch/arm/mach-mx5/mx50_suspend.S
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/mx50_wfi.S b/arch/arm/mach-mx5/mx50_wfi.S
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/mx53_loco_pmic_da9053.c b/arch/arm/mach-mx5/mx53_loco_pmic_da9053.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/mx53_smd_pmic_da9053.c b/arch/arm/mach-mx5/mx53_smd_pmic_da9053.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/pm.c b/arch/arm/mach-mx5/pm.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/sdram_autogating.c b/arch/arm/mach-mx5/sdram_autogating.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/suspend.S b/arch/arm/mach-mx5/suspend.S
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/system.c b/arch/arm/mach-mx5/system.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/usb.h b/arch/arm/mach-mx5/usb.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/usb_dr.c b/arch/arm/mach-mx5/usb_dr.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/usb_h1.c b/arch/arm/mach-mx5/usb_h1.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx5/usb_h2.c b/arch/arm/mach-mx5/usb_h2.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/mach-mx6/Kconfig b/arch/arm/mach-mx6/Kconfig
-index 2ffd90d..481075b 100644
---- a/arch/arm/mach-mx6/Kconfig
-+++ b/arch/arm/mach-mx6/Kconfig
-@@ -175,6 +175,10 @@ config MACH_MX6Q_SABRELITE
-       select IMX_HAVE_PLATFORM_IMX_ASRC
-       select IMX_HAVE_PLATFORM_FLEXCAN
-       select IMX_HAVE_PLATFORM_IMX_CAAM
-+      select IMX_HAVE_PLATFORM_IMX_DVFS
-+      select IMX_HAVE_PLATFORM_IMX_MIPI_CSI2
-+      select IMX_HAVE_PLATFORM_IMX_PCIE
-+      select IMX_HAVE_PLATFORM_PERFMON
-       help
-         Include support for i.MX 6Quad SABRE Lite platform. This includes specific
-         configurations for the board and its peripherals.
-diff --git a/arch/arm/mach-mx6/board-mx6q_sabrelite.c b/arch/arm/mach-mx6/board-mx6q_sabrelite.c
-index 736b423..b586426 100644
---- a/arch/arm/mach-mx6/board-mx6q_sabrelite.c
-+++ b/arch/arm/mach-mx6/board-mx6q_sabrelite.c
-@@ -56,12 +56,15 @@
- #include <mach/mxc_dvfs.h>
- #include <mach/memory.h>
- #include <mach/iomux-mx6q.h>
-+#include <mach/iomux-mx6dl.h>
- #include <mach/imx-uart.h>
- #include <mach/viv_gpu.h>
- #include <mach/ahci_sata.h>
- #include <mach/ipu-v3.h>
- #include <mach/mxc_hdmi.h>
- #include <mach/mxc_asrc.h>
-+#include <linux/i2c/tsc2007.h>
-+#include <linux/wl12xx.h>
- #include <asm/irq.h>
- #include <asm/setup.h>
-@@ -74,29 +77,53 @@
- #include "crm_regs.h"
- #include "cpu_op-mx6.h"
--#define MX6Q_SABRELITE_SD3_CD         IMX_GPIO_NR(7, 0)
--#define MX6Q_SABRELITE_SD3_WP         IMX_GPIO_NR(7, 1)
--#define MX6Q_SABRELITE_SD4_CD         IMX_GPIO_NR(2, 6)
--#define MX6Q_SABRELITE_SD4_WP         IMX_GPIO_NR(2, 7)
--#define MX6Q_SABRELITE_ECSPI1_CS1     IMX_GPIO_NR(3, 19)
--#define MX6Q_SABRELITE_USB_OTG_PWR    IMX_GPIO_NR(3, 22)
--#define MX6Q_SABRELITE_CAP_TCH_INT1   IMX_GPIO_NR(1, 9)
--#define MX6Q_SABRELITE_USB_HUB_RESET  IMX_GPIO_NR(7, 12)
--#define MX6Q_SABRELITE_CAN1_STBY      IMX_GPIO_NR(1, 2)
--#define MX6Q_SABRELITE_CAN1_EN                IMX_GPIO_NR(1, 4)
--#define MX6Q_SABRELITE_MENU_KEY               IMX_GPIO_NR(2, 1)
--#define MX6Q_SABRELITE_BACK_KEY               IMX_GPIO_NR(2, 2)
--#define MX6Q_SABRELITE_ONOFF_KEY      IMX_GPIO_NR(2, 3)
--#define MX6Q_SABRELITE_HOME_KEY               IMX_GPIO_NR(2, 4)
--#define MX6Q_SABRELITE_VOL_UP_KEY     IMX_GPIO_NR(7, 13)
--#define MX6Q_SABRELITE_VOL_DOWN_KEY   IMX_GPIO_NR(4, 5)
--#define MX6Q_SABRELITE_CSI0_RST               IMX_GPIO_NR(1, 8)
--#define MX6Q_SABRELITE_CSI0_PWN               IMX_GPIO_NR(1, 6)
--
--#define MX6Q_SABRELITE_SD3_WP_PADCFG  (PAD_CTL_PKE | PAD_CTL_PUE |    \
-+#define MX6_SABRELITE_SD3_CD          IMX_GPIO_NR(7, 0)
-+#define MX6_SABRELITE_SD3_WP          IMX_GPIO_NR(7, 1)
-+#define MX6_SABRELITE_SD4_CD          IMX_GPIO_NR(2, 6)
-+#define MX6_SABRELITE_SD4_WP          IMX_GPIO_NR(2, 7)
-+#define MX6_SABRELITE_ECSPI1_CS1      IMX_GPIO_NR(3, 19)
-+#define MX6_SABRELITE_USB_OTG_PWR     IMX_GPIO_NR(3, 22)
-+#define MX6_SABRELITE_CAP_TCH_INT1    IMX_GPIO_NR(1, 9)
-+#define MX6_SABRELITE_DRGB_IRQGPIO    IMX_GPIO_NR(4, 20)
-+#define MX6_SABRELITE_USB_HUB_RESET   IMX_GPIO_NR(7, 12)
-+#define MX6_SABRELITE_CAN1_STBY               IMX_GPIO_NR(1, 2)
-+#define MX6_SABRELITE_CAN1_EN         IMX_GPIO_NR(1, 4)
-+#define MX6_SABRELITE_CAN1_ERR                IMX_GPIO_NR(1, 7)
-+#define MX6_SABRELITE_MENU_KEY                IMX_GPIO_NR(2, 1)
-+#define MX6_SABRELITE_BACK_KEY                IMX_GPIO_NR(2, 2)
-+#define MX6_SABRELITE_ONOFF_KEY               IMX_GPIO_NR(2, 3)
-+#define MX6_SABRELITE_HOME_KEY                IMX_GPIO_NR(2, 4)
-+#define MX6_SABRELITE_VOL_UP_KEY      IMX_GPIO_NR(7, 13)
-+#define MX6_SABRELITE_VOL_DOWN_KEY    IMX_GPIO_NR(4, 5)
-+#define MX6_SABRELITE_CSI0_RST                IMX_GPIO_NR(1, 8)
-+#define MX6_SABRELITE_CSI0_PWN                IMX_GPIO_NR(1, 6)
-+#define MX6_SABRELITE_ENET_PHY_INT    IMX_GPIO_NR(1, 28)
-+
-+#define N6_WL1271_WL_IRQ              IMX_GPIO_NR(6, 14)
-+#define N6_WL1271_WL_EN                       IMX_GPIO_NR(6, 15)
-+#define N6_WL1271_BT_EN                       IMX_GPIO_NR(6, 16)
-+
-+#define MX6_SABRELITE_CAN1_ERR_TEST_PADCFG    (PAD_CTL_PKE | PAD_CTL_PUE | \
-+              PAD_CTL_PUS_100K_DOWN | PAD_CTL_SPEED_MED | \
-+              PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
-+#define MX6_SABRELITE_CAN1_ERR_PADCFG         (PAD_CTL_PUE | \
-+              PAD_CTL_PUS_100K_DOWN | PAD_CTL_SPEED_MED | \
-+              PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
-+#define MX6_SABRELITE_SD3_WP_PADCFG   (PAD_CTL_PKE | PAD_CTL_PUE |    \
-               PAD_CTL_PUS_22K_UP | PAD_CTL_SPEED_MED |        \
-               PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
-+#define WEAK_PULLUP   (PAD_CTL_HYS | PAD_CTL_PKE \
-+                       | PAD_CTL_PUE | PAD_CTL_PUS_100K_UP)
-+
-+#define N6_IRQ_PADCFG         (PAD_CTL_PUE | PAD_CTL_PUS_100K_DOWN | PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
-+#define N6_IRQ_TEST_PADCFG    (PAD_CTL_PKE | N6_IRQ_PADCFG)
-+#define N6_EN_PADCFG          (PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm)
-+
-+#include "pads-mx6_sabrelite.h"
-+#define FOR_DL_SOLO
-+#include "pads-mx6_sabrelite.h"
-+
- void __init early_console_setup(unsigned long base, struct clk *clk);
- static struct clk *sata_clk;
-@@ -108,252 +135,49 @@ static int caam_enabled;
- extern struct regulator *(*get_cpu_regulator)(void);
- extern void (*put_cpu_regulator)(void);
--static iomux_v3_cfg_t mx6q_sabrelite_pads[] = {
--      /* AUDMUX */
--      MX6Q_PAD_SD2_DAT0__AUDMUX_AUD4_RXD,
--      MX6Q_PAD_SD2_DAT3__AUDMUX_AUD4_TXC,
--      MX6Q_PAD_SD2_DAT2__AUDMUX_AUD4_TXD,
--      MX6Q_PAD_SD2_DAT1__AUDMUX_AUD4_TXFS,
--
--      /* CAN1  */
--      MX6Q_PAD_KEY_ROW2__CAN1_RXCAN,
--      MX6Q_PAD_KEY_COL2__CAN1_TXCAN,
--      MX6Q_PAD_GPIO_2__GPIO_1_2,              /* STNDBY */
--      MX6Q_PAD_GPIO_7__GPIO_1_7,              /* NERR */
--      MX6Q_PAD_GPIO_4__GPIO_1_4,              /* Enable */
--
--      /* CCM  */
--      MX6Q_PAD_GPIO_0__CCM_CLKO,              /* SGTL500 sys_mclk */
--      MX6Q_PAD_GPIO_3__CCM_CLKO2,             /* J5 - Camera MCLK */
--
--      /* ECSPI1 */
--      MX6Q_PAD_EIM_D17__ECSPI1_MISO,
--      MX6Q_PAD_EIM_D18__ECSPI1_MOSI,
--      MX6Q_PAD_EIM_D16__ECSPI1_SCLK,
--      MX6Q_PAD_EIM_D19__GPIO_3_19,    /*SS1*/
--
--      /* ENET */
--      MX6Q_PAD_ENET_MDIO__ENET_MDIO,
--      MX6Q_PAD_ENET_MDC__ENET_MDC,
--      MX6Q_PAD_RGMII_TXC__ENET_RGMII_TXC,
--      MX6Q_PAD_RGMII_TD0__ENET_RGMII_TD0,
--      MX6Q_PAD_RGMII_TD1__ENET_RGMII_TD1,
--      MX6Q_PAD_RGMII_TD2__ENET_RGMII_TD2,
--      MX6Q_PAD_RGMII_TD3__ENET_RGMII_TD3,
--      MX6Q_PAD_RGMII_TX_CTL__ENET_RGMII_TX_CTL,
--      MX6Q_PAD_ENET_REF_CLK__ENET_TX_CLK,
--      MX6Q_PAD_RGMII_RXC__ENET_RGMII_RXC,
--      MX6Q_PAD_RGMII_RD0__ENET_RGMII_RD0,
--      MX6Q_PAD_RGMII_RD1__ENET_RGMII_RD1,
--      MX6Q_PAD_RGMII_RD2__ENET_RGMII_RD2,
--      MX6Q_PAD_RGMII_RD3__ENET_RGMII_RD3,
--      MX6Q_PAD_RGMII_RX_CTL__ENET_RGMII_RX_CTL,
--      MX6Q_PAD_ENET_TX_EN__GPIO_1_28,         /* Micrel RGMII Phy Interrupt */
--      MX6Q_PAD_EIM_D23__GPIO_3_23,            /* RGMII reset */
--
--      /* GPIO1 */
--      MX6Q_PAD_ENET_RX_ER__GPIO_1_24,         /* J9 - Microphone Detect */
--
--      /* GPIO2 */
--      MX6Q_PAD_NANDF_D1__GPIO_2_1,    /* J14 - Menu Button */
--      MX6Q_PAD_NANDF_D2__GPIO_2_2,    /* J14 - Back Button */
--      MX6Q_PAD_NANDF_D3__GPIO_2_3,    /* J14 - Search Button */
--      MX6Q_PAD_NANDF_D4__GPIO_2_4,    /* J14 - Home Button */
--      MX6Q_PAD_EIM_A22__GPIO_2_16,    /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_A21__GPIO_2_17,    /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_A20__GPIO_2_18,    /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_A19__GPIO_2_19,    /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_A18__GPIO_2_20,    /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_A17__GPIO_2_21,    /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_A16__GPIO_2_22,    /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_RW__GPIO_2_26,     /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_LBA__GPIO_2_27,    /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_EB0__GPIO_2_28,    /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_EB1__GPIO_2_29,    /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_EB3__GPIO_2_31,    /* J12 - Boot Mode Select */
--
--      /* GPIO3 */
--      MX6Q_PAD_EIM_DA0__GPIO_3_0,     /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA1__GPIO_3_1,     /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA2__GPIO_3_2,     /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA3__GPIO_3_3,     /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA4__GPIO_3_4,     /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA5__GPIO_3_5,     /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA6__GPIO_3_6,     /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA7__GPIO_3_7,     /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA8__GPIO_3_8,     /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA9__GPIO_3_9,     /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA10__GPIO_3_10,   /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA11__GPIO_3_11,   /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA12__GPIO_3_12,   /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA13__GPIO_3_13,   /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA14__GPIO_3_14,   /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_DA15__GPIO_3_15,   /* J12 - Boot Mode Select */
--
--      /* GPIO4 */
--      MX6Q_PAD_GPIO_19__GPIO_4_5,     /* J14 - Volume Down */
--
--      /* GPIO5 */
--      MX6Q_PAD_EIM_WAIT__GPIO_5_0,    /* J12 - Boot Mode Select */
--      MX6Q_PAD_EIM_A24__GPIO_5_4,     /* J12 - Boot Mode Select */
--
--      /* GPIO6 */
--      MX6Q_PAD_EIM_A23__GPIO_6_6,     /* J12 - Boot Mode Select */
--
--      /* GPIO7 */
--      MX6Q_PAD_GPIO_17__GPIO_7_12,    /* USB Hub Reset */
--      MX6Q_PAD_GPIO_18__GPIO_7_13,    /* J14 - Volume Up */
--
--      /* I2C1, SGTL5000 */
--      MX6Q_PAD_EIM_D21__I2C1_SCL,     /* GPIO3[21] */
--      MX6Q_PAD_EIM_D28__I2C1_SDA,     /* GPIO3[28] */
--
--      /* I2C2 Camera, MIPI */
--      MX6Q_PAD_KEY_COL3__I2C2_SCL,    /* GPIO4[12] */
--      MX6Q_PAD_KEY_ROW3__I2C2_SDA,    /* GPIO4[13] */
--
--      /* I2C3 */
--      MX6Q_PAD_GPIO_5__I2C3_SCL,      /* GPIO1[5] - J7 - Display card */
--#ifdef CONFIG_FEC_1588
--      MX6Q_PAD_GPIO_16__ENET_ANATOP_ETHERNET_REF_OUT,
--#else
--      MX6Q_PAD_GPIO_16__I2C3_SDA,     /* GPIO7[11] - J15 - RGB connector */
--#endif
-+#define IOMUX_SETUP(pad_list) mxc_iomux_v3_setup_pads(mx6q_##pad_list, \
-+              mx6dl_solo_##pad_list)
--      /* DISPLAY */
--      MX6Q_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK,
--      MX6Q_PAD_DI0_PIN15__IPU1_DI0_PIN15,             /* DE */
--      MX6Q_PAD_DI0_PIN2__IPU1_DI0_PIN2,               /* HSync */
--      MX6Q_PAD_DI0_PIN3__IPU1_DI0_PIN3,               /* VSync */
--      MX6Q_PAD_DI0_PIN4__IPU1_DI0_PIN4,               /* Contrast */
--      MX6Q_PAD_DISP0_DAT0__IPU1_DISP0_DAT_0,
--      MX6Q_PAD_DISP0_DAT1__IPU1_DISP0_DAT_1,
--      MX6Q_PAD_DISP0_DAT2__IPU1_DISP0_DAT_2,
--      MX6Q_PAD_DISP0_DAT3__IPU1_DISP0_DAT_3,
--      MX6Q_PAD_DISP0_DAT4__IPU1_DISP0_DAT_4,
--      MX6Q_PAD_DISP0_DAT5__IPU1_DISP0_DAT_5,
--      MX6Q_PAD_DISP0_DAT6__IPU1_DISP0_DAT_6,
--      MX6Q_PAD_DISP0_DAT7__IPU1_DISP0_DAT_7,
--      MX6Q_PAD_DISP0_DAT8__IPU1_DISP0_DAT_8,
--      MX6Q_PAD_DISP0_DAT9__IPU1_DISP0_DAT_9,
--      MX6Q_PAD_DISP0_DAT10__IPU1_DISP0_DAT_10,
--      MX6Q_PAD_DISP0_DAT11__IPU1_DISP0_DAT_11,
--      MX6Q_PAD_DISP0_DAT12__IPU1_DISP0_DAT_12,
--      MX6Q_PAD_DISP0_DAT13__IPU1_DISP0_DAT_13,
--      MX6Q_PAD_DISP0_DAT14__IPU1_DISP0_DAT_14,
--      MX6Q_PAD_DISP0_DAT15__IPU1_DISP0_DAT_15,
--      MX6Q_PAD_DISP0_DAT16__IPU1_DISP0_DAT_16,
--      MX6Q_PAD_DISP0_DAT17__IPU1_DISP0_DAT_17,
--      MX6Q_PAD_DISP0_DAT18__IPU1_DISP0_DAT_18,
--      MX6Q_PAD_DISP0_DAT19__IPU1_DISP0_DAT_19,
--      MX6Q_PAD_DISP0_DAT20__IPU1_DISP0_DAT_20,
--      MX6Q_PAD_DISP0_DAT21__IPU1_DISP0_DAT_21,
--      MX6Q_PAD_DISP0_DAT22__IPU1_DISP0_DAT_22,
--      MX6Q_PAD_DISP0_DAT23__IPU1_DISP0_DAT_23,
--      MX6Q_PAD_GPIO_7__GPIO_1_7,              /* J7 - Display Connector GP */
--      MX6Q_PAD_GPIO_9__GPIO_1_9,              /* J7 - Display Connector GP */
--      MX6Q_PAD_NANDF_D0__GPIO_2_0,            /* J6 - LVDS Display contrast */
--
--
--      /* PWM1 */
--      MX6Q_PAD_SD1_DAT3__PWM1_PWMO,           /* GPIO1[21] */
--
--      /* PWM2 */
--      MX6Q_PAD_SD1_DAT2__PWM2_PWMO,           /* GPIO1[19] */
--
--      /* PWM3 */
--      MX6Q_PAD_SD1_DAT1__PWM3_PWMO,           /* GPIO1[17] */
--
--      /* PWM4 */
--      MX6Q_PAD_SD1_CMD__PWM4_PWMO,            /* GPIO1[18] */
--
--      /* UART1  */
--      MX6Q_PAD_SD3_DAT7__UART1_TXD,
--      MX6Q_PAD_SD3_DAT6__UART1_RXD,
--
--      /* UART2 for debug */
--      MX6Q_PAD_EIM_D26__UART2_TXD,
--      MX6Q_PAD_EIM_D27__UART2_RXD,
--
--      /* USBOTG ID pin */
--      MX6Q_PAD_GPIO_1__USBOTG_ID,
--
--      /* USB OC pin */
--      MX6Q_PAD_KEY_COL4__USBOH3_USBOTG_OC,
--      MX6Q_PAD_EIM_D30__USBOH3_USBH1_OC,
--
--      /* USDHC3 */
--      MX6Q_PAD_SD3_CLK__USDHC3_CLK_50MHZ,
--      MX6Q_PAD_SD3_CMD__USDHC3_CMD_50MHZ,
--      MX6Q_PAD_SD3_DAT0__USDHC3_DAT0_50MHZ,
--      MX6Q_PAD_SD3_DAT1__USDHC3_DAT1_50MHZ,
--      MX6Q_PAD_SD3_DAT2__USDHC3_DAT2_50MHZ,
--      MX6Q_PAD_SD3_DAT3__USDHC3_DAT3_50MHZ,
--      MX6Q_PAD_SD3_DAT5__GPIO_7_0,            /* J18 - SD3_CD */
--      NEW_PAD_CTRL(MX6Q_PAD_SD3_DAT4__GPIO_7_1, MX6Q_SABRELITE_SD3_WP_PADCFG),
--
--      /* USDHC4 */
--      MX6Q_PAD_SD4_CLK__USDHC4_CLK_50MHZ,
--      MX6Q_PAD_SD4_CMD__USDHC4_CMD_50MHZ,
--      MX6Q_PAD_SD4_DAT0__USDHC4_DAT0_50MHZ,
--      MX6Q_PAD_SD4_DAT1__USDHC4_DAT1_50MHZ,
--      MX6Q_PAD_SD4_DAT2__USDHC4_DAT2_50MHZ,
--      MX6Q_PAD_SD4_DAT3__USDHC4_DAT3_50MHZ,
--      MX6Q_PAD_NANDF_D6__GPIO_2_6,            /* J20 - SD4_CD */
--      MX6Q_PAD_NANDF_D7__GPIO_2_7,            /* SD4_WP */
--};
--
--static iomux_v3_cfg_t mx6q_sabrelite_csi0_sensor_pads[] = {
--      /* IPU1 Camera */
--      MX6Q_PAD_CSI0_DAT8__IPU1_CSI0_D_8,
--      MX6Q_PAD_CSI0_DAT9__IPU1_CSI0_D_9,
--      MX6Q_PAD_CSI0_DAT10__IPU1_CSI0_D_10,
--      MX6Q_PAD_CSI0_DAT11__IPU1_CSI0_D_11,
--      MX6Q_PAD_CSI0_DAT12__IPU1_CSI0_D_12,
--      MX6Q_PAD_CSI0_DAT13__IPU1_CSI0_D_13,
--      MX6Q_PAD_CSI0_DAT14__IPU1_CSI0_D_14,
--      MX6Q_PAD_CSI0_DAT15__IPU1_CSI0_D_15,
--      MX6Q_PAD_CSI0_DAT16__IPU1_CSI0_D_16,
--      MX6Q_PAD_CSI0_DAT17__IPU1_CSI0_D_17,
--      MX6Q_PAD_CSI0_DAT18__IPU1_CSI0_D_18,
--      MX6Q_PAD_CSI0_DAT19__IPU1_CSI0_D_19,
--      MX6Q_PAD_CSI0_DATA_EN__IPU1_CSI0_DATA_EN,
--      MX6Q_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC,
--      MX6Q_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK,
--      MX6Q_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC,
--      MX6Q_PAD_GPIO_6__GPIO_1_6,              /* J5 - Camera GP */
--      MX6Q_PAD_GPIO_8__GPIO_1_8,              /* J5 - Camera Reset */
--      MX6Q_PAD_SD1_DAT0__GPIO_1_16,           /* J5 - Camera GP */
--      MX6Q_PAD_NANDF_D5__GPIO_2_5,            /* J16 - MIPI GP */
--      MX6Q_PAD_NANDF_WP_B__GPIO_6_9,          /* J16 - MIPI GP */
--};
--
--static iomux_v3_cfg_t mx6q_sabrelite_hdmi_ddc_pads[] = {
--      MX6Q_PAD_KEY_COL3__HDMI_TX_DDC_SCL, /* HDMI DDC SCL */
--      MX6Q_PAD_KEY_ROW3__HDMI_TX_DDC_SDA, /* HDMI DDC SDA */
--};
--
--static iomux_v3_cfg_t mx6q_sabrelite_i2c2_pads[] = {
--      MX6Q_PAD_KEY_COL3__I2C2_SCL,    /* I2C2 SCL */
--      MX6Q_PAD_KEY_ROW3__I2C2_SDA,    /* I2C2 SDA */
--};
--
--#define MX6Q_USDHC_PAD_SETTING(id, speed)     \
--mx6q_sd##id##_##speed##mhz[] = {              \
--      MX6Q_PAD_SD##id##_CLK__USDHC##id##_CLK_##speed##MHZ,    \
--      MX6Q_PAD_SD##id##_CMD__USDHC##id##_CMD_##speed##MHZ,    \
--      MX6Q_PAD_SD##id##_DAT0__USDHC##id##_DAT0_##speed##MHZ,  \
--      MX6Q_PAD_SD##id##_DAT1__USDHC##id##_DAT1_##speed##MHZ,  \
--      MX6Q_PAD_SD##id##_DAT2__USDHC##id##_DAT2_##speed##MHZ,  \
--      MX6Q_PAD_SD##id##_DAT3__USDHC##id##_DAT3_##speed##MHZ,  \
-+int mxc_iomux_v3_setup_pads(iomux_v3_cfg_t *mx6q_pad_list,
-+              iomux_v3_cfg_t *mx6dl_solo_pad_list)
-+{
-+        iomux_v3_cfg_t *p = cpu_is_mx6q() ? mx6q_pad_list : mx6dl_solo_pad_list;
-+        int ret;
-+
-+        while (*p) {
-+                ret = mxc_iomux_v3_setup_pad(*p);
-+                if (ret)
-+                        return ret;
-+                p++;
-+        }
-+        return 0;
- }
--static iomux_v3_cfg_t MX6Q_USDHC_PAD_SETTING(3, 50);
--static iomux_v3_cfg_t MX6Q_USDHC_PAD_SETTING(3, 100);
--static iomux_v3_cfg_t MX6Q_USDHC_PAD_SETTING(3, 200);
--static iomux_v3_cfg_t MX6Q_USDHC_PAD_SETTING(4, 50);
--static iomux_v3_cfg_t MX6Q_USDHC_PAD_SETTING(4, 100);
--static iomux_v3_cfg_t MX6Q_USDHC_PAD_SETTING(4, 200);
-+struct gpio n6w_wl1271_gpios[] __initdata = {
-+      {.label = "wl1271_int",         .gpio = N6_WL1271_WL_IRQ,       .flags = GPIOF_DIR_IN},
-+      {.label = "wl1271_bt_en",       .gpio = N6_WL1271_BT_EN,        .flags = 0},
-+      {.label = "wl1271_wl_en",       .gpio = N6_WL1271_WL_EN,        .flags = 0},
-+};
-+
-+int is_nitrogen6w(void)
-+{
-+      int ret = gpio_request_array(n6w_wl1271_gpios,
-+                      ARRAY_SIZE(n6w_wl1271_gpios));
-+      if (ret) {
-+              printk(KERN_ERR "%s gpio_request_array failed("
-+                              "%d) for n6w_wl1271_gpios\n", __func__, ret);
-+              return ret;
-+      }
-+      ret = gpio_get_value(N6_WL1271_WL_IRQ);
-+      if (ret <= 0) {
-+              /* Sabrelite, not nitrogen6w */
-+              gpio_free(N6_WL1271_WL_IRQ);
-+              gpio_free(N6_WL1271_WL_EN);
-+              gpio_free(N6_WL1271_BT_EN);
-+              ret = 0;
-+      }
-+      return ret;
-+}
- enum sd_pad_mode {
-       SD_PAD_MODE_LOW_SPEED,
-@@ -365,35 +189,9 @@ static int plt_sd_pad_change(unsigned int index, int clock)
- {
-       /* LOW speed is the default state of SD pads */
-       static enum sd_pad_mode pad_mode = SD_PAD_MODE_LOW_SPEED;
-+      int i = (index - 1) * SD_SPEED_CNT;
--      iomux_v3_cfg_t *sd_pads_200mhz = NULL;
--      iomux_v3_cfg_t *sd_pads_100mhz = NULL;
--      iomux_v3_cfg_t *sd_pads_50mhz = NULL;
--
--      u32 sd_pads_200mhz_cnt;
--      u32 sd_pads_100mhz_cnt;
--      u32 sd_pads_50mhz_cnt;
--
--      switch (index) {
--      case 2:
--              sd_pads_200mhz = mx6q_sd3_200mhz;
--              sd_pads_100mhz = mx6q_sd3_100mhz;
--              sd_pads_50mhz = mx6q_sd3_50mhz;
--
--              sd_pads_200mhz_cnt = ARRAY_SIZE(mx6q_sd3_200mhz);
--              sd_pads_100mhz_cnt = ARRAY_SIZE(mx6q_sd3_100mhz);
--              sd_pads_50mhz_cnt = ARRAY_SIZE(mx6q_sd3_50mhz);
--              break;
--      case 3:
--              sd_pads_200mhz = mx6q_sd4_200mhz;
--              sd_pads_100mhz = mx6q_sd4_100mhz;
--              sd_pads_50mhz = mx6q_sd4_50mhz;
--
--              sd_pads_200mhz_cnt = ARRAY_SIZE(mx6q_sd4_200mhz);
--              sd_pads_100mhz_cnt = ARRAY_SIZE(mx6q_sd4_100mhz);
--              sd_pads_50mhz_cnt = ARRAY_SIZE(mx6q_sd4_50mhz);
--              break;
--      default:
-+      if ((index < 1) || (index > 3)) {
-               printk(KERN_ERR "no such SD host controller index %d\n", index);
-               return -EINVAL;
-       }
-@@ -401,61 +199,71 @@ static int plt_sd_pad_change(unsigned int index, int clock)
-       if (clock > 100000000) {
-               if (pad_mode == SD_PAD_MODE_HIGH_SPEED)
-                       return 0;
--              BUG_ON(!sd_pads_200mhz);
-               pad_mode = SD_PAD_MODE_HIGH_SPEED;
--              return mxc_iomux_v3_setup_multiple_pads(sd_pads_200mhz,
--                                                      sd_pads_200mhz_cnt);
-+              i += _200MHZ;
-       } else if (clock > 52000000) {
-               if (pad_mode == SD_PAD_MODE_MED_SPEED)
-                       return 0;
--              BUG_ON(!sd_pads_100mhz);
-               pad_mode = SD_PAD_MODE_MED_SPEED;
--              return mxc_iomux_v3_setup_multiple_pads(sd_pads_100mhz,
--                                                      sd_pads_100mhz_cnt);
-+              i += _100MHZ;
-       } else {
-               if (pad_mode == SD_PAD_MODE_LOW_SPEED)
-                       return 0;
--              BUG_ON(!sd_pads_50mhz);
-               pad_mode = SD_PAD_MODE_LOW_SPEED;
--              return mxc_iomux_v3_setup_multiple_pads(sd_pads_50mhz,
--                                                      sd_pads_50mhz_cnt);
-+              i += _50MHZ;
-       }
-+      return IOMUX_SETUP(sd_pads[i]);
- }
--static const struct esdhc_platform_data mx6q_sabrelite_sd3_data __initconst = {
--      .cd_gpio = MX6Q_SABRELITE_SD3_CD,
--      .wp_gpio = MX6Q_SABRELITE_SD3_WP,
-+#ifdef CONFIG_WL12XX_PLATFORM_DATA
-+static struct esdhc_platform_data mx6_sabrelite_sd2_data = {
-+      .always_present = 1,
-+      .cd_gpio = -1,
-+      .wp_gpio = -1,
-+      .keep_power_at_suspend = 0,
-+      .caps = MMC_CAP_POWER_OFF_CARD,
-+      .platform_pad_change = plt_sd_pad_change,
-+};
-+#endif
-+
-+static struct esdhc_platform_data mx6_sabrelite_sd3_data = {
-+      .cd_gpio = MX6_SABRELITE_SD3_CD,
-+      .wp_gpio = MX6_SABRELITE_SD3_WP,
-       .keep_power_at_suspend = 1,
-       .platform_pad_change = plt_sd_pad_change,
- };
--static const struct esdhc_platform_data mx6q_sabrelite_sd4_data __initconst = {
--      .cd_gpio = MX6Q_SABRELITE_SD4_CD,
--      .wp_gpio = MX6Q_SABRELITE_SD4_WP,
-+static const struct esdhc_platform_data mx6_sabrelite_sd4_data __initconst = {
-+      .cd_gpio = MX6_SABRELITE_SD4_CD,
-+      .wp_gpio = -1,
-       .keep_power_at_suspend = 1,
-       .platform_pad_change = plt_sd_pad_change,
- };
- static const struct anatop_thermal_platform_data
--      mx6q_sabrelite_anatop_thermal_data __initconst = {
-+      mx6_sabrelite_anatop_thermal_data __initconst = {
-               .name = "anatop_thermal",
- };
--static inline void mx6q_sabrelite_init_uart(void)
--{
--      imx6q_add_imx_uart(0, NULL);
--      imx6q_add_imx_uart(1, NULL);
--}
-+static const struct imxuart_platform_data mx6_arm2_uart2_data __initconst = {
-+      .flags      = IMXUART_HAVE_RTSCTS | IMXUART_SDMA,
-+      .dma_req_rx = MX6Q_DMA_REQ_UART3_RX,
-+      .dma_req_tx = MX6Q_DMA_REQ_UART3_TX,
-+};
--static int mx6q_sabrelite_fec_phy_init(struct phy_device *phydev)
-+static int mx6_sabrelite_fec_phy_init(struct phy_device *phydev)
- {
--      /* prefer master mode, disable 1000 Base-T capable */
--      phy_write(phydev, 0x9, 0x1c00);
-+      /* prefer master mode */
-+      phy_write(phydev, 0x9, 0x1f00);
-       /* min rx data delay */
-       phy_write(phydev, 0x0b, 0x8105);
-       phy_write(phydev, 0x0c, 0x0000);
-+      /* min tx data delay */
-+      phy_write(phydev, 0x0b, 0x8106);
-+      phy_write(phydev, 0x0c, 0x0000);
-+
-       /* max rx/tx clock delay, min rx/tx control delay */
-       phy_write(phydev, 0x0b, 0x8104);
-       phy_write(phydev, 0x0c, 0xf0f0);
-@@ -465,17 +273,18 @@ static int mx6q_sabrelite_fec_phy_init(struct phy_device *phydev)
- }
- static struct fec_platform_data fec_data __initdata = {
--      .init = mx6q_sabrelite_fec_phy_init,
-+      .init = mx6_sabrelite_fec_phy_init,
-       .phy = PHY_INTERFACE_MODE_RGMII,
-+      .phy_irq = gpio_to_irq(MX6_SABRELITE_ENET_PHY_INT)
- };
--static int mx6q_sabrelite_spi_cs[] = {
--      MX6Q_SABRELITE_ECSPI1_CS1,
-+static int mx6_sabrelite_spi_cs[] = {
-+      MX6_SABRELITE_ECSPI1_CS1,
- };
--static const struct spi_imx_master mx6q_sabrelite_spi_data __initconst = {
--      .chipselect     = mx6q_sabrelite_spi_cs,
--      .num_chipselect = ARRAY_SIZE(mx6q_sabrelite_spi_cs),
-+static const struct spi_imx_master mx6_sabrelite_spi_data __initconst = {
-+      .chipselect     = mx6_sabrelite_spi_cs,
-+      .num_chipselect = ARRAY_SIZE(mx6_sabrelite_spi_cs),
- };
- #if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE)
-@@ -483,10 +292,15 @@ static struct mtd_partition imx6_sabrelite_spi_nor_partitions[] = {
-       {
-        .name = "bootloader",
-        .offset = 0,
--       .size = 0x00100000,
-+       .size = 768*1024,
-+      },
-+      {
-+       .name = "ubparams",
-+       .offset = MTDPART_OFS_APPEND,
-+       .size = 8*1024,
-       },
-       {
--       .name = "kernel",
-+       .name = "unused",
-        .offset = MTDPART_OFS_APPEND,
-        .size = MTDPART_SIZ_FULL,
-       },
-@@ -565,7 +379,7 @@ static struct platform_device mx6_sabrelite_audio_device = {
-       .name = "imx-sgtl5000",
- };
--static struct imxi2c_platform_data mx6q_sabrelite_i2c_data = {
-+static struct imxi2c_platform_data mx6_sabrelite_i2c_data = {
-       .bitrate = 100000,
- };
-@@ -575,35 +389,58 @@ static struct i2c_board_info mxc_i2c0_board_info[] __initdata = {
-       },
- };
--static void mx6q_csi0_cam_powerdown(int powerdown)
-+static void mx6_csi0_cam_powerdown(int powerdown)
- {
-       if (powerdown)
--              gpio_set_value(MX6Q_SABRELITE_CSI0_PWN, 1);
-+              gpio_set_value(MX6_SABRELITE_CSI0_PWN, 1);
-       else
--              gpio_set_value(MX6Q_SABRELITE_CSI0_PWN, 0);
-+              gpio_set_value(MX6_SABRELITE_CSI0_PWN, 0);
-       msleep(2);
- }
--static void mx6q_csi0_io_init(void)
-+static void camera_reset(int power_gp, int reset_gp, int reset_gp2)
- {
--      mxc_iomux_v3_setup_multiple_pads(mx6q_sabrelite_csi0_sensor_pads,
--                      ARRAY_SIZE(mx6q_sabrelite_csi0_sensor_pads));
--
-       /* Camera power down */
--      gpio_request(MX6Q_SABRELITE_CSI0_PWN, "cam-pwdn");
--      gpio_direction_output(MX6Q_SABRELITE_CSI0_PWN, 1);
-+      gpio_request(power_gp, "cam-pwdn");
-+      gpio_request(reset_gp, "cam-reset");
-+      gpio_request(reset_gp2, "cam-reset2");
-+      gpio_direction_output(power_gp, 1);
-+      /* Camera reset */
-+      gpio_direction_output(reset_gp, 0);
-+      gpio_direction_output(reset_gp2, 0);
-       msleep(1);
--      gpio_set_value(MX6Q_SABRELITE_CSI0_PWN, 0);
-+      gpio_set_value(power_gp, 0);
-+      msleep(1);
-+      gpio_set_value(reset_gp, 1);
-+      gpio_set_value(reset_gp2, 1);
-+}
--      /* Camera reset */
--      gpio_request(MX6Q_SABRELITE_CSI0_RST, "cam-reset");
--      gpio_direction_output(MX6Q_SABRELITE_CSI0_RST, 1);
-+#if defined(CONFIG_MXC_CAMERA_OV5640_MIPI) || defined(CONFIG_MXC_CAMERA_OV5640_MIPI_MODULE)
-+static void mx6_mipi_sensor_io_init(void)
-+{
-+      IOMUX_SETUP(sabrelite_mipi_pads);
--      gpio_set_value(MX6Q_SABRELITE_CSI0_RST, 0);
--      msleep(1);
--      gpio_set_value(MX6Q_SABRELITE_CSI0_RST, 1);
-+      camera_reset(MX6_SABRELITE_CSI0_PWN, IMX_GPIO_NR(2, 5),
-+                      IMX_GPIO_NR(6, 11));
-+/*for mx6dl, mipi virtual channel 1 connect to csi 1*/
-+      if (cpu_is_mx6dl())
-+              mxc_iomux_set_gpr_register(13, 3, 3, 1);
-+}
-+
-+static struct fsl_mxc_camera_platform_data ov5640_mipi_data = {
-+      .mclk = 24000000,
-+      .csi = 0,
-+      .io_init = mx6_mipi_sensor_io_init,
-+      .pwdn = mx6_csi0_cam_powerdown,
-+};
-+#else
-+static void mx6_csi0_io_init(void)
-+{
-+      IOMUX_SETUP(sabrelite_csi0_sensor_pads);
-+      camera_reset(MX6_SABRELITE_CSI0_PWN, MX6_SABRELITE_CSI0_RST,
-+                      IMX_GPIO_NR(6, 11));
-       /* For MX6Q GPR1 bit19 and bit20 meaning:
-        * Bit19:       0 - Enable mipi to IPU1 CSI0
-        *                      virtual channel is fixed to 0
-@@ -616,43 +453,72 @@ static void mx6q_csi0_io_init(void)
-        * IPU2 CSI0 directly connect to mipi csi2,
-        *      virtual channel is fixed to 2
-        */
--      mxc_iomux_set_gpr_register(1, 19, 1, 1);
-+      if (cpu_is_mx6q())
-+              mxc_iomux_set_gpr_register(1, 19, 1, 1);
-+      else
-+              mxc_iomux_set_gpr_register(13, 0, 3, 4);
- }
- static struct fsl_mxc_camera_platform_data camera_data = {
-       .mclk = 24000000,
-       .mclk_source = 0,
-       .csi = 0,
--      .io_init = mx6q_csi0_io_init,
--      .pwdn = mx6q_csi0_cam_powerdown,
-+      .io_init = mx6_csi0_io_init,
-+      .pwdn = mx6_csi0_cam_powerdown,
- };
-+#endif
-+
- static struct i2c_board_info mxc_i2c1_board_info[] __initdata = {
-       {
-               I2C_BOARD_INFO("mxc_hdmi_i2c", 0x50),
-       },
-+#if defined(CONFIG_MXC_CAMERA_OV5640_MIPI) || defined(CONFIG_MXC_CAMERA_OV5640_MIPI_MODULE)
-+      {
-+              I2C_BOARD_INFO("ov5640_mipi", 0x3c),
-+              .platform_data = (void *)&ov5640_mipi_data,
-+      },
-+#else
-       {
-               I2C_BOARD_INFO("ov5642", 0x3c),
-               .platform_data = (void *)&camera_data,
-       },
-+#endif
-+};
-+
-+static struct tsc2007_platform_data tsc2007_info = {
-+      .model                  = 2004,
-+      .x_plate_ohms           = 500,
- };
- static struct i2c_board_info mxc_i2c2_board_info[] __initdata = {
-       {
-               I2C_BOARD_INFO("egalax_ts", 0x4),
--              .irq = gpio_to_irq(MX6Q_SABRELITE_CAP_TCH_INT1),
-+              .irq = gpio_to_irq(MX6_SABRELITE_CAP_TCH_INT1),
-+      },
-+      {
-+              I2C_BOARD_INFO("tsc2004", 0x48),
-+              .platform_data  = &tsc2007_info,
-+              .irq = gpio_to_irq(MX6_SABRELITE_DRGB_IRQGPIO),
-       },
-+#if defined(CONFIG_TOUCHSCREEN_FT5X06) \
-+      || defined(CONFIG_TOUCHSCREEN_FT5X06_MODULE)
-+      {
-+              I2C_BOARD_INFO("ft5x06-ts", 0x38),
-+              .irq = gpio_to_irq(MX6_SABRELITE_CAP_TCH_INT1),
-+      },
-+#endif
- };
--static void imx6q_sabrelite_usbotg_vbus(bool on)
-+static void imx6_sabrelite_usbotg_vbus(bool on)
- {
-       if (on)
--              gpio_set_value(MX6Q_SABRELITE_USB_OTG_PWR, 1);
-+              gpio_set_value(MX6_SABRELITE_USB_OTG_PWR, 1);
-       else
--              gpio_set_value(MX6Q_SABRELITE_USB_OTG_PWR, 0);
-+              gpio_set_value(MX6_SABRELITE_USB_OTG_PWR, 0);
- }
--static void __init imx6q_sabrelite_init_usb(void)
-+static void __init imx6_sabrelite_init_usb(void)
- {
-       int ret = 0;
-@@ -660,20 +526,20 @@ static void __init imx6q_sabrelite_init_usb(void)
-       /* disable external charger detect,
-        * or it will affect signal quality at dp .
-        */
--      ret = gpio_request(MX6Q_SABRELITE_USB_OTG_PWR, "usb-pwr");
-+      ret = gpio_request(MX6_SABRELITE_USB_OTG_PWR, "usb-pwr");
-       if (ret) {
--              pr_err("failed to get GPIO MX6Q_SABRELITE_USB_OTG_PWR: %d\n",
-+              pr_err("failed to get GPIO MX6_SABRELITE_USB_OTG_PWR: %d\n",
-                       ret);
-               return;
-       }
--      gpio_direction_output(MX6Q_SABRELITE_USB_OTG_PWR, 0);
-+      gpio_direction_output(MX6_SABRELITE_USB_OTG_PWR, 0);
-       mxc_iomux_set_gpr_register(1, 13, 1, 1);
--      mx6_set_otghost_vbus_func(imx6q_sabrelite_usbotg_vbus);
-+      mx6_set_otghost_vbus_func(imx6_sabrelite_usbotg_vbus);
- }
- /* HW Initialization, if return 0, initialization is successful. */
--static int mx6q_sabrelite_sata_init(struct device *dev, void __iomem *addr)
-+static int mx6_sabrelite_sata_init(struct device *dev, void __iomem *addr)
- {
-       u32 tmpdata;
-       int ret = 0;
-@@ -733,39 +599,45 @@ put_sata_clk:
-       return ret;
- }
--static void mx6q_sabrelite_sata_exit(struct device *dev)
-+static void mx6_sabrelite_sata_exit(struct device *dev)
- {
-       clk_disable(sata_clk);
-       clk_put(sata_clk);
- }
--static struct ahci_platform_data mx6q_sabrelite_sata_data = {
--      .init = mx6q_sabrelite_sata_init,
--      .exit = mx6q_sabrelite_sata_exit,
-+static struct ahci_platform_data mx6_sabrelite_sata_data = {
-+      .init = mx6_sabrelite_sata_init,
-+      .exit = mx6_sabrelite_sata_exit,
- };
--static struct gpio mx6q_sabrelite_flexcan_gpios[] = {
--      { MX6Q_SABRELITE_CAN1_EN, GPIOF_OUT_INIT_LOW, "flexcan1-en" },
--      { MX6Q_SABRELITE_CAN1_STBY, GPIOF_OUT_INIT_LOW, "flexcan1-stby" },
-+static struct gpio mx6_sabrelite_flexcan_gpios[] = {
-+      { MX6_SABRELITE_CAN1_ERR, GPIOF_DIR_IN, "flexcan1-err" },
-+      { MX6_SABRELITE_CAN1_EN, GPIOF_OUT_INIT_LOW, "flexcan1-en" },
-+      { MX6_SABRELITE_CAN1_STBY, GPIOF_OUT_INIT_LOW, "flexcan1-stby" },
- };
--static void mx6q_sabrelite_flexcan0_switch(int enable)
-+static void mx6_sabrelite_flexcan0_mc33902_switch(int enable)
- {
--      if (enable) {
--              gpio_set_value(MX6Q_SABRELITE_CAN1_EN, 1);
--              gpio_set_value(MX6Q_SABRELITE_CAN1_STBY, 1);
--      } else {
--              gpio_set_value(MX6Q_SABRELITE_CAN1_EN, 0);
--              gpio_set_value(MX6Q_SABRELITE_CAN1_STBY, 0);
--      }
-+      gpio_set_value(MX6_SABRELITE_CAN1_EN, enable);
-+      gpio_set_value(MX6_SABRELITE_CAN1_STBY, enable);
-+}
-+
-+static void mx6_sabrelite_flexcan0_tja1040_switch(int enable)
-+{
-+      gpio_set_value(MX6_SABRELITE_CAN1_STBY, enable ^ 1);
- }
- static const struct flexcan_platform_data
--      mx6q_sabrelite_flexcan0_pdata __initconst = {
--      .transceiver_switch = mx6q_sabrelite_flexcan0_switch,
-+      mx6_sabrelite_flexcan0_mc33902_pdata __initconst = {
-+      .transceiver_switch = mx6_sabrelite_flexcan0_mc33902_switch,
-+};
-+
-+static const struct flexcan_platform_data
-+      mx6_sabrelite_flexcan0_tja1040_pdata __initconst = {
-+      .transceiver_switch = mx6_sabrelite_flexcan0_tja1040_switch,
- };
--static struct viv_gpu_platform_data imx6q_gpu_pdata __initdata = {
-+static struct viv_gpu_platform_data imx6_gpu_pdata __initdata = {
-       .reserved_mem_size = SZ_128M,
- };
-@@ -833,14 +705,12 @@ static void hdmi_init(int ipu_id, int disp_id)
- static void hdmi_enable_ddc_pin(void)
- {
--      mxc_iomux_v3_setup_multiple_pads(mx6q_sabrelite_hdmi_ddc_pads,
--              ARRAY_SIZE(mx6q_sabrelite_hdmi_ddc_pads));
-+      IOMUX_SETUP(sabrelite_hdmi_ddc_pads);
- }
- static void hdmi_disable_ddc_pin(void)
- {
--      mxc_iomux_v3_setup_multiple_pads(mx6q_sabrelite_i2c2_pads,
--              ARRAY_SIZE(mx6q_sabrelite_i2c2_pads));
-+      IOMUX_SETUP(sabrelite_i2c2_pads);
- }
- static struct fsl_mxc_hdmi_platform_data hdmi_data = {
-@@ -851,7 +721,7 @@ static struct fsl_mxc_hdmi_platform_data hdmi_data = {
- static struct fsl_mxc_hdmi_core_platform_data hdmi_core_data = {
-       .ipu_id = 0,
--      .disp_id = 0,
-+      .disp_id = 1,
- };
- static struct fsl_mxc_lcd_platform_data lcdif_data = {
-@@ -903,13 +773,12 @@ static void sabrelite_suspend_exit(void)
- {
-       /* resume restore */
- }
--static const struct pm_platform_data mx6q_sabrelite_pm_data __initconst = {
-+static const struct pm_platform_data mx6_sabrelite_pm_data __initconst = {
-       .name = "imx_pm",
-       .suspend_enter = sabrelite_suspend_enter,
-       .suspend_exit = sabrelite_suspend_exit,
- };
--#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
- #define GPIO_BUTTON(gpio_num, ev_code, act_low, descr, wake)  \
- {                                                             \
-       .gpio           = gpio_num,                             \
-@@ -921,14 +790,15 @@ static const struct pm_platform_data mx6q_sabrelite_pm_data __initconst = {
- }
- static struct gpio_keys_button sabrelite_buttons[] = {
--      GPIO_BUTTON(MX6Q_SABRELITE_ONOFF_KEY, KEY_POWER, 1, "key-power", 1),
--      GPIO_BUTTON(MX6Q_SABRELITE_MENU_KEY, KEY_MENU, 1, "key-memu", 0),
--      GPIO_BUTTON(MX6Q_SABRELITE_HOME_KEY, KEY_HOME, 1, "key-home", 0),
--      GPIO_BUTTON(MX6Q_SABRELITE_BACK_KEY, KEY_BACK, 1, "key-back", 0),
--      GPIO_BUTTON(MX6Q_SABRELITE_VOL_UP_KEY, KEY_VOLUMEUP, 1, "volume-up", 0),
--      GPIO_BUTTON(MX6Q_SABRELITE_VOL_DOWN_KEY, KEY_VOLUMEDOWN, 1, "volume-down", 0),
-+      GPIO_BUTTON(MX6_SABRELITE_ONOFF_KEY, KEY_POWER, 1, "key-power", 1),
-+      GPIO_BUTTON(MX6_SABRELITE_MENU_KEY, KEY_MENU, 1, "key-memu", 0),
-+      GPIO_BUTTON(MX6_SABRELITE_HOME_KEY, KEY_HOME, 1, "key-home", 0),
-+      GPIO_BUTTON(MX6_SABRELITE_BACK_KEY, KEY_BACK, 1, "key-back", 0),
-+      GPIO_BUTTON(MX6_SABRELITE_VOL_UP_KEY, KEY_VOLUMEUP, 1, "volume-up", 0),
-+      GPIO_BUTTON(MX6_SABRELITE_VOL_DOWN_KEY, KEY_VOLUMEDOWN, 1, "volume-down", 0),
- };
-+#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
- static struct gpio_keys_platform_data sabrelite_button_data = {
-       .buttons        = sabrelite_buttons,
-       .nbuttons       = ARRAY_SIZE(sabrelite_buttons),
-@@ -948,7 +818,63 @@ static void __init sabrelite_add_device_buttons(void)
-       platform_device_register(&sabrelite_button_device);
- }
- #else
--static void __init sabrelite_add_device_buttons(void) {}
-+static void __init sabrelite_add_device_buttons(void)
-+{
-+      int i;
-+      for (i=0; i < ARRAY_SIZE(sabrelite_buttons);i++) {
-+              int gpio = sabrelite_buttons[i].gpio;
-+              pr_debug("%s: exporting gpio %d\n", __func__, gpio);
-+              gpio_export(gpio,1);
-+      }
-+}
-+#endif
-+
-+#ifdef CONFIG_WL12XX_PLATFORM_DATA
-+static void wl1271_set_power(bool enable)
-+{
-+      if (0 == enable) {
-+              gpio_set_value(N6_WL1271_WL_EN, 0);             /* momentarily disable */
-+              mdelay(2);
-+              gpio_set_value(N6_WL1271_WL_EN, 1);
-+      }
-+}
-+
-+struct wl12xx_platform_data n6q_wlan_data __initdata = {
-+      .irq = gpio_to_irq(N6_WL1271_WL_IRQ),
-+      .board_ref_clock = WL12XX_REFCLOCK_38, /* 38.4 MHz */
-+      .set_power = wl1271_set_power,
-+};
-+
-+static struct regulator_consumer_supply n6q_vwl1271_consumers[] = {
-+      REGULATOR_SUPPLY("vmmc", "sdhci-esdhc-imx.1"),
-+};
-+
-+static struct regulator_init_data n6q_vwl1271_init = {
-+      .constraints            = {
-+              .name           = "VDD_1.8V",
-+              .valid_ops_mask = REGULATOR_CHANGE_STATUS,
-+      },
-+      .num_consumer_supplies = ARRAY_SIZE(n6q_vwl1271_consumers),
-+      .consumer_supplies = n6q_vwl1271_consumers,
-+};
-+
-+static struct fixed_voltage_config n6q_vwl1271_reg_config = {
-+      .supply_name            = "vwl1271",
-+      .microvolts             = 1800000, /* 1.80V */
-+      .gpio                   = N6_WL1271_WL_EN,
-+      .startup_delay          = 70000, /* 70ms */
-+      .enable_high            = 1,
-+      .enabled_at_boot        = 0,
-+      .init_data              = &n6q_vwl1271_init,
-+};
-+
-+static struct platform_device n6q_vwl1271_reg_devices = {
-+      .name   = "reg-fixed-voltage",
-+      .id     = 4,
-+      .dev    = {
-+              .platform_data = &n6q_vwl1271_reg_config,
-+      },
-+};
- #endif
- static struct regulator_consumer_supply sabrelite_vmmc_consumers[] = {
-@@ -1055,7 +981,7 @@ static struct platform_device sgtl5000_sabrelite_vddd_reg_devices = {
- #endif /* CONFIG_SND_SOC_SGTL5000 */
--static int imx6q_init_audio(void)
-+static int imx6_init_audio(void)
- {
-       mxc_register_device(&mx6_sabrelite_audio_device,
-                           &mx6_sabrelite_audio_data);
-@@ -1068,6 +994,15 @@ static int imx6q_init_audio(void)
-       return 0;
- }
-+/* PWM0_PWMO: backlight control on DRGB connector */
-+static struct platform_pwm_backlight_data mx6_sabrelite_pwm0_backlight_data = {
-+      .pwm_id = 0,
-+      .max_brightness = 255,
-+      .dft_brightness = 255,
-+      .pwm_period_ns = 1000000000/32768,
-+};
-+
-+/* PWM3_PWMO: backlight control on LDB connector */
- static struct platform_pwm_backlight_data mx6_sabrelite_pwm_backlight_data = {
-       .pwm_id = 3,
-       .max_brightness = 255,
-@@ -1121,19 +1056,37 @@ static int __init caam_setup(char *__unused)
- }
- early_param("caam", caam_setup);
-+static const struct imx_pcie_platform_data pcie_data  __initconst = {
-+      .pcie_pwr_en    = -EINVAL,
-+      .pcie_rst       = -EINVAL, //MX6_SABRELITE_CAP_TCH_INT1,
-+      .pcie_wake_up   = -EINVAL,
-+      .pcie_dis       = -EINVAL,
-+};
-+
- /*!
-  * Board specific initialization.
-  */
- static void __init mx6_sabrelite_board_init(void)
- {
--      int i;
-+      int i, j;
-       int ret;
-       struct clk *clko2;
-       struct clk *new_parent;
-       int rate;
-+      int isn6 ;
--      mxc_iomux_v3_setup_multiple_pads(mx6q_sabrelite_pads,
--                                      ARRAY_SIZE(mx6q_sabrelite_pads));
-+      IOMUX_SETUP(common_pads);
-+
-+      isn6 = is_nitrogen6w();
-+      if (isn6) {
-+              mx6_sabrelite_audio_data.ext_port = 3;
-+              mx6_sabrelite_sd3_data.wp_gpio = -1 ;
-+              IOMUX_SETUP(nitrogen6x_pads);
-+      } else {
-+              IOMUX_SETUP(sabrelite_pads);
-+      }
-+      printk(KERN_ERR "------------ Board type %s\n",
-+               isn6 ? "Nitrogen6X/W" : "Sabre Lite");
- #ifdef CONFIG_FEC_1588
-       /* Set GPIO_16 input for IEEE-1588 ts_clk and RMII reference clock
-@@ -1147,13 +1100,26 @@ static void __init mx6_sabrelite_board_init(void)
-       gp_reg_id = sabrelite_dvfscore_data.reg_id;
-       soc_reg_id = sabrelite_dvfscore_data.soc_id;
-       pu_reg_id = sabrelite_dvfscore_data.pu_id;
--      mx6q_sabrelite_init_uart();
-+
-+      imx6q_add_imx_uart(0, NULL);
-+      imx6q_add_imx_uart(1, NULL);
-+      if (isn6)
-+              imx6q_add_imx_uart(2, &mx6_arm2_uart2_data);
-+
-+      if (!cpu_is_mx6q()) {
-+              ldb_data.ipu_id = 0;
-+              ldb_data.sec_ipu_id = 0;
-+      }
-       imx6q_add_mxc_hdmi_core(&hdmi_core_data);
-       imx6q_add_ipuv3(0, &ipu_data[0]);
--      imx6q_add_ipuv3(1, &ipu_data[1]);
--
--      for (i = 0; i < ARRAY_SIZE(sabrelite_fb_data); i++)
-+      if (cpu_is_mx6q()) {
-+              imx6q_add_ipuv3(1, &ipu_data[1]);
-+              j = ARRAY_SIZE(sabrelite_fb_data);
-+      } else {
-+              j = (ARRAY_SIZE(sabrelite_fb_data) + 1) / 2;
-+      }
-+      for (i = 0; i < j; i++)
-               imx6q_add_ipuv3fb(i, &sabrelite_fb_data[i]);
-       imx6q_add_vdoa();
-@@ -1168,9 +1134,9 @@ static void __init mx6_sabrelite_board_init(void)
-       if (1 == caam_enabled)
-               imx6q_add_imx_caam();
--      imx6q_add_imx_i2c(0, &mx6q_sabrelite_i2c_data);
--      imx6q_add_imx_i2c(1, &mx6q_sabrelite_i2c_data);
--      imx6q_add_imx_i2c(2, &mx6q_sabrelite_i2c_data);
-+      imx6q_add_imx_i2c(0, &mx6_sabrelite_i2c_data);
-+      imx6q_add_imx_i2c(1, &mx6_sabrelite_i2c_data);
-+      imx6q_add_imx_i2c(2, &mx6_sabrelite_i2c_data);
-       i2c_register_board_info(0, mxc_i2c0_board_info,
-                       ARRAY_SIZE(mxc_i2c0_board_info));
-       i2c_register_board_info(1, mxc_i2c1_board_info,
-@@ -1179,33 +1145,35 @@ static void __init mx6_sabrelite_board_init(void)
-                       ARRAY_SIZE(mxc_i2c2_board_info));
-       /* SPI */
--      imx6q_add_ecspi(0, &mx6q_sabrelite_spi_data);
-+      imx6q_add_ecspi(0, &mx6_sabrelite_spi_data);
-       spi_device_init();
-       imx6q_add_mxc_hdmi(&hdmi_data);
--      imx6q_add_anatop_thermal_imx(1, &mx6q_sabrelite_anatop_thermal_data);
-+      imx6q_add_anatop_thermal_imx(1, &mx6_sabrelite_anatop_thermal_data);
-       imx6_init_fec(fec_data);
--      imx6q_add_pm_imx(0, &mx6q_sabrelite_pm_data);
--      imx6q_add_sdhci_usdhc_imx(3, &mx6q_sabrelite_sd4_data);
--      imx6q_add_sdhci_usdhc_imx(2, &mx6q_sabrelite_sd3_data);
--      imx_add_viv_gpu(&imx6_gpu_data, &imx6q_gpu_pdata);
--      imx6q_sabrelite_init_usb();
--      imx6q_add_ahci(0, &mx6q_sabrelite_sata_data);
-+      imx6q_add_pm_imx(0, &mx6_sabrelite_pm_data);
-+      imx6q_add_sdhci_usdhc_imx(2, &mx6_sabrelite_sd3_data);
-+      imx6q_add_sdhci_usdhc_imx(3, &mx6_sabrelite_sd4_data);
-+      imx_add_viv_gpu(&imx6_gpu_data, &imx6_gpu_pdata);
-+      imx6_sabrelite_init_usb();
-+      if (cpu_is_mx6q())
-+              imx6q_add_ahci(0, &mx6_sabrelite_sata_data);
-       imx6q_add_vpu();
--      imx6q_init_audio();
-+      imx6_init_audio();
-       platform_device_register(&sabrelite_vmmc_reg_devices);
-       imx_asrc_data.asrc_core_clk = clk_get(NULL, "asrc_clk");
-       imx_asrc_data.asrc_audio_clk = clk_get(NULL, "asrc_serial_clk");
-       imx6q_add_asrc(&imx_asrc_data);
-       /* release USB Hub reset */
--      gpio_set_value(MX6Q_SABRELITE_USB_HUB_RESET, 1);
-+      gpio_set_value(MX6_SABRELITE_USB_HUB_RESET, 1);
-       imx6q_add_mxc_pwm(0);
-       imx6q_add_mxc_pwm(1);
-       imx6q_add_mxc_pwm(2);
-       imx6q_add_mxc_pwm(3);
-+      imx6q_add_mxc_pwm_backlight(0, &mx6_sabrelite_pwm0_backlight_data);
-       imx6q_add_mxc_pwm_backlight(3, &mx6_sabrelite_pwm_backlight_data);
-       imx6q_add_otp();
-@@ -1220,12 +1188,23 @@ static void __init mx6_sabrelite_board_init(void)
-       imx6q_add_hdmi_soc();
-       imx6q_add_hdmi_soc_dai();
--      ret = gpio_request_array(mx6q_sabrelite_flexcan_gpios,
--                      ARRAY_SIZE(mx6q_sabrelite_flexcan_gpios));
--      if (ret)
-+      ret = gpio_request_array(mx6_sabrelite_flexcan_gpios,
-+                      ARRAY_SIZE(mx6_sabrelite_flexcan_gpios));
-+      if (ret) {
-               pr_err("failed to request flexcan1-gpios: %d\n", ret);
--      else
--              imx6q_add_flexcan0(&mx6q_sabrelite_flexcan0_pdata);
-+      } else {
-+              int ret = gpio_get_value(MX6_SABRELITE_CAN1_ERR);
-+              if (ret == 0) {
-+                      imx6q_add_flexcan0(&mx6_sabrelite_flexcan0_tja1040_pdata);
-+                      pr_info("Flexcan NXP tja1040\n");
-+              } else if (ret == 1) {
-+                      IOMUX_SETUP(sabrelite_mc33902_flexcan_pads);
-+                      imx6q_add_flexcan0(&mx6_sabrelite_flexcan0_mc33902_pdata);
-+                      pr_info("Flexcan Freescale mc33902\n");
-+              } else {
-+                      pr_info("Flexcan gpio_get_value CAN1_ERR failed\n");
-+              }
-+      }
-       clko2 = clk_get(NULL, "clko2_clk");
-       if (IS_ERR(clko2))
-@@ -1241,6 +1220,28 @@ static void __init mx6_sabrelite_board_init(void)
-       clk_enable(clko2);
-       imx6q_add_busfreq();
-+#ifdef CONFIG_WL12XX_PLATFORM_DATA
-+      if (isn6) {
-+              imx6q_add_sdhci_usdhc_imx(1, &mx6_sabrelite_sd2_data);
-+              /* WL12xx WLAN Init */
-+              if (wl12xx_set_platform_data(&n6q_wlan_data))
-+                      pr_err("error setting wl12xx data\n");
-+              platform_device_register(&n6q_vwl1271_reg_devices);
-+
-+              gpio_set_value(N6_WL1271_WL_EN, 1);             /* momentarily enable */
-+              gpio_set_value(N6_WL1271_BT_EN, 1);
-+              mdelay(2);
-+              gpio_set_value(N6_WL1271_WL_EN, 0);
-+              gpio_set_value(N6_WL1271_BT_EN, 0);
-+
-+              gpio_free(N6_WL1271_WL_EN);
-+              gpio_free(N6_WL1271_BT_EN);
-+              mdelay(1);
-+      }
-+#endif
-+
-+      imx6q_add_pcie(&pcie_data);
-+
-       imx6q_add_perfmon(0);
-       imx6q_add_perfmon(1);
-       imx6q_add_perfmon(2);
-@@ -1264,16 +1265,16 @@ static struct sys_timer mx6_sabrelite_timer = {
-       .init   = mx6_sabrelite_timer_init,
- };
--static void __init mx6q_sabrelite_reserve(void)
-+static void __init mx6_sabrelite_reserve(void)
- {
- #if defined(CONFIG_MXC_GPU_VIV) || defined(CONFIG_MXC_GPU_VIV_MODULE)
-       phys_addr_t phys;
--      if (imx6q_gpu_pdata.reserved_mem_size) {
--              phys = memblock_alloc_base(imx6q_gpu_pdata.reserved_mem_size,
-+      if (imx6_gpu_pdata.reserved_mem_size) {
-+              phys = memblock_alloc_base(imx6_gpu_pdata.reserved_mem_size,
-                                          SZ_4K, SZ_1G);
--              memblock_remove(phys, imx6q_gpu_pdata.reserved_mem_size);
--              imx6q_gpu_pdata.reserved_mem_base = phys;
-+              memblock_remove(phys, imx6_gpu_pdata.reserved_mem_size);
-+              imx6_gpu_pdata.reserved_mem_base = phys;
-       }
- #endif
- }
-@@ -1289,5 +1290,5 @@ MACHINE_START(MX6Q_SABRELITE, "Freescale i.MX 6Quad Sabre-Lite Board")
-       .init_irq = mx6_init_irq,
-       .init_machine = mx6_sabrelite_board_init,
-       .timer = &mx6_sabrelite_timer,
--      .reserve = mx6q_sabrelite_reserve,
-+      .reserve = mx6_sabrelite_reserve,
- MACHINE_END
-diff --git a/arch/arm/mach-mx6/cpu_op-mx6.c b/arch/arm/mach-mx6/cpu_op-mx6.c
-index 5124c5e..750e57d 100644
---- a/arch/arm/mach-mx6/cpu_op-mx6.c
-+++ b/arch/arm/mach-mx6/cpu_op-mx6.c
-@@ -95,7 +95,7 @@ static struct cpu_op mx6q_cpu_op_1G[] = {
-        .soc_voltage = 1250000,
- #else
-        .pu_voltage = 1175000,
--       .soc_voltage = 1175000,
-+       .soc_voltage = 1250000,
- #endif
-        .cpu_voltage = 1150000,},
- #ifdef CONFIG_MX6_VPU_352M
-@@ -115,7 +115,7 @@ static struct cpu_op mx6q_cpu_op_1G[] = {
-         .cpu_rate = 396000000,
-         .cpu_podf = 0,
-         .pu_voltage = 1175000,
--        .soc_voltage = 1175000,
-+        .soc_voltage = 1250000,
-         .cpu_voltage = 950000,},
- #endif
- };
-diff --git a/arch/arm/mach-mx6/cpu_regulator-mx6.c b/arch/arm/mach-mx6/cpu_regulator-mx6.c
-index d905132..2af5d38 100644
---- a/arch/arm/mach-mx6/cpu_regulator-mx6.c
-+++ b/arch/arm/mach-mx6/cpu_regulator-mx6.c
-@@ -21,6 +21,7 @@
- #include <linux/cpufreq.h>
- #endif
- #include <linux/io.h>
-+#include <linux/delay.h>
- #include <asm/cpu.h>
- #include <mach/clock.h>
-@@ -101,49 +102,16 @@ void mx6_cpu_regulator_init(void)
-                       regulator_set_voltage(cpu_regulator,
-                                             cpu_op_tbl[0].cpu_voltage,
-                                             cpu_op_tbl[0].cpu_voltage);
--                      if (enable_ldo_mode == LDO_MODE_BYPASSED) {
--                              /*digital bypass VDDPU/VDDSOC/VDDARM*/
--                              reg = __raw_readl(ANADIG_REG_CORE);
--                              reg &= ~BM_ANADIG_REG_CORE_REG0_TRG;
--                              reg |= BF_ANADIG_REG_CORE_REG0_TRG(0x1f);
--                              reg &= ~BM_ANADIG_REG_CORE_REG1_TRG;
--                              reg |= BF_ANADIG_REG_CORE_REG1_TRG(0x1f);
--                              reg &= ~BM_ANADIG_REG_CORE_REG2_TRG;
--                              reg |= BF_ANADIG_REG_CORE_REG2_TRG(0x1f);
--                              __raw_writel(reg, ANADIG_REG_CORE);
--                              /* Mask the ANATOP brown out interrupt in the GPC. */
--                              reg = __raw_readl(gpc_base + 0x14);
--                              reg |= 0x80000000;
--                              __raw_writel(reg, gpc_base + 0x14);
--                      }
--                      clk_set_rate(cpu_clk, cpu_op_tbl[0].cpu_rate);
--
--                      /*Fix loops-per-jiffy */
--#ifdef CONFIG_SMP
--                      for_each_online_cpu(cpu)
--                              per_cpu(cpu_data, cpu).loops_per_jiffy =
--                              mx6_cpu_jiffies(
--                                      per_cpu(cpu_data, cpu).loops_per_jiffy,
--                                      curr_cpu / 1000,
--                                      clk_get_rate(cpu_clk) / 1000);
--#else
--                      old_loops_per_jiffy = loops_per_jiffy;
--
--                      loops_per_jiffy =
--                              mx6_cpu_jiffies(old_loops_per_jiffy,
--                                              curr_cpu/1000,
--                                              clk_get_rate(cpu_clk) / 1000);
--#endif
--#if defined(CONFIG_CPU_FREQ)
--                      /* Fix CPU frequency for CPUFREQ. */
--                      for (cpu = 0; cpu < num_online_cpus(); cpu++)
--                              cpufreq_get(cpu);
--#endif
-               }
-       }
-       soc_regulator = regulator_get(NULL, soc_reg_id);
-       if (IS_ERR(soc_regulator))
-               printk(KERN_ERR "%s: failed to get soc regulator\n", __func__);
-+      else if (cpu_op_tbl)
-+                regulator_set_voltage(soc_regulator,
-+                                    cpu_op_tbl[0].soc_voltage,
-+                                    cpu_op_tbl[0].soc_voltage);
-+
-       pu_regulator = regulator_get(NULL, pu_reg_id);
-       if (IS_ERR(pu_regulator))
-               printk(KERN_ERR "%s: failed to get pu regulator\n", __func__);
-@@ -161,7 +129,66 @@ void mx6_cpu_regulator_init(void)
-       *VDDPU can be turned off by internal anatop anatop power gate.
-       *
-       */
--      else if (!IS_ERR(pu_regulator) && strcmp(pu_reg_id, "cpu_vddgpu"))
--              external_pureg = 1;
-+      else {
-+              printk (KERN_ERR "%s: have pu_regulator\n", __func__ );
-+              if (strcmp(pu_reg_id, "cpu_vddgpu"))
-+                      external_pureg = 1;
-+
-+              if (cpu_op_tbl) {
-+                      printk (KERN_ERR "%s: setting pu_regulator to %uuV\n",
-+                              __func__,
-+                                cpu_op_tbl[0].pu_voltage);
-+
-+                      regulator_set_voltage(pu_regulator,
-+                                            cpu_op_tbl[0].pu_voltage,
-+                                            cpu_op_tbl[0].pu_voltage);
-+              }
-+      }
-+
-+      if (cpu_op_tbl
-+          && !IS_ERR(cpu_regulator)
-+          && !IS_ERR(soc_regulator)
-+          && !IS_ERR(pu_regulator)) {
-+              udelay(500);
-+
-+              if (enable_ldo_mode == LDO_MODE_BYPASSED) {
-+                      /*digital bypass VDDPU/VDDSOC/VDDARM*/
-+                      reg = __raw_readl(ANADIG_REG_CORE);
-+                      reg &= ~BM_ANADIG_REG_CORE_REG0_TRG;
-+                      reg |= BF_ANADIG_REG_CORE_REG0_TRG(0x1f);
-+                      reg &= ~BM_ANADIG_REG_CORE_REG1_TRG;
-+                      reg |= BF_ANADIG_REG_CORE_REG1_TRG(0x1f);
-+                      reg &= ~BM_ANADIG_REG_CORE_REG2_TRG;
-+                      reg |= BF_ANADIG_REG_CORE_REG2_TRG(0x1f);
-+                      __raw_writel(reg, ANADIG_REG_CORE);
-+                      /* Mask the ANATOP brown out interrupt in the GPC. */
-+                      reg = __raw_readl(gpc_base + 0x14);
-+                      reg |= 0x80000000;
-+                      __raw_writel(reg, gpc_base + 0x14);
-+              }
-+              clk_set_rate(cpu_clk, cpu_op_tbl[0].cpu_rate);
-+
-+              /*Fix loops-per-jiffy */
-+#ifdef CONFIG_SMP
-+              for_each_online_cpu(cpu)
-+                      per_cpu(cpu_data, cpu).loops_per_jiffy =
-+                      mx6_cpu_jiffies(
-+                              per_cpu(cpu_data, cpu).loops_per_jiffy,
-+                              curr_cpu / 1000,
-+                              clk_get_rate(cpu_clk) / 1000);
-+#else
-+              old_loops_per_jiffy = loops_per_jiffy;
-+
-+              loops_per_jiffy =
-+                      mx6_cpu_jiffies(old_loops_per_jiffy,
-+                                      curr_cpu/1000,
-+                                      clk_get_rate(cpu_clk) / 1000);
-+#endif
-+#if defined(CONFIG_CPU_FREQ)
-+              /* Fix CPU frequency for CPUFREQ. */
-+              for (cpu = 0; cpu < num_online_cpus(); cpu++)
-+                      cpufreq_get(cpu);
-+#endif
-+      }
- }
-diff --git a/arch/arm/mach-mx6/pads-mx6_sabrelite.h b/arch/arm/mach-mx6/pads-mx6_sabrelite.h
-new file mode 100644
-index 0000000..63a556f
---- /dev/null
-+++ b/arch/arm/mach-mx6/pads-mx6_sabrelite.h
-@@ -0,0 +1,348 @@
-+#undef MX6PAD
-+#undef MX6NAME
-+
-+#ifdef FOR_DL_SOLO
-+#define MX6PAD(a) MX6DL_PAD_##a
-+#define MX6NAME(a) mx6dl_solo_##a
-+#else
-+#define MX6PAD(a) MX6Q_PAD_##a
-+#define MX6NAME(a) mx6q_##a
-+#endif
-+
-+#define MX6Q_USDHC_PAD_CTRL_50MHZ     MX6Q_USDHC_PAD_CTRL
-+#define MX6Q_PAD_SD3_CLK__USDHC3_CLK  MX6Q_PAD_SD3_CLK__USDHC3_CLK_50MHZ
-+#define MX6Q_PAD_SD3_CMD__USDHC3_CMD  MX6Q_PAD_SD3_CMD__USDHC3_CMD_50MHZ
-+#define MX6Q_PAD_SD3_DAT0__USDHC3_DAT0        MX6Q_PAD_SD3_DAT0__USDHC3_DAT0_50MHZ
-+#define MX6Q_PAD_SD3_DAT1__USDHC3_DAT1        MX6Q_PAD_SD3_DAT1__USDHC3_DAT1_50MHZ
-+#define MX6Q_PAD_SD3_DAT2__USDHC3_DAT2        MX6Q_PAD_SD3_DAT2__USDHC3_DAT2_50MHZ
-+#define MX6Q_PAD_SD3_DAT3__USDHC3_DAT3        MX6Q_PAD_SD3_DAT3__USDHC3_DAT3_50MHZ
-+#define MX6Q_PAD_SD4_CLK__USDHC4_CLK  MX6Q_PAD_SD3_CLK__USDHC3_CLK_50MHZ
-+#define MX6Q_PAD_SD4_CMD__USDHC4_CMD  MX6Q_PAD_SD3_CMD__USDHC3_CMD_50MHZ
-+#define MX6Q_PAD_SD4_DAT0__USDHC4_DAT0        MX6Q_PAD_SD3_DAT0__USDHC3_DAT0_50MHZ
-+#define MX6Q_PAD_SD4_DAT1__USDHC4_DAT1        MX6Q_PAD_SD3_DAT1__USDHC3_DAT1_50MHZ
-+#define MX6Q_PAD_SD4_DAT2__USDHC4_DAT2        MX6Q_PAD_SD3_DAT2__USDHC3_DAT2_50MHZ
-+#define MX6Q_PAD_SD4_DAT3__USDHC4_DAT3        MX6Q_PAD_SD3_DAT3__USDHC3_DAT3_50MHZ
-+
-+#define MX6DL_PAD_SD3_CLK__USDHC3_CLK MX6DL_PAD_SD3_CLK__USDHC3_CLK_50MHZ
-+#define MX6DL_PAD_SD3_CMD__USDHC3_CMD MX6DL_PAD_SD3_CMD__USDHC3_CMD_50MHZ
-+#define MX6DL_PAD_SD3_DAT0__USDHC3_DAT0       MX6DL_PAD_SD3_DAT0__USDHC3_DAT0_50MHZ
-+#define MX6DL_PAD_SD3_DAT1__USDHC3_DAT1       MX6DL_PAD_SD3_DAT1__USDHC3_DAT1_50MHZ
-+#define MX6DL_PAD_SD3_DAT2__USDHC3_DAT2       MX6DL_PAD_SD3_DAT2__USDHC3_DAT2_50MHZ
-+#define MX6DL_PAD_SD3_DAT3__USDHC3_DAT3       MX6DL_PAD_SD3_DAT3__USDHC3_DAT3_50MHZ
-+#define MX6DL_PAD_SD4_CLK__USDHC4_CLK MX6DL_PAD_SD3_CLK__USDHC3_CLK_50MHZ
-+#define MX6DL_PAD_SD4_CMD__USDHC4_CMD MX6DL_PAD_SD3_CMD__USDHC3_CMD_50MHZ
-+#define MX6DL_PAD_SD4_DAT0__USDHC4_DAT0       MX6DL_PAD_SD3_DAT0__USDHC3_DAT0_50MHZ
-+#define MX6DL_PAD_SD4_DAT1__USDHC4_DAT1       MX6DL_PAD_SD3_DAT1__USDHC3_DAT1_50MHZ
-+#define MX6DL_PAD_SD4_DAT2__USDHC4_DAT2       MX6DL_PAD_SD3_DAT2__USDHC3_DAT2_50MHZ
-+#define MX6DL_PAD_SD4_DAT3__USDHC4_DAT3       MX6DL_PAD_SD3_DAT3__USDHC3_DAT3_50MHZ
-+
-+#define NP(id, speed, pin) \
-+      NEW_PAD_CTRL(MX6PAD(SD##id##_##pin##__USDHC##id##_##pin), \
-+              MX6Q_USDHC_PAD_CTRL_##speed##MHZ)
-+
-+#define SD_PINS(id, speed) \
-+      NP(id, speed, CLK),     \
-+      NP(id, speed, CMD),     \
-+      NP(id, speed, DAT0),    \
-+      NP(id, speed, DAT1),    \
-+      NP(id, speed, DAT2),    \
-+      NP(id, speed, DAT3)
-+
-+static iomux_v3_cfg_t MX6NAME(nitrogen6x_pads)[] = {
-+      /* AUDMUX */
-+      MX6PAD(CSI0_DAT7__AUDMUX_AUD3_RXD),
-+      MX6PAD(CSI0_DAT4__AUDMUX_AUD3_TXC),
-+      MX6PAD(CSI0_DAT5__AUDMUX_AUD3_TXD),
-+      MX6PAD(CSI0_DAT6__AUDMUX_AUD3_TXFS),
-+
-+      NEW_PAD_CTRL(MX6PAD(NANDF_CS1__GPIO_6_14), N6_IRQ_PADCFG),      /* wl1271 wl_irq */
-+
-+      /* USDHC2 */
-+      SD_PINS(2, 50),
-+        MX6PAD(SD1_CLK__OSC32K_32K_OUT), /* wl1271 clock */
-+
-+      /* UART3 for wl1271 */
-+      MX6PAD(EIM_D24__UART3_TXD),
-+      MX6PAD(EIM_D25__UART3_RXD),
-+      MX6PAD(EIM_D23__UART3_CTS),
-+      MX6PAD(EIM_D31__UART3_RTS),
-+      0
-+};
-+
-+static iomux_v3_cfg_t MX6NAME(sabrelite_pads)[] = {
-+      /* AUDMUX */
-+      MX6PAD(SD2_DAT0__AUDMUX_AUD4_RXD),
-+      MX6PAD(SD2_DAT3__AUDMUX_AUD4_TXC),
-+      MX6PAD(SD2_DAT2__AUDMUX_AUD4_TXD),
-+      MX6PAD(SD2_DAT1__AUDMUX_AUD4_TXFS),
-+      0
-+};
-+
-+static iomux_v3_cfg_t MX6NAME(common_pads)[] = {
-+      /* CAN1  */
-+      MX6PAD(KEY_ROW2__CAN1_RXCAN),
-+      MX6PAD(KEY_COL2__CAN1_TXCAN),
-+      MX6PAD(GPIO_2__GPIO_1_2),               /* STNDBY */
-+      MX6PAD(GPIO_7__GPIO_1_7),               /* NERR */
-+      NEW_PAD_CTRL(MX6PAD(GPIO_7__GPIO_1_7), MX6_SABRELITE_CAN1_ERR_TEST_PADCFG),
-+      MX6PAD(GPIO_4__GPIO_1_4),               /* Enable */
-+
-+      /* CCM  */
-+      MX6PAD(GPIO_0__CCM_CLKO),               /* SGTL500 sys_mclk */
-+      MX6PAD(GPIO_3__CCM_CLKO2),              /* J5 - Camera MCLK */
-+
-+      /* ECSPI1 */
-+      MX6PAD(EIM_D17__ECSPI1_MISO),
-+      MX6PAD(EIM_D18__ECSPI1_MOSI),
-+      MX6PAD(EIM_D16__ECSPI1_SCLK),
-+      MX6PAD(EIM_D19__GPIO_3_19),     /*SS1*/
-+
-+      /* ENET */
-+      MX6PAD(ENET_MDIO__ENET_MDIO),
-+      MX6PAD(ENET_MDC__ENET_MDC),
-+      MX6PAD(RGMII_TXC__ENET_RGMII_TXC),
-+      MX6PAD(RGMII_TD0__ENET_RGMII_TD0),
-+      MX6PAD(RGMII_TD1__ENET_RGMII_TD1),
-+      MX6PAD(RGMII_TD2__ENET_RGMII_TD2),
-+      MX6PAD(RGMII_TD3__ENET_RGMII_TD3),
-+      MX6PAD(RGMII_TX_CTL__ENET_RGMII_TX_CTL),
-+      MX6PAD(ENET_REF_CLK__ENET_TX_CLK),
-+      MX6PAD(RGMII_RXC__ENET_RGMII_RXC),
-+      MX6PAD(RGMII_RD0__ENET_RGMII_RD0),
-+      MX6PAD(RGMII_RD1__ENET_RGMII_RD1),
-+      MX6PAD(RGMII_RD2__ENET_RGMII_RD2),
-+      MX6PAD(RGMII_RD3__ENET_RGMII_RD3),
-+      MX6PAD(RGMII_RX_CTL__ENET_RGMII_RX_CTL),
-+      MX6PAD(ENET_TX_EN__GPIO_1_28),          /* Micrel RGMII Phy Interrupt */
-+
-+      /* GPIO1 */
-+      MX6PAD(ENET_RX_ER__GPIO_1_24),          /* J9 - Microphone Detect */
-+
-+      /* GPIO2 */
-+      MX6PAD(NANDF_D1__GPIO_2_1),     /* J14 - Menu Button */
-+      MX6PAD(NANDF_D2__GPIO_2_2),     /* J14 - Back Button */
-+      MX6PAD(NANDF_D3__GPIO_2_3),     /* J14 - Search Button */
-+      MX6PAD(NANDF_D4__GPIO_2_4),     /* J14 - Home Button */
-+      MX6PAD(EIM_A22__GPIO_2_16),     /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_A21__GPIO_2_17),     /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_A20__GPIO_2_18),     /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_A19__GPIO_2_19),     /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_A18__GPIO_2_20),     /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_A17__GPIO_2_21),     /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_A16__GPIO_2_22),     /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_RW__GPIO_2_26),      /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_LBA__GPIO_2_27),     /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_EB0__GPIO_2_28),     /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_EB1__GPIO_2_29),     /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_EB3__GPIO_2_31),     /* J12 - Boot Mode Select */
-+
-+      /* GPIO3 */
-+      MX6PAD(EIM_DA0__GPIO_3_0),      /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA1__GPIO_3_1),      /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA2__GPIO_3_2),      /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA3__GPIO_3_3),      /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA4__GPIO_3_4),      /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA5__GPIO_3_5),      /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA6__GPIO_3_6),      /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA7__GPIO_3_7),      /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA8__GPIO_3_8),      /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA9__GPIO_3_9),      /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA10__GPIO_3_10),    /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA11__GPIO_3_11),    /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA12__GPIO_3_12),    /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA13__GPIO_3_13),    /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA14__GPIO_3_14),    /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_DA15__GPIO_3_15),    /* J12 - Boot Mode Select */
-+
-+      /* GPIO4 */
-+      MX6PAD(GPIO_19__GPIO_4_5),      /* J14 - Volume Down */
-+
-+      /* GPIO5 */
-+      MX6PAD(EIM_WAIT__GPIO_5_0),     /* J12 - Boot Mode Select */
-+      MX6PAD(EIM_A24__GPIO_5_4),      /* J12 - Boot Mode Select */
-+
-+      /* GPIO6 */
-+      MX6PAD(EIM_A23__GPIO_6_6),      /* J12 - Boot Mode Select */
-+
-+      /* NANDF_CS1/2/3 are unused for sabrelite */
-+      NEW_PAD_CTRL(MX6PAD(NANDF_CS1__GPIO_6_14), N6_IRQ_TEST_PADCFG), /* wl1271 wl_irq */
-+      NEW_PAD_CTRL(MX6PAD(NANDF_CS2__GPIO_6_15), N6_EN_PADCFG),       /* wl1271 wl_en */
-+      NEW_PAD_CTRL(MX6PAD(NANDF_CS3__GPIO_6_16), N6_EN_PADCFG),       /* wl1271 bt_en */
-+
-+      /* GPIO7 */
-+      MX6PAD(GPIO_17__GPIO_7_12),     /* USB Hub Reset */
-+      MX6PAD(GPIO_18__GPIO_7_13),     /* J14 - Volume Up */
-+
-+      /* I2C1, SGTL5000 */
-+      MX6PAD(EIM_D21__I2C1_SCL),      /* GPIO3[21] */
-+      MX6PAD(EIM_D28__I2C1_SDA),      /* GPIO3[28] */
-+
-+      /* I2C2 Camera, MIPI */
-+      MX6PAD(KEY_COL3__I2C2_SCL),     /* GPIO4[12] */
-+      MX6PAD(KEY_ROW3__I2C2_SDA),     /* GPIO4[13] */
-+
-+      /* I2C3 */
-+      MX6PAD(GPIO_5__I2C3_SCL),       /* GPIO1[5] - J7 - Display card */
-+#ifdef CONFIG_FEC_1588
-+      MX6PAD(GPIO_16__ENET_ANATOP_ETHERNET_REF_OUT),
-+#else
-+      MX6PAD(GPIO_16__I2C3_SDA),      /* GPIO7[11] - J15 - RGB connector */
-+#endif
-+
-+      /* DISPLAY */
-+      MX6PAD(DI0_DISP_CLK__IPU1_DI0_DISP_CLK),
-+      MX6PAD(DI0_PIN15__IPU1_DI0_PIN15),              /* DE */
-+      MX6PAD(DI0_PIN2__IPU1_DI0_PIN2),                /* HSync */
-+      MX6PAD(DI0_PIN3__IPU1_DI0_PIN3),                /* VSync */
-+      NEW_PAD_CTRL(MX6PAD(DI0_PIN4__GPIO_4_20),
-+                   WEAK_PULLUP),                      /* I2C Touch IRQ */
-+      MX6PAD(DISP0_DAT0__IPU1_DISP0_DAT_0),
-+      MX6PAD(DISP0_DAT1__IPU1_DISP0_DAT_1),
-+      MX6PAD(DISP0_DAT2__IPU1_DISP0_DAT_2),
-+      MX6PAD(DISP0_DAT3__IPU1_DISP0_DAT_3),
-+      MX6PAD(DISP0_DAT4__IPU1_DISP0_DAT_4),
-+      MX6PAD(DISP0_DAT5__IPU1_DISP0_DAT_5),
-+      MX6PAD(DISP0_DAT6__IPU1_DISP0_DAT_6),
-+      MX6PAD(DISP0_DAT7__IPU1_DISP0_DAT_7),
-+      MX6PAD(DISP0_DAT8__IPU1_DISP0_DAT_8),
-+      MX6PAD(DISP0_DAT9__IPU1_DISP0_DAT_9),
-+      MX6PAD(DISP0_DAT10__IPU1_DISP0_DAT_10),
-+      MX6PAD(DISP0_DAT11__IPU1_DISP0_DAT_11),
-+      MX6PAD(DISP0_DAT12__IPU1_DISP0_DAT_12),
-+      MX6PAD(DISP0_DAT13__IPU1_DISP0_DAT_13),
-+      MX6PAD(DISP0_DAT14__IPU1_DISP0_DAT_14),
-+      MX6PAD(DISP0_DAT15__IPU1_DISP0_DAT_15),
-+      MX6PAD(DISP0_DAT16__IPU1_DISP0_DAT_16),
-+      MX6PAD(DISP0_DAT17__IPU1_DISP0_DAT_17),
-+      MX6PAD(DISP0_DAT18__IPU1_DISP0_DAT_18),
-+      MX6PAD(DISP0_DAT19__IPU1_DISP0_DAT_19),
-+      MX6PAD(DISP0_DAT20__IPU1_DISP0_DAT_20),
-+      MX6PAD(DISP0_DAT21__IPU1_DISP0_DAT_21),
-+      MX6PAD(DISP0_DAT22__IPU1_DISP0_DAT_22),
-+      MX6PAD(DISP0_DAT23__IPU1_DISP0_DAT_23),
-+      MX6PAD(GPIO_7__GPIO_1_7),               /* J7 - Display Connector GP */
-+      MX6PAD(GPIO_9__GPIO_1_9),               /* J7 - Display Connector GP */
-+      MX6PAD(NANDF_D0__GPIO_2_0),             /* J6 - LVDS Display contrast */
-+
-+
-+      /* PWM1 */
-+      MX6PAD(SD1_DAT3__PWM1_PWMO),            /* GPIO1[21] */
-+
-+      /* PWM2 */
-+      MX6PAD(SD1_DAT2__PWM2_PWMO),            /* GPIO1[19] */
-+
-+      /* PWM3 */
-+      MX6PAD(SD1_DAT1__PWM3_PWMO),            /* GPIO1[17] */
-+
-+      /* PWM4 */
-+      MX6PAD(SD1_CMD__PWM4_PWMO),             /* GPIO1[18] */
-+
-+      /* UART1  */
-+      MX6PAD(SD3_DAT7__UART1_TXD),
-+      MX6PAD(SD3_DAT6__UART1_RXD),
-+
-+      /* UART2 for debug */
-+      MX6PAD(EIM_D26__UART2_TXD),
-+      MX6PAD(EIM_D27__UART2_RXD),
-+
-+      /* USBOTG ID pin */
-+      MX6PAD(GPIO_1__USBOTG_ID),
-+
-+      /* USB OC pin */
-+      MX6PAD(KEY_COL4__USBOH3_USBOTG_OC),
-+      MX6PAD(EIM_D30__USBOH3_USBH1_OC),
-+
-+      /* USDHC3 */
-+      SD_PINS(3, 50),
-+      MX6PAD(SD3_DAT5__GPIO_7_0),             /* J18 - SD3_CD */
-+      NEW_PAD_CTRL(MX6PAD(SD3_DAT4__GPIO_7_1), MX6_SABRELITE_SD3_WP_PADCFG),
-+
-+      /* USDHC4 */
-+      SD_PINS(4, 50),
-+      MX6PAD(NANDF_D6__GPIO_2_6),             /* J20 - SD4_CD */
-+      MX6PAD(NANDF_D7__GPIO_2_7),             /* SD4_WP */
-+      0
-+};
-+
-+#if defined(CONFIG_MXC_CAMERA_OV5640_MIPI) || defined(CONFIG_MXC_CAMERA_OV5640_MIPI_MODULE)
-+static iomux_v3_cfg_t MX6NAME(sabrelite_mipi_pads)[] = {
-+      MX6PAD(NANDF_D5__GPIO_2_5),             /* Camera Reset, Nitrogen6x */
-+      MX6PAD(NANDF_CS0__GPIO_6_11),           /* Camera Reset, SOM jumpered */
-+      MX6PAD(GPIO_6__GPIO_1_6),               /* Camera GP */
-+      0
-+};
-+#else
-+static iomux_v3_cfg_t MX6NAME(sabrelite_csi0_sensor_pads)[] = {
-+      /* IPU1 Camera */
-+      MX6PAD(CSI0_DAT8__IPU1_CSI0_D_8),
-+      MX6PAD(CSI0_DAT9__IPU1_CSI0_D_9),
-+      MX6PAD(CSI0_DAT10__IPU1_CSI0_D_10),
-+      MX6PAD(CSI0_DAT11__IPU1_CSI0_D_11),
-+      MX6PAD(CSI0_DAT12__IPU1_CSI0_D_12),
-+      MX6PAD(CSI0_DAT13__IPU1_CSI0_D_13),
-+      MX6PAD(CSI0_DAT14__IPU1_CSI0_D_14),
-+      MX6PAD(CSI0_DAT15__IPU1_CSI0_D_15),
-+      MX6PAD(CSI0_DAT16__IPU1_CSI0_D_16),
-+      MX6PAD(CSI0_DAT17__IPU1_CSI0_D_17),
-+      MX6PAD(CSI0_DAT18__IPU1_CSI0_D_18),
-+      MX6PAD(CSI0_DAT19__IPU1_CSI0_D_19),
-+      MX6PAD(CSI0_DATA_EN__IPU1_CSI0_DATA_EN),
-+      MX6PAD(CSI0_MCLK__IPU1_CSI0_HSYNC),
-+      MX6PAD(CSI0_PIXCLK__IPU1_CSI0_PIXCLK),
-+      MX6PAD(CSI0_VSYNC__IPU1_CSI0_VSYNC),
-+      MX6PAD(GPIO_6__GPIO_1_6),               /* J5 - Camera GP */
-+      MX6PAD(GPIO_8__GPIO_1_8),               /* J5 - Camera Reset */
-+      MX6PAD(NANDF_CS0__GPIO_6_11),           /* J5 - Camera Reset */
-+      MX6PAD(SD1_DAT0__GPIO_1_16),            /* J5 - Camera GP */
-+      MX6PAD(NANDF_D5__GPIO_2_5),             /* J16 - MIPI GP */
-+      MX6PAD(NANDF_WP_B__GPIO_6_9),           /* J16 - MIPI GP */
-+      0
-+};
-+#endif
-+
-+static iomux_v3_cfg_t MX6NAME(sabrelite_hdmi_ddc_pads)[] = {
-+      MX6PAD(KEY_COL3__HDMI_TX_DDC_SCL), /* HDMI DDC SCL */
-+      MX6PAD(KEY_ROW3__HDMI_TX_DDC_SDA), /* HDMI DDC SDA */
-+      0
-+};
-+
-+static iomux_v3_cfg_t MX6NAME(sabrelite_i2c2_pads)[] = {
-+      MX6PAD(KEY_COL3__I2C2_SCL),     /* I2C2 SCL */
-+      MX6PAD(KEY_ROW3__I2C2_SDA),     /* I2C2 SDA */
-+      0
-+};
-+
-+static iomux_v3_cfg_t MX6NAME(sabrelite_mc33902_flexcan_pads)[] = {
-+      NEW_PAD_CTRL(MX6PAD(GPIO_7__GPIO_1_7), MX6_SABRELITE_CAN1_ERR_PADCFG),
-+      0
-+};
-+
-+#define MX6_USDHC_PAD_SETTING(id, speed)      \
-+              MX6NAME(sd##id##_##speed##mhz)[] = { SD_PINS(id, speed), 0 }
-+
-+static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(2, 50);
-+static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(2, 100);
-+static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(2, 200);
-+static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(3, 50);
-+static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(3, 100);
-+static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(3, 200);
-+static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(4, 50);
-+static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(4, 100);
-+static iomux_v3_cfg_t MX6_USDHC_PAD_SETTING(4, 200);
-+
-+#define _50MHZ 0
-+#define _100MHZ 1
-+#define _200MHZ 2
-+#define SD_SPEED_CNT 3
-+static iomux_v3_cfg_t * MX6NAME(sd_pads)[] =
-+{
-+      MX6NAME(sd2_50mhz),
-+      MX6NAME(sd2_100mhz),
-+      MX6NAME(sd2_200mhz),
-+      MX6NAME(sd3_50mhz),
-+      MX6NAME(sd3_100mhz),
-+      MX6NAME(sd3_200mhz),
-+      MX6NAME(sd4_50mhz),
-+      MX6NAME(sd4_100mhz),
-+      MX6NAME(sd4_200mhz),
-+};
-diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/Makefile b/arch/arm/plat-mxc/Makefile
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/clock.c b/arch/arm/plat-mxc/clock.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/cpu.c b/arch/arm/plat-mxc/cpu.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/cpufreq.c b/arch/arm/plat-mxc/cpufreq.c
-old mode 100755
-new mode 100644
-index 4cdc837..95c7b54
---- a/arch/arm/plat-mxc/cpufreq.c
-+++ b/arch/arm/plat-mxc/cpufreq.c
-@@ -112,7 +112,7 @@ int set_cpu_freq(int freq)
-                       printk(KERN_ERR "COULD NOT SET GP VOLTAGE!!!!\n");
-                       goto err3;
-               }
--              udelay(50);
-+              udelay(260);
-       }
-       ret = clk_set_rate(cpu_clk, freq);
-       if (ret != 0) {
-diff --git a/arch/arm/plat-mxc/devices/Kconfig b/arch/arm/plat-mxc/devices/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/Makefile b/arch/arm/plat-mxc/devices/Makefile
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-ahci-imx.c b/arch/arm/plat-mxc/devices/platform-ahci-imx.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-imx-dcp.c b/arch/arm/plat-mxc/devices/platform-imx-dcp.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-imx-dma.c b/arch/arm/plat-mxc/devices/platform-imx-dma.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-imx-i2c.c b/arch/arm/plat-mxc/devices/platform-imx-i2c.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-imx-iim.c b/arch/arm/plat-mxc/devices/platform-imx-iim.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-imx-ocotp.c b/arch/arm/plat-mxc/devices/platform-imx-ocotp.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-imx-rngb.c b/arch/arm/plat-mxc/devices/platform-imx-rngb.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-imx-ssi.c b/arch/arm/plat-mxc/devices/platform-imx-ssi.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-imx_dvfs.c b/arch/arm/plat-mxc/devices/platform-imx_dvfs.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-imx_ipuv3.c b/arch/arm/plat-mxc/devices/platform-imx_ipuv3.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-imx_srtc.c b/arch/arm/plat-mxc/devices/platform-imx_srtc.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-imx_tve.c b/arch/arm/plat-mxc/devices/platform-imx_tve.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-imx_vpu.c b/arch/arm/plat-mxc/devices/platform-imx_vpu.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-mxc_gpu.c b/arch/arm/plat-mxc/devices/platform-mxc_gpu.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-mxc_pwm.c b/arch/arm/plat-mxc/devices/platform-mxc_pwm.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c b/arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/dvfs_core.c b/arch/arm/plat-mxc/dvfs_core.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/dvfs_per.c b/arch/arm/plat-mxc/dvfs_per.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/gpio.c b/arch/arm/plat-mxc/gpio.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/ahci_sata.h b/arch/arm/plat-mxc/include/mach/ahci_sata.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/arc_otg.h b/arch/arm/plat-mxc/include/mach/arc_otg.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/clock.h b/arch/arm/plat-mxc/include/mach/clock.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/common.h b/arch/arm/plat-mxc/include/mach/common.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/dvfs_dptc_struct.h b/arch/arm/plat-mxc/include/mach/dvfs_dptc_struct.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/esdhc.h b/arch/arm/plat-mxc/include/mach/esdhc.h
-index bb15db1..294e4cd 100644
---- a/arch/arm/plat-mxc/include/mach/esdhc.h
-+++ b/arch/arm/plat-mxc/include/mach/esdhc.h
-@@ -34,6 +34,7 @@ struct esdhc_platform_data {
-       unsigned int support_18v;
-       unsigned int support_8bit;
-       unsigned int keep_power_at_suspend;
-+      unsigned int caps;
-       unsigned int delay_line;
-       int (*platform_pad_change)(unsigned int index, int clock);
- };
-diff --git a/arch/arm/plat-mxc/include/mach/fsl_usb.h b/arch/arm/plat-mxc/include/mach/fsl_usb.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/fsl_usb_gadget.h b/arch/arm/plat-mxc/include/mach/fsl_usb_gadget.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/hardware.h b/arch/arm/plat-mxc/include/mach/hardware.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/imx_rfkill.h b/arch/arm/plat-mxc/include/mach/imx_rfkill.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx53.h b/arch/arm/plat-mxc/include/mach/iomux-mx53.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx6q.h b/arch/arm/plat-mxc/include/mach/iomux-mx6q.h
-index cdff320..4519d23 100644
---- a/arch/arm/plat-mxc/include/mach/iomux-mx6q.h
-+++ b/arch/arm/plat-mxc/include/mach/iomux-mx6q.h
-@@ -2913,6 +2913,24 @@
- #define _MX6Q_PAD_TEST_MODE__TCU_TEST_MODE            \
-               IOMUX_PAD(NO_PAD_I, NO_MUX_I, 0, 0x0000, 0, 0)
-+#define _MX6Q_PAD_SD2_CMD__USDHC3_CMD                 \
-+              IOMUX_PAD(0x06A0, 0x02B8, 0 | IOMUX_CONFIG_SION, 0x0000, 0, 0)
-+
-+#define _MX6Q_PAD_SD2_CLK__USDHC3_CLK                 \
-+              IOMUX_PAD(0x06A4, 0x02BC, 0, 0x0000, 0, 0)
-+
-+#define _MX6Q_PAD_SD2_DAT0__USDHC3_DAT0                       \
-+              IOMUX_PAD(0x06A8, 0x02C0, 0, 0x0000, 0, 0)
-+
-+#define _MX6Q_PAD_SD2_DAT1__USDHC3_DAT1                       \
-+              IOMUX_PAD(0x06AC, 0x02C4, 0, 0x0000, 0, 0)
-+
-+#define _MX6Q_PAD_SD2_DAT2__USDHC3_DAT2                       \
-+              IOMUX_PAD(0x06B0, 0x02C8, 0, 0x0000, 0, 0)
-+
-+#define _MX6Q_PAD_SD2_DAT3__USDHC3_DAT3                       \
-+              IOMUX_PAD(0x06B4, 0x02CC, 0, 0x0000, 0, 0)
-+
- #define _MX6Q_PAD_SD3_DAT7__USDHC3_DAT7                       \
-               IOMUX_PAD(0x0690, 0x02A8, 0, 0x0000, 0, 0)
- #define _MX6Q_PAD_SD3_DAT7__UART1_TXD                 \
-@@ -6521,6 +6539,48 @@
- #define  MX6Q_PAD_TEST_MODE__TCU_TEST_MODE            \
-               (_MX6Q_PAD_TEST_MODE__TCU_TEST_MODE | MUX_PAD_CTRL(NO_PAD_CTRL))
-+#define  MX6Q_PAD_SD2_CMD__USDHC2_CMD_50MHZ           \
-+              (_MX6Q_PAD_SD2_CMD__USDHC2_CMD | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL))
-+#define  MX6Q_PAD_SD2_CMD__USDHC2_CMD_100MHZ          \
-+              (_MX6Q_PAD_SD2_CMD__USDHC2_CMD | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_100MHZ))
-+#define  MX6Q_PAD_SD2_CMD__USDHC2_CMD_200MHZ          \
-+              (_MX6Q_PAD_SD2_CMD__USDHC2_CMD | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_200MHZ))
-+
-+#define  MX6Q_PAD_SD2_CLK__USDHC2_CLK_50MHZ           \
-+              (_MX6Q_PAD_SD2_CLK__USDHC2_CLK | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL))
-+#define  MX6Q_PAD_SD2_CLK__USDHC2_CLK_100MHZ          \
-+              (_MX6Q_PAD_SD2_CLK__USDHC2_CLK | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_100MHZ))
-+#define  MX6Q_PAD_SD2_CLK__USDHC2_CLK_200MHZ          \
-+              (_MX6Q_PAD_SD2_CLK__USDHC2_CLK | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_200MHZ))
-+
-+#define  MX6Q_PAD_SD2_DAT0__USDHC2_DAT0_50MHZ         \
-+              (_MX6Q_PAD_SD2_DAT0__USDHC2_DAT0 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL))
-+#define  MX6Q_PAD_SD2_DAT0__USDHC2_DAT0_100MHZ        \
-+              (_MX6Q_PAD_SD2_DAT0__USDHC2_DAT0 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_100MHZ))
-+#define  MX6Q_PAD_SD2_DAT0__USDHC2_DAT0_200MHZ        \
-+              (_MX6Q_PAD_SD2_DAT0__USDHC2_DAT0 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_200MHZ))
-+
-+#define  MX6Q_PAD_SD2_DAT1__USDHC2_DAT1_50MHZ         \
-+              (_MX6Q_PAD_SD2_DAT1__USDHC2_DAT1 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL))
-+#define  MX6Q_PAD_SD2_DAT1__USDHC2_DAT1_100MHZ                \
-+              (_MX6Q_PAD_SD2_DAT1__USDHC2_DAT1 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_100MHZ))
-+#define  MX6Q_PAD_SD2_DAT1__USDHC2_DAT1_200MHZ                \
-+              (_MX6Q_PAD_SD2_DAT1__USDHC2_DAT1 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_200MHZ))
-+
-+#define  MX6Q_PAD_SD2_DAT2__USDHC2_DAT2_50MHZ         \
-+              (_MX6Q_PAD_SD2_DAT2__USDHC2_DAT2 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL))
-+#define  MX6Q_PAD_SD2_DAT2__USDHC2_DAT2_100MHZ                \
-+              (_MX6Q_PAD_SD2_DAT2__USDHC2_DAT2 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_100MHZ))
-+#define  MX6Q_PAD_SD2_DAT2__USDHC2_DAT2_200MHZ                \
-+              (_MX6Q_PAD_SD2_DAT2__USDHC2_DAT2 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_200MHZ))
-+
-+#define  MX6Q_PAD_SD2_DAT3__USDHC2_DAT3_50MHZ         \
-+              (_MX6Q_PAD_SD2_DAT3__USDHC2_DAT3 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL))
-+#define  MX6Q_PAD_SD2_DAT3__USDHC2_DAT3_100MHZ                \
-+              (_MX6Q_PAD_SD2_DAT3__USDHC2_DAT3 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_100MHZ))
-+#define  MX6Q_PAD_SD2_DAT3__USDHC2_DAT3_200MHZ                \
-+              (_MX6Q_PAD_SD2_DAT3__USDHC2_DAT3 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL_200MHZ))
-+
- #define  MX6Q_PAD_SD3_DAT7__USDHC3_DAT7_50MHZ         \
-               (_MX6Q_PAD_SD3_DAT7__USDHC3_DAT7 | MUX_PAD_CTRL(MX6Q_USDHC_PAD_CTRL))
- #define  MX6Q_PAD_SD3_DAT7__USDHC3_DAT7_100MHZ                \
-diff --git a/arch/arm/plat-mxc/include/mach/ipu-v3.h b/arch/arm/plat-mxc/include/mach/ipu-v3.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/memory.h b/arch/arm/plat-mxc/include/mach/memory.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/mx50.h b/arch/arm/plat-mxc/include/mach/mx50.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/mx51.h b/arch/arm/plat-mxc/include/mach/mx51.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/mx53.h b/arch/arm/plat-mxc/include/mach/mx53.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/mxc.h b/arch/arm/plat-mxc/include/mach/mxc.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/mxc91231.h b/arch/arm/plat-mxc/include/mach/mxc91231.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/mxc_dvfs.h b/arch/arm/plat-mxc/include/mach/mxc_dvfs.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/mxc_edid.h b/arch/arm/plat-mxc/include/mach/mxc_edid.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/mxc_vpu.h b/arch/arm/plat-mxc/include/mach/mxc_vpu.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/sdram_autogating.h b/arch/arm/plat-mxc/include/mach/sdram_autogating.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/include/mach/system.h b/arch/arm/plat-mxc/include/mach/system.h
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/isp1504xc.c b/arch/arm/plat-mxc/isp1504xc.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/pwm.c b/arch/arm/plat-mxc/pwm.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/serialxc.c b/arch/arm/plat-mxc/serialxc.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/usb_common.c b/arch/arm/plat-mxc/usb_common.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/usb_wakeup.c b/arch/arm/plat-mxc/usb_wakeup.c
-old mode 100755
-new mode 100644
-diff --git a/arch/arm/plat-mxc/utmixc.c b/arch/arm/plat-mxc/utmixc.c
-old mode 100755
-new mode 100644
-diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
-old mode 100755
-new mode 100644
-diff --git a/drivers/char/fsl_otp.c b/drivers/char/fsl_otp.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/char/fsl_otp.h b/drivers/char/fsl_otp.h
-old mode 100755
-new mode 100644
-diff --git a/drivers/char/regs-ocotp-v2.h b/drivers/char/regs-ocotp-v2.h
-old mode 100755
-new mode 100644
-diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
-old mode 100755
-new mode 100644
-diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
-old mode 100755
-new mode 100644
-diff --git a/drivers/hwmon/da9052-adc.c b/drivers/hwmon/da9052-adc.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile
-old mode 100755
-new mode 100644
-diff --git a/drivers/input/misc/isl29023.c b/drivers/input/misc/isl29023.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
-old mode 100755
-new mode 100644
-index 3420cdb..311bd4d
---- a/drivers/input/touchscreen/Kconfig
-+++ b/drivers/input/touchscreen/Kconfig
-@@ -292,6 +292,22 @@ config TOUCHSCREEN_MAX11801
-         To compile this driver as a module, choose M here: the
-         module will be called max11801_ts.
-+config TOUCHSCREEN_FT5X06
-+      tristate "Focaltech FT5X06 5 point touchscreen"
-+      select I2C
-+      help
-+        If you say yes here you get touchscreen support through
-+        FocalTech's FT5X06 controller.
-+
-+config TOUCHSCREEN_FT5X06_SINGLE_TOUCH
-+      bool "FT5X06 touchscreen as single-touch"
-+      default N
-+      depends on TOUCHSCREEN_FT5X06
-+      help
-+        If you say yes here you get single-touch touchscreen support
-+        on the FT5X06 I2C controller.
-+        If you say "no", you'll get the normal 5-finger goodness.
-+
- config TOUCHSCREEN_MCS5000
-       tristate "MELFAS MCS-5000 touchscreen"
-       depends on I2C
-@@ -718,6 +734,17 @@ config TOUCHSCREEN_TSC2007
-         To compile this driver as a module, choose M here: the
-         module will be called tsc2007.
-+config TOUCHSCREEN_TSC2004
-+      tristate "TSC2004 based touchscreens"
-+      depends on I2C
-+      help
-+        Say Y here if you have a TSC2004 based touchscreen.
-+
-+        If unsure, say N.
-+
-+        To compile this driver as a module, choose M here: the
-+        module will be called tsc2004.
-+
- config TOUCHSCREEN_W90X900
-       tristate "W90P910 touchscreen driver"
-       depends on HAVE_CLK
-diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile
-old mode 100755
-new mode 100644
-index 94a71c1..e8104ce
---- a/drivers/input/touchscreen/Makefile
-+++ b/drivers/input/touchscreen/Makefile
-@@ -49,6 +49,7 @@ obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o
- obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN)    += touchwin.o
- obj-$(CONFIG_TOUCHSCREEN_TSC2005)     += tsc2005.o
- obj-$(CONFIG_TOUCHSCREEN_TSC2007)     += tsc2007.o
-+obj-$(CONFIG_TOUCHSCREEN_TSC2004)     += tsc2004.o
- obj-$(CONFIG_TOUCHSCREEN_UCB1400)     += ucb1400_ts.o
- obj-$(CONFIG_TOUCHSCREEN_WACOM_W8001) += wacom_w8001.o
- obj-$(CONFIG_TOUCHSCREEN_WM831X)      += wm831x-ts.o
-@@ -65,4 +66,5 @@ obj-$(CONFIG_TOUCHSCREEN_TPS6507X)   += tps6507x-ts.o
- obj-$(CONFIG_TOUCHSCREEN_MAX11801)    += max11801_ts.o
- obj-$(CONFIG_TOUCHSCREEN_NOVATEK)     += novatek_ts.o
- obj-$(CONFIG_TOUCHSCREEN_EGALAX)      += egalax_ts.o
-+obj-$(CONFIG_TOUCHSCREEN_FT5X06)      += ft5x06_ts.o
- obj-$(CONFIG_TOUCHSCREEN_ELAN)                += elan_ts.o
-diff --git a/drivers/input/touchscreen/da9052_tsi_filter.c b/drivers/input/touchscreen/da9052_tsi_filter.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/input/touchscreen/ft5x06_ts.c b/drivers/input/touchscreen/ft5x06_ts.c
-new file mode 100644
-index 0000000..89b5726
---- /dev/null
-+++ b/drivers/input/touchscreen/ft5x06_ts.c
-@@ -0,0 +1,572 @@
-+/*
-+ *   Boundary Devices FTx06 touch screen controller.
-+ *
-+ *   Copyright (c) by Boundary Devices <info@boundarydevices.com>
-+ *
-+ *   This program is free software; you can redistribute it and/or modify
-+ *   it under the terms of the GNU General Public License as published by
-+ *   the Free Software Foundation; either version 2 of the License, or
-+ *   (at your option) any later version.
-+ *
-+ *   This program is distributed in the hope that it will be useful,
-+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ *   GNU General Public License for more details.
-+ *
-+ *   You should have received a copy of the GNU General Public License
-+ *   along with this program; if not, write to the Free Software
-+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-+ *
-+ */
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/i2c.h>
-+#include <linux/slab.h>
-+#include <linux/interrupt.h>
-+#include <linux/wait.h>
-+#include <linux/io.h>
-+#include <mach/hardware.h>
-+#include <mach/gpio.h>
-+#include <linux/proc_fs.h>
-+#include <linux/delay.h>
-+#include <linux/input.h>
-+
-+#ifdef CONFIG_TOUCHSCREEN_FT5X06_SINGLE_TOUCH
-+#else
-+#define USE_ABS_MT
-+#endif
-+
-+struct point {
-+      int     x;
-+      int     y;
-+};
-+
-+struct ft5x06_ts {
-+      struct i2c_client *client;
-+      struct input_dev        *idev;
-+      wait_queue_head_t       sample_waitq;
-+      struct semaphore        sem;
-+      struct completion       init_exit;
-+      struct task_struct      *rtask;
-+      int                     use_count;
-+      int                     bReady;
-+      int                     irq;
-+      unsigned                gp;
-+      struct proc_dir_entry  *procentry;
-+};
-+static const char *client_name = "ft5x06";
-+
-+struct ft5x06_ts *gts;
-+
-+static char const procentryname[] = {
-+   "ft5x06"
-+};
-+
-+static int ts_startup(struct ft5x06_ts *ts);
-+static void ts_shutdown(struct ft5x06_ts *ts);
-+
-+static int ft5x06_proc_read
-+      (char *page,
-+       char **start,
-+       off_t off,
-+       int count,
-+       int *eof,
-+       void *data)
-+{
-+      printk(KERN_ERR "%s\n", __func__);
-+      return 0 ;
-+}
-+
-+static int
-+ft5x06_proc_write
-+      (struct file *file,
-+       const char __user *buffer,
-+       unsigned long count,
-+       void *data)
-+{
-+      printk(KERN_ERR "%s\n", __func__);
-+      return count ;
-+}
-+
-+/*-----------------------------------------------------------------------*/
-+static inline void ts_evt_add(struct ft5x06_ts *ts,
-+                            unsigned buttons, struct point *p)
-+{
-+      struct input_dev *idev = ts->idev;
-+      int i;
-+      if (!buttons) {
-+              /* send release to user space. */
-+#ifdef USE_ABS_MT
-+              input_event(idev, EV_ABS, ABS_MT_TOUCH_MAJOR, 0);
-+              input_event(idev, EV_KEY, BTN_TOUCH, 0);
-+              input_mt_sync(idev);
-+#else
-+              input_report_abs(idev, ABS_PRESSURE, 0);
-+              input_report_key(idev, BTN_TOUCH, 0);
-+              input_sync(idev);
-+#endif
-+      } else {
-+              for (i = 0; i < buttons; i++) {
-+#ifdef USE_ABS_MT
-+                      input_event(idev, EV_ABS, ABS_MT_POSITION_X, p[i].x);
-+                      input_event(idev, EV_ABS, ABS_MT_POSITION_Y, p[i].y);
-+                      input_event(idev, EV_ABS, ABS_MT_TOUCH_MAJOR, 1);
-+                      input_mt_sync(idev);
-+#else
-+                      input_report_abs(idev, ABS_X, p[i].x);
-+                      input_report_abs(idev, ABS_Y, p[i].y);
-+                      input_report_abs(idev, ABS_PRESSURE, 1);
-+                      input_report_key(idev, BTN_TOUCH, 1);
-+                      input_sync(idev);
-+#endif
-+              }
-+              input_event(idev, EV_KEY, BTN_TOUCH, 1);
-+      }
-+#ifdef USE_ABS_MT
-+      input_sync(idev);
-+#endif
-+}
-+
-+static int ts_open(struct input_dev *idev)
-+{
-+      struct ft5x06_ts *ts = input_get_drvdata(idev);
-+      return ts_startup(ts);
-+}
-+
-+static void ts_close(struct input_dev *idev)
-+{
-+      struct ft5x06_ts *ts = input_get_drvdata(idev);
-+      ts_shutdown(ts);
-+}
-+
-+static inline int ts_register(struct ft5x06_ts *ts)
-+{
-+      struct input_dev *idev;
-+      idev = input_allocate_device();
-+      if (idev == NULL)
-+              return -ENOMEM;
-+
-+      ts->idev = idev;
-+      idev->name      = procentryname ;
-+      idev->id.product = ts->client->addr;
-+      idev->open      = ts_open;
-+      idev->close     = ts_close;
-+
-+      __set_bit(EV_ABS, idev->evbit);
-+      __set_bit(EV_KEY, idev->evbit);
-+      __set_bit(BTN_TOUCH, idev->keybit);
-+
-+#ifdef USE_ABS_MT
-+      input_set_abs_params(idev, ABS_MT_POSITION_X, 0, 1023, 0, 0);
-+      input_set_abs_params(idev, ABS_MT_POSITION_Y, 0, 0x255, 0, 0);
-+      input_set_abs_params(idev, ABS_MT_TOUCH_MAJOR, 0, 1, 0, 0);
-+#else
-+      __set_bit(EV_SYN, idev->evbit);
-+      input_set_abs_params(idev, ABS_X, 0, 1023, 0, 0);
-+      input_set_abs_params(idev, ABS_Y, 0, 0x255, 0, 0);
-+      input_set_abs_params(idev, ABS_PRESSURE, 0, 1, 0, 0);
-+#endif
-+
-+      input_set_drvdata(idev, ts);
-+      return input_register_device(idev);
-+}
-+
-+static inline void ts_deregister(struct ft5x06_ts *ts)
-+{
-+      if (ts->idev) {
-+              input_unregister_device(ts->idev);
-+              input_free_device(ts->idev);
-+              ts->idev = NULL;
-+      }
-+}
-+
-+#ifdef DEBUG
-+static void printHex(u8 const *buf, unsigned len)
-+{
-+      char hex[512];
-+      char *next = hex ;
-+      char *end = hex+sizeof(hex);
-+
-+      while (len--) {
-+              next += snprintf(next, end-next, "%02x", *buf++);
-+              if (next >= end) {
-+                      hex[sizeof(hex)-1] = '\0' ;
-+                      break;
-+              }
-+      }
-+      printk(KERN_ERR "%s\n", hex);
-+}
-+#endif
-+
-+static void write_reg(struct ft5x06_ts *ts, int regnum, int value)
-+{
-+      u8 regnval[] = {
-+              regnum,
-+              value
-+      };
-+      struct i2c_msg pkt = {
-+              ts->client->addr, 0, sizeof(regnval), regnval
-+      };
-+      int ret = i2c_transfer(ts->client->adapter, &pkt, 1);
-+      if (ret != 1)
-+              printk(KERN_WARNING "%s: i2c_transfer failed\n", __func__);
-+      else
-+              printk(KERN_DEBUG "%s: set register 0x%02x to 0x%02x\n",
-+                     __func__, regnum, value);
-+}
-+
-+static void set_mode(struct ft5x06_ts *ts, int mode)
-+{
-+      write_reg(ts, 0, (mode&7)<<4);
-+      printk(KERN_DEBUG "%s: changed mode to 0x%02x\n", __func__, mode);
-+}
-+
-+#define WORK_MODE 0
-+#define FACTORY_MODE 4
-+
-+/*-----------------------------------------------------------------------*/
-+
-+/*
-+ * This is a RT kernel thread that handles the I2c accesses
-+ * The I2c access functions are expected to be able to sleep.
-+ */
-+static int ts_thread(void *_ts)
-+{
-+      int ret;
-+      struct point points[5];
-+      unsigned char buf[33];
-+      struct ft5x06_ts *ts = _ts;
-+      unsigned char startch[1] = { 0 };
-+      struct i2c_msg readpkt[2] = {
-+              {ts->client->addr, 0, 1, startch},
-+              {ts->client->addr, I2C_M_RD, sizeof(buf), buf}
-+      };
-+
-+      struct task_struct *tsk = current;
-+
-+      ts->rtask = tsk;
-+
-+      daemonize("ft5x06tsd");
-+      /* only want to receive SIGKILL */
-+      allow_signal(SIGKILL);
-+
-+      complete(&ts->init_exit);
-+
-+      do {
-+              int buttons = 0 ;
-+              ts->bReady = 0;
-+              ret = i2c_transfer(ts->client->adapter, readpkt,
-+                                 ARRAY_SIZE(readpkt));
-+              if (ret != ARRAY_SIZE(readpkt)) {
-+                      printk(KERN_WARNING "%s: i2c_transfer failed\n",
-+                             client_name);
-+                      msleep(1000);
-+              } else {
-+                      int i;
-+                      unsigned char *p = buf+3;
-+#ifdef DEBUG
-+                      printHex(buf, sizeof(buf));
-+#endif
-+                      buttons = buf[2];
-+                      if (buttons > 5) {
-+                              printk(KERN_ERR
-+                                     "%s: invalid button count %02x\n",
-+                                     __func__, buttons);
-+                              buttons = 0 ;
-+                      } else {
-+                              for (i = 0; i < buttons; i++) {
-+                                      points[i].x = ((p[0] << 8)
-+                                                     | p[1]) & 0x7ff;
-+                                      points[i].y = ((p[2] << 8)
-+                                                     | p[3]) & 0x7ff;
-+                                      p += 6;
-+                              }
-+                      }
-+              }
-+
-+              if (signal_pending(tsk))
-+                      break;
-+#ifdef DEBUG
-+              printk(KERN_ERR "%s: buttons = %d, "
-+                              "points[0].x = %d, "
-+                              "points[0].y = %d\n",
-+                     client_name, buttons, points[0].x, points[0].y);
-+#endif
-+              ts_evt_add(ts, buttons, points);
-+              if (0 < buttons)
-+                      wait_event_interruptible_timeout(ts->sample_waitq,
-+                                                       ts->bReady, HZ/20);
-+              else
-+                      wait_event_interruptible(ts->sample_waitq, ts->bReady);
-+              if (gpio_get_value(ts->gp)) {
-+                      if (buttons) {
-+                              buttons = 0;
-+                              ts_evt_add(ts, buttons, points);
-+                      }
-+                      if (signal_pending(tsk))
-+                              break;
-+              }
-+      } while (1);
-+
-+      ts->rtask = NULL;
-+      complete_and_exit(&ts->init_exit, 0);
-+}
-+
-+/*
-+ * We only detect samples ready with this interrupt
-+ * handler, and even then we just schedule our task.
-+ */
-+static irqreturn_t ts_interrupt(int irq, void *id)
-+{
-+      struct ft5x06_ts *ts = id;
-+      int bit = gpio_get_value(ts->gp);
-+      if (bit == 0) {
-+              ts->bReady = 1;
-+              wmb(); /* flush bReady */
-+              wake_up(&ts->sample_waitq);
-+      }
-+      return IRQ_HANDLED;
-+}
-+
-+#define ID_G_THGROUP          0x80
-+#define ID_G_PERIODMONITOR    0x89
-+#define FT5X0X_REG_HEIGHT_B   0x8a
-+#define FT5X0X_REG_MAX_FRAME  0x8b
-+#define FT5X0X_REG_FEG_FRAME  0x8e
-+#define FT5X0X_REG_LEFT_RIGHT_OFFSET  0x92
-+#define FT5X0X_REG_UP_DOWN_OFFSET     0x93
-+#define FT5X0X_REG_DISTANCE_LEFT_RIGHT        0x94
-+#define FT5X0X_REG_DISTANCE_UP_DOWN   0x95
-+#define FT5X0X_REG_MAX_X_HIGH         0x98
-+#define FT5X0X_REG_MAX_X_LOW          0x99
-+#define FT5X0X_REG_MAX_Y_HIGH         0x9a
-+#define FT5X0X_REG_MAX_Y_LOW          0x9b
-+#define FT5X0X_REG_K_X_HIGH           0x9c
-+#define FT5X0X_REG_K_X_LOW            0x9d
-+#define FT5X0X_REG_K_Y_HIGH           0x9e
-+#define FT5X0X_REG_K_Y_LOW            0x9f
-+
-+#define ID_G_AUTO_CLB 0xa0
-+#define ID_G_B_AREA_TH        0xae
-+
-+#ifdef DEBUG
-+static void dumpRegs(struct ft5x06_ts *ts, unsigned start, unsigned end)
-+{
-+      u8 regbuf[512];
-+      unsigned char startch[1] = { start };
-+      int ret ;
-+      struct i2c_msg readpkt[2] = {
-+              {ts->client->addr, 0, 1, startch},
-+              {ts->client->addr, I2C_M_RD, end-start+1, regbuf}
-+      };
-+      ret = i2c_transfer(ts->client->adapter, readpkt, ARRAY_SIZE(readpkt));
-+      if (ret != ARRAY_SIZE(readpkt)) {
-+              printk(KERN_WARNING "%s: i2c_transfer failed\n", client_name);
-+      } else {
-+              printk(KERN_ERR "registers %02x..%02x\n", start, end);
-+              printHex(regbuf, end-start+1);
-+      }
-+}
-+#endif
-+
-+static int ts_startup(struct ft5x06_ts *ts)
-+{
-+      int ret = 0;
-+      if (ts == NULL)
-+              return -EIO;
-+
-+      if (down_interruptible(&ts->sem))
-+              return -EINTR;
-+
-+      if (ts->use_count++ != 0)
-+              goto out;
-+
-+      if (ts->rtask)
-+              panic("ft5x06tsd: rtask running?");
-+
-+      ret = request_irq(ts->irq, &ts_interrupt, IRQF_TRIGGER_FALLING,
-+                        client_name, ts);
-+      if (ret) {
-+              printk(KERN_ERR "%s: request_irq failed, irq:%i\n",
-+                     client_name, ts->irq);
-+              goto out;
-+      }
-+
-+#ifdef DEBUG
-+      set_mode(ts, FACTORY_MODE);
-+      dumpRegs(ts, 0x4c, 0x4C);
-+      write_reg(ts, 0x4C, 0x05);
-+      dumpRegs(ts, 0, 0x4C);
-+#endif
-+      set_mode(ts, WORK_MODE);
-+#ifdef DEBUG
-+      dumpRegs(ts, 0x3b, 0x3b);
-+      dumpRegs(ts, 0x6a, 0x6a);
-+      dumpRegs(ts, ID_G_THGROUP, ID_G_PERIODMONITOR);
-+      dumpRegs(ts, FT5X0X_REG_HEIGHT_B, FT5X0X_REG_K_Y_LOW);
-+      dumpRegs(ts, ID_G_AUTO_CLB, ID_G_B_AREA_TH);
-+#endif
-+      set_mode(ts, WORK_MODE);
-+
-+      init_completion(&ts->init_exit);
-+      ret = kernel_thread(ts_thread, ts, CLONE_KERNEL);
-+      if (ret >= 0) {
-+              wait_for_completion(&ts->init_exit);
-+              ret = 0;
-+      } else {
-+              free_irq(ts->irq, ts);
-+      }
-+
-+ out:
-+      if (ret)
-+              ts->use_count--;
-+      up(&ts->sem);
-+      return ret;
-+}
-+
-+/*
-+ * Release touchscreen resources.  Disable IRQs.
-+ */
-+static void ts_shutdown(struct ft5x06_ts *ts)
-+{
-+      if (ts) {
-+              down(&ts->sem);
-+              if (--ts->use_count == 0) {
-+                      if (ts->rtask) {
-+                              send_sig(SIGKILL, ts->rtask, 1);
-+                              wait_for_completion(&ts->init_exit);
-+                      }
-+                      free_irq(ts->irq, ts);
-+              }
-+              up(&ts->sem);
-+      }
-+}
-+/*-----------------------------------------------------------------------*/
-+
-+/* Return 0 if detection is successful, -ENODEV otherwise */
-+static int detect_ft5x06(struct i2c_client *client)
-+{
-+      struct i2c_adapter *adapter = client->adapter;
-+      char buffer;
-+      struct i2c_msg pkt = {
-+              client->addr,
-+              I2C_M_RD,
-+              sizeof(buffer),
-+              &buffer
-+      };
-+      if (!i2c_check_functionality(adapter, I2C_FUNC_I2C))
-+              return -ENODEV;
-+      if (i2c_transfer(adapter, &pkt, 1) != 1)
-+              return -ENODEV;
-+      return 0;
-+}
-+
-+/* Return 0 if detection is successful, -ENODEV otherwise */
-+static int ts_detect(struct i2c_client *client,
-+                        struct i2c_board_info *info)
-+{
-+      int err = detect_ft5x06(client);
-+      if (!err)
-+              strlcpy(info->type, "ft5x06-ts", I2C_NAME_SIZE);
-+      return err;
-+}
-+
-+static int ts_probe(struct i2c_client *client, const struct i2c_device_id *id)
-+{
-+      int err = 0;
-+      struct ft5x06_ts *ts;
-+      struct device *dev = &client->dev;
-+      if (gts) {
-+              printk(KERN_ERR "%s: Error gts is already allocated\n",
-+                     client_name);
-+              return -ENOMEM;
-+      }
-+      if (detect_ft5x06(client) != 0) {
-+              dev_err(dev, "%s: Could not detect touch screen.\n",
-+                      client_name);
-+              return -ENODEV;
-+      }
-+      ts = kzalloc(sizeof(struct ft5x06_ts), GFP_KERNEL);
-+      if (!ts) {
-+              dev_err(dev, "Couldn't allocate memory for %s\n", client_name);
-+              return -ENOMEM;
-+      }
-+      init_waitqueue_head(&ts->sample_waitq);
-+      sema_init(&ts->sem, 1);
-+      ts->client = client;
-+      ts->irq = client->irq ;
-+      ts->gp = irq_to_gpio(client->irq);
-+      printk(KERN_INFO "%s: %s touchscreen irq=%i, gp=%i\n", __func__,
-+             client_name, ts->irq, ts->gp);
-+      i2c_set_clientdata(client, ts);
-+      err = ts_register(ts);
-+      if (err == 0) {
-+              gts = ts;
-+              ts->procentry = create_proc_entry(procentryname, 0, NULL);
-+              if (ts->procentry) {
-+                      ts->procentry->read_proc = ft5x06_proc_read ;
-+                      ts->procentry->write_proc = ft5x06_proc_write ;
-+              }
-+      } else {
-+              printk(KERN_WARNING "%s: ts_register failed\n", client_name);
-+              ts_deregister(ts);
-+              kfree(ts);
-+      }
-+      return err;
-+}
-+
-+static int ts_remove(struct i2c_client *client)
-+{
-+      struct ft5x06_ts *ts = i2c_get_clientdata(client);
-+      remove_proc_entry(procentryname, 0);
-+      if (ts == gts) {
-+              gts = NULL;
-+              ts_deregister(ts);
-+      } else {
-+              printk(KERN_ERR "%s: Error ts!=gts\n", client_name);
-+      }
-+      kfree(ts);
-+      return 0;
-+}
-+
-+
-+/*-----------------------------------------------------------------------*/
-+
-+static const struct i2c_device_id ts_idtable[] = {
-+      { "ft5x06-ts", 0 },
-+      { }
-+};
-+
-+static struct i2c_driver ts_driver = {
-+      .driver = {
-+              .owner          = THIS_MODULE,
-+              .name           = "ft5x06-ts",
-+      },
-+      .id_table       = ts_idtable,
-+      .probe          = ts_probe,
-+      .remove         = __devexit_p(ts_remove),
-+      .detect         = ts_detect,
-+};
-+
-+static int __init ts_init(void)
-+{
-+      int res = i2c_add_driver(&ts_driver);
-+      if (res) {
-+              printk(KERN_WARNING "%s: i2c_add_driver failed\n", client_name);
-+              return res;
-+      }
-+      printk(KERN_INFO "%s: " __DATE__ "\n", client_name);
-+      return 0;
-+}
-+
-+static void __exit ts_exit(void)
-+{
-+      i2c_del_driver(&ts_driver);
-+}
-+
-+MODULE_AUTHOR("Boundary Devices <info@boundarydevices.com>");
-+MODULE_DESCRIPTION("I2C interface for FocalTech ft5x06 touch screen controller.");
-+MODULE_LICENSE("GPL");
-+
-+module_init(ts_init)
-+module_exit(ts_exit)
-diff --git a/drivers/input/touchscreen/max11801_ts.c b/drivers/input/touchscreen/max11801_ts.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/input/touchscreen/tsc2004.c b/drivers/input/touchscreen/tsc2004.c
-new file mode 100644
-index 0000000..37af845
---- /dev/null
-+++ b/drivers/input/touchscreen/tsc2004.c
-@@ -0,0 +1,561 @@
-+/*
-+ * drivers/input/touchscreen/tsc2004.c
-+ *
-+ * Copyright (C) 2009 Texas Instruments Inc
-+ * Author: Vaibhav Hiremath <hvaibhav@ti.com>
-+ *
-+ * Using code from:
-+ *  - tsc2007.c
-+ *
-+ * This package is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ *
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/slab.h>
-+#include <linux/input.h>
-+#include <linux/interrupt.h>
-+#include <linux/i2c.h>
-+#include <linux/i2c/tsc2007.h>
-+
-+static int calibration[7];
-+module_param_array(calibration, int, NULL, S_IRUGO | S_IWUSR);
-+
-+static void translate(u16 *px, u16 *py)
-+{
-+      int x, y, x1, y1;
-+      if (calibration[6]) {
-+              x1 = *px;
-+              y1 = *py;
-+
-+              x = calibration[0] * x1 +
-+                      calibration[1] * y1 +
-+                      calibration[2];
-+              x /= calibration[6];
-+              if (x < 0)
-+                      x = 0;
-+              y = calibration[3] * x1 +
-+                      calibration[4] * y1 +
-+                      calibration[5];
-+              y /= calibration[6];
-+              if (y < 0)
-+                      y = 0;
-+              *px = x ;
-+              *py = y ;
-+      }
-+}
-+
-+#define TS_POLL_DELAY                 1 /* ms delay between samples */
-+#define TS_POLL_PERIOD                        1 /* ms delay between samples */
-+
-+/* Control byte 0 */
-+#define TSC2004_CMD0(addr, pnd, rw) ((addr<<3)|(pnd<<1)|rw)
-+/* Control byte 1 */
-+#define TSC2004_CMD1(cmd, mode, rst) ((1<<7)|(cmd<<4)|(mode<<2)|(rst<<1))
-+
-+/* Command Bits */
-+#define READ_REG      1
-+#define WRITE_REG     0
-+#define SWRST_TRUE    1
-+#define SWRST_FALSE   0
-+#define PND0_TRUE     1
-+#define PND0_FALSE    0
-+
-+/* Converter function mapping */
-+enum convertor_function {
-+      MEAS_X_Y_Z1_Z2, /* Measure X,Y,z1 and Z2:       0x0 */
-+      MEAS_X_Y,       /* Measure X and Y only:        0x1 */
-+      MEAS_X,         /* Measure X only:              0x2 */
-+      MEAS_Y,         /* Measure Y only:              0x3 */
-+      MEAS_Z1_Z2,     /* Measure Z1 and Z2 only:      0x4 */
-+      MEAS_AUX,       /* Measure Auxillary input:     0x5 */
-+      MEAS_TEMP1,     /* Measure Temparature1:        0x6 */
-+      MEAS_TEMP2,     /* Measure Temparature2:        0x7 */
-+      MEAS_AUX_CONT,  /* Continuously measure Auxillary input: 0x8 */
-+      X_DRV_TEST,     /* X-Axis drivers tested        0x9 */
-+      Y_DRV_TEST,     /* Y-Axis drivers tested        0xA */
-+      /*Command Reserved*/
-+      SHORT_CKT_TST = 0xC,    /* Short circuit test:  0xC */
-+      XP_XN_DRV_STAT, /* X+,Y- drivers status:        0xD */
-+      YP_YN_DRV_STAT, /* X+,Y- drivers status:        0xE */
-+      YP_XN_DRV_STAT  /* Y+,X- drivers status:        0xF */
-+};
-+
-+/* Register address mapping */
-+enum register_address {
-+      X_REG,          /* X register:          0x0 */
-+      Y_REG,          /* Y register:          0x1 */
-+      Z1_REG,         /* Z1 register:         0x2 */
-+      Z2_REG,         /* Z2 register:         0x3 */
-+      AUX_REG,        /* AUX register:        0x4 */
-+      TEMP1_REG,      /* Temp1 register:      0x5 */
-+      TEMP2_REG,      /* Temp2 register:      0x6 */
-+      STAT_REG,       /* Status Register:     0x7 */
-+      AUX_HGH_TH_REG, /* AUX high threshold register: 0x8 */
-+      AUX_LOW_TH_REG, /* AUX low threshold register:  0x9 */
-+      TMP_HGH_TH_REG, /* Temp high threshold register:0xA */
-+      TMP_LOW_TH_REG, /* Temp low threshold register: 0xB */
-+      CFR0_REG,       /* Configuration register 0:    0xC */
-+      CFR1_REG,       /* Configuration register 1:    0xD */
-+      CFR2_REG,       /* Configuration register 2:    0xE */
-+      CONV_FN_SEL_STAT        /* Convertor function select register:  0xF */
-+};
-+
-+/* Supported Resolution modes */
-+enum resolution_mode {
-+      MODE_10BIT,     /* 10 bit resolution */
-+      MODE_12BIT              /* 12 bit resolution */
-+};
-+
-+/* Configuraton register bit fields */
-+/* CFR0 */
-+#define PEN_STS_CTRL_MODE     (1<<15)
-+#define ADC_STS                       (1<<14)
-+#define RES_CTRL              (1<<13)
-+#define ADC_CLK_4MHZ          (0<<11)
-+#define ADC_CLK_2MHZ          (1<<11)
-+#define ADC_CLK_1MHZ          (2<<11)
-+#define PANEL_VLTG_STB_TIME_0US               (0<<8)
-+#define PANEL_VLTG_STB_TIME_100US     (1<<8)
-+#define PANEL_VLTG_STB_TIME_500US     (2<<8)
-+#define PANEL_VLTG_STB_TIME_1MS               (3<<8)
-+#define PANEL_VLTG_STB_TIME_5MS               (4<<8)
-+#define PANEL_VLTG_STB_TIME_10MS      (5<<8)
-+#define PANEL_VLTG_STB_TIME_50MS      (6<<8)
-+#define PANEL_VLTG_STB_TIME_100MS     (7<<8)
-+
-+/* CFR2 */
-+#define PINTS1                        (1<<15)
-+#define PINTS0                        (1<<14)
-+#define MEDIAN_VAL_FLTR_SIZE_1        (0<<12)
-+#define MEDIAN_VAL_FLTR_SIZE_3        (1<<12)
-+#define MEDIAN_VAL_FLTR_SIZE_7        (2<<12)
-+#define MEDIAN_VAL_FLTR_SIZE_15       (3<<12)
-+#define AVRG_VAL_FLTR_SIZE_1  (0<<10)
-+#define AVRG_VAL_FLTR_SIZE_3_4        (1<<10)
-+#define AVRG_VAL_FLTR_SIZE_7_8        (2<<10)
-+#define AVRG_VAL_FLTR_SIZE_16 (3<<10)
-+#define MAV_FLTR_EN_X         (1<<4)
-+#define MAV_FLTR_EN_Y         (1<<3)
-+#define MAV_FLTR_EN_Z         (1<<2)
-+
-+#define       MAX_12BIT               ((1 << 12) - 1)
-+#define MEAS_MASK             0xFFF
-+
-+struct ts_event {
-+      u16     x;
-+      u16     y;
-+      u16     z1, z2;
-+};
-+
-+struct tsc2004 {
-+      struct input_dev        *input;
-+      char                    phys[32];
-+      struct delayed_work     work;
-+
-+      struct i2c_client       *client;
-+
-+      u16                     model;
-+      u16                     x_plate_ohms;
-+
-+      bool                    pendown;
-+      int                     irq;
-+
-+      int                     (*get_pendown_state)(void);
-+      void                    (*clear_penirq)(void);
-+};
-+
-+static inline int tsc2004_read_xyz_data(struct tsc2004 *tsc, u8 cmd)
-+{
-+      s32 data;
-+      u16 val;
-+
-+      data = i2c_smbus_read_word_data(tsc->client, cmd);
-+      if (data < 0) {
-+              dev_err(&tsc->client->dev, "i2c io (read) error: %d\n", data);
-+              return data;
-+      }
-+
-+      /*
-+       * We need to swap byte order for little-endian cpus.
-+       * 12 bit precision, high 4 bits should be zero
-+       */
-+      val = be16_to_cpu(data) & 0xfff;
-+
-+      dev_dbg(&tsc->client->dev, "data: 0x%x, val: 0x%x\n", data, val);
-+
-+      return val;
-+}
-+
-+static inline int tsc2004_write_word_data(struct tsc2004 *tsc, u8 cmd, u16 data)
-+{
-+      u16 val;
-+
-+      val = cpu_to_be16(data);
-+      return i2c_smbus_write_word_data(tsc->client, cmd, val);
-+}
-+
-+static inline int tsc2004_write_cmd(struct tsc2004 *tsc, u8 value)
-+{
-+      return i2c_smbus_write_byte(tsc->client, value);
-+}
-+
-+static int tsc2004_prepare_for_reading(struct tsc2004 *ts)
-+{
-+      int err;
-+      int cmd, data;
-+      int retries ;
-+
-+      /* Reset the TSC, configure for 12 bit */
-+      retries = 0 ;
-+      do {
-+                /* Reset the TSC, configure for 12 bit */
-+                cmd = TSC2004_CMD1(MEAS_X_Y_Z1_Z2, MODE_12BIT, SWRST_TRUE);
-+                err = tsc2004_write_cmd(ts, cmd);
-+                if (err < 0)
-+                        printk (KERN_ERR "%s: write_cmd %d\n", __func__, err );
-+      } while ( (err < 0) && (3 < retries++) );
-+
-+      if (err < 0)
-+              return err ;
-+
-+      /* Enable interrupt for PENIRQ and DAV */
-+      cmd = TSC2004_CMD0(CFR2_REG, PND0_FALSE, WRITE_REG);
-+      data = PINTS1 | PINTS0 | MEDIAN_VAL_FLTR_SIZE_15 |
-+              AVRG_VAL_FLTR_SIZE_7_8 | MAV_FLTR_EN_X | MAV_FLTR_EN_Y |
-+              MAV_FLTR_EN_Z;
-+      err = tsc2004_write_word_data(ts, cmd, data);
-+      if (err < 0)
-+              return err;
-+
-+      /* Configure the TSC in TSMode 1 */
-+      cmd = TSC2004_CMD0(CFR0_REG, PND0_FALSE, WRITE_REG);
-+      data = PEN_STS_CTRL_MODE | ADC_CLK_2MHZ | PANEL_VLTG_STB_TIME_1MS;
-+      err = tsc2004_write_word_data(ts, cmd, data);
-+      if (err < 0)
-+              return err;
-+
-+      /* Enable x, y, z1 and z2 conversion functions */
-+      cmd = TSC2004_CMD1(MEAS_X_Y_Z1_Z2, MODE_12BIT, SWRST_FALSE);
-+      err = tsc2004_write_cmd(ts, cmd);
-+      if (err < 0)
-+              return err;
-+
-+      return 0;
-+}
-+
-+static void tsc2004_read_values(struct tsc2004 *tsc, struct ts_event *tc)
-+{
-+      int cmd;
-+
-+      /* Read X Measurement */
-+      cmd = TSC2004_CMD0(X_REG, PND0_FALSE, READ_REG);
-+      tc->x = tsc2004_read_xyz_data(tsc, cmd);
-+
-+      /* Read Y Measurement */
-+      cmd = TSC2004_CMD0(Y_REG, PND0_FALSE, READ_REG);
-+      tc->y = tsc2004_read_xyz_data(tsc, cmd);
-+
-+      /* Read Z1 Measurement */
-+      cmd = TSC2004_CMD0(Z1_REG, PND0_FALSE, READ_REG);
-+      tc->z1 = tsc2004_read_xyz_data(tsc, cmd);
-+
-+      /* Read Z2 Measurement */
-+      cmd = TSC2004_CMD0(Z2_REG, PND0_FALSE, READ_REG);
-+      tc->z2 = tsc2004_read_xyz_data(tsc, cmd);
-+
-+
-+      tc->x &= MEAS_MASK;
-+      tc->y &= MEAS_MASK;
-+      tc->z1 &= MEAS_MASK;
-+      tc->z2 &= MEAS_MASK;
-+
-+      /* Prepare for touch readings */
-+      if (tsc2004_prepare_for_reading(tsc) < 0)
-+              dev_dbg(&tsc->client->dev, "Failed to prepare TSC for next"
-+                              "reading\n");
-+}
-+
-+static u32 tsc2004_calculate_pressure(struct tsc2004 *tsc, struct ts_event *tc)
-+{
-+      u32 rt = 0;
-+
-+      /* range filtering */
-+      if (tc->x == MAX_12BIT)
-+              tc->x = 0;
-+
-+      if (likely(tc->x && tc->z1)) {
-+              /* compute touch pressure resistance using equation #1 */
-+              rt = tc->z2 - tc->z1;
-+              rt *= tc->x;
-+              rt *= tsc->x_plate_ohms;
-+              rt /= tc->z1;
-+              rt = (rt + 2047) >> 12;
-+      }
-+
-+      return rt;
-+}
-+
-+static void tsc2004_send_up_event(struct tsc2004 *tsc)
-+{
-+      struct input_dev *input = tsc->input;
-+
-+      dev_dbg(&tsc->client->dev, "UP\n");
-+
-+      input_report_key(input, BTN_TOUCH, 0);
-+      input_report_abs(input, ABS_PRESSURE, 0);
-+      input_sync(input);
-+}
-+
-+static void tsc2004_work(struct work_struct *work)
-+{
-+      struct tsc2004 *ts =
-+              container_of(to_delayed_work(work), struct tsc2004, work);
-+      struct ts_event tc;
-+      u32 rt;
-+
-+      /*
-+       * NOTE: We can't rely on the pressure to determine the pen down
-+       * state, even though this controller has a pressure sensor.
-+       * The pressure value can fluctuate for quite a while after
-+       * lifting the pen and in some cases may not even settle at the
-+       * expected value.
-+       *
-+       * The only safe way to check for the pen up condition is in the
-+       * work function by reading the pen signal state (it's a GPIO
-+       * and IRQ). Unfortunately such callback is not always available,
-+       * in that case we have rely on the pressure anyway.
-+       */
-+      if (ts->get_pendown_state) {
-+              if (unlikely(!ts->get_pendown_state())) {
-+                      tsc2004_send_up_event(ts);
-+                      ts->pendown = false;
-+                      goto out;
-+              }
-+
-+              dev_dbg(&ts->client->dev, "pen is still down\n");
-+      }
-+
-+      tsc2004_read_values(ts, &tc);
-+
-+      rt = tsc2004_calculate_pressure(ts, &tc);
-+      if (rt > MAX_12BIT) {
-+              /*
-+               * Sample found inconsistent by debouncing or pressure is
-+               * beyond the maximum. Don't report it to user space,
-+               * repeat at least once more the measurement.
-+               */
-+              dev_dbg(&ts->client->dev, "ignored pressure %d\n", rt);
-+              goto out;
-+
-+      }
-+
-+      if (rt) {
-+              struct input_dev *input = ts->input;
-+
-+              translate(&tc.x, &tc.y);
-+
-+              if (!ts->pendown) {
-+                      dev_dbg(&ts->client->dev, "DOWN\n");
-+
-+                      input_report_key(input, BTN_TOUCH, 1);
-+                      ts->pendown = true;
-+              }
-+
-+              input_report_abs(input, ABS_X, tc.x);
-+              input_report_abs(input, ABS_Y, tc.y);
-+              input_report_abs(input, ABS_PRESSURE, rt);
-+
-+              input_sync(input);
-+
-+              dev_dbg(&ts->client->dev, "point(%4d,%4d), pressure (%4u)\n",
-+                      tc.x, tc.y, rt);
-+
-+      } else if (!ts->get_pendown_state && ts->pendown) {
-+              /*
-+               * We don't have callback to check pendown state, so we
-+               * have to assume that since pressure reported is 0 the
-+               * pen was lifted up.
-+               */
-+              tsc2004_send_up_event(ts);
-+              ts->pendown = false;
-+      }
-+
-+ out:
-+      if (ts->pendown)
-+              schedule_delayed_work(&ts->work,
-+                                    msecs_to_jiffies(TS_POLL_PERIOD));
-+      else
-+              enable_irq(ts->irq);
-+}
-+
-+static irqreturn_t tsc2004_irq(int irq, void *handle)
-+{
-+      struct tsc2004 *ts = handle;
-+
-+      if (!ts->get_pendown_state || likely(ts->get_pendown_state())) {
-+              disable_irq_nosync(ts->irq);
-+              schedule_delayed_work(&ts->work,
-+                                    msecs_to_jiffies(TS_POLL_DELAY));
-+      }
-+
-+      if (ts->clear_penirq)
-+              ts->clear_penirq();
-+
-+      return IRQ_HANDLED;
-+}
-+
-+static void tsc2004_free_irq(struct tsc2004 *ts)
-+{
-+      free_irq(ts->irq, ts);
-+      if (cancel_delayed_work_sync(&ts->work)) {
-+              /*
-+               * Work was pending, therefore we need to enable
-+               * IRQ here to balance the disable_irq() done in the
-+               * interrupt handler.
-+               */
-+              enable_irq(ts->irq);
-+      }
-+}
-+
-+static int __devinit tsc2004_probe(struct i2c_client *client,
-+                                 const struct i2c_device_id *id)
-+{
-+      struct tsc2004 *ts;
-+      struct tsc2007_platform_data *pdata = pdata = client->dev.platform_data;
-+      struct input_dev *input_dev;
-+      int err;
-+
-+      if (!pdata) {
-+              dev_err(&client->dev, "platform data is required!\n");
-+              return -EINVAL;
-+      }
-+
-+      if (!i2c_check_functionality(client->adapter,
-+                                   I2C_FUNC_SMBUS_READ_WORD_DATA))
-+              return -EIO;
-+
-+      ts = kzalloc(sizeof(struct tsc2004), GFP_KERNEL);
-+      input_dev = input_allocate_device();
-+      if (!ts || !input_dev) {
-+              err = -ENOMEM;
-+              goto err_free_mem;
-+      }
-+
-+      ts->client = client;
-+      ts->irq = client->irq;
-+      ts->input = input_dev;
-+      INIT_DELAYED_WORK(&ts->work, tsc2004_work);
-+
-+      ts->model             = pdata->model;
-+      ts->x_plate_ohms      = pdata->x_plate_ohms;
-+      ts->get_pendown_state = pdata->get_pendown_state;
-+      ts->clear_penirq      = pdata->clear_penirq;
-+
-+      snprintf(ts->phys, sizeof(ts->phys),
-+               "%s/input0", dev_name(&client->dev));
-+
-+      input_dev->name = "tsc2004";
-+      input_dev->phys = ts->phys;
-+      input_dev->id.bustype = BUS_I2C;
-+
-+      input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
-+      input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
-+
-+      input_set_abs_params(input_dev, ABS_X, 0, MAX_12BIT, 0, 0);
-+      input_set_abs_params(input_dev, ABS_Y, 0, MAX_12BIT, 0, 0);
-+      input_set_abs_params(input_dev, ABS_PRESSURE, 0, MAX_12BIT, 0, 0);
-+
-+      if (pdata->init_platform_hw)
-+              pdata->init_platform_hw();
-+
-+      err = request_irq(ts->irq, tsc2004_irq, IRQF_TRIGGER_FALLING,
-+                      client->dev.driver->name, ts);
-+      if (err < 0) {
-+              dev_err(&client->dev, "irq %d busy?\n", ts->irq);
-+              goto err_free_mem;
-+      }
-+
-+      /* Prepare for touch readings */
-+      err = tsc2004_prepare_for_reading(ts);
-+      if (err < 0)
-+              goto err_free_irq;
-+
-+      err = input_register_device(input_dev);
-+      if (err)
-+              goto err_free_irq;
-+
-+      i2c_set_clientdata(client, ts);
-+
-+      return 0;
-+
-+ err_free_irq:
-+      tsc2004_free_irq(ts);
-+      if (pdata->exit_platform_hw)
-+              pdata->exit_platform_hw();
-+ err_free_mem:
-+      input_free_device(input_dev);
-+      kfree(ts);
-+      return err;
-+}
-+
-+static int __devexit tsc2004_remove(struct i2c_client *client)
-+{
-+      struct tsc2004  *ts = i2c_get_clientdata(client);
-+      struct tsc2007_platform_data *pdata = client->dev.platform_data;
-+
-+      tsc2004_free_irq(ts);
-+
-+      if (pdata->exit_platform_hw)
-+              pdata->exit_platform_hw();
-+
-+      input_unregister_device(ts->input);
-+      kfree(ts);
-+
-+      return 0;
-+}
-+
-+static struct i2c_device_id tsc2004_idtable[] = {
-+      { "tsc2004", 0 },
-+      { }
-+};
-+
-+MODULE_DEVICE_TABLE(i2c, tsc2004_idtable);
-+
-+static struct i2c_driver tsc2004_driver = {
-+      .driver = {
-+              .owner  = THIS_MODULE,
-+              .name   = "tsc2004"
-+      },
-+      .id_table       = tsc2004_idtable,
-+      .probe          = tsc2004_probe,
-+      .remove         = __devexit_p(tsc2004_remove),
-+};
-+
-+static int __init tsc2004_init(void)
-+{
-+      return i2c_add_driver(&tsc2004_driver);
-+}
-+
-+static void __exit tsc2004_exit(void)
-+{
-+      i2c_del_driver(&tsc2004_driver);
-+}
-+
-+module_init(tsc2004_init);
-+module_exit(tsc2004_exit);
-+
-+MODULE_AUTHOR("Vaibhav Hiremath <hvaibhav@ti.com>");
-+MODULE_DESCRIPTION("TSC2004 TouchScreen Driver");
-+MODULE_LICENSE("GPL");
-diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
-old mode 100755
-new mode 100644
-diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
-old mode 100755
-new mode 100644
-diff --git a/drivers/mfd/da9052-core.c b/drivers/mfd/da9052-core.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/mfd/da9052-i2c.c b/drivers/mfd/da9052-i2c.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/mmc/core/sdio_cis.c b/drivers/mmc/core/sdio_cis.c
-index 541bdb8..3b0ca83 100644
---- a/drivers/mmc/core/sdio_cis.c
-+++ b/drivers/mmc/core/sdio_cis.c
-@@ -230,6 +230,7 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func)
-       int ret;
-       struct sdio_func_tuple *this, **prev;
-       unsigned i, ptr = 0;
-+      unsigned ptr_null_end;
-       /*
-        * Note that this works for the common CIS (function number 0) as
-@@ -258,6 +259,7 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func)
-       BUG_ON(*prev);
-+      ptr_null_end = (ptr | 0xff) + 1;
-       do {
-               unsigned char tpl_code, tpl_link;
-@@ -269,6 +271,9 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func)
-               if (tpl_code == 0xff)
-                       break;
-+              if ((tpl_code == 0x00) && (ptr == ptr_null_end))
-+                      break;  /* patch for misbehaving rtl8712 card */
-+
-               /* null entries have no link field or data */
-               if (tpl_code == 0x00)
-                       continue;
-@@ -282,9 +287,10 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func)
-                       break;
-               this = kmalloc(sizeof(*this) + tpl_link, GFP_KERNEL);
--              if (!this)
--                      return -ENOMEM;
--
-+              if (!this) {
-+                      ret = -ENOMEM;
-+                      break;
-+              }
-               for (i = 0; i < tpl_link; i++) {
-                       ret = mmc_io_rw_direct(card, 0, 0,
-                                              ptr + i, 0, &this->data[i]);
-@@ -328,6 +334,12 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func)
-                        * not going to be queued for a driver.
-                        */
-                       kfree(this);
-+                      if (ret) {
-+                              printk(KERN_WARNING "%s: dropping invalid"
-+                                     " CIS tuple 0x%02x (%u bytes)\n",
-+                                     mmc_hostname(card->host),
-+                                     tpl_code, tpl_link);
-+                      }
-               }
-               ptr += tpl_link;
-diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
-index 35fd825..7b08196 100644
---- a/drivers/mmc/host/sdhci-esdhc-imx.c
-+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
-@@ -855,6 +855,7 @@ static int esdhc_pltfm_init(struct sdhci_host *host, struct sdhci_pltfm_data *pd
-       if (boarddata->support_8bit)
-               host->mmc->caps |= MMC_CAP_8_BIT_DATA;
-+      host->mmc->caps |= boarddata->caps;
-       if (boarddata->keep_power_at_suspend)
-               host->mmc->pm_caps |= (MMC_PM_KEEP_POWER | \
-                                       MMC_PM_WAKE_SDIO_IRQ);
-diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/mxc/mlb/mxc_mlb150.c b/drivers/mxc/mlb/mxc_mlb150.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/mxc/thermal/thermal.c b/drivers/mxc/thermal/thermal.c
-index 0982a7b..cb52033 100644
---- a/drivers/mxc/thermal/thermal.c
-+++ b/drivers/mxc/thermal/thermal.c
-@@ -131,17 +131,22 @@
- #define MEASURE_FREQ                  3276  /* 3276 RTC clocks delay, 100ms */
- #define KELVIN_TO_CEL(t, off) (((t) - (off)))
- #define CEL_TO_KELVIN(t, off) (((t) + (off)))
--#define DEFAULT_RATIO                 145
--#define DEFAULT_N40C                  1563
--#define REG_VALUE_TO_CEL(ratio, raw) ((raw_n40c - raw) * 100 / ratio - 40)
-+
-+#define DEFAULT_RAW_25C               1469
-+#define DEFAULT_RAW_HOT               1375
-+#define DEFAULT_TEMP_HOT      90
-+
- #define ANATOP_DEBUG                  false
- #define THERMAL_FUSE_NAME             "/sys/fsl_otp/HW_OCOTP_ANA1"
- /* variables */
- unsigned long anatop_base;
--unsigned int ratio;
--unsigned int raw_25c, raw_hot, hot_temp, raw_n40c, raw_125c, raw_critical;
-+unsigned int raw_critical;
- static struct clk *pll3_clk;
-+unsigned raw_25c;
-+unsigned long long cvt_to_celsius;
-+unsigned long long cvt_to_raw;
-+
- static bool full_run = true;
- static bool suspend_flag;
- static unsigned int thermal_irq;
-@@ -255,6 +260,7 @@ static int anatop_dump_temperature_register(void)
-                       __raw_readl(anatop_base + HW_ANADIG_ANA_MISC1));
-       return 0;
- }
-+
- static void anatop_update_alarm(unsigned int alarm_value)
- {
-       if (cooling_device_disable || suspend_flag)
-@@ -267,6 +273,21 @@ static void anatop_update_alarm(unsigned int alarm_value)
-       return;
- }
-+
-+int cvt_raw_to_celius(unsigned raw)
-+{
-+      int change = (raw_25c - raw);
-+      change = (int)((change * cvt_to_celsius) >> 32);
-+      return 25 + change;
-+}
-+
-+int cvt_celius_to_raw(int celius)
-+{
-+      int change = (celius - 25);
-+      change = (int)((change * cvt_to_raw) >> 32);
-+      return raw_25c - change;
-+}
-+
- static int anatop_thermal_get_temp(struct thermal_zone_device *thermal,
-                           long *temp)
- {
-@@ -277,7 +298,7 @@ static int anatop_thermal_get_temp(struct thermal_zone_device *thermal,
-       if (!tz)
-               return -EINVAL;
--      if (!ratio || suspend_flag) {
-+      if (!raw_25c || suspend_flag) {
-               *temp = KELVIN_TO_CEL(TEMP_ACTIVE, KELVIN_OFFSET);
-               return 0;
-       }
-@@ -322,10 +343,10 @@ static int anatop_thermal_get_temp(struct thermal_zone_device *thermal,
-               anatop_dump_temperature_register();
-       /* only the temp between -40C and 125C is valid, this
-       is for save */
--      if (tmp <= raw_n40c && tmp >= raw_125c)
--              tz->temperature = REG_VALUE_TO_CEL(ratio, tmp);
--      else {
--              printk(KERN_WARNING "Invalid temperature, force it to 25C\n");
-+      tz->temperature = cvt_raw_to_celius(tmp);
-+      if ((tz->temperature < -25) || (tz->temperature > 125)) {
-+              pr_warn("Invalid temperature %ld C, force it to 25C\n",
-+                              tz->temperature);
-               tz->temperature = 25;
-       }
-@@ -482,7 +503,7 @@ static int anatop_thermal_set_trip_temp(struct thermal_zone_device *thermal,
-               if (tz->trips.critical.flags.valid) {
-                       tz->trips.critical.temperature = CEL_TO_KELVIN(
-                               *temp, tz->kelvin_offset);
--                      raw_critical = raw_25c - ratio * (*temp - 25) / 100;
-+                      raw_critical = cvt_celius_to_raw(*temp);
-                       anatop_update_alarm(raw_critical);
-               }
-               break;
-@@ -826,31 +847,48 @@ __setup("no_cooling_device", anatop_thermal_cooling_device_disable);
- static int anatop_thermal_counting_ratio(unsigned int fuse_data)
- {
-+      unsigned raw25c, raw_hot, hot_temp;
-       int ret = -EINVAL;
-       pr_info("Thermal calibration data is 0x%x\n", fuse_data);
--      if (fuse_data == 0 || fuse_data == 0xffffffff || (fuse_data & 0xff) == 0) {
--              pr_info("%s: invalid calibration data, disable cooling!!!\n", __func__);
--              cooling_device_disable = true;
--              ratio = DEFAULT_RATIO;
--              disable_irq(thermal_irq);
--              return ret;
--      }
-       ret = 0;
-       /* Fuse data layout:
-        * [31:20] sensor value @ 25C
-        * [19:8] sensor value of hot
-        * [7:0] hot temperature value */
--      raw_25c = fuse_data >> 20;
-+      raw25c = fuse_data >> 20;
-       raw_hot = (fuse_data & 0xfff00) >> 8;
-       hot_temp = fuse_data & 0xff;
--      ratio = ((raw_25c - raw_hot) * 100) / (hot_temp - 25);
--      raw_n40c = raw_25c + (13 * ratio) / 20;
--      raw_125c = raw_25c - ratio;
-+      if ((raw25c <= raw_hot) || (hot_temp <= 25)) {
-+              pr_info("%s: invalid calibration data, disable cooling!!! raw25c=%x raw_hot=%x hot_temp=%x\n",
-+                              __func__, raw25c, raw_hot, hot_temp);
-+              cooling_device_disable = true;
-+              raw_25c = DEFAULT_RAW_25C;
-+              disable_irq(thermal_irq);
-+              cvt_to_celsius = (DEFAULT_TEMP_HOT - 25);
-+              cvt_to_celsius <<= 32;
-+              cvt_to_celsius /= DEFAULT_RAW_25C - DEFAULT_RAW_HOT;
-+
-+              cvt_to_raw = DEFAULT_RAW_25C - DEFAULT_RAW_HOT;
-+              cvt_to_raw <<= 32;
-+              cvt_to_raw /= (DEFAULT_TEMP_HOT - 25);
-+              return ret;
-+      }
-+      ret = 0;
-+      raw_25c = raw25c;
-+      cvt_to_celsius = hot_temp - 25;         /* hot_temp > 25 */
-+      cvt_to_celsius <<= 32;
-+      do_div(cvt_to_celsius, raw25c - raw_hot);       /* raw25c > raw_hot */
-+
-+      cvt_to_raw = raw25c - raw_hot;
-+      cvt_to_raw <<= 32;
-+      do_div(cvt_to_raw, hot_temp - 25);
-+      pr_info("%s: raw25c=%d raw_hot=%d hot_temp=%d\n", __func__, raw25c, raw_hot, hot_temp);
-+
-       /* Init default critical temp to set alarm */
--      raw_critical = raw_25c - ratio * (KELVIN_TO_CEL(TEMP_CRITICAL, KELVIN_OFFSET) - 25) / 100;
-+      raw_critical = cvt_celius_to_raw(KELVIN_TO_CEL(TEMP_CRITICAL, KELVIN_OFFSET));
-       clk_enable(pll3_clk);
-       anatop_update_alarm(raw_critical);
-@@ -877,6 +915,7 @@ static int anatop_thermal_probe(struct platform_device *pdev)
-       struct resource *res_io, *res_irq, *res_calibration;
-       void __iomem *base, *calibration_addr;
-       struct anatop_device *device;
-+      unsigned fuse_data;
-       device = kzalloc(sizeof(*device), GFP_KERNEL);
-       if (!device) {
-@@ -919,9 +958,13 @@ static int anatop_thermal_probe(struct platform_device *pdev)
-               goto anatop_failed;
-       }
--      raw_n40c = DEFAULT_N40C;
-       /* use calibration data to get ratio */
--      anatop_thermal_counting_ratio(__raw_readl(calibration_addr));
-+      fuse_data = __raw_readl(calibration_addr);
-+#if 1
-+      if (!fuse_data)
-+              fuse_data = (0x552 << 8) | 58 | (0x58e << 20);
-+#endif
-+      anatop_thermal_counting_ratio(fuse_data);
-       res_irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
-       if (res_irq == NULL) {
-diff --git a/drivers/net/fec.c b/drivers/net/fec.c
-old mode 100755
-new mode 100644
-index 4b5818e..9717fc6
---- a/drivers/net/fec.c
-+++ b/drivers/net/fec.c
-@@ -159,7 +159,9 @@ MODULE_PARM_DESC(macaddr, "FEC Ethernet MAC address");
- /* Pause frame feild and FIFO threshold */
- #define FEC_ENET_FCE          (1 << 5)
- #define FEC_ENET_RSEM_V               0x84
-+#define FEC_ENET_RSEM_V_TO1   0x10
- #define FEC_ENET_RSFL_V               16
-+#define FEC_ENET_RSFL_V_TO1     0x20
- #define FEC_ENET_RAEM_V               0x8
- #define FEC_ENET_RAFL_V               0x8
- #define FEC_ENET_OPD_V                0xFFF0
-@@ -562,28 +564,33 @@ static int fec_rx_poll(struct napi_struct *napi, int budget)
-                       goto rx_processing_done;
-               /* Check for errors. */
-+              status ^= BD_ENET_RX_LAST;
-               if (status & (BD_ENET_RX_LG | BD_ENET_RX_SH | BD_ENET_RX_NO |
--                         BD_ENET_RX_CR | BD_ENET_RX_OV)) {
-+                         BD_ENET_RX_CR | BD_ENET_RX_OV | BD_ENET_RX_LAST |
-+                         BD_ENET_RX_CL)) {
-                       ndev->stats.rx_errors++;
--                      if (status & (BD_ENET_RX_LG | BD_ENET_RX_SH)) {
--                              /* Frame too long or too short. */
--                              ndev->stats.rx_length_errors++;
--                      }
--                      if (status & BD_ENET_RX_NO)     /* Frame alignment */
--                              ndev->stats.rx_frame_errors++;
--                      if (status & BD_ENET_RX_CR)     /* CRC Error */
--                              ndev->stats.rx_crc_errors++;
--                      if (status & BD_ENET_RX_OV)     /* FIFO overrun */
--                              ndev->stats.rx_fifo_errors++;
--              }
--              /* Report late collisions as a frame error.
--               * On this error, the BD is closed, but we don't know what we
--               * have in the buffer.  So, just drop this frame on the floor.
--               */
--              if (status & BD_ENET_RX_CL) {
--                      ndev->stats.rx_errors++;
--                      ndev->stats.rx_frame_errors++;
-+                      if (status & BD_ENET_RX_OV) {
-+                              /* FIFO overrun */
-+                              ndev->stats.rx_fifo_errors++;
-+                      } else {
-+                              if (status & (BD_ENET_RX_LG | BD_ENET_RX_SH
-+                                              | BD_ENET_RX_LAST)) {
-+                                      /* Frame too long or too short. */
-+                                      ndev->stats.rx_length_errors++;
-+                                      if (status & BD_ENET_RX_LAST)
-+                                              dev_err(&ndev->dev,
-+                                                      "rcv is not +last, "
-+                                                      "0x%x\n", status);
-+                              }
-+                              if (status & BD_ENET_RX_CR)     /* CRC Error */
-+                                      ndev->stats.rx_crc_errors++;
-+                              /*
-+                               * Report late collisions as a frame error.
-+                               */
-+                              if (status & (BD_ENET_RX_NO | BD_ENET_RX_CL))
-+                                      ndev->stats.rx_frame_errors++;
-+                      }
-                       goto rx_processing_done;
-               }
-@@ -1040,9 +1047,10 @@ static int fec_enet_mii_probe(struct net_device *ndev)
-       }
-       /* mask with MAC supported features */
--      if (cpu_is_mx6q() || cpu_is_mx6dl())
--              phy_dev->supported &= PHY_GBIT_FEATURES;
--      else
-+      if (cpu_is_mx6q() || cpu_is_mx6dl()) {
-+              /* SUPPORTED_Asym_Pause prevents my switch from linking up */
-+              phy_dev->supported &= PHY_GBIT_FEATURES | SUPPORTED_Pause;
-+      } else
-               phy_dev->supported &= PHY_BASIC_FEATURES;
-       /* enable phy pause frame for any platform */
-@@ -1062,7 +1070,7 @@ static int fec_enet_mii_probe(struct net_device *ndev)
-       return 0;
- }
--static int fec_enet_mii_init(struct platform_device *pdev)
-+static int fec_enet_mii_init(struct platform_device *pdev, int phy_irq)
- {
-       static struct mii_bus *fec0_mii_bus;
-       struct net_device *ndev = platform_get_drvdata(pdev);
-@@ -1128,7 +1136,7 @@ static int fec_enet_mii_init(struct platform_device *pdev)
-       }
-       for (i = 0; i < PHY_MAX_ADDR; i++)
--              fep->mii_bus->irq[i] = PHY_POLL;
-+              fep->mii_bus->irq[i] = phy_irq;
-       if (mdiobus_register(fep->mii_bus))
-               goto err_out_free_mdio_irq;
-@@ -1627,6 +1635,9 @@ fec_restart(struct net_device *dev, int duplex)
-               writel(OPT_FRAME_SIZE | 0x06, fep->hwp + FEC_R_CNTRL);
-               writel(0x0, fep->hwp + FEC_X_CNTRL);
-       }
-+#ifdef FEC_FTRL
-+      writel(PKT_MAXBUF_SIZE, fep->hwp + FEC_FTRL);
-+#endif
-       fep->full_duplex = duplex;
-       /* Set MII speed */
-@@ -1657,12 +1668,9 @@ fec_restart(struct net_device *dev, int duplex)
-                * ENET pause frame has two issues as ticket TKT116501
-                * The issues have been fixed on Rigel TO1.1 and Arik TO1.2
-                */
--              if ((cpu_is_mx6q() &&
--                      (mx6q_revision() >= IMX_CHIP_REVISION_1_2)) ||
--                      (cpu_is_mx6dl() &&
--                      (mx6dl_revision() >= IMX_CHIP_REVISION_1_1)))
-+              if (cpu_is_mx6q() || (cpu_is_mx6dl()
-+                              && (mx6dl_revision() >= IMX_CHIP_REVISION_1_1)))
-                       val |= FEC_ENET_FCE;
--
-               writel(val, fep->hwp + FEC_R_CNTRL);
-       }
-@@ -1716,24 +1724,31 @@ fec_restart(struct net_device *dev, int duplex)
-               fep->phy_dev->speed == SPEED_1000)
-               val |= (0x1 << 5);
--      /* RX FIFO threshold setting for ENET pause frame feature
--       * Only set the parameters after ticket TKT116501 fixed.
--       * The issue has been fixed on Rigel TO1.1 and Arik TO1.2
--       */
--      if ((cpu_is_mx6q() &&
--              (mx6q_revision() >= IMX_CHIP_REVISION_1_2)) ||
--              (cpu_is_mx6dl() &&
--              (mx6dl_revision() >= IMX_CHIP_REVISION_1_1))) {
--              writel(FEC_ENET_RSEM_V, fep->hwp + FEC_R_FIFO_RSEM);
--              writel(FEC_ENET_RSFL_V, fep->hwp + FEC_R_FIFO_RSFL);
-+      if (cpu_is_mx6q() || cpu_is_mx6dl()) {
-+              u32 rsem_val = 0;
-+              /* RX FIFO threshold setting for ENET pause frame feature
-+               * Only set the parameters after ticket TKT116501 fixed.
-+               * The issue has been fixed on Rigel TO1.1 and Arik TO1.2
-+               */
-+              if (cpu_is_mx6q() || (cpu_is_mx6dl()
-+                              && (mx6dl_revision() >= IMX_CHIP_REVISION_1_1))) {
-+                      if (cpu_is_mx6q() && (mx6q_revision() < IMX_CHIP_REVISION_1_1)) {
-+                                rsem_val = FEC_ENET_RSEM_V_TO1;
-+                      } else
-+                                rsem_val = FEC_ENET_RSEM_V;
-+              }
-+
-+              writel(rsem_val, fep->hwp + FEC_R_FIFO_RSEM);
-+              if (cpu_is_mx6q() && (mx6q_revision() < IMX_CHIP_REVISION_1_1))
-+                      writel(FEC_ENET_RSFL_V_TO1, fep->hwp + FEC_R_FIFO_RSFL);
-+              else
-+                      writel(FEC_ENET_RSFL_V, fep->hwp + FEC_R_FIFO_RSFL);
-               writel(FEC_ENET_RAEM_V, fep->hwp + FEC_R_FIFO_RAEM);
-               writel(FEC_ENET_RAFL_V, fep->hwp + FEC_R_FIFO_RAFL);
-               /* OPD */
-               writel(FEC_ENET_OPD_V, fep->hwp + FEC_OPD);
--      }
--      if (cpu_is_mx6q() || cpu_is_mx6dl()) {
-               /* enable endian swap */
-               val |= (0x1 << 8);
-               /* enable ENET store and forward mode */
-@@ -1791,6 +1806,7 @@ fec_probe(struct platform_device *pdev)
-       struct net_device *ndev;
-       int i, irq, ret = 0;
-       struct resource *r;
-+      int phy_irq = PHY_POLL;
-       r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!r)
-@@ -1823,8 +1839,11 @@ fec_probe(struct platform_device *pdev)
-       platform_set_drvdata(pdev, ndev);
-       pdata = pdev->dev.platform_data;
--      if (pdata)
-+      if (pdata) {
-               fep->phy_interface = pdata->phy;
-+              if (pdata->phy_irq)
-+                      phy_irq = pdata->phy_irq;
-+      }
-       /* This device has up to three irqs on some platforms */
-       for (i = 0; i < 3; i++) {
-@@ -1852,7 +1871,7 @@ fec_probe(struct platform_device *pdev)
-       if (ret)
-               goto failed_init;
--      ret = fec_enet_mii_init(pdev);
-+      ret = fec_enet_mii_init(pdev, phy_irq);
-       if (ret)
-               goto failed_mii_init;
-diff --git a/drivers/net/fec.h b/drivers/net/fec.h
-index 0c26c6c..49eb060 100644
---- a/drivers/net/fec.h
-+++ b/drivers/net/fec.h
-@@ -49,6 +49,7 @@
- #define FEC_R_FIFO_RSEM               0x194 /* Receive FIFO section empty threshold */
- #define FEC_R_FIFO_RAEM               0x198 /* Receive FIFO almost empty threshold */
- #define FEC_R_FIFO_RAFL               0x19c /* Receive FIFO almost full threshold */
-+#define FEC_FTRL              0x1b0 /* Frame truncation receive length*/
- #define FEC_MIIGSK_CFGR               0x300 /* MIIGSK Configuration reg */
- #define FEC_MIIGSK_ENR                0x308 /* MIIGSK Enable reg */
-diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
-index 80747d2..6eafb5c 100644
---- a/drivers/net/phy/micrel.c
-+++ b/drivers/net/phy/micrel.c
-@@ -16,6 +16,7 @@
-  *            ks8001, ks8737, ks8721, ks8041, ks8051 100/10 phy
-  */
-+#include <linux/delay.h>
- #include <linux/kernel.h>
- #include <linux/module.h>
- #include <linux/phy.h>
-@@ -48,16 +49,34 @@ static int kszphy_ack_interrupt(struct phy_device *phydev)
-       int rc;
-       rc = phy_read(phydev, MII_KSZPHY_INTCS);
--
-       return (rc < 0) ? rc : 0;
- }
- static int kszphy_set_interrupt(struct phy_device *phydev)
- {
--      int temp;
--      temp = (PHY_INTERRUPT_ENABLED == phydev->interrupts) ?
--              KSZPHY_INTCS_ALL : 0;
--      return phy_write(phydev, MII_KSZPHY_INTCS, temp);
-+      int bmcr, new_bmcr;
-+      bmcr = phy_read(phydev, MII_BMCR);
-+      if (PHY_INTERRUPT_ENABLED == phydev->interrupts) {
-+              new_bmcr = bmcr & ~BMCR_PDOWN;
-+              if (bmcr != new_bmcr) {
-+                      unsigned intcs, temp;
-+                      phy_write(phydev, MII_BMCR, new_bmcr);
-+                      udelay(100);    /* power up needs delay after */
-+                      /* force master mode */
-+                      phy_write(phydev, 0x9, 0x1f00);
-+              }
-+              return phy_write(phydev, MII_KSZPHY_INTCS, KSZPHY_INTCS_ALL);
-+      } else {
-+              phy_write(phydev, MII_KSZPHY_INTCS, 0);
-+              new_bmcr = bmcr | BMCR_PDOWN;
-+              if ((PHY_HALTED == phydev->state) && (bmcr != new_bmcr)) {
-+                      phy_write(phydev, MII_BMCR, bmcr | BMCR_ANRESTART);
-+                      /* let phy note link is down before poweroff */
-+                      udelay(10);
-+                      phy_write(phydev, MII_BMCR, new_bmcr);
-+              }
-+              return 0;
-+      }
- }
- static int kszphy_config_intr(struct phy_device *phydev)
-@@ -66,8 +85,10 @@ static int kszphy_config_intr(struct phy_device *phydev)
-       /* set the interrupt pin active low */
-       temp = phy_read(phydev, MII_KSZPHY_CTRL);
--      temp &= ~KSZPHY_CTRL_INT_ACTIVE_HIGH;
--      phy_write(phydev, MII_KSZPHY_CTRL, temp);
-+      if (temp & KSZPHY_CTRL_INT_ACTIVE_HIGH) {
-+              temp &= ~KSZPHY_CTRL_INT_ACTIVE_HIGH;
-+              phy_write(phydev, MII_KSZPHY_CTRL, temp);
-+      }
-       rc = kszphy_set_interrupt(phydev);
-       return rc < 0 ? rc : 0;
- }
-@@ -76,10 +97,12 @@ static int ksz9021_config_intr(struct phy_device *phydev)
- {
-       int temp, rc;
--      /* set the interrupt pin active low */
-       temp = phy_read(phydev, MII_KSZPHY_CTRL);
--      temp &= ~KSZ9021_CTRL_INT_ACTIVE_HIGH;
--      phy_write(phydev, MII_KSZPHY_CTRL, temp);
-+      if (temp & KSZ9021_CTRL_INT_ACTIVE_HIGH) {
-+              /* set the interrupt pin active low */
-+              temp &= ~KSZ9021_CTRL_INT_ACTIVE_HIGH;
-+              phy_write(phydev, MII_KSZPHY_CTRL, temp);
-+      }
-       rc = kszphy_set_interrupt(phydev);
-       return rc < 0 ? rc : 0;
- }
-diff --git a/drivers/net/wireless/wl12xx/Kconfig b/drivers/net/wireless/wl12xx/Kconfig
-index 35ce7b0..1dc6a47 100644
---- a/drivers/net/wireless/wl12xx/Kconfig
-+++ b/drivers/net/wireless/wl12xx/Kconfig
-@@ -1,6 +1,7 @@
- menuconfig WL12XX_MENU
-       tristate "TI wl12xx driver support"
-       depends on MAC80211 && EXPERIMENTAL
-+      select WEXT_PRIV
-       ---help---
-         This will enable TI wl12xx driver support for the following chips:
-         wl1271, wl1273, wl1281 and wl1283.
-@@ -12,6 +13,7 @@ config WL12XX
-       depends on INET
-       select FW_LOADER
-       select CRC7
-+      select WIRELESS_EXT
-       ---help---
-         This module adds support for wireless adapters based on TI wl1271 and
-         TI wl1273 chipsets. This module does *not* include support for wl1251.
-diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
-index e6497dc..f1ffec0 100644
---- a/drivers/net/wireless/wl12xx/main.c
-+++ b/drivers/net/wireless/wl12xx/main.c
-@@ -1767,6 +1767,8 @@ static void wl1271_op_remove_interface(struct ieee80211_hw *hw,
-       mutex_unlock(&wl->mutex);
-       cancel_work_sync(&wl->recovery_work);
-+      if (wl->set_power)
-+              wl->set_power(0);
- }
- void wl1271_configure_filters(struct wl1271 *wl, unsigned int filters)
-@@ -3781,9 +3783,39 @@ static ssize_t wl1271_sysfs_show_hw_pg_ver(struct device *dev,
- static DEVICE_ATTR(hw_pg_ver, S_IRUGO | S_IWUSR,
-                  wl1271_sysfs_show_hw_pg_ver, NULL);
-+
-+static int parse_mac(unsigned char *mac, unsigned char const *str_mac)
-+{
-+      int i = 0;
-+      char *end;
-+      int ret = -EINVAL;
-+
-+      for (;;) {
-+              mac[i++] = simple_strtoul(str_mac, &end, 16);
-+              if (i == 6) {
-+                      if (!*end || (*end == ' '))
-+                              ret = 0;
-+                      break;
-+              }
-+              str_mac = end + 1;
-+              if ((*end != '-') && (*end != ':'))
-+                      break;
-+      }
-+      return ret;
-+}
-+
-+static char *mac;
-+module_param(mac, charp, S_IRUGO);
-+MODULE_PARM_DESC(mac, "mac address override");
-+
- int wl1271_register_hw(struct wl1271 *wl)
- {
-       int ret;
-+      u8      override_mac[ETH_ALEN];
-+      memset(override_mac, 0, ETH_ALEN);
-+      if (mac)
-+              if (parse_mac(override_mac, mac))
-+                      memset(override_mac, 0, ETH_ALEN);
-       if (wl->mac80211_registered)
-               return 0;
-@@ -3804,6 +3836,9 @@ int wl1271_register_hw(struct wl1271 *wl)
-               wl->mac_addr[5] = nvs_ptr[3];
-       }
-+      if (is_valid_ether_addr(override_mac))
-+              memcpy(wl->mac_addr, override_mac, sizeof(wl->mac_addr));
-+
-       SET_IEEE80211_PERM_ADDR(wl->hw, wl->mac_addr);
-       ret = ieee80211_register_hw(wl->hw);
-diff --git a/drivers/net/wireless/wl12xx/sdio.c b/drivers/net/wireless/wl12xx/sdio.c
-index 536e506..5bd82f2 100644
---- a/drivers/net/wireless/wl12xx/sdio.c
-+++ b/drivers/net/wireless/wl12xx/sdio.c
-@@ -303,6 +303,7 @@ static int __devinit wl1271_probe(struct sdio_func *func,
-       /* Tell PM core that we don't need the card to be powered now */
-       pm_runtime_put_noidle(&func->dev);
-+      wl->set_power = wlan_data->set_power;
-       wl1271_notice("initialized");
-       return 0;
-diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/power/Makefile b/drivers/power/Makefile
-old mode 100755
-new mode 100644
-diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile
-old mode 100755
-new mode 100644
-diff --git a/drivers/regulator/da9052-regulator.c b/drivers/regulator/da9052-regulator.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile
-old mode 100755
-new mode 100644
-diff --git a/drivers/rtc/rtc-da9052.c b/drivers/rtc/rtc-da9052.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
-index a512a76..00d3675 100644
---- a/drivers/tty/serial/imx.c
-+++ b/drivers/tty/serial/imx.c
-@@ -1215,9 +1215,12 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
- {
-       struct imx_port *sport = (struct imx_port *)port;
-       unsigned long flags;
--      unsigned int ucr2, old_ucr1, old_txrxen, baud, quot;
-+      unsigned new_ucr2, old_ucr2;
-+      unsigned new_ufcr, old_ufcr;
-+      unsigned old_ubir, old_ubmr;
-+      unsigned int baud, quot;
-       unsigned int old_csize = old ? old->c_cflag & CSIZE : CS8;
--      unsigned int div, ufcr;
-+      unsigned int div;
-       unsigned long num, denom;
-       uint64_t tdiv64;
-@@ -1240,26 +1243,25 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
-               old_csize = CS8;
-       }
-+      new_ucr2 = UCR2_SRST | UCR2_IRTS;
-       if ((termios->c_cflag & CSIZE) == CS8)
--              ucr2 = UCR2_WS | UCR2_SRST | UCR2_IRTS;
--      else
--              ucr2 = UCR2_SRST | UCR2_IRTS;
-+              new_ucr2 |= UCR2_WS;
-       if (termios->c_cflag & CRTSCTS) {
-               if( sport->have_rtscts ) {
--                      ucr2 &= ~UCR2_IRTS;
--                      ucr2 |= UCR2_CTSC;
-+                      new_ucr2 &= ~UCR2_IRTS;
-+                      new_ucr2 |= UCR2_CTSC;
-               } else {
-                       termios->c_cflag &= ~CRTSCTS;
-               }
-       }
-       if (termios->c_cflag & CSTOPB)
--              ucr2 |= UCR2_STPB;
-+              new_ucr2 |= UCR2_STPB;
-       if (termios->c_cflag & PARENB) {
--              ucr2 |= UCR2_PREN;
-+              new_ucr2 |= UCR2_PREN;
-               if (termios->c_cflag & PARODD)
--                      ucr2 |= UCR2_PROE;
-+                      new_ucr2 |= UCR2_PROE;
-       }
-       /*
-@@ -1272,7 +1274,7 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
-       spin_lock_irqsave(&sport->port.lock, flags);
--      sport->port.read_status_mask = 0;
-+      sport->port.read_status_mask = 0xff;
-       if (termios->c_iflag & INPCK)
-               sport->port.read_status_mask |= (URXD_FRMERR | URXD_PRERR);
-       if (termios->c_iflag & (BRKINT | PARMRK))
-@@ -1299,22 +1301,6 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
-        */
-       uart_update_timeout(port, termios->c_cflag, baud);
--      /*
--       * disable interrupts and drain transmitter
--       */
--      old_ucr1 = readl(sport->port.membase + UCR1);
--      writel(old_ucr1 & ~(UCR1_TXMPTYEN | UCR1_RRDYEN | UCR1_RTSDEN),
--                      sport->port.membase + UCR1);
--
--      while ( !(readl(sport->port.membase + USR2) & USR2_TXDC))
--              barrier();
--
--      /* then, disable everything */
--      old_txrxen = readl(sport->port.membase + UCR2);
--      writel(old_txrxen & ~( UCR2_TXEN | UCR2_RXEN),
--                      sport->port.membase + UCR2);
--      old_txrxen &= (UCR2_TXEN | UCR2_RXEN);
--
-       if (USE_IRDA(sport)) {
-               /*
-                * use maximum available submodule frequency to
-@@ -1341,31 +1327,47 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
-       num -= 1;
-       denom -= 1;
--      ufcr = readl(sport->port.membase + UFCR);
--      ufcr = (ufcr & (~UFCR_RFDIV)) | UFCR_RFDIV_REG(div);
-+      old_ufcr = readl(sport->port.membase + UFCR);
-+      new_ufcr = (old_ufcr & (~UFCR_RFDIV)) | UFCR_RFDIV_REG(div);
--      if (sport->use_dcedte)
--              ufcr |= UFCR_DCEDTE;
--
--      writel(ufcr, sport->port.membase + UFCR);
-+      old_ubir = readl(sport->port.membase + UBIR);
-+      old_ubmr = readl(sport->port.membase + UBMR);
-+      old_ucr2 = readl(sport->port.membase + UCR2) & ~UCR2_CTS;
-+      new_ucr2 |= old_ucr2 & (UCR2_TXEN | UCR2_RXEN);
--      writel(num, sport->port.membase + UBIR);
--      writel(denom, sport->port.membase + UBMR);
-+      if (sport->use_dcedte)
-+              new_ufcr |= UFCR_DCEDTE;
-+      if ((old_ufcr != new_ufcr) || (old_ucr2 != new_ucr2) ||
-+                      (old_ubir != num) || (old_ubmr != denom)) {
-+              int i;
-+              /* software reset */
-+              writel(readl(sport->port.membase + UCR2) &
-+                      ~(UCR2_TXEN | UCR2_RXEN | UCR2_SRST | UCR2_CTS),
-+                      sport->port.membase + UCR2);
-+              for (i = 0; i < 2000; i++) {
-+                      unsigned uts = readl(sport->port.membase + UTS);
-+                      if (!(uts & UTS_SOFTRST))
-+                              break;
-+              }
-+              writel(new_ufcr, sport->port.membase + UFCR);
-+              writel(num, sport->port.membase + UBIR);
-+              writel(denom, sport->port.membase + UBMR);
--      if (!cpu_is_mx1())
--              writel(sport->port.uartclk / div / 1000,
-+              if (!cpu_is_mx1())
-+                      writel(sport->port.uartclk / div / 1000,
-                               sport->port.membase + MX2_ONEMS);
--      writel(old_ucr1, sport->port.membase + UCR1);
-+              /* set the parity, stop bits and data size */
-+              writel(new_ucr2, sport->port.membase + UCR2);
--      /* set the parity, stop bits and data size */
--      writel(ucr2 | old_txrxen, sport->port.membase + UCR2);
-+              if (UART_ENABLE_MS(&sport->port, termios->c_cflag))
-+                      imx_enable_ms(&sport->port);
-+              pr_info("old_ufcr=%x new_ufcr=%x, old_ucr2=%x new_ucr2=%x, old_ubir=%x num=%lx, old_ubmr=%x denom=%lx\n",
-+                              old_ufcr, new_ufcr, old_ucr2, new_ucr2, old_ubir, num, old_ubmr, denom);
-+              pr_info("clk=%i div=%i num=%li denom=%li baud=%i\n", sport->port.uartclk, div, num+1, denom+1, baud);
-+      }
-       spin_unlock_irqrestore(&sport->port.lock, flags);
--
--      if (UART_ENABLE_MS(&sport->port, termios->c_cflag))
--              imx_enable_ms(&sport->port);
--
- }
- static const char *imx_type(struct uart_port *port)
-diff --git a/drivers/tty/serial/mxc_uart_early.c b/drivers/tty/serial/mxc_uart_early.c
-index ffa3660..443dff5 100644
---- a/drivers/tty/serial/mxc_uart_early.c
-+++ b/drivers/tty/serial/mxc_uart_early.c
-@@ -183,7 +183,7 @@ int __init mxc_early_uart_console_disable(void)
-       if (mxc_early_uart_console.index >= 0) {
-               unregister_console(&mxc_early_uart_console);
-               iounmap(port->membase);
--              clk_disable(device->clk);
-+//            clk_disable(device->clk);
-               clk_put(device->clk);
-       }
-       return 0;
-diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
-old mode 100755
-new mode 100644
-diff --git a/drivers/usb/gadget/arcotg_udc.c b/drivers/usb/gadget/arcotg_udc.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/usb/gadget/arcotg_udc.h b/drivers/usb/gadget/arcotg_udc.h
-old mode 100755
-new mode 100644
-diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/usb/host/ehci-arc.c b/drivers/usb/host/ehci-arc.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/usb/host/ehci-fsl.h b/drivers/usb/host/ehci-fsl.h
-old mode 100755
-new mode 100644
-diff --git a/drivers/usb/otg/Kconfig b/drivers/usb/otg/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/usb/otg/Makefile b/drivers/usb/otg/Makefile
-old mode 100755
-new mode 100644
-diff --git a/drivers/usb/otg/fsl_otg.c b/drivers/usb/otg/fsl_otg.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/usb/otg/fsl_otg.h b/drivers/usb/otg/fsl_otg.h
-old mode 100755
-new mode 100644
-diff --git a/drivers/usb/otg/otg_fsm.c b/drivers/usb/otg/otg_fsm.c
-old mode 100755
-new mode 100644
-diff --git a/drivers/usb/otg/otg_fsm.h b/drivers/usb/otg/otg_fsm.h
-old mode 100755
-new mode 100644
-diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile
-old mode 100755
-new mode 100644
-diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c
-index 8038f3d..66ea47d 100644
---- a/drivers/video/mxc/mxc_ipuv3_fb.c
-+++ b/drivers/video/mxc/mxc_ipuv3_fb.c
-@@ -869,6 +869,8 @@ static int mxcfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
-               vtotal = var->yres + var->lower_margin + var->vsync_len +
-                   var->upper_margin;
-               var->pixclock = (vtotal * htotal * 6UL) / 100UL;
-+              if (!var->pixclock)
-+                      var->pixclock = 1000;
-               var->pixclock = KHZ2PICOS(var->pixclock);
-               dev_dbg(info->device,
-                       "pixclock set for 60Hz refresh = %u ps\n",
-@@ -2310,7 +2312,7 @@ static int mxcfb_probe(struct platform_device *pdev)
-               mxcfbi->ipu_ch_nf_irq = IPU_IRQ_DC_SYNC_NFACK;
-               mxcfbi->ipu_alp_ch_irq = -1;
-               mxcfbi->ipu_ch = MEM_DC_SYNC;
--              mxcfbi->cur_blank = mxcfbi->next_blank = FB_BLANK_POWERDOWN;
-+              mxcfbi->cur_blank = mxcfbi->next_blank = FB_BLANK_UNBLANK;
-               ret = mxcfb_register(fbi);
-               if (ret < 0)
-diff --git a/drivers/video/mxc/mxcfb.c b/drivers/video/mxc/mxcfb.c
-index 4dffee5..a3f6476 100644
---- a/drivers/video/mxc/mxcfb.c
-+++ b/drivers/video/mxc/mxcfb.c
-@@ -346,6 +346,8 @@ static int mxcfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
-               vtotal = var->yres + var->lower_margin + var->vsync_len +
-                   var->upper_margin;
-               var->pixclock = (vtotal * htotal * 6UL) / 100UL;
-+              if (!var->pixclock)
-+                      var->pixclock = 1000;
-               var->pixclock = KHZ2PICOS(var->pixclock);
-               dev_dbg(info->device,
-                       "pixclock set for 60Hz refresh = %u ps\n",
-diff --git a/drivers/video/mxc/mxcfb_claa_wvga.c b/drivers/video/mxc/mxcfb_claa_wvga.c
-index 3dbad0d..4f15ba4 100644
---- a/drivers/video/mxc/mxcfb_claa_wvga.c
-+++ b/drivers/video/mxc/mxcfb_claa_wvga.c
-@@ -117,7 +117,7 @@ static struct notifier_block nb = {
- static int __devinit lcd_probe(struct platform_device *pdev)
- {
-       int i;
--      struct mxc_lcd_platform_data *plat = pdev->dev.platform_data;
-+      struct fsl_mxc_lcd_platform_data *plat = pdev->dev.platform_data;
-       if (plat) {
-               if (plat->reset)
-diff --git a/drivers/video/mxc_hdmi.c b/drivers/video/mxc_hdmi.c
-index 92822f8..91fc773 100644
---- a/drivers/video/mxc_hdmi.c
-+++ b/drivers/video/mxc_hdmi.c
-@@ -1538,10 +1538,10 @@ static void mxc_hdmi_edid_rebuild_modelist(struct mxc_hdmi *hdmi)
-                */
-               mode = &hdmi->fbi->monspecs.modedb[i];
--              if (!(mode->vmode & FB_VMODE_INTERLACED) &&
--                              (mxc_edid_mode_to_vic(mode) != 0)) {
-+              if (!(mode->vmode & FB_VMODE_INTERLACED)) {
-+                      int vic = mxc_edid_mode_to_vic(mode);
--                      dev_dbg(&hdmi->pdev->dev, "Added mode %d:", i);
-+                      dev_info(&hdmi->pdev->dev, "%s: Added mode %d(VIC %u):", __func__, i, vic);
-                       dev_dbg(&hdmi->pdev->dev,
-                               "xres = %d, yres = %d, freq = %d, vmode = %d, flag = %d\n",
-                               hdmi->fbi->monspecs.modedb[i].xres,
-diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
-old mode 100755
-new mode 100644
-diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
-old mode 100755
-new mode 100644
-diff --git a/include/linux/fec.h b/include/linux/fec.h
-index 8f69cb5..7a08261 100644
---- a/include/linux/fec.h
-+++ b/include/linux/fec.h
-@@ -21,6 +21,7 @@ struct fec_platform_data {
-       int (*power_hibernate) (struct phy_device *);
-       phy_interface_t phy;
-       unsigned char mac[ETH_ALEN];
-+      int phy_irq;
- };
- #endif
-diff --git a/include/linux/mfd/da9052/da9052.h b/include/linux/mfd/da9052/da9052.h
-old mode 100755
-new mode 100644
-diff --git a/include/linux/mfd/da9052/tsi_filter.h b/include/linux/mfd/da9052/tsi_filter.h
-old mode 100755
-new mode 100644
-diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
-index fd05514..45191d1 100644
---- a/sound/soc/codecs/sgtl5000.c
-+++ b/sound/soc/codecs/sgtl5000.c
-@@ -602,7 +602,7 @@ static const struct snd_kcontrol_new sgtl5000_snd_controls[] = {
-                       5, 1, 0),
-       SOC_SINGLE_TLV("Mic Volume", SGTL5000_CHIP_MIC_CTRL,
--                      0, 4, 0, mic_gain_tlv),
-+                      0, 3, 0, mic_gain_tlv),
-       /* Bass Enhance enable */
-       SOC_SINGLE("Bass Enable", SGTL5000_DAP_BASS_ENHANCE,
-@@ -1614,7 +1614,7 @@ static int sgtl5000_probe(struct snd_soc_codec *codec)
-                       SGTL5000_HP_ZCD_EN |
-                       SGTL5000_ADC_ZCD_EN);
--      snd_soc_write(codec, SGTL5000_CHIP_MIC_CTRL, 0);
-+      snd_soc_write(codec, SGTL5000_CHIP_MIC_CTRL, 2);
-       snd_soc_write(codec, SGTL5000_CHIP_DAC_VOL, 0x6060);
-       snd_soc_write(codec, SGTL5000_CHIP_ANA_ADC_CTRL,
index f226e2ce3e0c24a3f612f7b5730b8c0128f9ce6d..20681acac483ce9fb25dc8143f0efb36d865c9c3 100644 (file)
@@ -22,6 +22,3 @@ LOCALVERSION_mx6dl = "-3.0.0+yocto"
 SRC_URI += "file://fix_getrusage_for_perf.patch \
             file://egalax_ts-Add-support-for-single-touch-in-Kconfig.patch \
            "
-
-# iMX6Q SabreLITE changes done by Boundary Devices
-SRC_URI_append_imx6qsabrelite = " file://sync-boundary-changes.patch"