From 9b5df85143a13d43ea64ae2321f6bf388c1395bd Mon Sep 17 00:00:00 2001 From: Leon Woestenberg Date: Thu, 27 Jan 2011 21:03:15 +0100 Subject: adb4000.conf: New machine, kernel and u-boot support. STK ADB4000 is a development board with a SAM9G45 SODIMM CPU module. These patches are from the manufacturer (In-Circuit). Resulting kernel boots on the board. Signed-off-by: Leon Woestenberg --- recipes/linux/linux-2.6.33/adb4000/defconfig | 1745 +++++ ...ram-added-driver-for-a-memory-connected-F.patch | 359 ++ ...10-added-driver-for-tfp410-DVI-Controller.patch | 270 + ...at91_mci-modified-MMC-Host-to-work-on-G45.patch | 572 ++ ...2-0004-.gitignore-ignore-arm-image-output.patch | 21 + ...m-mach-at91-Add-support-for-icnova-boards.patch | 1357 ++++ ...-support-for-ADB1004revB-and-5In-Displays.patch | 289 + ...c-adding-support-for-pressure-measurement.patch | 215 + ...008-atmel_serial-adding-support-for-RS485.patch | 500 ++ ...-0009-ICnova-add-support-for-ADB3000-revB.patch | 117 + ...-pwm-Making-driver-selectable-for-SAM9G45.patch | 26 + ...wm-adding-new-Userspace-atmel-pwm-interfa.patch | 300 + ...6.33.2-0012-ICnova-configuring-the-buzzer.patch | 38 + ...-soc-adding-ssm2603-attached-to-atmel-ssc.patch | 337 + ...33.2-0014-ICnova-ADB1000-Adding-BPP-to-16.patch | 27 + ...46-Adding-option-to-support-fuzz-on-input.patch | 47 + ...B4000-Adding-support-for-the-IO-Processor.patch | 1785 +++++ ...g-the-number-of-GPIOs-to-support-addition.patch | 25 + ...linux-2.6.33.2-0018-ICnova-Adding-ADB4000.patch | 448 ++ recipes/linux/linux_2.6.33.bb | 22 + .../u-boot/u-boot-2009.11/at91/100-icnova.patch | 6820 ++++++++++++++++++++ recipes/u-boot/u-boot_2009.11.bb | 34 +- 22 files changed, 15339 insertions(+), 15 deletions(-) create mode 100644 recipes/linux/linux-2.6.33/adb4000/defconfig create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0001-misc-fpga_sram-added-driver-for-a-memory-connected-F.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0002-tfp410-added-driver-for-tfp410-DVI-Controller.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0003-drivers-at91_mci-modified-MMC-Host-to-work-on-G45.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0004-.gitignore-ignore-arm-image-output.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0005-arm-mach-at91-Add-support-for-icnova-boards.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0006-ICnova-Add-support-for-ADB1004revB-and-5In-Displays.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0007-atmel_tsadcc-adding-support-for-pressure-measurement.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0008-atmel_serial-adding-support-for-RS485.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0009-ICnova-add-support-for-ADB3000-revB.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0010-atmel-pwm-Making-driver-selectable-for-SAM9G45.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0011-hwmon-atm_pwm-adding-new-Userspace-atmel-pwm-interfa.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0012-ICnova-configuring-the-buzzer.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0013-sound-soc-adding-ssm2603-attached-to-atmel-ssc.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0014-ICnova-ADB1000-Adding-BPP-to-16.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0015-ADS7846-Adding-option-to-support-fuzz-on-input.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0016-ADB4000-Adding-support-for-the-IO-Processor.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0017-AT91-raising-the-number-of-GPIOs-to-support-addition.patch create mode 100644 recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0018-ICnova-Adding-ADB4000.patch create mode 100644 recipes/u-boot/u-boot-2009.11/at91/100-icnova.patch (limited to 'recipes') diff --git a/recipes/linux/linux-2.6.33/adb4000/defconfig b/recipes/linux/linux-2.6.33/adb4000/defconfig new file mode 100644 index 0000000000..3df5b86d87 --- /dev/null +++ b/recipes/linux/linux-2.6.33/adb4000/defconfig @@ -0,0 +1,1745 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.33 +# Thu Jan 27 17:47:10 2011 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_TIME=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_CONSTRUCTORS=y + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_LOCK_KERNEL=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_BZIP2 is not set +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +# CONFIG_TREE_PREEMPT_RCU is not set +# CONFIG_TINY_RCU is not set +# 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_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 +# CONFIG_GROUP_SCHED is not set +# CONFIG_CGROUPS is not set +# CONFIG_SYSFS_DEPRECATED_V2 is not set +# CONFIG_RELAY is not set +CONFIG_NAMESPACES=y +# CONFIG_UTS_NS is not set +# CONFIG_IPC_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +# CONFIG_NET_NS is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_LZO=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +# CONFIG_EMBEDDED is not set +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +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 + +# +# Kernel Performance Events And Counters +# +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_COMPAT_BRK=y +CONFIG_SLAB=y +# CONFIG_SLUB is not set +# 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_HAVE_CLK=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +# CONFIG_SLOW_WORK 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 is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +# CONFIG_IOSCHED_DEADLINE is not set +# CONFIG_IOSCHED_CFQ is not set +# CONFIG_DEFAULT_DEADLINE is not set +# CONFIG_DEFAULT_CFQ is not set +CONFIG_DEFAULT_NOOP=y +CONFIG_DEFAULT_IOSCHED="noop" +# 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 is not set +# CONFIG_FREEZER is not set + +# +# System Type +# +CONFIG_MMU=y +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +CONFIG_ARCH_AT91=y +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_STMP3XXX is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_NOMADIK 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_L7200 is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_LOKI 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_NS9XXX is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_MSM 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_S5PC1XX is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_U300 is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_BCMRING is not set +# CONFIG_ARCH_U8500 is not set +CONFIG_HAVE_AT91_USART3=y + +# +# Atmel AT91 System-on-Chip +# +# CONFIG_ARCH_AT91RM9200 is not set +# CONFIG_ARCH_AT91SAM9260 is not set +# CONFIG_ARCH_AT91SAM9261 is not set +# CONFIG_ARCH_AT91SAM9G10 is not set +# CONFIG_ARCH_AT91SAM9263 is not set +# CONFIG_ARCH_AT91SAM9RL is not set +# CONFIG_ARCH_AT91SAM9G20 is not set +CONFIG_ARCH_AT91SAM9G45=y +# CONFIG_ARCH_AT91CAP9 is not set +# CONFIG_ARCH_AT91X40 is not set +CONFIG_AT91_PMC_UNIT=y + +# +# AT91SAM9G45 Board Type +# +# CONFIG_MACH_AT91SAM9G45EKES is not set +# CONFIG_MACH_ICNOVA_ADB1000 is not set +# CONFIG_MACH_ICNOVA_ADB1002 is not set +# CONFIG_MACH_ICNOVA_ADB1004 is not set +# CONFIG_MACH_ICNOVA_ADB3000 is not set +CONFIG_MACH_ICNOVA_ADB4000=y + +# +# AT91 Board Options +# + +# +# AT91 Feature Selections +# +CONFIG_AT91_PROGRAMMABLE_CLOCKS=y +CONFIG_AT91_TIMER_HZ=100 +CONFIG_AT91_EARLY_DBGU=y +# CONFIG_AT91_EARLY_USART0 is not set +# CONFIG_AT91_EARLY_USART1 is not set +# CONFIG_AT91_EARLY_USART2 is not set +# CONFIG_AT91_EARLY_USART3 is not set +# CONFIG_AT91_EARLY_USART4 is not set +# CONFIG_AT91_EARLY_USART5 is not set + +# +# Processor Type +# +CONFIG_CPU_ARM926T=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5TJ=y +CONFIG_CPU_PABRT_LEGACY=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +# CONFIG_CPU_CACHE_ROUND_ROBIN is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 + +# +# Bus support +# +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_HZ=100 +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_HIGHMEM is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_SPLIT_PTLOCK_CPUS=999999 +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_VIRT_TO_BUS=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_LEDS=y +CONFIG_LEDS_CPU=y +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE=" debug " +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# CPU Power Management +# +# CONFIG_CPU_IDLE is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_VFP is not set + +# +# 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_PM is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +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 is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_DHCP is not set +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE 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=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_ROUTER_PREF is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +# CONFIG_INET6_AH is not set +# CONFIG_INET6_ESP is not set +# CONFIG_INET6_IPCOMP is not set +# CONFIG_IPV6_MIP6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +CONFIG_INET6_XFRM_MODE_TRANSPORT=y +CONFIG_INET6_XFRM_MODE_TUNNEL=y +CONFIG_INET6_XFRM_MODE_BEET=y +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +CONFIG_IPV6_SIT=y +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETWORK_SECMARK 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_BRIDGE is not set +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_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 + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +CONFIG_WIRELESS=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_CFG80211=m +CONFIG_NL80211_TESTMODE=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +# CONFIG_CFG80211_DEFAULT_PS is not set +# CONFIG_CFG80211_DEBUGFS is not set +CONFIG_WIRELESS_OLD_REGULATORY=y +CONFIG_CFG80211_WEXT=y +CONFIG_WIRELESS_EXT_SYSFS=y +CONFIG_LIB80211=m +CONFIG_LIB80211_DEBUG=y +CONFIG_MAC80211=m +CONFIG_MAC80211_RC_MINSTREL=y +# CONFIG_MAC80211_RC_DEFAULT_PID is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel" +# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_LEDS=y +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_TESTS is not set +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +# 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_MTD_OOPS 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_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# 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=y +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_SMC is not set +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +# CONFIG_MTD_NAND_GPIO is not set +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +CONFIG_MTD_NAND_ATMEL=y +# CONFIG_MTD_NAND_ATMEL_ECC_HW is not set +CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y +# CONFIG_MTD_NAND_ATMEL_ECC_NONE is not set +# CONFIG_MTD_NAND_NANDSIM 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 + +# +# UBI - Unsorted block images +# +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_RESERVE=1 +# CONFIG_MTD_UBI_GLUEBI is not set + +# +# UBI debugging options +# +# CONFIG_MTD_UBI_DEBUG is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set + +# +# DRBD disabled because PROC_FS, INET or CONNECTOR not selected +# +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=m +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +CONFIG_MISC_DEVICES=y +# CONFIG_AD525X_DPOT is not set +# CONFIG_ATMEL_PWM is not set +# CONFIG_ATMEL_TCLIB is not set +# CONFIG_ICS932S401 is not set +CONFIG_ATMEL_SSC=y +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_ISL29003 is not set +# CONFIG_DS1682 is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_IWMC3200TOP is not set +# CONFIG_SPI_COMM is not set +# CONFIG_SUPERVISOR_ATOI is not set +# CONFIG_FPGA_SRAM is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# 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 is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# CONFIG_ATA is not set +# CONFIG_MD 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 is not set +# CONFIG_VETH is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_MARVELL_PHY is not set +CONFIG_DAVICOM_PHY=y +# 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=y +# CONFIG_STE10XP is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_FIXED_PHY is not set +# CONFIG_MDIO_BITBANG is not set +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +CONFIG_MACB=y +# CONFIG_AX88796 is not set +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set +# CONFIG_ETHOC is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +# CONFIG_DNET 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_B44 is not set +# CONFIG_KS8842 is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_NETDEV_1000 is not set +# CONFIG_NETDEV_10000 is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_RTL8187 is not set +# CONFIG_MAC80211_HWSIM is not set +CONFIG_ATH_COMMON=m +# CONFIG_ATH_DEBUG is not set +CONFIG_AR9170_USB=m +CONFIG_AR9170_LEDS=y +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_HOSTAP is not set +# CONFIG_IWM is not set +# CONFIG_LIBERTAS is not set +# CONFIG_P54_COMMON is not set +CONFIG_RT2X00=m +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800_LIB=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_HT=y +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +# CONFIG_RT2X00_DEBUG is not set +# CONFIG_WL12XX is not set +# CONFIG_ZD1211RW 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_WAN is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER 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=320 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_QT2160 is not set +# CONFIG_KEYBOARD_LKKBD is not set +CONFIG_KEYBOARD_GPIO=y +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_MAX7359 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_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_VSXXXAA is not set +CONFIG_MOUSE_GPIO=y +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_AD7879_I2C is not set +# CONFIG_TOUCHSCREEN_AD7879 is not set +# CONFIG_TOUCHSCREEN_DYNAPRO is not set +# CONFIG_TOUCHSCREEN_EETI 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_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_ATMEL_TSADCC is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_TOUCHSCREEN_TSC2007 is not set +# CONFIG_TOUCHSCREEN_W90X900 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_ALTERA_PS2 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 is not set +CONFIG_DEVKMEM=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_ATMEL=y +CONFIG_SERIAL_ATMEL_CONSOLE=y +CONFIG_SERIAL_ATMEL_PDC=y +# CONFIG_SERIAL_ATMEL_TTYAT is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=16 +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_ALGOBIT=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_DESIGNWARE is not set +CONFIG_I2C_GPIO=y +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_SIMTEC is not set + +# +# External I2C/SMBus adapter drivers +# +# 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_PCA_PLATFORM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_SENSORS_TSL2550 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_I2C_DEBUG_CHIP is not set +# CONFIG_SPI is not set + +# +# PPS support +# +# CONFIG_PPS is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO expanders: +# + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_ADP5588 is not set + +# +# PCI GPIO expanders: +# + +# +# SPI GPIO expanders: +# + +# +# AC97 GPIO expanders: +# +CONFIG_W1=y + +# +# 1-wire Bus Masters +# +# CONFIG_W1_MASTER_DS2490 is not set +# CONFIG_W1_MASTER_DS2482 is not set +# CONFIG_W1_MASTER_DS1WM is not set +CONFIG_W1_MASTER_GPIO=y + +# +# 1-wire Slaves +# +CONFIG_W1_SLAVE_THERM=y +# CONFIG_W1_SLAVE_SMEM is not set +# CONFIG_W1_SLAVE_DS2431 is not set +# CONFIG_W1_SLAVE_DS2433 is not set +# CONFIG_W1_SLAVE_DS2760 is not set +# CONFIG_W1_SLAVE_BQ27000 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE 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_TPS65010 is not set +# CONFIG_TWL4030_CORE 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_WM8400 is not set +# CONFIG_MFD_WM831X is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_AB3100_CORE is not set +# CONFIG_MFD_88PM8607 is not set +# CONFIG_REGULATOR is not set +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +CONFIG_HAVE_FB_ATMEL=y +# 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_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_S1D13XXX is not set +CONFIG_FB_ATMEL=y +# 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_ATMEL_LCDC=y +# CONFIG_BACKLIGHT_GENERIC is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y +# CONFIG_SOUND is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +# CONFIG_HIDRAW is not set + +# +# 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=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_DRAGONRISE=y +# CONFIG_DRAGONRISE_FF is not set +CONFIG_HID_EZKEY=y +CONFIG_HID_KYE=y +CONFIG_HID_GYRATION=y +CONFIG_HID_TWINHAN=y +CONFIG_HID_KENSINGTON=y +CONFIG_HID_LOGITECH=y +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_NTRIG=y +CONFIG_HID_PANTHERLORD=y +# CONFIG_PANTHERLORD_FF is not set +CONFIG_HID_PETALYNX=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SUNPLUS=y +CONFIG_HID_GREENASIA=y +# CONFIG_GREENASIA_FF is not set +CONFIG_HID_SMARTJOYPLUS=y +# CONFIG_SMARTJOYPLUS_FF is not set +CONFIG_HID_TOPSEED=y +CONFIG_HID_THRUSTMASTER=y +# CONFIG_THRUSTMASTER_FF is not set +CONFIG_HID_ZEROPLUS=y +# CONFIG_ZEROPLUS_FF 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=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +CONFIG_USB_DEVICE_CLASS=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +CONFIG_USB_MON=y +# 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_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +# CONFIG_USB_EHCI_TT_NEWSCHED 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=y +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HWA_HCD is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# 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_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_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 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_BERRY_CHARGE 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_VST is not set +CONFIG_USB_GADGET=m +# 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_AT91 is not set +CONFIG_USB_GADGET_ATMEL_USBA=y +CONFIG_USB_ATMEL_USBA=m +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_R8A66597 is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_S3C_HSOTG is not set +# CONFIG_USB_GADGET_IMX is not set +# CONFIG_USB_GADGET_S3C2410 is not set +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_CI13XXX 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_DUMMY_HCD is not set +CONFIG_USB_GADGET_DUALSPEED=y +CONFIG_USB_ZERO=m +# CONFIG_USB_AUDIO is not set +# CONFIG_USB_ETH is not set +CONFIG_USB_GADGETFS=m +CONFIG_USB_FILE_STORAGE=m +# 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 + +# +# OTG and related infrastructure +# +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ULPI is not set +# CONFIG_NOP_USB_XCEIV is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +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 is not set +# CONFIG_MMC_AT91 is not set +CONFIG_MMC_ATMELMCI=y +CONFIG_MMC_ATMELMCI_DMA=y +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# +# LED drivers +# +# CONFIG_LEDS_PCA9532 is not set +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_GPIO_PLATFORM=y +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_BD2802 is not set +# CONFIG_LEDS_LT3593 is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_BACKLIGHT=y +CONFIG_LEDS_TRIGGER_GPIO=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_ACCESSIBILITY is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=m + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# 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_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 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 + +# +# SPI RTC drivers +# + +# +# 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_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_AT91SAM9=m +CONFIG_RTC_DRV_AT91SAM9_RTT=0 +CONFIG_RTC_DRV_AT91SAM9_GPBR=0 +CONFIG_DMADEVICES=y + +# +# DMA Devices +# +CONFIG_AT_HDMAC=y +CONFIG_DMA_ENGINE=y + +# +# DMA Clients +# +CONFIG_NET_DMA=y +CONFIG_ASYNC_TX_DMA=y +# CONFIG_DMATEST is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set + +# +# TI VLYNQ +# +# CONFIG_STAGING 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 is not set +# CONFIG_EXT4_FS is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_GENERIC_ACL=y + +# +# 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=y +# 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=y +# 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_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_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_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_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 is not set +CONFIG_MSDOS_PARTITION=y +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=y +# 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 is not set +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=y +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +CONFIG_NLS_UTF8=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# +CONFIG_PRINTK_TIME=y +# CONFIG_ENABLE_WARN_DEPRECATED is not set +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_KERNEL is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_RCU_CPU_STALL_DETECTOR is not set +# CONFIG_LATENCYTOP is not set +# CONFIG_SYSCTL_SYSCALL_CHECK is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +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 is not set +# CONFIG_SECURITYFS is not set +# CONFIG_DEFAULT_SECURITY_SELINUX is not set +# CONFIG_DEFAULT_SECURITY_SMACK is not set +# CONFIG_DEFAULT_SECURITY_TOMOYO is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_PCOMP=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_NULL is not set +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_SEQIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set + +# +# Hash modes +# +# CONFIG_CRYPTO_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 is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# 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 is not set +# 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_HW=y +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_GENERIC_FIND_LAST_BIT=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=y +CONFIG_CRC32=y +CONFIG_CRC7=m +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y +CONFIG_NLATTR=y diff --git a/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0001-misc-fpga_sram-added-driver-for-a-memory-connected-F.patch b/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0001-misc-fpga_sram-added-driver-for-a-memory-connected-F.patch new file mode 100644 index 0000000000..f7238837c5 --- /dev/null +++ b/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0001-misc-fpga_sram-added-driver-for-a-memory-connected-F.patch @@ -0,0 +1,359 @@ +From 8e60a6bc5c5fb74ed5d42a1f72d1847385b84a29 Mon Sep 17 00:00:00 2001 +From: Benjamin Tietz +Date: Wed, 15 Dec 2010 11:35:36 +0100 +Subject: [PATCH 01/18] [misc/fpga_sram] added driver for a memory-connected FPGA + +The ICnova SAM9G45+XC700AN OEM has a FPGA connected to the +ARM-Chip via the Memory Interface. This driver can be used to +communicate on the ARM-Site. +--- + drivers/misc/Kconfig | 6 + + drivers/misc/Makefile | 1 + + drivers/misc/fpga_sram.c | 309 ++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 316 insertions(+), 0 deletions(-) + create mode 100644 drivers/misc/fpga_sram.c + +diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig +index e3551d2..072c8a4 100644 +--- a/drivers/misc/Kconfig ++++ b/drivers/misc/Kconfig +@@ -297,4 +297,10 @@ source "drivers/misc/eeprom/Kconfig" + source "drivers/misc/cb710/Kconfig" + source "drivers/misc/iwmc3200top/Kconfig" + ++config FPGA_SRAM ++ tristate "FPGA-SRAM Interface" ++ help ++ Enable this if you need a SRAM-like interface somewhere in your ++ mapping. ++ + endif # MISC_DEVICES +diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile +index 049ff24..61fe337 100644 +--- a/drivers/misc/Makefile ++++ b/drivers/misc/Makefile +@@ -26,5 +26,6 @@ obj-$(CONFIG_DS1682) += ds1682.o + obj-$(CONFIG_TI_DAC7512) += ti_dac7512.o + obj-$(CONFIG_C2PORT) += c2port/ + obj-$(CONFIG_IWMC3200TOP) += iwmc3200top/ ++obj-$(CONFIG_FPGA_SRAM) += fpga_sram.o + obj-y += eeprom/ + obj-y += cb710/ +diff --git a/drivers/misc/fpga_sram.c b/drivers/misc/fpga_sram.c +new file mode 100644 +index 0000000..ca98598 +--- /dev/null ++++ b/drivers/misc/fpga_sram.c +@@ -0,0 +1,309 @@ ++/* ++ * main.c -- the bare fpga_sram char module ++ * ++ * Based on scull ++ * Copyright (C) 2001 Alessandro Rubini and Jonathan Corbet ++ * Copyright (C) 2001 O'Reilly & Associates ++ * ++ * The source code in this file can be freely used, adapted, ++ * and redistributed in source or binary form, so long as an ++ * acknowledgment appears in derived source files. The citation ++ * should list that the code comes from the book "Linux Device ++ * Drivers" by Alessandro Rubini and Jonathan Corbet, published ++ * by O'Reilly & Associates. No warranty is attached; ++ * we cannot take responsibility for errors or fitness for use. ++ * ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include /* printk() */ ++#include /* kmalloc() */ ++#include /* everything... */ ++#include /* error codes */ ++#include /* size_t */ ++#include ++#include /* O_ACCMODE */ ++#include ++#include ++ ++#include /* cli(), *_flags */ ++#include /* copy_*_user */ ++ ++#define FPGA_MAJOR 0 ++#define FPGA_NR_DEVS 1 ++ ++ ++struct fpga_sram_drv; ++ ++struct fpga_sram_dev { ++ struct fpga_sram_drv *drv; ++ struct cdev cdev; ++}; ++ ++struct fpga_sram_drv { ++ struct fpga_sram_dev *devices; ++ void *start; ++ int size; ++ int major; ++ int devs; ++}; ++ ++static int fpga_sram_major = FPGA_MAJOR; ++static int fpga_sram_minor = 0; ++static int fpga_sram_nr_devs = FPGA_NR_DEVS; ++ ++module_param(fpga_sram_major, int, S_IRUGO); ++module_param(fpga_sram_minor, int, S_IRUGO); ++//module_param(fpga_sram_nr_devs, int, S_IRUGO); ++ ++MODULE_AUTHOR("Benjamin Tietz"); ++MODULE_LICENSE("Dual BSD/GPL"); ++ ++ ++/* ++ * Open and close ++ */ ++ ++static int fpga_sram_open(struct inode *inode, struct file *filp) ++{ ++ struct fpga_sram_dev *dev; /* device information */ ++ ++ dev = container_of(inode->i_cdev, struct fpga_sram_dev, cdev); ++ ++ filp->private_data = dev; /* for other methods */ ++ ++ return 0; /* success */ ++} ++ ++static int fpga_sram_release(struct inode *inode, struct file *filp) ++{ ++ return 0; ++} ++ ++/* ++ * Data management: read and write ++ */ ++ ++static ssize_t fpga_sram_read(struct file *filp, char __user *buf, ++ size_t count, loff_t *f_pos) ++{ ++ struct fpga_sram_dev *dev = filp->private_data; ++ ssize_t res; ++ ++ if((count + *f_pos) > dev->drv->size) count = dev->drv->size - *f_pos; ++ if(( res = copy_to_user(buf, dev->drv->start + *f_pos, count)) < 0) ++ return res; ++ return count; ++} ++ ++static ssize_t fpga_sram_write(struct file *filp, const char __user *buf, ++ size_t count, loff_t *f_pos) ++{ ++ struct fpga_sram_dev *dev = filp->private_data; ++ ssize_t res; ++ ++ if((count + *f_pos) > dev->drv->size) count = dev->drv->size - *f_pos; ++ if(( res = copy_from_user(dev->drv->start + *f_pos, buf, count)) < 0) ++ return res; ++ return count; ++} ++ ++/* ++ * The "extended" operations -- only seek ++ */ ++ ++static loff_t fpga_sram_llseek(struct file *filp, loff_t off, int whence) ++{ ++ struct fpga_sram_dev *dev = filp->private_data; ++ loff_t newpos; ++ ++ switch(whence) { ++ case 0: /* SEEK_SET */ ++ newpos = off; ++ break; ++ ++ case 1: /* SEEK_CUR */ ++ newpos = filp->f_pos + off; ++ break; ++ ++ case 2: /* SEEK_END */ ++ newpos = dev->drv->size + off; ++ break; ++ ++ default: /* can't happen */ ++ return -EINVAL; ++ } ++ if ( newpos >= dev->drv->size) return -EINVAL; ++ if (newpos < 0) return -EINVAL; ++ filp->f_pos = newpos; ++ return newpos; ++} ++ ++ ++ ++static struct file_operations fpga_sram_fops = { ++ .owner = THIS_MODULE, ++ .llseek = fpga_sram_llseek, ++ .read = fpga_sram_read, ++ .write = fpga_sram_write, ++ .open = fpga_sram_open, ++ .release = fpga_sram_release, ++}; ++ ++/* ++ * Finally, the module stuff ++ */ ++ ++/* ++ * The cleanup function is used to handle initialization failures as well. ++ * Thefore, it must be careful to work correctly even if some of the items ++ * have not been initialized ++ */ ++static int __exit fpga_sram_destroy(struct platform_device *pdev) ++{ ++ int i; ++ struct fpga_sram_drv *drv = platform_get_drvdata(pdev); ++ dev_t devno = MKDEV(drv->major, fpga_sram_minor); ++ ++ /* Get rid of our char dev entries */ ++ if(drv->devices) { ++ for (i = 0; i < drv->devs; i++) { ++ cdev_del(&drv->devices[i].cdev); ++ } ++ kfree(drv->devices); ++ } ++ ++ /* cleanup_module is never called if registering failed */ ++ unregister_chrdev_region(devno, drv->devs); ++ kfree(drv->devices); ++ ++ return 0; ++} ++ ++ ++/* ++ * Set up the char_dev structure for this device. ++ */ ++static void fpga_sram_setup_cdev(struct fpga_sram_dev *dev, int index) ++{ ++ int err, devno = MKDEV(dev->drv->major, fpga_sram_minor + index); ++ ++ cdev_init(&dev->cdev, &fpga_sram_fops); ++ dev->cdev.owner = THIS_MODULE; ++ dev->cdev.ops = &fpga_sram_fops; ++ err = cdev_add (&dev->cdev, devno, 1); ++ /* Fail gracefully if need be */ ++ if (err) ++ pr_info("Error %d adding fpga_sram%d", err, index); ++} ++ ++ ++static int fpga_sram_probe(struct platform_device *pdev) ++{ ++ struct fpga_sram_drv *drv; ++ struct resource *fmem; ++ ++ dev_t dev = 0; ++ int result; ++ int i; ++ ++ /* ++ * allocate the devices -- we can't have them static, as the number ++ * can be specified at load time ++ */ ++ drv = kzalloc(sizeof(*drv), GFP_KERNEL); ++ if(!drv) { ++ result = -ENOMEM; ++ goto drv_mem_err; ++ } ++ drv->devs = fpga_sram_nr_devs; ++ ++ drv->devices = kzalloc(drv->devs * sizeof(*drv->devices), GFP_KERNEL); ++ if (!drv->devices) { ++ result = -ENOMEM; ++ goto dev_mem_err; /* Make this more graceful */ ++ } ++ ++ platform_set_drvdata(pdev, drv); ++ ++ /* ++ * Get a range of minor numbers to work with, asking for a dynamic ++ * major unless directed otherwise at load time. ++ */ ++ if (fpga_sram_major) { ++ dev = MKDEV(fpga_sram_major, fpga_sram_minor); ++ result = register_chrdev_region(dev, drv->devs, "fpga_sram"); ++ drv->major = fpga_sram_major; ++ } else { ++ result = alloc_chrdev_region(&dev, fpga_sram_minor, ++ drv->devs, "fpga_sram"); ++ drv->major = MAJOR(dev); ++ } ++ if (result < 0) { ++ dev_warn(&pdev->dev, "can't get major %d\n", fpga_sram_major); ++ goto major_err; ++ } ++ ++ fmem = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ if(!fmem) { ++ result = -ENXIO; ++ dev_warn(&pdev->dev, "No memory to work with\n"); ++ goto res_err; ++ } ++ ++ drv->size = fmem->end - fmem->start + 1; ++ ++#if 0 ++ if(!request_mem_region(fmem->start, drv->size, "fpga_sram")) { ++ dev_warn(&pdev->dev, "can't request mem_region"); ++ goto res_err; ++ } ++#endif ++ ++ drv->start = ioremap(fmem->start, drv->size); ++ if(!drv->start) { ++ dev_warn(&pdev->dev, "Can't allocate resource (%i)\n", result); ++ goto res_err; ++ } ++ ++ for(i=0; i< drv->devs; i++) { ++ drv->devices[i].drv = drv; ++ fpga_sram_setup_cdev(&drv->devices[i], i); ++ } ++ ++ return 0; /* succeed */ ++ ++ release_mem_region(fmem->start, drv->size); ++res_err: ++ unregister_chrdev_region(dev, drv->devs); ++major_err: ++ kfree(drv->devices); ++dev_mem_err: ++ kfree(drv); ++drv_mem_err: ++ return result; ++} ++ ++static struct platform_driver fpga_sram_driver = { ++ .driver = { ++ .name = "fpga_sram", ++ .owner = THIS_MODULE, ++ }, ++ .remove = __exit_p(fpga_sram_destroy), ++}; ++ ++static int __init fpga_sram_init_module(void) { ++ return platform_driver_probe(&fpga_sram_driver, fpga_sram_probe); ++} ++ ++static void __exit fpga_sram_cleanup_module(void) { ++ platform_driver_unregister(&fpga_sram_driver); ++} ++ ++module_init(fpga_sram_init_module); ++module_exit(fpga_sram_cleanup_module); +-- +1.7.3.3 + diff --git a/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0002-tfp410-added-driver-for-tfp410-DVI-Controller.patch b/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0002-tfp410-added-driver-for-tfp410-DVI-Controller.patch new file mode 100644 index 0000000000..172c246b02 --- /dev/null +++ b/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0002-tfp410-added-driver-for-tfp410-DVI-Controller.patch @@ -0,0 +1,270 @@ +From 29e785edcbd8e97eadc37bfbb7e22a66c3bbac6d Mon Sep 17 00:00:00 2001 +From: Benjamin Tietz +Date: Wed, 15 Dec 2010 12:42:21 +0100 +Subject: [PATCH 02/18] [tfp410] added driver for tfp410 DVI-Controller + +This chip can be configured via I2C. +Currently the gpio is coded into this driver. +--- + drivers/video/backlight/Kconfig | 6 + + drivers/video/backlight/Makefile | 1 + + drivers/video/backlight/tfp410.c | 218 ++++++++++++++++++++++++++++++++++++++ + 3 files changed, 225 insertions(+), 0 deletions(-) + create mode 100644 drivers/video/backlight/tfp410.c + +diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig +index 09bfa96..acf8a64 100644 +--- a/drivers/video/backlight/Kconfig ++++ b/drivers/video/backlight/Kconfig +@@ -91,6 +91,12 @@ config LCD_TOSA + If you have an Sharp SL-6000 Zaurus say Y to enable a driver + for its LCD. + ++config LCD_TFP410 ++ tristate "TFP410 support" ++ depends on LCD_CLASS_DEVICE && I2C ++ default n ++ ++ + config LCD_HP700 + tristate "HP Jornada 700 series LCD Driver" + depends on LCD_CLASS_DEVICE +diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile +index 9a40554..846c2cc 100644 +--- a/drivers/video/backlight/Makefile ++++ b/drivers/video/backlight/Makefile +@@ -10,6 +10,7 @@ obj-$(CONFIG_LCD_PLATFORM) += platform_lcd.o + obj-$(CONFIG_LCD_VGG2432A4) += vgg2432a4.o + obj-$(CONFIG_LCD_TDO24M) += tdo24m.o + obj-$(CONFIG_LCD_TOSA) += tosa_lcd.o ++obj-$(CONFIG_LCD_TFP410) += tfp410.o + + obj-$(CONFIG_BACKLIGHT_CLASS_DEVICE) += backlight.o + obj-$(CONFIG_BACKLIGHT_ATMEL_PWM) += atmel-pwm-bl.o +diff --git a/drivers/video/backlight/tfp410.c b/drivers/video/backlight/tfp410.c +new file mode 100644 +index 0000000..347a700 +--- /dev/null ++++ b/drivers/video/backlight/tfp410.c +@@ -0,0 +1,218 @@ ++/* ++ * Driver for the TFP410 DVI-Chip ++ * ++ * This currently just enables the chip ++ * ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#define TFP_VEN_ID 0x00 ++#define TFP_VEN_ID1 0x01 ++#define TFP_VEN_ID_TFP 0x014C ++#define TFP_DEV_ID 0x02 ++#define TFP_DEV_ID1 0x03 ++#define TFP_DEV_ID_TFP 0x0410 ++#define TFP_REV_ID 0x04 ++#define TFP_CTL1 0x08 ++#define TFP_CTL1_nPD (1<<0) ++#define TFP_CTL1_EDGE (1<<1) ++#define TFP_CTL1_BSEL (1<<2) ++#define TFP_CTL1_DSEL (1<<3) ++#define TFP_CTL1_HEN (1<<4) ++#define TFP_CTL1_VEN (1<<5) ++#define TFP_CTL1_TDIS (1<<6) ++#define TFP_CTL2 0x09 ++#define TFP_CTL2_MDI (1<<0) ++#define TFP_CTL2_HTPLG (1<<1) ++#define TFP_CTL2_RSEN (1<<2) ++#define TFP_CTL2_TSEL (1<<3) ++#define TFP_CTL2_MSEL(x) ((x)<<4) ++#define TFP_MSEL_DIS 0x00 ++#define TFP_MSEL_MDI 0x01 ++#define TFP_MSEL_RSEN 0x02 ++#define TFP_MSEL_HTPLG 0x03 ++#define TFP_CTL2_VLOW (1<<7) ++#define TFP_CTL3 0x0A ++#define TFP_CTL3_CTL(x) ((x)<<1) ++#define TFP_CTL3_DKEN (1<<4) ++#define TFP_CTL3_DK(x) ((x)<<5) ++#define TFP_CFG 0x0B ++#define TFP_DE_DLY 0x32 ++#define TFP_DE_CTL 0x33 ++#define TFP_DE_CTL_DLY8 (1<<0) ++#define TFP_DE_CTL_HS_POL (1<<4) ++#define TFP_DE_CTL_VS_POL (1<<5) ++#define TFP_DE_CTL_DE_GEN (1<<6) ++#define TFP_DE_TOP 0x34 ++#define TFP_DE_CNT 0x36 ++#define TFP_DE_CNT1 0x37 ++#define TFP_DE_LIN 0x38 ++#define TFP_DE_LIN1 0x39 ++#define TFP_H_RES 0x3A ++#define TFP_H_RES1 0x3B ++#define TFP_V_RES 0x3C ++#define TFP_V_RES1 0x3D ++ ++ ++static inline int tfp410_write_byte(struct i2c_client *client, ++ char reg, char data) { ++ return i2c_smbus_write_byte_data(client,reg,data); ++} ++ ++static inline int tfp410_write_word(struct i2c_client *client, ++ char reg, short data) { ++ int ret; ++ ret = i2c_smbus_write_byte_data(client,reg,(data & 0x00FF)); ++ if(ret < 0) return ret; ++ ret = i2c_smbus_write_byte_data(client,reg+1,(data >> 8)); ++ if(ret < 0) return ret; ++ return 2; ++} ++ ++static inline int tfp410_write_dword(struct i2c_client *client, ++ char reg, long data) { ++ int ret; ++ ret = i2c_smbus_write_byte_data(client,reg+0,((data >> 0) & 0x00FF)); ++ if(ret < 0) return ret; ++ ret = i2c_smbus_write_byte_data(client,reg+1,((data >> 8) & 0x00FF)); ++ if(ret < 0) return ret; ++ ret = i2c_smbus_write_byte_data(client,reg+2,((data >> 16) & 0x00FF)); ++ if(ret < 0) return ret; ++ ret = i2c_smbus_write_byte_data(client,reg+3,((data >> 24) & 0x00FF)); ++ if(ret < 0) return ret; ++ return 2; ++} ++ ++static inline int tfp410_read_byte(struct i2c_client *client, char reg) { ++ return i2c_smbus_read_byte_data(client, reg); ++} ++ ++static inline int tfp410_read_word(struct i2c_client *client, char reg) { ++ int ret, ret2; ++ ++ ret = i2c_smbus_read_byte_data(client, reg); ++ if(ret < 0) return ret; ++ ret2 = i2c_smbus_read_byte_data(client, reg+1); ++ if(ret2 < 0) return ret2; ++ return (ret & 0x00FF) | (ret2 << 8); ++} ++ ++static ssize_t dump_regs(struct device *dev, struct device_attribute *attr, ++ char *buf) { ++ struct i2c_client *client = to_i2c_client(dev); ++ ++ return sprintf(buf, ++ "Vendor: %04x\nDevice: %04x\nRevision: %02x\n" ++ "CTL1: %02x\nCTL2: %02x\nCTL3: %02x\nCFG: %02x\n" ++ "DE_DLY: %04x\nDE_CTL: %02x\nDE_TOP: %02x\n" ++ "DE_CNT: %04i\nDE_LIN: %04i\n" ++ "H_RES: %04i\nV_RES: %04i\n", ++ tfp410_read_word(client, TFP_VEN_ID), ++ tfp410_read_word(client, TFP_DEV_ID), ++ tfp410_read_byte(client, TFP_REV_ID), ++ tfp410_read_byte(client, TFP_CTL1), ++ tfp410_read_byte(client, TFP_CTL2), ++ tfp410_read_byte(client, TFP_CTL3), ++ tfp410_read_byte(client, TFP_CFG), ++ tfp410_read_byte(client, TFP_DE_DLY), ++ tfp410_read_byte(client, TFP_DE_CTL), ++ tfp410_read_byte(client, TFP_DE_TOP), ++ tfp410_read_word(client, TFP_DE_CNT), ++ tfp410_read_word(client, TFP_DE_LIN), ++ tfp410_read_word(client, TFP_H_RES), ++ tfp410_read_word(client, TFP_V_RES)); ++ ++} ++ ++static SENSOR_DEVICE_ATTR(regs, S_IRUGO, dump_regs, NULL, 0); ++ ++static struct attribute *tfp410_attributes[] = { ++ &sensor_dev_attr_regs.dev_attr.attr, ++ NULL, ++}; ++ ++static const struct attribute_group tfp410_group = { ++ .attrs = tfp410_attributes, ++}; ++ ++#ifdef CONFIG_ARCH_AT91SAM9G45 ++#define TFP410_RESET_PIN 65 // PB1 ++#else ++#define TFP410_RESET_PIN 1 // PA1 ++#endif ++ ++static int tfp410_probe(struct i2c_client *client, ++ const struct i2c_device_id *dev_id) { ++ int ret = 0; ++ int reg; ++ if(!i2c_check_functionality(client->adapter, ++ I2C_FUNC_SMBUS_BYTE_DATA)) ++ goto exit; ++ dev_info(&client->dev, "chip found\n"); ++ gpio_request(TFP410_RESET_PIN, "tfp410.reset"); ++ gpio_direction_output(TFP410_RESET_PIN, 0); ++ msleep(4); ++ gpio_set_value(TFP410_RESET_PIN, 1); ++ msleep(4); ++ reg = tfp410_read_word(client, TFP_VEN_ID); ++ if(reg != TFP_VEN_ID_TFP) { ++ dev_warn(&client->dev, "VID doesn't match %04x vs. %04x\n", ++ reg, TFP_VEN_ID_TFP); ++ goto exit; ++ } ++ // Init the chip ++ tfp410_write_byte(client, TFP_CTL1, ++ (TFP_CTL1_nPD | tfp410_read_byte(client, TFP_CTL1)) ++ & ~TFP_CTL1_TDIS); ++ tfp410_write_byte(client, TFP_DE_CTL,0 ++ |TFP_DE_CTL_VS_POL|TFP_DE_CTL_HS_POL ++ ); ++ ret = sysfs_create_group(&client->dev.kobj, &tfp410_group); ++ if(ret) goto exit; ++ ++ ++ return 0; ++ ++ sysfs_remove_group(&client->dev.kobj, &tfp410_group); ++exit: ++ return ret; ++} ++ ++static int __devexit tfp410_remove(struct i2c_client *client) { ++ sysfs_remove_group(&client->dev.kobj, &tfp410_group); ++ return 0; ++} ++ ++static const struct i2c_device_id tfp410_id[] = { ++ { "tfp410", 0x3F }, ++ {}, ++}; ++ ++static struct i2c_driver tfp410_driver = { ++ .driver = { ++ .name = "tfp410", ++ }, ++ .probe = tfp410_probe, ++ .remove = __devexit_p(tfp410_remove), ++ .id_table = tfp410_id, ++}; ++ ++static int __init tfp410_init(void) { ++ return i2c_add_driver(&tfp410_driver); ++} ++module_init(tfp410_init); ++ ++static void __exit tfp410_exit(void) { ++ i2c_del_driver(&tfp410_driver); ++} ++module_exit(tfp410_exit); ++ ++MODULE_AUTHOR("Benjamin Tietz "); ++MODULE_DESCRIPTION("TFP410 Display Driver"); ++MODULE_LICENSE("GPL"); ++ +-- +1.7.3.3 + diff --git a/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0003-drivers-at91_mci-modified-MMC-Host-to-work-on-G45.patch b/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0003-drivers-at91_mci-modified-MMC-Host-to-work-on-G45.patch new file mode 100644 index 0000000000..1a0c9409a8 --- /dev/null +++ b/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0003-drivers-at91_mci-modified-MMC-Host-to-work-on-G45.patch @@ -0,0 +1,572 @@ +From a581d8cc2ec44930b697a602d22ae6a4179a8bf1 Mon Sep 17 00:00:00 2001 +From: Benjamin Tietz +Date: Wed, 15 Dec 2010 13:40:28 +0100 +Subject: [PATCH 03/18] [drivers/at91_mci] modified MMC-Host to work on G45 + +--- + arch/arm/mach-at91/at91sam9g45_devices.c | 170 +++++++++++++++++++++++++++- + arch/arm/mach-at91/include/mach/at91_mci.h | 24 ++++ + arch/arm/mach-at91/include/mach/board.h | 8 +- + drivers/mmc/host/Kconfig | 2 +- + drivers/mmc/host/at91_mci.c | 147 ++++++++++++++++++------ + 5 files changed, 308 insertions(+), 43 deletions(-) + +diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c +index 809114d..c40e4cd 100644 +--- a/arch/arm/mach-at91/at91sam9g45_devices.c ++++ b/arch/arm/mach-at91/at91sam9g45_devices.c +@@ -25,6 +25,8 @@ + #include + #include + #include ++#include ++#include + + #include "generic.h" + +@@ -276,6 +278,168 @@ void __init at91_add_device_usba(struct usba_platform_data *data) {} + + + /* -------------------------------------------------------------------- ++ * MMC / SD ++ * -------------------------------------------------------------------- */ ++ ++#if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE) ++static u64 mmc_dmamask = DMA_BIT_MASK(32); ++static struct mci_platform_data mmc0_data, mmc1_data; ++ ++static struct resource mmc0_resources[] = { ++ [0] = { ++ .start = AT91SAM9G45_BASE_MCI0, ++ .end = AT91SAM9G45_BASE_MCI0 + SZ_16K - 1, ++ .flags = IORESOURCE_MEM, ++ }, ++ [1] = { ++ .start = AT91SAM9G45_ID_MCI0, ++ .end = AT91SAM9G45_ID_MCI0, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++static struct platform_device at91sam9g45_mmc0_device = { ++ .name = "atmel_mci", ++ .id = 0, ++ .dev = { ++ .dma_mask = &mmc_dmamask, ++ .coherent_dma_mask = DMA_BIT_MASK(32), ++ .platform_data = &mmc0_data, ++ }, ++ .resource = mmc0_resources, ++ .num_resources = ARRAY_SIZE(mmc0_resources), ++}; ++ ++static struct resource mmc1_resources[] = { ++ [0] = { ++ .start = AT91SAM9G45_BASE_MCI1, ++ .end = AT91SAM9G45_BASE_MCI1 + SZ_16K - 1, ++ .flags = IORESOURCE_MEM, ++ }, ++ [1] = { ++ .start = AT91SAM9G45_ID_MCI1, ++ .end = AT91SAM9G45_ID_MCI1, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++static struct platform_device at91sam9g45_mmc1_device = { ++ .name = "atmel_mci", ++ .id = 1, ++ .dev = { ++ .dma_mask = &mmc_dmamask, ++ .coherent_dma_mask = DMA_BIT_MASK(32), ++ .platform_data = &mmc1_data, ++ }, ++ .resource = mmc1_resources, ++ .num_resources = ARRAY_SIZE(mmc1_resources), ++}; ++ ++/* Consider only one slot : slot 0 */ ++void __init at91_add_device_mci(short mmc_id, struct mci_platform_data *data) ++{ ++ ++ if (!data) ++ return; ++ ++ /* Must have at least one usable slot */ ++ if (!data->slot[0].bus_width) ++ return; ++ ++#if defined(CONFIG_MMC_ATMELMCI_DMA) ++ { ++ struct mci_dma_data *slave; ++ ++ slave = kzalloc(sizeof(struct mci_dma_data), GFP_KERNEL); ++ ++ /* DMA slave channel configuration */ ++ slave->sdata.dma_dev = &at_hdmac_device.dev; ++ slave->sdata.reg_width = DW_DMA_SLAVE_WIDTH_32BIT; ++ slave->sdata.cfg = ATC_FIFOCFG_HALFFIFO ++ | ATC_SRC_H2SEL_HW | ATC_DST_H2SEL_HW; ++ slave->sdata.ctrla = ATC_SCSIZE_16 | ATC_DCSIZE_16; ++ if (mmc_id == 0) /* MCI0 */ ++ slave->sdata.cfg |= ATC_SRC_PER(AT_DMA_ID_MCI0) ++ | ATC_DST_PER(AT_DMA_ID_MCI0); ++ ++ else /* MCI1 */ ++ slave->sdata.cfg |= ATC_SRC_PER(AT_DMA_ID_MCI1) ++ | ATC_DST_PER(AT_DMA_ID_MCI1); ++ ++ data->dma_slave = slave; ++ } ++#endif ++ ++ ++ /* input/irq */ ++ if (data->slot[0].detect_pin) { ++ at91_set_gpio_input(data->slot[0].detect_pin, 1); ++ at91_set_deglitch(data->slot[0].detect_pin, 1); ++ } ++ if (data->slot[0].wp_pin) ++ at91_set_gpio_input(data->slot[0].wp_pin, 1); ++ ++ if (mmc_id == 0) { /* MCI0 */ ++ ++ /* CLK */ ++ at91_set_A_periph(AT91_PIN_PA0, 0); ++ ++ /* CMD */ ++ at91_set_A_periph(AT91_PIN_PA1, 1); ++ ++ /* DAT0, maybe DAT1..DAT3 and maybe DAT4..DAT7 */ ++ at91_set_A_periph(AT91_PIN_PA2, 1); ++ if (data->slot[0].bus_width == 4) { ++ at91_set_A_periph(AT91_PIN_PA3, 1); ++ at91_set_A_periph(AT91_PIN_PA4, 1); ++ at91_set_A_periph(AT91_PIN_PA5, 1); ++ if (data->slot[0].bus_width == 8) { ++ at91_set_A_periph(AT91_PIN_PA6, 1); ++ at91_set_A_periph(AT91_PIN_PA7, 1); ++ at91_set_A_periph(AT91_PIN_PA8, 1); ++ at91_set_A_periph(AT91_PIN_PA9, 1); ++ } ++ } ++ ++ mmc0_data = *data; ++ at91_clock_associate("mci0_clk", &at91sam9g45_mmc0_device.dev, "mci_clk"); ++ platform_device_register(&at91sam9g45_mmc0_device); ++ ++ } else { /* MCI1 */ ++ ++ /* CLK */ ++ at91_set_A_periph(AT91_PIN_PA31, 0); ++ ++ /* CMD */ ++ at91_set_A_periph(AT91_PIN_PA22, 1); ++ ++ /* DAT0, maybe DAT1..DAT3 and maybe DAT4..DAT7 */ ++ at91_set_A_periph(AT91_PIN_PA23, 1); ++ if (data->slot[0].bus_width == 4) { ++ at91_set_A_periph(AT91_PIN_PA24, 1); ++ at91_set_A_periph(AT91_PIN_PA25, 1); ++ at91_set_A_periph(AT91_PIN_PA26, 1); ++ if (data->slot[0].bus_width == 8) { ++ at91_set_A_periph(AT91_PIN_PA27, 1); ++ at91_set_A_periph(AT91_PIN_PA28, 1); ++ at91_set_A_periph(AT91_PIN_PA29, 1); ++ at91_set_A_periph(AT91_PIN_PA30, 1); ++ } ++ } ++ ++ mmc1_data = *data; ++ at91_clock_associate("mci1_clk", &at91sam9g45_mmc1_device.dev, "mci_clk"); ++ platform_device_register(&at91sam9g45_mmc1_device); ++ ++ } ++} ++ ++#else ++void __init at91_add_device_mci(short mmc_id, struct mci_platform_data *data) {} ++#endif ++ ++ ++/* -------------------------------------------------------------------- + * Ethernet + * -------------------------------------------------------------------- */ + +@@ -746,13 +910,17 @@ void __init at91_add_device_lcdc(struct atmel_lcdfb_info *data) + if (!data) + return; + +- at91_set_A_periph(AT91_PIN_PE0, 0); /* LCDDPWR */ ++ //at91_set_A_periph(AT91_PIN_PE0, 0); /* LCDDPWR */ + + at91_set_A_periph(AT91_PIN_PE2, 0); /* LCDCC */ + at91_set_A_periph(AT91_PIN_PE3, 0); /* LCDVSYNC */ + at91_set_A_periph(AT91_PIN_PE4, 0); /* LCDHSYNC */ + at91_set_A_periph(AT91_PIN_PE5, 0); /* LCDDOTCK */ ++#ifndef CONFIG_MACH_ICNOVA_ADB1004 ++#ifndef CONFIG_MACH_ICNOVA_ADB3000 + at91_set_A_periph(AT91_PIN_PE6, 0); /* LCDDEN */ ++#endif ++#endif + at91_set_A_periph(AT91_PIN_PE7, 0); /* LCDD0 */ + at91_set_A_periph(AT91_PIN_PE8, 0); /* LCDD1 */ + at91_set_A_periph(AT91_PIN_PE9, 0); /* LCDD2 */ +diff --git a/arch/arm/mach-at91/include/mach/at91_mci.h b/arch/arm/mach-at91/include/mach/at91_mci.h +index 550d503..6cabe7d 100644 +--- a/arch/arm/mach-at91/include/mach/at91_mci.h ++++ b/arch/arm/mach-at91/include/mach/at91_mci.h +@@ -79,6 +79,18 @@ + #define AT91_MCI_BLKR_BCNT(n) ((0xffff & (n)) << 0) /* Block count */ + #define AT91_MCI_BLKR_BLKLEN(n) ((0xffff & (n)) << 16) /* Block lenght */ + ++#define AT91_MCI_CSTOR 0x08 /* Complete Signal Timeout Register */ ++#define AT91_MCI_CSTOCYC (0xf << 0) /* CS Timeout Cycle Number */ ++#define AT91_MCI_CSTOMUL (7 << 4) /* CS Timeout Multiplier */ ++#define AT91_MCI_CSTOMUL_1 (0 << 4) ++#define AT91_MCI_CSTOMUL_16 (1 << 4) ++#define AT91_MCI_CSTOMUL_128 (2 << 4) ++#define AT91_MCI_CSTOMUL_256 (3 << 4) ++#define AT91_MCI_CSTOMUL_1K (4 << 4) ++#define AT91_MCI_CSTOMUL_4K (5 << 4) ++#define AT91_MCI_CSTOMUL_64K (6 << 4) ++#define AT91_MCI_CSTOMUL_1M (7 << 4) ++ + #define AT91_MCI_RSPR(n) (0x20 + ((n) * 4)) /* Response Registers 0-3 */ + #define AT91_MCR_RDR 0x30 /* Receive Data Register */ + #define AT91_MCR_TDR 0x34 /* Transmit Data Register */ +@@ -103,6 +115,8 @@ + #define AT91_MCI_RTOE (1 << 20) /* Reponse Time-out Error */ + #define AT91_MCI_DCRCE (1 << 21) /* Data CRC Error */ + #define AT91_MCI_DTOE (1 << 22) /* Data Time-out Error */ ++#define AT91_MCI_FIFOEMPTY (1 << 26) /* FIFO Empty (g45) */ ++#define AT91_MCI_XFRDONE (1 << 27) /* Transfer Done (g45) */ + #define AT91_MCI_OVRE (1 << 30) /* Overrun */ + #define AT91_MCI_UNRE (1 << 31) /* Underrun */ + +@@ -110,4 +124,14 @@ + #define AT91_MCI_IDR 0x48 /* Interrupt Disable Register */ + #define AT91_MCI_IMR 0x4c /* Interrupt Mask Register */ + ++#define AT91_MCI_HSDMA 0x50 /* DMA-Register on HSMCI */ ++#define AT91_MCI_OFFSET (3<<0) /* DMA Write Buffer Offset */ ++#define AT91_MCI_CHKSIZE (3<<4) /* DMA Channel Read and Write Chunk Size */ ++#define AT91_MCI_CHKSIZE1 (0<<4) /* DMA Channel Read and Write Chunk Size */ ++#define AT91_MCI_CHKSIZE4 (1<<4) /* DMA Channel Read and Write Chunk Size */ ++#define AT91_MCI_CHKSIZE8 (2<<4) /* DMA Channel Read and Write Chunk Size */ ++#define AT91_MCI_CHKSIZE16 (3<<4) /* DMA Channel Read and Write Chunk Size */ ++#define AT91_MCI_DMAEN (1<<8) /* DMA Hardware Handshaking Enable */ ++#define AT91_MCI_ROPT (1<<12) /* Read Optimization with padding */ ++ + #endif +diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h +index bb6f6a7..b0d0e12 100644 +--- a/arch/arm/mach-at91/include/mach/board.h ++++ b/arch/arm/mach-at91/include/mach/board.h +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + + /* USB Device */ + struct at91_udc_data { +@@ -143,9 +144,10 @@ extern struct platform_device *atmel_default_console_device; + extern void __init __deprecated at91_init_serial(struct at91_uart_config *config); + + struct atmel_uart_data { +- short use_dma_tx; /* use transmit DMA? */ +- short use_dma_rx; /* use receive DMA? */ +- void __iomem *regs; /* virtual base address, if any */ ++ short use_dma_tx; /* use transmit DMA? */ ++ short use_dma_rx; /* use receive DMA? */ ++ void __iomem *regs; /* virt. base address, if any */ ++ struct serial_rs485 rs485; /* rs485 settings */ + }; + extern void __init at91_add_device_serial(void); + +diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig +index ce1d288..1454a9d 100644 +--- a/drivers/mmc/host/Kconfig ++++ b/drivers/mmc/host/Kconfig +@@ -219,7 +219,7 @@ endchoice + + config MMC_ATMELMCI_DMA + bool "Atmel MCI DMA support (EXPERIMENTAL)" +- depends on MMC_ATMELMCI && AVR32 && DMA_ENGINE && EXPERIMENTAL ++ depends on MMC_ATMELMCI && (AVR32 || ARCH_AT91SAM9G45) && DMA_ENGINE && EXPERIMENTAL + help + Say Y here to have the Atmel MCI driver use a DMA engine to + do data transfers and thus increase the throughput and +diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c +index 63924e0..90fda9e 100644 +--- a/drivers/mmc/host/at91_mci.c ++++ b/drivers/mmc/host/at91_mci.c +@@ -53,6 +53,7 @@ + Gets the status of the write protect pin, if available. + */ + ++#define DEBUG + #include + #include + #include +@@ -268,44 +269,77 @@ static void at91_mci_pre_dma_read(struct at91mci_host *host) + return; + } + +- for (i = 0; i < 2; i++) { +- /* nothing left to transfer */ +- if (host->transfer_index >= data->sg_len) { +- pr_debug("Nothing left to transfer (index = %d)\n", host->transfer_index); +- break; +- } +- +- /* Check to see if this needs filling */ +- if (i == 0) { +- if (at91_mci_read(host, ATMEL_PDC_RCR) != 0) { +- pr_debug("Transfer active in current\n"); +- continue; +- } +- } +- else { +- if (at91_mci_read(host, ATMEL_PDC_RNCR) != 0) { +- pr_debug("Transfer active in next\n"); +- continue; +- } +- } ++ if(cpu_is_at91sam9g45()) { ++ /*if(at91_mci_read(host, AT91_MCI_HSDMA) & AT91_MCI_DMAEN) { ++ pr_warning("DMA Transfer in progress\n"); ++ return; ++ }*/ + +- /* Setup the next transfer */ + pr_debug("Using transfer index %d\n", host->transfer_index); + + sg = &data->sg[host->transfer_index++]; + pr_debug("sg = %p\n", sg); + ++ i = 0; ++ switch(sg->length) { ++ case 1: ++ i |= AT91_MCI_CHKSIZE1; ++ break; ++ case 4: ++ i |= AT91_MCI_CHKSIZE4; ++ break; ++ case 8: ++ i |= AT91_MCI_CHKSIZE8; ++ break; ++ case 16: ++ i |= AT91_MCI_CHKSIZE16; ++ break; ++ } ++ at91_mci_write(host, AT91_MCI_HSDMA, i|AT91_MCI_DMAEN); ++ + sg->dma_address = dma_map_page(NULL, sg_page(sg), sg->offset, sg->length, DMA_FROM_DEVICE); + + pr_debug("dma address = %08X, length = %d\n", sg->dma_address, sg->length); ++ } else { ++ for (i = 0; i < 2; i++) { ++ /* nothing left to transfer */ ++ if (host->transfer_index >= data->sg_len) { ++ pr_debug("Nothing left to transfer (index = %d)\n", host->transfer_index); ++ break; ++ } + +- if (i == 0) { +- at91_mci_write(host, ATMEL_PDC_RPR, sg->dma_address); +- at91_mci_write(host, ATMEL_PDC_RCR, (data->blksz & 0x3) ? sg->length : sg->length / 4); +- } +- else { +- at91_mci_write(host, ATMEL_PDC_RNPR, sg->dma_address); +- at91_mci_write(host, ATMEL_PDC_RNCR, (data->blksz & 0x3) ? sg->length : sg->length / 4); ++ /* Check to see if this needs filling */ ++ if (i == 0) { ++ if (at91_mci_read(host, ATMEL_PDC_RCR) != 0) { ++ pr_debug("Transfer active in current\n"); ++ continue; ++ } ++ } ++ else { ++ if (at91_mci_read(host, ATMEL_PDC_RNCR) != 0) { ++ pr_debug("Transfer active in next\n"); ++ continue; ++ } ++ } ++ ++ /* Setup the next transfer */ ++ pr_debug("Using transfer index %d\n", host->transfer_index); ++ ++ sg = &data->sg[host->transfer_index++]; ++ pr_debug("sg = %p\n", sg); ++ ++ sg->dma_address = dma_map_page(NULL, sg_page(sg), sg->offset, sg->length, DMA_FROM_DEVICE); ++ ++ pr_debug("dma address = %08X, length = %d\n", sg->dma_address, sg->length); ++ ++ if (i == 0) { ++ at91_mci_write(host, ATMEL_PDC_RPR, sg->dma_address); ++ at91_mci_write(host, ATMEL_PDC_RCR, (data->blksz & 0x3) ? sg->length : sg->length / 4); ++ } ++ else { ++ at91_mci_write(host, ATMEL_PDC_RNPR, sg->dma_address); ++ at91_mci_write(host, ATMEL_PDC_RNCR, (data->blksz & 0x3) ? sg->length : sg->length / 4); ++ } + } + } + +@@ -358,6 +392,9 @@ static void at91_mci_post_dma_read(struct at91mci_host *host) + + kunmap_atomic(buffer, KM_BIO_SRC_IRQ); + } ++ if (cpu_is_at91sam9g45()) { ++ at91_mci_write(host, AT91_MCI_HSDMA, 0); ++ } + + flush_dcache_page(sg_page(sg)); + +@@ -368,8 +405,13 @@ static void at91_mci_post_dma_read(struct at91mci_host *host) + if (host->transfer_index < data->sg_len) + at91_mci_pre_dma_read(host); + else { +- at91_mci_write(host, AT91_MCI_IDR, AT91_MCI_ENDRX); +- at91_mci_write(host, AT91_MCI_IER, AT91_MCI_RXBUFF); ++ if(cpu_is_at91sam9g45()) { ++ at91_mci_write(host, AT91_MCI_IDR, AT91_MCI_FIFOEMPTY); ++ at91_mci_write(host, AT91_MCI_IER, AT91_MCI_XFRDONE); ++ } else { ++ at91_mci_write(host, AT91_MCI_IDR, AT91_MCI_ENDRX); ++ at91_mci_write(host, AT91_MCI_IER, AT91_MCI_RXBUFF); ++ } + } + + pr_debug("post dma read done\n"); +@@ -399,7 +441,11 @@ static void at91_mci_handle_transmitted(struct at91mci_host *host) + + if (cmd->data->blocks > 1) { + pr_debug("multiple write : wait for BLKE...\n"); +- at91_mci_write(host, AT91_MCI_IER, AT91_MCI_BLKE); ++ if(cpu_is_at91sam9g45()) { ++ at91_mci_write(host, AT91_MCI_IER, AT91_MCI_XFRDONE); ++ } else { ++ at91_mci_write(host, AT91_MCI_IER, AT91_MCI_BLKE); ++ } + } else + at91_mci_write(host, AT91_MCI_IER, AT91_MCI_NOTBUSY); + } +@@ -461,7 +507,7 @@ static void at91_mci_enable(struct at91mci_host *host) + at91_mci_write(host, AT91_MCI_DTOR, AT91_MCI_DTOMUL_1M | AT91_MCI_DTOCYC); + mr = AT91_MCI_PDCMODE | 0x34a; + +- if (cpu_is_at91sam9260() || cpu_is_at91sam9263()) ++ if (cpu_is_at91sam9260() || cpu_is_at91sam9263() || cpu_is_at91sam9g45()) + mr |= AT91_MCI_RDPROOF | AT91_MCI_WRPROOF; + + at91_mci_write(host, AT91_MCI_MR, mr); +@@ -592,7 +638,8 @@ static void at91_mci_send_command(struct at91mci_host *host, struct mmc_command + /* + * Disable the PDC controller + */ +- at91_mci_write(host, ATMEL_PDC_PTCR, ATMEL_PDC_RXTDIS | ATMEL_PDC_TXTDIS); ++ if(!cpu_is_at91sam9g45()) ++ at91_mci_write(host, ATMEL_PDC_PTCR, ATMEL_PDC_RXTDIS | ATMEL_PDC_TXTDIS); + + if (cmdr & AT91_MCI_TRCMD_START) { + data->bytes_xfered = 0; +@@ -606,7 +653,11 @@ static void at91_mci_send_command(struct at91mci_host *host, struct mmc_command + host->total_length = 0; + + at91_mci_pre_dma_read(host); +- ier = AT91_MCI_ENDRX /* | AT91_MCI_RXBUFF */; ++ if(cpu_is_at91sam9g45()) { ++ ier = AT91_MCI_FIFOEMPTY; ++ } else { ++ ier = AT91_MCI_ENDRX /* | AT91_MCI_RXBUFF */; ++ } + } + else { + /* +@@ -655,8 +706,13 @@ static void at91_mci_send_command(struct at91mci_host *host, struct mmc_command + at91_mci_write(host, AT91_MCI_CMDR, cmdr); + + if (cmdr & AT91_MCI_TRCMD_START) { +- if (cmdr & AT91_MCI_TRDIR) +- at91_mci_write(host, ATMEL_PDC_PTCR, ATMEL_PDC_RXTEN); ++ if (cmdr & AT91_MCI_TRDIR) { ++ if(cpu_is_at91sam9g45()) { ++ //at91_mci_write(host, AT91_MCI_HSDMA, AT91_MCI_DMAEN); ++ } else { ++ at91_mci_write(host, ATMEL_PDC_PTCR, ATMEL_PDC_RXTEN); ++ } ++ } + } + + /* Enable selected interrupts */ +@@ -668,6 +724,7 @@ static void at91_mci_send_command(struct at91mci_host *host, struct mmc_command + */ + static void at91_mci_process_next(struct at91mci_host *host) + { ++ pr_debug("process next\n"); + if (!(host->flags & FL_SENT_COMMAND)) { + host->flags |= FL_SENT_COMMAND; + at91_mci_send_command(host, host->request->cmd); +@@ -676,6 +733,7 @@ static void at91_mci_process_next(struct at91mci_host *host) + host->flags |= FL_SENT_STOP; + at91_mci_send_command(host, host->request->stop); + } else { ++ pr_debug("del timer\n"); + del_timer(&host->timer); + /* the at91rm9200 mci controller hangs after some transfers, + * and the workaround is to reset it after each transfer. +@@ -742,6 +800,7 @@ static void at91_mci_completed_command(struct at91mci_host *host, unsigned int s + else + cmd->error = 0; + ++ pr_debug("command_complete"); + at91_mci_process_next(host); + } + +@@ -756,6 +815,7 @@ static void at91_mci_request(struct mmc_host *mmc, struct mmc_request *mrq) + + mod_timer(&host->timer, jiffies + HZ); + ++ pr_debug("request\n"); + at91_mci_process_next(host); + } + +@@ -862,10 +922,21 @@ static irqreturn_t at91_mci_irq(int irq, void *devid) + at91_mci_handle_transmitted(host); + } + +- if (int_status & AT91_MCI_ENDRX) { ++ if ((int_status & AT91_MCI_ENDRX) && !cpu_is_at91sam9g45()) { + pr_debug("ENDRX\n"); + at91_mci_post_dma_read(host); + } ++ if ((int_status & AT91_MCI_XFRDONE) && cpu_is_at91sam9g45()) { ++ pr_debug("XFRDONE\n"); ++ at91_mci_write(host, AT91_MCI_HSDMA, 0); ++ completed = 1; ++ } ++ if ((int_status & AT91_MCI_FIFOEMPTY) && cpu_is_at91sam9g45()) { ++ pr_debug("FIFOEMPTY\n"); ++ at91_mci_post_dma_read(host); ++ if (host->transfer_index >= host->cmd->data->sg_len) ++ completed = 1; ++ } + + if (int_status & AT91_MCI_RXBUFF) { + pr_debug("RX buffer full\n"); +@@ -1017,7 +1088,7 @@ static int __init at91_mci_probe(struct platform_device *pdev) + host->bus_mode = 0; + host->board = pdev->dev.platform_data; + if (host->board->wire4) { +- if (cpu_is_at91sam9260() || cpu_is_at91sam9263()) ++ if (cpu_is_at91sam9260() || cpu_is_at91sam9263() || cpu_is_at91sam9g45()) + mmc->caps |= MMC_CAP_4_BIT_DATA; + else + dev_warn(&pdev->dev, "4 wire bus mode not supported" +-- +1.7.3.3 + diff --git a/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0004-.gitignore-ignore-arm-image-output.patch b/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0004-.gitignore-ignore-arm-image-output.patch new file mode 100644 index 0000000000..bac891bfd8 --- /dev/null +++ b/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0004-.gitignore-ignore-arm-image-output.patch @@ -0,0 +1,21 @@ +From 85507d9d515fb864112d5b0785fad0d34c49efc2 Mon Sep 17 00:00:00 2001 +From: Benjamin Tietz +Date: Wed, 15 Dec 2010 13:41:06 +0100 +Subject: [PATCH 04/18] [.gitignore] ignore arm image output + +--- + .gitignore | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/.gitignore b/.gitignore +index de6344e..e218170 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -71,3 +71,4 @@ GTAGS + *.orig + *~ + \#*# ++arch/arm/boot/compressed/* +-- +1.7.3.3 + diff --git a/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0005-arm-mach-at91-Add-support-for-icnova-boards.patch b/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0005-arm-mach-at91-Add-support-for-icnova-boards.patch new file mode 100644 index 0000000000..48b16660e2 --- /dev/null +++ b/recipes/linux/linux-2.6.33/adb4000/linux-2.6.33.2-0005-arm-mach-at91-Add-support-for-icnova-boards.patch @@ -0,0 +1,1357 @@ +From 1584e8044f709bef0e9a30fa0ee18c72e9555f4b Mon Sep 17 00:00:00 2001 +From: Benjamin Tietz +Date: Wed, 15 Dec 2010 13:48:30 +0100 +Subject: [PATCH 05/18] [arm/mach-at91] Add support for icnova-boards + +This patch adds support for the Boards ICnova ADB1000, ADB1002, ADB1004 +and ADB3000; each equipped by an ICnova SAM9G45 OEM. +The ADB3000 can be equipped by an ICnova SAM9G45+XC700AN OEM, too. +--- + arch/arm/mach-at91/Kconfig | 25 ++ + arch/arm/mach-at91/Makefile | 6 +- + arch/arm/mach-at91/board-icnova_adb1000.c | 328 +++++++++++++++++++++++++ + arch/arm/mach-at91/board-icnova_adb1002.c | 276 +++++++++++++++++++++ + arch/arm/mach-at91/board-icnova_adb1004.c | 270 +++++++++++++++++++++ + arch/arm/mach-at91/board-icnova_adb3000.c | 375 +++++++++++++++++++++++++++++ + 6 files changed, 1279 insertions(+), 1 deletions(-) + create mode 100644 arch/arm/mach-at91/board-icnova_adb1000.c + create mode 100644 arch/arm/mach-at91/board-icnova_adb1002.c + create mode 100644 arch/arm/mach-at91/board-icnova_adb1004.c + create mode 100644 arch/arm/mach-at91/board-icnova_adb3000.c + +diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig +index 0b2ee95..bc1221d 100644 +--- a/arch/arm/mach-at91/Kconfig ++++ b/arch/arm/mach-at91/Kconfig +@@ -370,6 +370,31 @@ config MACH_AT91SAM9G45EKES + "ES" at the end of the name means that this board is an + Engineering Sample. + ++config MACH_ICNOVA_ADB1000 ++ bool "In-Circuit ADB1000 G45 Evaluation Kit" ++ help ++ Select this if you are using In-Circuit's ICnova G45 on an ADB1000 ++ Development Board. ++ ++config MACH_ICNOVA_ADB1002 ++ bool "In-Circuit ADB1002 G45 Evaluation Kit" ++ help ++ Select this if you are using In-Circuit's ICnova G45 on an ADB1002 ++ Development Board. ++ ++config MACH_ICNOVA_ADB1004 ++ bool "In-Circuit ADB1004 G45 Evaluation Kit" ++ help ++ Select this if you are using In-Circuit's ICnova G45 on an ADB1004 ++ Development Board. The Configration currently supports the version ++ using the 4.3inch Display ++ ++config MACH_ICNOVA_ADB3000 ++ bool "In-Circuit ADB3000 G45/FPGA Evaluation Kit" ++ help ++ Select this if you are using In-Circuit's ICnova G45 on an ADB3000 ++ Development Board. ++ + endif + + # ---------------------------------------------------------- +diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile +index 709fbad..be44d7f 100644 +--- a/arch/arm/mach-at91/Makefile ++++ b/arch/arm/mach-at91/Makefile +@@ -17,7 +17,7 @@ obj-$(CONFIG_ARCH_AT91SAM9G10) += at91sam9261.o at91sam926x_time.o at91sam9261_d + obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_devices.o sam9_smc.o + obj-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl.o at91sam926x_time.o at91sam9rl_devices.o sam9_smc.o + obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o +- obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45.o at91sam926x_time.o at91sam9g45_devices.o sam9_smc.o ++obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45.o at91sam926x_time.o at91sam9g45_devices.o sam9_smc.o + obj-$(CONFIG_ARCH_AT91CAP9) += at91cap9.o at91sam926x_time.o at91cap9_devices.o sam9_smc.o + obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o + +@@ -65,6 +65,10 @@ obj-$(CONFIG_MACH_CPU9G20) += board-cpu9krea.o + + # AT91SAM9G45 board-specific support + obj-$(CONFIG_MACH_AT91SAM9G45EKES) += board-sam9m10g45ek.o ++obj-$(CONFIG_MACH_ICNOVA_ADB1000) += board-icnova_adb1000.o ++obj-$(CONFIG_MACH_ICNOVA_ADB1002) += board-icnova_adb1002.o ++obj-$(CONFIG_MACH_ICNOVA_ADB1004) += board-icnova_adb1004.o ++obj-$(CONFIG_MACH_ICNOVA_ADB3000) += board-icnova_adb3000.o + + # AT91CAP9 board-specific support + obj-$(CONFIG_MACH_AT91CAP9ADK) += board-cap9adk.o +diff --git a/arch/arm/mach-at91/board-icnova_adb1000.c b/arch/arm/mach-at91/board-icnova_adb1000.c +new file mode 100644 +index 0000000..d07a5c2 +--- /dev/null ++++ b/arch/arm/mach-at91/board-icnova_adb1000.c +@@ -0,0 +1,328 @@ ++/* ++ * Board-specific setup code for the AT91SAM9M10G45 Evaluation Kit family ++ * ++ * Covers: * AT91SAM9G45-EKES board ++ * * AT91SAM9M10G45-EK board ++ * ++ * Copyright (C) 2009 Atmel Corporation. ++ * ++ * 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. ++ * ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include