diff options
author | Erik Hovland <erik@hovland.org> | 2006-08-30 18:42:42 +0000 |
---|---|---|
committer | Erik Hovland <erik@hovland.org> | 2006-08-30 18:42:42 +0000 |
commit | 4d36c0d6c6c4e6ed9f148d70588fdb16798e9b9c (patch) | |
tree | e1e2d433887f193ea6be861ece68309e7d667619 /packages/linux | |
parent | ff49b42aedb3c09f71cb35456140b9afcf6b40b8 (diff) | |
parent | 71bd0cd9cf4addbc38028705674fb56c2a644071 (diff) |
merge of 'd0e2c30b999cbef32c26717651606b8411ad02d6'
and 'ffac2606c1f6116f54c1871ff55c69f027252547'
Diffstat (limited to 'packages/linux')
22 files changed, 1898 insertions, 1713 deletions
diff --git a/packages/linux/handhelds-pxa-2.6/h4000/.mtn2git_empty b/packages/linux/handhelds-pxa-2.6/h4000/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/handhelds-pxa-2.6/h4000/.mtn2git_empty diff --git a/packages/linux/handhelds-pxa-2.6/h4000/defconfig b/packages/linux/handhelds-pxa-2.6/h4000/defconfig new file mode 100644 index 0000000000..2bba0377eb --- /dev/null +++ b/packages/linux/handhelds-pxa-2.6/h4000/defconfig @@ -0,0 +1,1343 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.16-hh2 +# Sat Jun 24 13:09:54 2006 +# +CONFIG_ARM=y +CONFIG_MMU=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ARCH_MTD_XIP=y + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +CONFIG_SYSCTL=y +# CONFIG_AUDIT is not set +CONFIG_IKCONFIG=y +# CONFIG_MINIMAL_OOPS is not set +CONFIG_IKCONFIG_PROC=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_UID16=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_EMBEDDED=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +# 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_SHMEM=y +CONFIG_USELIB=y +CONFIG_CORE_DUMP=y +CONFIG_CC_ALIGN_FUNCTIONS=0 +CONFIG_CC_ALIGN_LABELS=0 +CONFIG_CC_ALIGN_LOOPS=0 +CONFIG_CC_ALIGN_JUMPS=0 +CONFIG_SLAB=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set +CONFIG_OBSOLETE_INTERMODULE=m + +# +# Loadable module support +# +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_OBSOLETE_MODPARM=y +# CONFIG_MODVERSIONS is not set +CONFIG_MODULE_SRCVERSION_ALL=y +# CONFIG_KMOD is not set + +# +# Block layer +# + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +CONFIG_DEFAULT_AS=y +# CONFIG_DEFAULT_DEADLINE is not set +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="anticipatory" + +# +# System Type +# +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CO285 is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_IOP3XX is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_L7200 is not set +CONFIG_ARCH_PXA=y +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_AT91RM9200 is not set + +# +# Intel PXA2xx Implementations +# +# CONFIG_ARCH_LUBBOCK is not set +# CONFIG_MACH_MAINSTONE is not set +# CONFIG_ARCH_PXA_IDP is not set +# CONFIG_ARCH_ESERIES is not set +# CONFIG_MACH_A620 is not set +# CONFIG_MACH_A716 is not set +# CONFIG_ARCH_H1900 is not set +# CONFIG_ARCH_H2200 is not set +# CONFIG_ARCH_H3900 is not set +CONFIG_MACH_H4000=y +CONFIG_IPAQ_H4000_SERIAL=m +CONFIG_IPAQ_H4000_UDC=y +CONFIG_IPAQ_H4000_LCD=y +CONFIG_IPAQ_H4000_TS=y +CONFIG_IPAQ_H4000_PCMCIA=y +CONFIG_IPAQ_H4000_BUTTONS=y +CONFIG_IPAQ_H4000_BATT=y +CONFIG_IPAQ_H4300_KBD=m +# CONFIG_MACH_H4700 is not set +# CONFIG_MACH_HX2750 is not set +# CONFIG_ARCH_H5400 is not set +# CONFIG_MACH_HIMALAYA is not set +# CONFIG_MACH_HTCUNIVERSAL is not set +# CONFIG_MACH_HTCALPINE is not set +# CONFIG_MACH_MAGICIAN is not set +# CONFIG_MACH_HTCAPACHE is not set +# CONFIG_MACH_BLUEANGEL is not set +# CONFIG_MACH_HTCBEETLES is not set +# CONFIG_ARCH_AXIMX5 is not set +# CONFIG_ARCH_AXIMX3 is not set +# CONFIG_MACH_X30 is not set +# CONFIG_ARCH_ROVERP1 is not set +# CONFIG_ARCH_ROVERP5P is not set +# CONFIG_MACH_XSCALE_PALMLD is not set +# CONFIG_MACH_T3XSCALE is not set +# CONFIG_PXA_SHARPSL is not set +CONFIG_PXA25x=y +# CONFIG_SA1100_H3100 is not set +# CONFIG_SA1100_H3600 is not set +# CONFIG_SA1100_H3800 is not set + +# +# Linux As Bootloader +# +# CONFIG_LAB is not set + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_XSCALE=y +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5T=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_TLB_V4WBI=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +CONFIG_XSCALE_PMU=y +CONFIG_KEXEC=y + +# +# Compaq/iPAQ Platforms +# +CONFIG_PXA_IPAQ=y + +# +# XScale-based iPAQ +# +CONFIG_IPAQ_HANDHELD=y + +# +# Compaq/iPAQ Drivers +# + +# +# Compaq/HP iPAQ Drivers +# +# CONFIG_IPAQ_SLEEVE is not set +# CONFIG_IPAQ_SAMCOP is not set +# CONFIG_IPAQ_HAMCOP is not set + +# +# Bus support +# + +# +# PCCARD (PCMCIA/CardBus) support +# +CONFIG_PCCARD=y +CONFIG_PCMCIA_DEBUG=y +CONFIG_PCMCIA=y +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_IOCTL=y + +# +# PC-card bridges +# +CONFIG_PCMCIA_PXA2XX=y + +# +# Kernel Features +# +# CONFIG_PREEMPT is not set +CONFIG_NO_IDLE_HZ=y +# CONFIG_AEABI is not set +# CONFIG_ARCH_DISCONTIGMEM_ENABLE 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_SPARSEMEM_STATIC is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="keepinitrd" +# CONFIG_XIP_KERNEL is not set + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=y +CONFIG_CPU_FREQ_DEBUG=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_PXA=y +CONFIG_PXA25x_ALTERNATE_FREQS=y + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_ARTHUR is not set + +# +# Power management options +# +CONFIG_PM=y +CONFIG_PM_LEGACY=y +CONFIG_PM_DEBUG=y +CONFIG_APM=y + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_NETDEBUG is not set +CONFIG_PACKET=m +CONFIG_PACKET_MMAP=y +CONFIG_UNIX=y +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# 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 is not set +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE 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_TUNNEL is not set +# CONFIG_INET_DIAG is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_BIC=y + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set +CONFIG_IPV6=m +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_INET6_AH is not set +# CONFIG_INET6_ESP is not set +# CONFIG_INET6_IPCOMP is not set +# CONFIG_INET6_TUNNEL is not set +# CONFIG_IPV6_TUNNEL is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +# CONFIG_NETFILTER_NETLINK is not set +# CONFIG_NETFILTER_XTABLES is not set + +# +# IP: Netfilter Configuration +# +CONFIG_IP_NF_CONNTRACK=m +# CONFIG_IP_NF_CT_ACCT is not set +# CONFIG_IP_NF_CONNTRACK_MARK is not set +# CONFIG_IP_NF_CONNTRACK_EVENTS is not set +# CONFIG_IP_NF_CT_PROTO_SCTP is not set +CONFIG_IP_NF_FTP=m +CONFIG_IP_NF_IRC=m +# CONFIG_IP_NF_NETBIOS_NS is not set +# CONFIG_IP_NF_TFTP is not set +# CONFIG_IP_NF_AMANDA is not set +# CONFIG_IP_NF_PPTP is not set +# CONFIG_IP_NF_QUEUE is not set + +# +# IPv6: Netfilter Configuration (EXPERIMENTAL) +# +# CONFIG_IP6_NF_QUEUE is not set + +# +# Bridge: Netfilter Configuration +# +# CONFIG_BRIDGE_NF_EBTABLES is not set + +# +# DCCP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +CONFIG_BRIDGE=m +# 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_NET_DIVERT is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +CONFIG_IRDA=y + +# +# IrDA protocols +# +CONFIG_IRLAN=y +CONFIG_IRCOMM=y +# CONFIG_IRDA_ULTRA is not set + +# +# IrDA options +# +# CONFIG_IRDA_CACHE_LAST_LSAP is not set +# CONFIG_IRDA_FAST_RR is not set +CONFIG_IRDA_DEBUG=y + +# +# Infrared-port device drivers +# + +# +# SIR device drivers +# +CONFIG_IRTTY_SIR=m + +# +# Dongle support +# +# CONFIG_DONGLE is not set + +# +# Old SIR device drivers +# +# CONFIG_IRPORT_SIR is not set + +# +# Old Serial dongle support +# + +# +# FIR device drivers +# +CONFIG_PXA_FICP=y +CONFIG_BT=y +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCSP=y +# CONFIG_BT_HCIDTL1 is not set +# CONFIG_BT_HCIBT3C is not set +# CONFIG_BT_HCIBLUECARD is not set +# CONFIG_BT_HCIBTUART is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_IEEE80211 is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +# CONFIG_DEBUG_DRIVER is not set + +# +# Connector - unified userspace <-> kernelspace linker +# +# CONFIG_CONNECTOR is not set + +# +# Memory Technology Devices (MTD) +# +CONFIG_MTD=y +CONFIG_MTD_DEBUG=y +CONFIG_MTD_DEBUG_VERBOSE=3 +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_AFS_PARTS is not set + +# +# User Modules And Translation Layers +# +# CONFIG_MTD_CHAR is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=m +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_GEN_PROBE=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +CONFIG_MTD_CFI_INTELEXT=m +# CONFIG_MTD_CFI_AMDSTD is not set +# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_UTIL=m +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set +CONFIG_MTD_XIP=y + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PHYSMAP is not set +# CONFIG_MTD_ARM_INTEGRATOR is not set +# CONFIG_MTD_IPAQ is not set +# CONFIG_MTD_SHARP_SL is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLKMTD 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 + +# +# NAND Flash Device Drivers +# +# CONFIG_MTD_NAND is not set + +# +# OneNAND Flash Device Drivers +# +# CONFIG_MTD_ONENAND is not set + +# +# Parallel port support +# +# CONFIG_PARPORT is not set + +# +# Plug and Play support +# + +# +# Block devices +# +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +CONFIG_BLK_DEV_INITRD=y +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set + +# +# ATA/ATAPI/MFM/RLL support +# +CONFIG_IDE=m +CONFIG_BLK_DEV_IDE=m + +# +# Please see Documentation/ide.txt for help/info on IDE drives +# +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_BLK_DEV_IDEDISK=m +# CONFIG_IDEDISK_MULTI_MODE is not set +CONFIG_BLK_DEV_IDECS=m +# CONFIG_BLK_DEV_IDECD is not set +# CONFIG_BLK_DEV_IDETAPE is not set +# CONFIG_BLK_DEV_IDEFLOPPY is not set +# CONFIG_IDE_TASK_IOCTL is not set + +# +# IDE chipset support/bugfixes +# +# CONFIG_IDE_GENERIC is not set +# CONFIG_IDE_ARM is not set +# CONFIG_BLK_DEV_IDEDMA is not set +# CONFIG_IDEDMA_AUTO is not set +# CONFIG_BLK_DEV_HD is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +# CONFIG_SCSI is not set + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# + +# +# I2O device support +# + +# +# Network device support +# +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set + +# +# PHY device support +# + +# +# Ethernet (10 or 100Mbit) +# +# CONFIG_NET_ETHERNET is not set + +# +# Ethernet (1000 Mbit) +# + +# +# Ethernet (10000 Mbit) +# + +# +# Token Ring devices +# + +# +# Wireless LAN (non-hamradio) +# +CONFIG_NET_RADIO=y + +# +# Obsolete Wireless cards support (pre-802.11) +# +# CONFIG_STRIP is not set +# CONFIG_PCMCIA_WAVELAN is not set +# CONFIG_PCMCIA_NETWAVE is not set + +# +# Wireless 802.11 Frequency Hopping cards support +# +# CONFIG_PCMCIA_RAYCS is not set + +# +# Wireless 802.11b ISA/PCI cards support +# +# CONFIG_HERMES is not set +# CONFIG_ATMEL is not set + +# +# Wireless 802.11b Pcmcia/Cardbus cards support +# +# CONFIG_AIRO_CS is not set +# CONFIG_PCMCIA_WL3501 is not set +# CONFIG_HOSTAP is not set +CONFIG_ACX=y +CONFIG_ACX_MEM=y +CONFIG_NET_WIRELESS=y + +# +# PCMCIA network device support +# +# CONFIG_NET_PCMCIA is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_TSDEV=y +CONFIG_INPUT_TSDEV_SCREEN_X=240 +CONFIG_INPUT_TSDEV_SCREEN_Y=320 +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_PXA=y +CONFIG_SERIAL_PXA_CONSOLE=y +CONFIG_SERIAL_PXA_COUNT=4 +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# +# CONFIG_I2C_ELV is not set +CONFIG_I2C_PXA=m +CONFIG_I2C_PXA_SLAVE=y +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_PCA_ISA is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_SENSORS_DS1337 is not set +# CONFIG_SENSORS_DS1374 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCA9535 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_RTC8564 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_RTC_X1205_I2C 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 + +# +# L3 serial bus support +# +# CONFIG_L3 is not set + +# +# Mice +# +# CONFIG_BUSMOUSE is not set + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +# CONFIG_WATCHDOG is not set +# CONFIG_NVRAM is not set +CONFIG_SA1100_RTC=y +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set + +# +# Ftape, the floppy tape device driver +# + +# +# PCMCIA character devices +# +# CONFIG_SYNCLINK_CS is not set +# CONFIG_CARDMAN_4000 is not set +# CONFIG_CARDMAN_4040 is not set +# CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# +# CONFIG_TCG_TPM is not set +# CONFIG_TELCLOCK is not set + +# +# SPI support +# +CONFIG_SPI=y +CONFIG_SPI_DEBUG=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_BITBANG is not set + +# +# SPI Protocol Masters +# + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# +# Hardware Monitoring support +# +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ASB100 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_FSCHER is not set +# CONFIG_SENSORS_FSCPOS is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 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_MAX1619 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# SoC drivers +# +# CONFIG_SOC_MQ11XX is not set +# CONFIG_SOC_T7L66XB is not set +# CONFIG_SOC_TC6387XB is not set +# CONFIG_SOC_TC6393XB is not set +# CONFIG_HTC_ASIC2 is not set +CONFIG_HTC_ASIC3=y +# CONFIG_SOC_TSC2101 is not set + +# +# Misc devices +# +CONFIG_BATTERY_MONITOR=y + +# +# Multimedia Capabilities Port drivers +# +# CONFIG_MCP is not set + +# +# Multimedia Capabilities Port drivers +# + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set + +# +# Digital Video Broadcasting Devices +# +# CONFIG_DVB is not set + +# +# Graphics support +# +CONFIG_FB=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_MODE_HELPERS is not set +CONFIG_FB_TILEBLITTING=y +# CONFIG_FB_IMAGEON is not set +# CONFIG_FB_S1D13XXX is not set +CONFIG_FB_PXA=y +CONFIG_FB_PXA_PARAMETERS=y +# CONFIG_FB_VIRTUAL is not set + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FONTS=y +# CONFIG_FONT_8x8 is not set +# CONFIG_FONT_8x16 is not set +# 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=y +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_10x18 is not set + +# +# Logo configuration +# +# CONFIG_LOGO is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_DEVICE=y +CONFIG_LCD_CLASS_DEVICE=y +CONFIG_LCD_DEVICE=y + +# +# Sound +# +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +CONFIG_SND=m +CONFIG_SND_TIMER=m +CONFIG_SND_PCM=m +# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set + +# +# Generic devices +# +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set + +# +# ALSA ARM devices +# +# CONFIG_SND_A716 is not set +# CONFIG_SND_H1910 is not set +# CONFIG_SND_H2200 is not set +# CONFIG_SND_HTCMAGICIAN is not set +# CONFIG_SND_HX4700 is not set +# CONFIG_SND_H5XXX_AK4535 is not set +# CONFIG_SND_PXA2XX_AC97 is not set + +# +# PCMCIA devices +# + +# +# Open Sound System +# +# CONFIG_SOUND_PRIME is not set + +# +# USB support +# +CONFIG_USB_ARCH_HAS_HCD=y +# CONFIG_USB_ARCH_HAS_OHCI is not set +# CONFIG_USB is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# + +# +# USB Gadget Support +# +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_DEBUG_FILES=y +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_NET2280 is not set +CONFIG_USB_GADGET_PXA2XX=y +CONFIG_USB_PXA2XX=y +# CONFIG_USB_PXA2XX_SMALL is not set +# CONFIG_USB_GADGET_PXA27X is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_MQ11XX is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_GADGET_DUALSPEED is not set +# CONFIG_USB_ZERO is not set +CONFIG_USB_ETH=y +# CONFIG_USB_ETH_RNDIS is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_G_CHAR is not set + +# +# MMC/SD Card support +# +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_BLOCK=y +# CONFIG_MMC_PXA is not set +# CONFIG_MMC_TMIO is not set +# CONFIG_MMC_SAMCOP is not set +CONFIG_MMC_ASIC3=y + +# +# LED devices +# +CONFIG_CLASS_LEDS=y + +# +# 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_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +# CONFIG_XFS_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_INOTIFY=y +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS 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_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y +# CONFIG_RELAYFS_FS is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# 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_JFFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=1 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_CRAMFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_DIRECTIO is not set +# CONFIG_NFSD is not set +CONFIG_ROOT_NFS=y +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=y +# CONFIG_SMB_NLS_DEFAULT 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 +# CONFIG_9P_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y + +# +# Native Language Support +# +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=y +# 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=y +CONFIG_NLS_CODEPAGE_1251=y +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=y +# 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=y + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y +CONFIG_LOG_BUF_SHIFT=15 +CONFIG_DETECT_SOFTLOCKUP=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_DEBUG_SLAB is not set +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_BUGVERBOSE is not set +# CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_FS is not set +CONFIG_DEBUG_VM=y +CONFIG_FRAME_POINTER=y +CONFIG_FORCED_INLINING=y +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_WAITQ is not set +CONFIG_DEBUG_ERRORS=y +# CONFIG_DEBUG_LL is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +CONFIG_CRYPTO=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_SHA1=y +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_TGR192 is not set +CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Hardware crypto devices +# + +# +# Library routines +# +CONFIG_CRC_CCITT=y +# CONFIG_CRC16 is not set +CONFIG_CRC32=y +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y diff --git a/packages/linux/handhelds-pxa-2.6_2.6.16-hh5.bb b/packages/linux/handhelds-pxa-2.6_2.6.16-hh5.bb new file mode 100644 index 0000000000..a5cc4073e4 --- /dev/null +++ b/packages/linux/handhelds-pxa-2.6_2.6.16-hh5.bb @@ -0,0 +1,67 @@ +SECTION = "kernel" +DESCRIPTION = "handhelds.org Linux kernel for PXA based devices." +LICENSE = "GPL" + +COMPATIBLE_HOST = "arm.*-linux" +COMPATIBLE_MACHINE = '(h3900|h2200|h4000|h5xxx|htcuniversal|ipaq-pxa270)' + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/handhelds-pxa-${PV}" + +SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \ + file://defconfig" + +S = "${WORKDIR}/kernel26" + +inherit kernel + +FILES_kernel-image_ipaq-pxa270 = "" +ALLOW_EMPTY_ipaq_pxa270 = 1 +FILES_kernel-image_htcuniversal = "" +ALLOW_EMPTY_htcuniversal = 1 + + + +K_MAJOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[0]}" +K_MINOR = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[1]}" +K_MICRO = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[2]}" +HHV = "${@bb.data.getVar('PV',d,1).split('-')[1].split('hh')[-1]}" + +KERNEL_PRIORITY = "${@'%d' % (int(bb.data.getVar('K_MAJOR',d,1)) * 100000000 + int(bb.data.getVar('K_MINOR',d,1)) * 1000000 + int(bb.data.getVar('K_MICRO',d,1)) * 10000 + float(bb.data.getVar('HHV',d,1)))}" + +do_configure() { + + if [ `grep EXTRAVERSION Makefile | grep hh | awk '{print $3}' | sed s/-hh//` != ${HHV} ]; then + die "-hh version mismatch" + fi + + rm -f ${S}/.config + + if [ ! -e ${WORKDIR}/defconfig ]; then + die "No default configuration for ${MACHINE} available." + fi + + + if [ "${TARGET_OS}" == "linux-gnueabi" ]; then + echo "CONFIG_AEABI=y" >> ${S}/.config + echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config + else + echo "# CONFIG_AEABI is not set" >> ${S}/.config + echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config + fi + + sed -e '/CONFIG_AEABI/d' \ + -e '/CONFIG_OABI_COMPAT=/d' \ + '${WORKDIR}/defconfig' >>'${S}/.config' + + yes '' | oe_runmake oldconfig + +} + +do_deploy() { + install -d ${DEPLOY_DIR_IMAGE} + install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME} +} + +do_deploy[dirs] = "${S}" + +addtask deploy before do_build after do_compile diff --git a/packages/linux/handhelds-pxa-2.6_cvs.bb b/packages/linux/handhelds-pxa-2.6_cvs.bb index 7dfcb4d237..75f4425638 100644 --- a/packages/linux/handhelds-pxa-2.6_cvs.bb +++ b/packages/linux/handhelds-pxa-2.6_cvs.bb @@ -27,8 +27,8 @@ ALLOW_EMPTY_htcuniversal = 1 K_MAJOR = "2" K_MINOR = "6" -K_MICRO = "16" -HHV = "5" +K_MICRO = "17" +HHV = "0" # KERNEL_PRIORITY = "${@'%d' % (int(bb.data.getVar('K_MAJOR',d,1)) * 100000000 + int(bb.data.getVar('K_MINOR',d,1)) * 1000000 + int(bb.data.getVar('K_MICRO',d,1)) * 10000 + float(bb.data.getVar('HHV',d,1)))}" diff --git a/packages/linux/linux-ezx/a780-leds-r0.patch b/packages/linux/linux-ezx/a780-leds-r0.patch deleted file mode 100644 index 31fdfc635b..0000000000 --- a/packages/linux/linux-ezx/a780-leds-r0.patch +++ /dev/null @@ -1,185 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- linux-2.6.16/drivers/leds/Kconfig~a780-leds-r0.patch 2006-06-05 18:05:32.000000000 +0200 -+++ linux-2.6.16/drivers/leds/Kconfig 2006-06-05 18:05:32.000000000 +0200 -@@ -66,6 +66,13 @@ - This options enables support for the LEDs on the - Motorola E680(i) GSM Phone. - -+config LEDS_A780 -+ tristate "LED Support for the Motorola A780 GSM Phone" -+ depends LEDS_CLASS && PXA_EZX_A780 -+ help -+ This option enables support for the LEDs on the -+ Motorola A780 GSM Phone. -+ - config LEDS_TRIGGER_TIMER - tristate "LED Timer Trigger" - depends LEDS_TRIGGERS ---- linux-2.6.16/drivers/leds/Makefile~a780-leds-r0.patch 2006-06-05 18:05:32.000000000 +0200 -+++ linux-2.6.16/drivers/leds/Makefile 2006-06-05 18:05:32.000000000 +0200 -@@ -11,6 +11,7 @@ - obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o - obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o - obj-$(CONFIG_LEDS_E680) += leds-e680.o -+obj-$(CONFIG_LEDS_A780) += leds-a780.o - - # LED Triggers - obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o ---- linux-2.6.16/arch/arm/mach-pxa/ezx.c~a780-leds-r0.patch 2006-06-05 18:05:32.000000000 +0200 -+++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-05 18:05:32.000000000 +0200 -@@ -367,6 +367,15 @@ - }; - #endif - -+#ifdef CONFIG_PXA_EZX_A780 -+/* -+ * A780 LEDs -+ */ -+static struct platform_device a780led_device = { -+ .name = "a780-led", -+ .id = -1, -+}; -+#endif - - /* keyboard */ - -@@ -780,6 +789,9 @@ - #ifdef CONFIG_PXA_EZX_E680 - &e680led_device, - #endif -+#ifdef CONFIG_PXA_EZX_A780 -+ &a780led_device, -+#endif - }; - - static void __init ---- /dev/null 2006-06-05 13:59:28.329930680 +0200 -+++ linux-2.6.16/drivers/leds/leds-a780.c 2006-06-05 18:27:13.000000000 +0200 -@@ -0,0 +1,123 @@ -+/* -+ * EZX Platform LED Driver for the Motorola A780 GSM Phone -+ * -+ * Copyright 2006 Vanille-Media -+ * -+ * Author: Michael Lauer <mickey@Vanille.de> -+ * -+ * Based on keylight.c by Motorola and leds-corgi.c by Richard Purdie -+ * -+ * This program 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. -+ * -+ */ -+ -+#include <linux/config.h> -+#include <linux/kernel.h> -+#include <linux/platform_device.h> -+#include <linux/leds.h> -+#include <asm/arch/ezx-pcap.h> -+ -+static void a780led_main_set(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ if ( value > 31 ) value = 31; -+ printk( KERN_DEBUG "a780led_main_set: %d\n", value ); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL0, value & 0x01); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL1, value & 0x02); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL2, value & 0x04); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL3, value & 0x08); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL_CTRL4, value & 0x10); -+} -+ -+static void a780led_aux_set(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ if ( value > 31 ) value = 31; -+ printk( KERN_DEBUG "a780led_aux_set: %d\n", value ); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL0, value & 0x01); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL1, value & 0x02); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL2, value & 0x04); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL3, value & 0x08); -+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_PERIPH_BL2_CTRL4, value & 0x10); -+} -+ -+static struct led_classdev a780_main_led = { -+ .name = "a780:main", -+ .default_trigger = "none", -+ .brightness_set = a780led_main_set, -+}; -+ -+static struct led_classdev a780_aux_led = { -+ .name = "a780:aux", -+ .default_trigger = "none", -+ .brightness_set = a780led_aux_set, -+}; -+ -+#ifdef CONFIG_PM -+static int a780led_suspend(struct platform_device *dev, pm_message_t state) -+{ -+ led_classdev_suspend(&a780_main_led); -+ led_classdev_suspend(&a780_aux_led); -+ return 0; -+} -+ -+static int a780led_resume(struct platform_device *dev) -+{ -+ led_classdev_resume(&a780_main_led); -+ led_classdev_resume(&a780_aux_led); -+ return 0; -+} -+#endif -+ -+static int a780led_probe(struct platform_device *pdev) -+{ -+ int ret; -+ -+ ret = led_classdev_register(&pdev->dev, &a780_main_led); -+ if (ret < 0) -+ return ret; -+ -+ ret = led_classdev_register(&pdev->dev, &a780_aux_led); -+ if (ret < 0) -+ led_classdev_unregister(&a780_main_led); -+ -+ return ret; -+} -+ -+static int a780led_remove(struct platform_device *pdev) -+{ -+ led_classdev_unregister(&a780_main_led); -+ led_classdev_unregister(&a780_aux_led); -+ return 0; -+} -+ -+static struct platform_driver a780led_driver = { -+ .probe = a780led_probe, -+ .remove = a780led_remove, -+#ifdef CONFIG_PM -+ .suspend = a780led_suspend, -+ .resume = a780led_resume, -+#endif -+ .driver = { -+ .name = "a780-led", -+ }, -+}; -+ -+static int __init a780led_init(void) -+{ -+ return platform_driver_register(&a780led_driver); -+} -+ -+static void __exit a780led_exit(void) -+{ -+ a780led_main_set( &a780_main_led, 0 ); -+ a780led_aux_set( &a780_aux_led, 0 ); -+ platform_driver_unregister(&a780led_driver); -+} -+ -+module_init(a780led_init); -+module_exit(a780led_exit); -+ -+MODULE_AUTHOR("Michael Lauer <mickey@Vanille.de>"); -+MODULE_DESCRIPTION("Motorola A780 LED driver"); -+MODULE_LICENSE("GPL"); diff --git a/packages/linux/linux-ezx/e680-disable-boomer-HACK.patch b/packages/linux/linux-ezx/e680-disable-boomer-HACK.patch deleted file mode 100644 index a0d953ddfb..0000000000 --- a/packages/linux/linux-ezx/e680-disable-boomer-HACK.patch +++ /dev/null @@ -1,16 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- linux-2.6.16/drivers/i2c/chips/Makefile~e680-disable-boomer 2006-05-31 18:52:44.000000000 +0200 -+++ linux-2.6.16/drivers/i2c/chips/Makefile 2006-05-31 18:56:38.000000000 +0200 -@@ -17,7 +17,7 @@ - - obj-$(CONFIG_I2C_ADCM2700) += e680_camera.o - obj-$(CONFIG_I2C_A780_CAMERA) += a780_camera.o --obj-$(CONFIG_PXA_EZX_E680) += boomer.o -+//obj-$(CONFIG_PXA_EZX_E680) += boomer.o - - ifeq ($(CONFIG_I2C_DEBUG_CHIP),y) - EXTRA_CFLAGS += -DDEBUG diff --git a/packages/linux/linux-ezx/e680-fix-keypad.patch b/packages/linux/linux-ezx/e680-fix-keypad.patch deleted file mode 100644 index ca06052803..0000000000 --- a/packages/linux/linux-ezx/e680-fix-keypad.patch +++ /dev/null @@ -1,152 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- linux-2.6.16/arch/arm/mach-pxa/ezx.c~e680-fix-keypad.patch 2006-06-11 00:47:33.000000000 +0200 -+++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-12 16:13:28.000000000 +0200 -@@ -341,71 +341,25 @@ - }; - #endif - --/* keyboard */ -- --#if defined(CONFIG_PXA_EZX_V700) --#error "kbd matrix still needs to be converted to new row/col layout" --static unsigned char ezx_keycode[] = { -- /* col 0 */ -- KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, -- KEYPAD_POUND, KEY_0, KEY_9, 0, -- /* col 1 */ -- KEY_2, KEY_4, KEY_6, KEY_8, -- KEY_7, KEYPAD_SLEFT, KEYPAD_SRIGHT, 0, -- /* col 2 */ -- KEY_MENU, KEY_1, KEY_3, KEY_5, -- KEY_KPASTERISK, KEY_VOLUMEUP, KEY_VOLUMEDOWN, 0, -- /* col 3 */ -- KEY_CAMERA, KEYPAD_CLEAR, KEYPAD_CARRIER, KEYPAD_ACTIVATE, -- KEYPAD_SEND, KEYPAD_SMART, KEYPAD_VAVR, 0, --}; --static unsigned char ezx_direct_keycode[] = { -- KEYPAD_NONE, -- KEYPAD_NONE, -- KEYPAD_NONE, -- KEYPAD_NONE, -- KEYPAD_NONE, -- KEYPAD_NONE, --}; --#elif defined(CONFIG_PXA_EZX_E680_P4A) --#error "kbd matrix still needs to be converted to new row/col layout" --static unsigned char ezx_keycode[] = { -- /* col 0 */ -- KEY_UP, KEY_DOWN, KEY_LEFT, 0, 0, 0, 0, 0, -- /* col 1 */ -- KEY_RIGHT, KEY_CENTER, KEY_HOME, 0, 0, 0, 0, 0, -- /* col 2 */ -- KEYPAD_GAME_R, 0, KEYPAD_GAME_L, 0, 0, 0, 0, 0, -- /* col 3 */ -- KEY_A, KEY_B, 0, 0, 0, 0, 0, 0, --}; --static unsigned char ezx_direct_keycode[] = { -- KEY_CAMERA, -- KEYPAD_NONE, -- KEYPAD_NONE, -- KEYPAD_NONE, -- KEY_POWER, -- KEYPAD_NONE, --}; --#elif defined(CONFIG_PXA_EZX_E680) --#error "kbd matrix still needs to be converted to new row/col layout" -+/* -+ * PXA Keyboard -+ */ -+#if defined(CONFIG_PXA_EZX_E680) - static unsigned char ezx_keycode[] = { -- /* col 0 */ -- KEY_UP, KEY_DOWN, 0, 0, 0, 0, 0, 0, -- /* col 1 */ -- KEY_RIGHT, KEY_LEFT, 0, 0, 0, 0, 0, 0, -- /* col 2 */ -- 0, KEYPAD_GAME_R, 0, 0, 0, 0, 0, 0, -- /* col 3 */ -- KEYPAD_HOME, KEYPAD_GAME_L, KEYPAD_CENTER, 0, 0, 0, 0, 0, -+ /* row 0 */ -+ KEY_UP, KEY_RIGHT, KEY_RESERVED, KEY_PHONE, -+ /* row 1 */ -+ KEY_DOWN, KEY_LEFT, KEY_VOLUMEUP, KEY_VOLUMEDOWN, -+ /* row 2 */ -+ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_KPENTER, - }; - static unsigned char ezx_direct_keycode[] = { - KEY_CAMERA, -- KEYPAD_NONE, -- KEYPAD_NONE, -- KEYPAD_A, -+ KEY_RESERVED, -+ KEY_RESERVED, -+ KEY_HOME, - KEY_POWER, -- KEYPAD_B, -+ KEY_MENU, - }; - #elif defined(CONFIG_PXA_EZX_A780) - static unsigned char ezx_keycode[] = { -@@ -424,22 +378,12 @@ - KEY_CAMERA, - }; - #else --#error "no EZX subarchitecture defined !?!" -+#error "no EZX subarchitecture defined" - #endif - - static int ezx_kbd_init(void) - { --#if defined(CONFIG_PXA_EZX_E680_P4A) -- pxa_gpio_mode(93 | GPIO_ALT_FN_1_IN); /* KP_DKIN<0>, VR Key */ -- pxa_gpio_mode(97 | GPIO_ALT_FN_1_IN); /* KP_DKIN<4>, power key */ -- pxa_gpio_mode(100 | GPIO_ALT_FN_1_IN); /* KP_MKIN<0> */ -- pxa_gpio_mode(101 | GPIO_ALT_FN_1_IN); /* KP_MKIN<1> */ -- pxa_gpio_mode(102 | GPIO_ALT_FN_1_IN); /* KP_MKIN<2> */ -- pxa_gpio_mode(103 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<0> */ -- pxa_gpio_mode(104 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<1> */ -- pxa_gpio_mode(105 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<2> */ -- pxa_gpio_mode(106 | GPIO_ALT_FN_2_OUT); /* KP_MKOUT<3> */ --#elif defined(CONFIG_PXA_EZX_E680) -+#if defined(CONFIG_PXA_EZX_E680) - pxa_gpio_mode(93 | GPIO_ALT_FN_1_IN); /* KP_DKIN<0>, VR Key */ - pxa_gpio_mode(96 | GPIO_ALT_FN_1_IN); /* KP_DKIN<3>, GAME_A */ - pxa_gpio_mode(97 | GPIO_ALT_FN_1_IN); /* KP_DKIN<4>, power key */ -@@ -455,7 +399,7 @@ - GPDR(GPIO_TC_MM_EN) |= GPIO_bit(GPIO_TC_MM_EN); - GPSR(GPIO_TC_MM_EN) = GPIO_bit(GPIO_TC_MM_EN); - PGSR3 |= GPIO_bit(GPIO_TC_MM_EN); --#elif defined (CONFIG_PXA_EZX_A780) -+#elif defined(CONFIG_PXA_EZX_A780) - pxa_gpio_mode(93 | GPIO_ALT_FN_1_IN); /* KP_DKIN<0>, voice_rec */ - pxa_gpio_mode(97 | GPIO_ALT_FN_3_IN); /* KP_MKIN<3> */ - pxa_gpio_mode(98 | GPIO_ALT_FN_3_IN); /* KP_MKIN<4> */ -@@ -476,10 +420,7 @@ - .scan_interval = HZ/40, - .matrix = { - .keycode = &ezx_keycode, --#if defined(CONFIG_ARCH_EXZ_E680_P4A) -- .cols = 4, -- .rows = 3, --#elif defined(CONFIG_PXA_EZX_E680) -+#if defined(CONFIG_PXA_EZX_E680) - .cols = 4, - .rows = 3, - #elif defined(CONFIG_PXA_EZX_A780) -@@ -489,10 +430,8 @@ - }, - .direct = { - .keycode = &ezx_direct_keycode, --#if defined(CONFIG_PXA_EZX_E680_P4A) -- .num = 4, --#elif defined(CONFIG_PXA_EZX_E680) -- .num = 5, -+#if defined(CONFIG_PXA_EZX_E680) -+ .num = 6, - #elif defined(CONFIG_PXA_EZX_A780) - .num = 1, - #endif diff --git a/packages/linux/linux-ezx/e680-leds-r0.patch b/packages/linux/linux-ezx/e680-leds-r0.patch deleted file mode 100644 index b6d2413dc1..0000000000 --- a/packages/linux/linux-ezx/e680-leds-r0.patch +++ /dev/null @@ -1,336 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- linux-2.6.16/arch/arm/mach-pxa/ezx.c~led_ezx-r0.patch 2006-06-03 15:17:43.000000000 +0200 -+++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-05 15:14:59.000000000 +0200 -@@ -357,6 +357,17 @@ - .num_resources = ARRAY_SIZE(ezx_backlight_resources), - }; - -+#ifdef CONFIG_PXA_EZX_E680 -+/* -+ * E680 LEDs -+ */ -+static struct platform_device e680led_device = { -+ .name = "e680-led", -+ .id = -1, -+}; -+#endif -+ -+ - /* keyboard */ - - #if defined(CONFIG_PXA_EZX_V700) -@@ -770,6 +781,9 @@ - - static struct platform_device *devices[] __initdata = { - &ezx_bp_device, -+#ifdef CONFIG_PXA_EZX_E680 -+ &e680led_device, -+#endif - }; - - static void __init ---- linux-2.6.16/drivers/leds/Kconfig~led_ezx-r0.patch 2006-06-03 15:17:47.000000000 +0200 -+++ linux-2.6.16/drivers/leds/Kconfig 2006-06-03 15:17:47.000000000 +0200 -@@ -59,6 +59,13 @@ - This option enables support for the LEDs on Sharp Zaurus - SL-6000 series. - -+config LEDS_E680 -+ tristate "LED Support for the Motorola E680(i) GSM Phone" -+ depends LEDS_CLASS && PXA_EZX_E680 -+ help -+ This options enables support for the LEDs on the -+ Motorola E680(i) GSM Phone. -+ - config LEDS_TRIGGER_TIMER - tristate "LED Timer Trigger" - depends LEDS_TRIGGERS ---- linux-2.6.16/drivers/leds/Makefile~led_ezx-r0.patch 2006-06-03 15:17:47.000000000 +0200 -+++ linux-2.6.16/drivers/leds/Makefile 2006-06-03 15:17:47.000000000 +0200 -@@ -10,7 +10,8 @@ - obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o - obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o - obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o -+obj-$(CONFIG_LEDS_E680) += leds-e680.o - - # LED Triggers - obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o --obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o -\ Kein Zeilenumbruch am Dateiende. -+obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o ---- /dev/null 2006-06-05 13:59:28.329930680 +0200 -+++ linux-2.6.16/drivers/leds/leds-e680.c 2006-06-05 15:11:42.000000000 +0200 -@@ -0,0 +1,269 @@ -+/* -+ * EZX Platform LED Driver for the Motorola E680(i) GSM Phone -+ * -+ * Copyright 2006 Vanille-Media -+ * -+ * Author: Michael Lauer <mickey@Vanille.de> -+ * -+ * Based on the Motorola 2.4 leds-e680.c and leds-corgi.c by Richard Purdie -+ * -+ * This program 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. -+ * -+ */ -+ -+#include <linux/config.h> -+#include <linux/kernel.h> -+#include <linux/init.h> -+#include <linux/platform_device.h> -+#include <linux/leds.h> -+#include <asm/mach-types.h> -+#include <asm/arch/hardware.h> -+#include <asm/arch/pxa-regs.h> -+//FIXME this belongs to somewhere else, please -+// adjust when ssp_pcap.h reached its final destination -+#include "../misc/ezx/ssp_pcap.h" -+ -+//FIXME move defines to header file -+#define IND_CNTL_R_BUL 46 -+#define IND_CNTL_G_BUL 47 -+#define SSP_PCAP_LED_MASK 0x000fffe0 -+#define SSP_PCAP_LED_SHIFT 5 -+ -+static enum led_brightness old_red; -+static enum led_brightness old_green; -+static enum led_brightness old_blue; -+ -+typedef struct { -+ unsigned char ind_GPIO_red; /*Indicator Red control GPIO 46: 0 active, 1 disactive*/ -+ unsigned char ind_GPIO_green; /*Indicator Green control GPIO 47: 0 active, 1 disactive*/ -+ unsigned char pcap_LEDR_en; /*pcap LEDR_EN bit value: 1 =Red LED(&Green) sink circuit enabled*/ -+ unsigned char pcap_LEDG_en; /*pcap LEDG_EN bit value:1 =Green(->Blue)LED sink circuit enabled*/ -+ unsigned char pcap_LEDR_CTRL; /* 4bits Sets the timing for the red(&Green) LED sink circuit*/ -+ unsigned char pcap_LEDG_CTRL; /* 4bits Sets the timing for the GREEN (->Blue) LED sink circuit*/ -+ unsigned char pcap_LEDR_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDR*/ -+ unsigned char pcap_LEDG_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDG*/ -+ unsigned char pcap_SKIP_on; /*1=The ON timing sequence defined by LEDx_CTRL is executed on every other cycle*/ -+} PCAP2_LED_REGISTER_VALUE; -+ -+const PCAP2_LED_REGISTER_VALUE led_register_value[]= -+{ -+ /* on/off pulsepower timing intensity */ -+ {0x1,0x1, 0x0,0x0, 0x0,0x0, 0x0,0x0,0x0}, /* OFF */ -+ {0x0,0x1, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* RED */ -+ {0x1,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* GREEN */ -+ {0x0,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* ORANGE = RED + GREEN */ -+ {0x1,0x1, 0x0,0x1, 0x0,0xc, 0x0,0x0,0x0}, /* BLUE */ -+ {0x0,0x1, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_RED = RED + BLUE */ -+ {0x1,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_GREEN = GREEN + BLUE */ -+ {0x0,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* WHITE = RED + GREEN + BLUE */ -+}; -+ -+static void e680led_led_set( enum led_brightness red, enum led_brightness green, enum led_brightness blue ) -+{ -+ printk( KERN_DEBUG "e680led_led_set: red=%d, green=%d, blue=%d", red, green, blue ); -+ unsigned int tempValue = 0; -+ unsigned int value = 0; -+ unsigned int stateIndex = 0; -+ unsigned char gpio_red, gpio_green, ledr_en, ledg_en, ledr_ctrl, ledg_ctrl, ledr_i, ledg_i,skip; -+ -+ stateIndex = ( ( blue << 2 ) | ( green << 1 ) | ( red ) ) & 0x7; -+ printk( KERN_DEBUG "LED stateIndex is %d", stateIndex ); -+ gpio_red = led_register_value[stateIndex].ind_GPIO_red & 0x1; -+ gpio_green = led_register_value[stateIndex].ind_GPIO_green & 0x1; -+ ledr_en = led_register_value[stateIndex].pcap_LEDR_en & 0x1; -+ ledg_en = led_register_value[stateIndex].pcap_LEDG_en & 0x1; -+ ledr_ctrl = led_register_value[stateIndex].pcap_LEDR_CTRL & 0xf; -+ ledg_ctrl = led_register_value[stateIndex].pcap_LEDG_CTRL & 0xf; -+ ledr_i = led_register_value[stateIndex].pcap_LEDR_I & 0x3; -+ ledg_i = led_register_value[stateIndex].pcap_LEDG_I & 0x3; -+ skip = led_register_value[stateIndex].pcap_SKIP_on & 0x1; -+ -+ /* disable LEDs */ -+ if( ezx_pcap_read(SSP_PCAP_ADJ_PERIPH_REGISTER,&tempValue) != SSP_PCAP_SUCCESS ) -+ { -+ printk( KERN_WARNING "LED PCAP Read Failed\n" ); -+ return; -+ } -+ tempValue &= (~SSP_PCAP_LED_MASK); -+ if( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) != SSP_PCAP_SUCCESS ) -+ { -+ printk( KERN_WARNING "LED PCAP Write Failed (Clear Data)\n" ); -+ return; -+ } -+ -+ /* configure GPIOs as output */ -+ pxa_gpio_mode(IND_CNTL_R_BUL | GPIO_OUT); -+ pxa_gpio_mode(IND_CNTL_G_BUL | GPIO_OUT); -+ -+ //FIXME: Simplify this logic -+ if ( (gpio_green && gpio_red) ) -+ { -+ /*Disable Red & Green signal*/ -+ set_GPIO(IND_CNTL_R_BUL); /*IND_CNTL_R_BUL Low active*/ -+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL); -+ -+ clr_GPIO(IND_CNTL_G_BUL); /*IND_CNTL_G_BUL High active*/ -+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL)); -+ -+ printk( KERN_DEBUG "LED GPIO Green & Red Disable\n"); -+ } else if ( gpio_green && !gpio_red ) -+ { -+ /*Green Disable, Red Enable*/ -+ clr_GPIO(IND_CNTL_R_BUL); -+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL)); -+ -+ clr_GPIO(IND_CNTL_G_BUL); -+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL)); -+ -+ printk( KERN_DEBUG "LED GPIO Green Disable, Red Enable\n"); -+ } else if (gpio_red && !gpio_green ) -+ { -+ /*Red Disable, Green Enable*/ -+ set_GPIO(IND_CNTL_R_BUL); -+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL); -+ -+ set_GPIO(IND_CNTL_G_BUL); -+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) | GPIO_bit(IND_CNTL_G_BUL); -+ printk( KERN_DEBUG "LED GPIO Red Disable, Green Enable"); -+ }else -+ { -+ /*Red & Green enable*/ -+ clr_GPIO(IND_CNTL_R_BUL); -+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL)); -+ -+ set_GPIO(IND_CNTL_G_BUL); -+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) | GPIO_bit(IND_CNTL_G_BUL); -+ printk( KERN_DEBUG "LED GPIO Red & Green Enable\n"); -+ } -+ -+ /* Write PCAP LED Peripheral Control Register*/ -+ value = ( ledr_en | (ledg_en <<1) | (ledr_ctrl <<2) | (ledg_ctrl <<6) | -+ (ledr_i << 10) | (ledg_i <<12) | (skip <<14) ) & 0x7fff; -+ tempValue |= (value <<SSP_PCAP_LED_SHIFT); -+ -+ if ( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) == SSP_PCAP_SUCCESS ) -+ { -+ printk( KERN_DEBUG "LED PCAP Write Success (0x%x :0x%x)\n",tempValue,value); -+ old_red = red; -+ old_green = green; -+ old_blue = blue; -+ return; -+ } else { -+ printk( KERN_DEBUG "LED PCAP Write Failed (State Change)\n"); -+ return; -+ } -+} -+ -+static void e680led_red_set(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ printk( KERN_DEBUG "e680led_red_set: %d\n", value ); -+ e680led_led_set( 1 && value, old_green, old_blue ); -+} -+ -+static void e680led_green_set(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ printk( KERN_DEBUG "e680led_green_set: %d\n", value ); -+ e680led_led_set( old_red, 1 && value, old_blue ); -+} -+ -+static void e680led_blue_set(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ printk( KERN_DEBUG "e680led_blue_set: %d\n", value ); -+ e680led_led_set( old_red, old_green, 1 && value ); -+} -+ -+static struct led_classdev e680_red_led = { -+ .name = "e680:red", -+ .default_trigger = "none", -+ .brightness_set = e680led_red_set, -+}; -+ -+static struct led_classdev e680_green_led = { -+ .name = "e680:green", -+ .default_trigger = "none", -+ .brightness_set = e680led_green_set, -+}; -+ -+static struct led_classdev e680_blue_led = { -+ .name = "e680:blue", -+ .default_trigger = "none", -+ .brightness_set = e680led_blue_set, -+}; -+ -+#ifdef CONFIG_PM -+static int e680led_suspend(struct platform_device *dev, pm_message_t state) -+{ -+ led_classdev_suspend(&e680_red_led); -+ led_classdev_suspend(&e680_green_led); -+ led_classdev_suspend(&e680_blue_led); -+ return 0; -+} -+ -+static int e680led_resume(struct platform_device *dev) -+{ -+ led_classdev_resume(&e680_red_led); -+ led_classdev_resume(&e680_green_led); -+ led_classdev_resume(&e680_blue_led); -+ return 0; -+} -+#endif -+ -+static int e680led_probe(struct platform_device *pdev) -+{ -+ int ret; -+ -+ ret = led_classdev_register(&pdev->dev, &e680_red_led); -+ if (ret < 0) -+ return ret; -+ -+ ret = led_classdev_register(&pdev->dev, &e680_green_led); -+ if (ret < 0) -+ led_classdev_unregister(&e680_red_led); -+ -+ ret = led_classdev_register(&pdev->dev, &e680_blue_led); -+ if (ret < 0) { -+ led_classdev_unregister(&e680_red_led); -+ led_classdev_unregister(&e680_green_led); -+ } -+ return ret; -+} -+ -+static int e680led_remove(struct platform_device *pdev) -+{ -+ led_classdev_unregister(&e680_red_led); -+ led_classdev_unregister(&e680_green_led); -+ led_classdev_unregister(&e680_blue_led); -+ return 0; -+} -+ -+static struct platform_driver e680led_driver = { -+ .probe = e680led_probe, -+ .remove = e680led_remove, -+#ifdef CONFIG_PM -+ .suspend = e680led_suspend, -+ .resume = e680led_resume, -+#endif -+ .driver = { -+ .name = "e680-led", -+ }, -+}; -+ -+static int __init e680led_init(void) -+{ -+ return platform_driver_register(&e680led_driver); -+} -+ -+static void __exit e680led_exit(void) -+{ -+ e680led_led_set( 0, 0, 0 ); -+ platform_driver_unregister(&e680led_driver); -+} -+ -+module_init(e680led_init); -+module_exit(e680led_exit); -+ -+MODULE_AUTHOR("Michael Lauer <mickey@Vanille.de>"); -+MODULE_DESCRIPTION("Motorola E680 LED driver"); -+MODULE_LICENSE("GPL"); diff --git a/packages/linux/linux-ezx/e680-leds-r1.patch b/packages/linux/linux-ezx/e680-leds-r1.patch deleted file mode 100644 index abbab2937d..0000000000 --- a/packages/linux/linux-ezx/e680-leds-r1.patch +++ /dev/null @@ -1,374 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- linux-2.6.16/arch/arm/mach-pxa/ezx.c~e680-leds-r0.patch 2006-06-06 17:14:06.000000000 +0200 -+++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-06 17:23:14.000000000 +0200 -@@ -357,6 +357,17 @@ - .num_resources = ARRAY_SIZE(ezx_backlight_resources), - }; - -+#ifdef CONFIG_PXA_EZX_E680 -+/* -+ * E680 LEDs -+ */ -+static struct platform_device e680led_device = { -+ .name = "e680-led", -+ .id = -1, -+}; -+#endif -+ -+ - /* keyboard */ - - #if defined(CONFIG_PXA_EZX_V700) -@@ -766,6 +777,9 @@ - - static struct platform_device *devices[] __initdata = { - &ezx_bp_device, -+#ifdef CONFIG_PXA_EZX_E680 -+ &e680led_device, -+#endif - }; - - static void __init ---- linux-2.6.16/drivers/leds/Kconfig~e680-leds-r0.patch 2006-06-06 17:14:05.000000000 +0200 -+++ linux-2.6.16/drivers/leds/Kconfig 2006-06-06 17:23:14.000000000 +0200 -@@ -59,6 +59,13 @@ - This option enables support for the LEDs on Sharp Zaurus - SL-6000 series. - -+config LEDS_E680 -+ tristate "LED Support for the Motorola E680(i) GSM Phone" -+ depends LEDS_CLASS && PXA_EZX_E680 -+ help -+ This options enables support for the LEDs on the -+ Motorola E680(i) GSM Phone. -+ - config LEDS_TRIGGER_TIMER - tristate "LED Timer Trigger" - depends LEDS_TRIGGERS ---- linux-2.6.16/drivers/leds/Makefile~e680-leds-r0.patch 2006-06-06 17:14:05.000000000 +0200 -+++ linux-2.6.16/drivers/leds/Makefile 2006-06-06 17:23:14.000000000 +0200 -@@ -10,7 +10,8 @@ - obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o - obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o - obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o -+obj-$(CONFIG_LEDS_E680) += leds-e680.o - - # LED Triggers - obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o --obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o -\ Kein Zeilenumbruch am Dateiende. -+obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o ---- /dev/null 2006-06-06 16:58:36.577045136 +0200 -+++ linux-2.6.16/drivers/leds/leds-e680.c 2006-06-06 17:55:46.000000000 +0200 -@@ -0,0 +1,307 @@ -+/* -+ * EZX Platform LED Driver for the Motorola E680(i) GSM Phone -+ * -+ * Copyright 2006 Vanille-Media -+ * -+ * Author: Michael Lauer <mickey@Vanille.de> -+ * -+ * Based on the Motorola 2.4 leds-e680.c and leds-corgi.c by Richard Purdie -+ * -+ * This program 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. -+ * -+ */ -+ -+#include <linux/config.h> -+#include <linux/delay.h> -+#include <linux/kernel.h> -+#include <linux/init.h> -+#include <linux/platform_device.h> -+#include <linux/leds.h> -+#include <asm/mach-types.h> -+#include <asm/arch/hardware.h> -+#include <asm/arch/pxa-regs.h> -+#include <asm/arch/ezx-pcap.h> -+ -+//FIXME move defines to a common header file -+#define IND_CNTL_R_BUL 46 -+#define IND_CNTL_G_BUL 47 -+#define SSP_PCAP_LED_MASK 0x000fffe0 -+#define SSP_PCAP_LED_SHIFT 5 -+#define GPIO_TC_MM_EN 99 -+ -+static enum led_brightness old_red; -+static enum led_brightness old_green; -+static enum led_brightness old_blue; -+ -+typedef struct { -+ unsigned char ind_GPIO_red; /*Indicator Red control GPIO 46: 0 active, 1 disactive*/ -+ unsigned char ind_GPIO_green; /*Indicator Green control GPIO 47: 0 active, 1 disactive*/ -+ unsigned char pcap_LEDR_en; /*pcap LEDR_EN bit value: 1 =Red LED(&Green) sink circuit enabled*/ -+ unsigned char pcap_LEDG_en; /*pcap LEDG_EN bit value:1 =Green(->Blue)LED sink circuit enabled*/ -+ unsigned char pcap_LEDR_CTRL; /* 4bits Sets the timing for the red(&Green) LED sink circuit*/ -+ unsigned char pcap_LEDG_CTRL; /* 4bits Sets the timing for the GREEN (->Blue) LED sink circuit*/ -+ unsigned char pcap_LEDR_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDR*/ -+ unsigned char pcap_LEDG_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDG*/ -+ unsigned char pcap_SKIP_on; /*1=The ON timing sequence defined by LEDx_CTRL is executed on every other cycle*/ -+} PCAP2_LED_REGISTER_VALUE; -+ -+const PCAP2_LED_REGISTER_VALUE led_register_value[]= -+{ -+ /* on/off pulsepower timing intensity */ -+ {0x1,0x1, 0x0,0x0, 0x0,0x0, 0x0,0x0,0x0}, /* OFF */ -+ {0x0,0x1, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* RED */ -+ {0x1,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* GREEN */ -+ {0x0,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* ORANGE = RED + GREEN */ -+ {0x1,0x1, 0x0,0x1, 0x0,0xc, 0x0,0x0,0x0}, /* BLUE */ -+ {0x0,0x1, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_RED = RED + BLUE */ -+ {0x1,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_GREEN = GREEN + BLUE */ -+ {0x0,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* WHITE = RED + GREEN + BLUE */ -+}; -+ -+static void e680led_led_set( enum led_brightness red, enum led_brightness green, enum led_brightness blue ) -+{ -+ printk( KERN_DEBUG "e680led_led_set: red=%d, green=%d, blue=%d", red, green, blue ); -+ unsigned int tempValue = 0; -+ unsigned int value = 0; -+ unsigned int stateIndex = 0; -+ unsigned char gpio_red, gpio_green, ledr_en, ledg_en, ledr_ctrl, ledg_ctrl, ledr_i, ledg_i,skip; -+ -+ stateIndex = ( ( blue << 2 ) | ( green << 1 ) | ( red ) ) & 0x7; -+ printk( KERN_DEBUG "LED stateIndex is %d", stateIndex ); -+ gpio_red = led_register_value[stateIndex].ind_GPIO_red & 0x1; -+ gpio_green = led_register_value[stateIndex].ind_GPIO_green & 0x1; -+ ledr_en = led_register_value[stateIndex].pcap_LEDR_en & 0x1; -+ ledg_en = led_register_value[stateIndex].pcap_LEDG_en & 0x1; -+ ledr_ctrl = led_register_value[stateIndex].pcap_LEDR_CTRL & 0xf; -+ ledg_ctrl = led_register_value[stateIndex].pcap_LEDG_CTRL & 0xf; -+ ledr_i = led_register_value[stateIndex].pcap_LEDR_I & 0x3; -+ ledg_i = led_register_value[stateIndex].pcap_LEDG_I & 0x3; -+ skip = led_register_value[stateIndex].pcap_SKIP_on & 0x1; -+ -+ /* disable LEDs */ -+ if( ezx_pcap_read(SSP_PCAP_ADJ_PERIPH_REGISTER,&tempValue) != SSP_PCAP_SUCCESS ) -+ { -+ printk( KERN_WARNING "LED PCAP Read Failed\n" ); -+ return; -+ } -+ tempValue &= (~SSP_PCAP_LED_MASK); -+ if( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) != SSP_PCAP_SUCCESS ) -+ { -+ printk( KERN_WARNING "LED PCAP Write Failed (Clear Data)\n" ); -+ return; -+ } -+ -+ /* configure GPIOs as output */ -+ pxa_gpio_mode(IND_CNTL_R_BUL | GPIO_OUT); -+ pxa_gpio_mode(IND_CNTL_G_BUL | GPIO_OUT); -+ -+ //FIXME: Simplify this logic -+ if ( (gpio_green && gpio_red) ) -+ { -+ /*Disable Red & Green signal*/ -+ set_GPIO(IND_CNTL_R_BUL); /*IND_CNTL_R_BUL Low active*/ -+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL); -+ -+ clr_GPIO(IND_CNTL_G_BUL); /*IND_CNTL_G_BUL High active*/ -+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL)); -+ -+ printk( KERN_DEBUG "LED GPIO Green & Red Disable\n"); -+ } else if ( gpio_green && !gpio_red ) -+ { -+ /*Green Disable, Red Enable*/ -+ clr_GPIO(IND_CNTL_R_BUL); -+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL)); -+ -+ clr_GPIO(IND_CNTL_G_BUL); -+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL)); -+ -+ printk( KERN_DEBUG "LED GPIO Green Disable, Red Enable\n"); -+ } else if (gpio_red && !gpio_green ) -+ { -+ /*Red Disable, Green Enable*/ -+ set_GPIO(IND_CNTL_R_BUL); -+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL); -+ -+ set_GPIO(IND_CNTL_G_BUL); -+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) | GPIO_bit(IND_CNTL_G_BUL); -+ printk( KERN_DEBUG "LED GPIO Red Disable, Green Enable"); -+ }else -+ { -+ /*Red & Green enable*/ -+ clr_GPIO(IND_CNTL_R_BUL); -+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL)); -+ -+ set_GPIO(IND_CNTL_G_BUL); -+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) | GPIO_bit(IND_CNTL_G_BUL); -+ printk( KERN_DEBUG "LED GPIO Red & Green Enable\n"); -+ } -+ -+ /* Write PCAP LED Peripheral Control Register*/ -+ value = ( ledr_en | (ledg_en <<1) | (ledr_ctrl <<2) | (ledg_ctrl <<6) | -+ (ledr_i << 10) | (ledg_i <<12) | (skip <<14) ) & 0x7fff; -+ tempValue |= (value <<SSP_PCAP_LED_SHIFT); -+ -+ if ( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) == SSP_PCAP_SUCCESS ) -+ { -+ printk( KERN_DEBUG "LED PCAP Write Success (0x%x :0x%x)\n",tempValue,value); -+ old_red = red; -+ old_green = green; -+ old_blue = blue; -+ return; -+ } else { -+ printk( KERN_DEBUG "LED PCAP Write Failed (State Change)\n"); -+ return; -+ } -+} -+ -+static void e680led_red_set(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ printk( KERN_DEBUG "e680led_red_set: %d\n", value ); -+ e680led_led_set( 1 && value, old_green, old_blue ); -+} -+ -+static void e680led_green_set(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ printk( KERN_DEBUG "e680led_green_set: %d\n", value ); -+ e680led_led_set( old_red, 1 && value, old_blue ); -+} -+ -+static void e680led_blue_set(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ printk( KERN_DEBUG "e680led_blue_set: %d\n", value ); -+ e680led_led_set( old_red, old_green, 1 && value ); -+} -+ -+static void e680led_keypad_set(struct led_classdev *led_cdev, enum led_brightness value) -+{ -+ /* this is not working yet, as there is something else missing */ -+#if 0 -+ printk( KERN_DEBUG "e680led_keypad_set: %d\n", value ); -+ -+ pxa_gpio_mode(GPIO_TC_MM_EN); -+ GPDR(GPIO_TC_MM_EN) |= GPIO_bit(GPIO_TC_MM_EN); -+ GPSR(GPIO_TC_MM_EN) = GPIO_bit(GPIO_TC_MM_EN); -+ -+ udelay( 100 ); -+ -+ if ( value ) { -+ GPCR(GPIO_TC_MM_EN) = GPIO_bit(GPIO_TC_MM_EN); -+ PGSR3 &= ~GPIO_bit(GPIO_TC_MM_EN); -+ } else { -+ GPSR(GPIO_TC_MM_EN) = GPIO_bit(GPIO_TC_MM_EN); -+ PGSR3 |= GPIO_bit(GPIO_TC_MM_EN); -+ } -+#endif -+} -+ -+static struct led_classdev e680_red_led = { -+ .name = "e680:red", -+ .default_trigger = "none", -+ .brightness_set = e680led_red_set, -+}; -+ -+static struct led_classdev e680_green_led = { -+ .name = "e680:green", -+ .default_trigger = "none", -+ .brightness_set = e680led_green_set, -+}; -+ -+static struct led_classdev e680_blue_led = { -+ .name = "e680:blue", -+ .default_trigger = "none", -+ .brightness_set = e680led_blue_set, -+}; -+ -+static struct led_classdev e680_keypad_led = { -+ .name = "e680:keypad", -+ .default_trigger = "none", -+ .brightness_set = e680led_keypad_set, -+}; -+ -+#ifdef CONFIG_PM -+static int e680led_suspend(struct platform_device *dev, pm_message_t state) -+{ -+ led_classdev_suspend(&e680_red_led); -+ led_classdev_suspend(&e680_green_led); -+ led_classdev_suspend(&e680_blue_led); -+ led_classdev_suspend(&e680_keypad_led); -+ return 0; -+} -+ -+static int e680led_resume(struct platform_device *dev) -+{ -+ led_classdev_resume(&e680_red_led); -+ led_classdev_resume(&e680_green_led); -+ led_classdev_resume(&e680_blue_led); -+ led_classdev_resume(&e680_keypad_led); -+ return 0; -+} -+#endif -+ -+static int e680led_probe(struct platform_device *pdev) -+{ -+ int ret; -+ -+ ret = led_classdev_register(&pdev->dev, &e680_red_led); -+ if (ret < 0) -+ return ret; -+ -+ ret = led_classdev_register(&pdev->dev, &e680_green_led); -+ if (ret < 0) -+ led_classdev_unregister(&e680_red_led); -+ -+ ret = led_classdev_register(&pdev->dev, &e680_blue_led); -+ if (ret < 0) { -+ led_classdev_unregister(&e680_red_led); -+ led_classdev_unregister(&e680_green_led); -+ } -+ -+ ret = led_classdev_register(&pdev->dev, &e680_keypad_led); -+ if (ret < 0) { -+ led_classdev_unregister(&e680_red_led); -+ led_classdev_unregister(&e680_green_led); -+ led_classdev_unregister(&e680_blue_led); -+ } -+ return ret; -+} -+ -+static int e680led_remove(struct platform_device *pdev) -+{ -+ led_classdev_unregister(&e680_red_led); -+ led_classdev_unregister(&e680_green_led); -+ led_classdev_unregister(&e680_blue_led); -+ led_classdev_unregister(&e680_keypad_led); -+ return 0; -+} -+ -+static struct platform_driver e680led_driver = { -+ .probe = e680led_probe, -+ .remove = e680led_remove, -+#ifdef CONFIG_PM -+ .suspend = e680led_suspend, -+ .resume = e680led_resume, -+#endif -+ .driver = { -+ .name = "e680-led", -+ }, -+}; -+ -+static int __init e680led_init(void) -+{ -+ return platform_driver_register(&e680led_driver); -+} -+ -+static void __exit e680led_exit(void) -+{ -+ e680led_led_set( 0, 0, 0 ); -+ platform_driver_unregister(&e680led_driver); -+} -+ -+module_init(e680led_init); -+module_exit(e680led_exit); -+ -+MODULE_AUTHOR("Michael Lauer <mickey@Vanille.de>"); -+MODULE_DESCRIPTION("Motorola E680 LED driver"); -+MODULE_LICENSE("GPL"); diff --git a/packages/linux/linux-ezx/ezx-backlight-r0.patch b/packages/linux/linux-ezx/ezx-backlight-r0.patch deleted file mode 100644 index db917300c2..0000000000 --- a/packages/linux/linux-ezx/ezx-backlight-r0.patch +++ /dev/null @@ -1,212 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- linux-2.6.16/arch/arm/mach-pxa/ezx.c~ezx-backlight-r0.patch 2006-06-07 16:00:29.000000000 +0200 -+++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-07 16:21:09.000000000 +0200 -@@ -344,17 +344,12 @@ - .pxafb_lcd_power = &pxafb_lcd_power, - }; - -- --/* backlight for lcd */ -- --static struct resource ezx_backlight_resources[] = { --}; -- --static struct platform_device ezx_backlight_device = { -- .name = "ezx-lcd-backlight", -+/* -+ * EZX LCD Backlight -+ */ -+static struct platform_device ezxbacklight_device = { -+ .name = "ezx-bl", - .id = -1, -- .resource = ezx_backlight_resources, -- .num_resources = ARRAY_SIZE(ezx_backlight_resources), - }; - - #ifdef CONFIG_PXA_EZX_E680 -@@ -786,6 +781,7 @@ - - static struct platform_device *devices[] __initdata = { - &ezx_bp_device, -+ &ezxbacklight_device, - #ifdef CONFIG_PXA_EZX_E680 - &e680led_device, - #endif ---- linux-2.6.16/drivers/video/backlight/Kconfig~ezx-backlight-r0.patch 2006-06-07 16:00:28.000000000 +0200 -+++ linux-2.6.16/drivers/video/backlight/Kconfig 2006-06-07 16:00:30.000000000 +0200 -@@ -58,3 +58,12 @@ - If you have a HP Jornada 680, say y to enable the - backlight driver. - -+config BACKLIGHT_EZX -+ tristate "Motorola EXZ Backlight Driver (A780/E680/E680i)" -+ depends on BACKLIGHT_DEVICE && PXA_EZX -+ default y -+ help -+ If you have a Motorola A780 or E680(i), say y to enable the -+ backlight driver. -+ -+ ---- linux-2.6.16/drivers/video/backlight/Makefile~ezx-backlight-r0.patch 2006-03-20 06:53:29.000000000 +0100 -+++ linux-2.6.16/drivers/video/backlight/Makefile 2006-06-07 16:00:30.000000000 +0200 -@@ -5,3 +5,5 @@ - obj-$(CONFIG_BACKLIGHT_CORGI) += corgi_bl.o - obj-$(CONFIG_BACKLIGHT_HP680) += hp680_bl.o - obj-$(CONFIG_SHARP_LOCOMO) += locomolcd.o -+obj-$(CONFIG_BACKLIGHT_EZX) += ezx_bl.o -+ ---- /dev/null 2006-06-07 15:54:31.503752232 +0200 -+++ linux-2.6.16/drivers/video/backlight/ezx_bl.c 2006-06-07 16:51:14.000000000 +0200 -@@ -0,0 +1,148 @@ -+/* -+ * Backlight Driver for Motorola A780 and E680(i) GSM Phones. -+ * -+ * Copyright 2006 Vanille Media -+ * -+ * Author: Michael Lauer <mickey@Vanille.de> -+ * -+ * This program 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. -+ * -+ */ -+ -+#include <linux/module.h> -+#include <linux/kernel.h> -+#include <linux/init.h> -+#include <linux/platform_device.h> -+#include <linux/spinlock.h> -+#include <linux/fb.h> -+#include <linux/backlight.h> -+ -+#include <asm/arch/pxa-regs.h> -+#include <asm/arch/ezx.h> -+ -+#define EZX_MAX_INTENSITY 50 -+#define EZX_DEFAULT_INTENSITY 25 -+ -+static spinlock_t bl_lock = SPIN_LOCK_UNLOCKED; -+static struct backlight_properties ezxbl_data; -+static struct backlight_device *ezx_backlight_device; -+static int current_intensity; -+ -+static int ezx_send_intensity(struct backlight_device *bd) -+{ -+ unsigned long flags; -+ int intensity = bd->props->brightness; -+ -+ printk( KERN_DEBUG "ezx_set_intensity to %d", intensity ); -+ -+ if (bd->props->power != FB_BLANK_UNBLANK) -+ intensity = 0; -+ if (bd->props->fb_blank != FB_BLANK_UNBLANK) -+ intensity = 0; -+ -+ spin_lock_irqsave(&bl_lock, flags); -+ -+ PWM_CTRL0 = 2; /* pre-scaler */ -+ PWM_PWDUTY0 = intensity; /* duty cycle */ -+ PWM_PERVAL0 = 49; /* period */ -+ -+ if (intensity) { -+ //pxa_set_cken(CKEN0_PWM0, 1); -+ //FIXME: Set PWM0 GPIO as output -+ } else { -+ //pxa_set_cken(CKEN0_PWM0, 0); -+ //FIXME: Set PWM0 GPIO as input -+ } -+ -+ spin_unlock_irqrestore(&bl_lock, flags); -+ current_intensity = intensity; -+ return 0; -+} -+ -+static int ezx_get_intensity(struct backlight_device *bd) -+{ -+ return current_intensity; -+} -+ -+static int ezx_set_intensity(struct backlight_device *bd) -+{ -+ return ezx_send_intensity(ezx_backlight_device); -+} -+ -+#ifdef CONFIG_PM -+static int ezx_bl_suspend(struct platform_device *pdev, pm_message_t state) -+{ -+ //set suspend flag -+ ezx_set_intensity(ezx_backlight_device); -+ return 0; -+} -+ -+static int ezx_bl_resume(struct platform_device *pdev) -+{ -+ // set resume flag -+ ezx_set_intensity(ezx_backlight_device); -+ return 0; -+} -+#else -+#define ezx_bl_suspend NULL -+#define ezx_bl_resume NULL -+#endif -+ -+static struct backlight_properties ezx_bl_data = { -+ .owner = THIS_MODULE, -+ .get_brightness = ezx_get_intensity, -+ .max_brightness = EZX_MAX_INTENSITY, -+ .update_status = ezx_set_intensity, -+}; -+ -+static int __init ezx_bl_probe(struct platform_device *pdev) -+{ -+ ezx_backlight_device = backlight_device_register ("ezx-bl", -+ NULL, &ezx_bl_data); -+ if (IS_ERR (ezx_backlight_device)) -+ return PTR_ERR (ezx_backlight_device); -+ -+ //ezx_bl_data.requested_brightness = EZX_DEFAULT_INTENSITY; -+ //ezx_bl_data.requested_power = FB_BLANK_UNBLANK; -+ //ezx_set_intensity(ezx_backlight_device, ezx_bl_data.requested_brightness); -+ -+ printk("EZX Backlight Driver Initialized.\n"); -+ return 0; -+} -+ -+static int ezx_bl_remove(struct platform_device *pdev) -+{ -+ backlight_device_unregister(ezx_backlight_device); -+ -+ printk("EZX Backlight Driver Unloaded.\n"); -+ return 0; -+} -+ -+static struct platform_driver ezx_bl_driver = { -+ .probe = ezx_bl_probe, -+ .remove = ezx_bl_remove, -+ .suspend = ezx_bl_suspend, -+ .resume = ezx_bl_resume, -+ .driver = { -+ .name = "ezx-bl", -+ }, -+}; -+ -+static int __init ezx_bl_init(void) -+{ -+ return platform_driver_register(&ezx_bl_driver); -+} -+ -+static void __exit ezx_bl_exit(void) -+{ -+ platform_driver_unregister(&ezx_bl_driver); -+} -+ -+module_init(ezx_bl_init); -+module_exit(ezx_bl_exit); -+ -+MODULE_AUTHOR("Michael Lauer <mickey@Vanille.de>"); -+MODULE_DESCRIPTION("Backlight Driver for Motorola A780|E680(i)"); -+MODULE_LICENSE("GPL"); diff --git a/packages/linux/linux-ezx/ezx-backlight-r1.patch b/packages/linux/linux-ezx/ezx-backlight-r1.patch deleted file mode 100644 index a277f19344..0000000000 --- a/packages/linux/linux-ezx/ezx-backlight-r1.patch +++ /dev/null @@ -1,277 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- linux-2.6.16/arch/arm/mach-pxa/ezx.c~ezx-backlight-r1.patch 2006-06-08 19:33:36.000000000 +0200 -+++ linux-2.6.16/arch/arm/mach-pxa/ezx.c 2006-06-08 19:33:37.000000000 +0200 -@@ -274,34 +274,9 @@ - .udc_command = ezx_udc_command, - }; - --/* pxafb */ -- --#define BKLIGHT_PRESCALE 2 --#define BKLIGHT_PERIOD 49 --#define DEFAULT_DUTYCYCLE 25 --#define MAX_DUTYCYCLE (BKLIGHT_PERIOD+1) --#define MIN_DUTYCYCLE 0 -- --static void pxafb_backlight_power(int on) --{ -- if (on) { -- CKEN |= CKEN0_PWM0; -- PWM_CTRL0 = BKLIGHT_PRESCALE; -- PWM_PERVAL0 = BKLIGHT_PERIOD; -- PWM_PWDUTY0 = DEFAULT_DUTYCYCLE; -- -- GPDR0 |= 0x00010000; //PWM0 is GPIO16 -- pxa_gpio_mode(GPIO16_PWM0_MD); -- } else { -- PWM_PWDUTY0 = 0; -- GAFR0_U &= 0xfffffffc; -- GPDR0 &= 0xfffeffff; /* set gpio16 (pwm0) as input */ -- CKEN &= ~CKEN0_PWM0; -- PWM_PWDUTY0 = MIN_DUTYCYCLE; -- } --} -- --//#define mdelay(x) udelay((x)*1000) -+/* -+ * EZX PXA Framebuffer -+ */ - - static void pxafb_lcd_power(int on) - { -@@ -326,35 +301,24 @@ - .xres = 240, - .yres = 320, - .bpp = 16, -- - .hsync_len = 10, - .left_margin = 20, - .right_margin = 10, -- - .vsync_len = 2, - .upper_margin = 3, - .lower_margin = 2, -- - .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, -- - .lccr0 = 0x002008F8, - .lccr3 = 0x0430FF09, -- -- .pxafb_backlight_power = &pxafb_backlight_power, -- .pxafb_lcd_power = &pxafb_lcd_power, --}; -- -- --/* backlight for lcd */ -- --static struct resource ezx_backlight_resources[] = { -+ .pxafb_lcd_power= &pxafb_lcd_power, - }; - --static struct platform_device ezx_backlight_device = { -- .name = "ezx-lcd-backlight", -+/* -+ * EZX LCD Backlight -+ */ -+static struct platform_device ezxbacklight_device = { -+ .name = "ezx-bl", - .id = -1, -- .resource = ezx_backlight_resources, -- .num_resources = ARRAY_SIZE(ezx_backlight_resources), - }; - - #ifdef CONFIG_PXA_EZX_E680 -@@ -786,6 +750,7 @@ - - static struct platform_device *devices[] __initdata = { - &ezx_bp_device, -+ &ezxbacklight_device, - #ifdef CONFIG_PXA_EZX_E680 - &e680led_device, - #endif ---- linux-2.6.16/drivers/video/backlight/Kconfig~ezx-backlight-r1.patch 2006-06-08 19:33:34.000000000 +0200 -+++ linux-2.6.16/drivers/video/backlight/Kconfig 2006-06-08 19:33:37.000000000 +0200 -@@ -58,3 +58,12 @@ - If you have a HP Jornada 680, say y to enable the - backlight driver. - -+config BACKLIGHT_EZX -+ tristate "Motorola EXZ Backlight Driver (A780/E680/E680i)" -+ depends on BACKLIGHT_DEVICE && PXA_EZX -+ default y -+ help -+ If you have a Motorola A780 or E680(i), say y to enable the -+ backlight driver. -+ -+ ---- linux-2.6.16/drivers/video/backlight/Makefile~ezx-backlight-r1.patch 2006-03-20 06:53:29.000000000 +0100 -+++ linux-2.6.16/drivers/video/backlight/Makefile 2006-06-08 19:33:37.000000000 +0200 -@@ -5,3 +5,5 @@ - obj-$(CONFIG_BACKLIGHT_CORGI) += corgi_bl.o - obj-$(CONFIG_BACKLIGHT_HP680) += hp680_bl.o - obj-$(CONFIG_SHARP_LOCOMO) += locomolcd.o -+obj-$(CONFIG_BACKLIGHT_EZX) += ezx_bl.o -+ ---- /dev/null 2006-06-08 19:04:31.354926880 +0200 -+++ linux-2.6.16/drivers/video/backlight/ezx_bl.c 2006-06-08 20:52:33.000000000 +0200 -@@ -0,0 +1,156 @@ -+/* -+ * Backlight Driver for Motorola A780 and E680(i) GSM Phones. -+ * -+ * Copyright 2006 Vanille Media -+ * -+ * Author: Michael Lauer <mickey@Vanille.de> -+ * -+ * This program 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. -+ * -+ */ -+ -+#include <linux/module.h> -+#include <linux/kernel.h> -+#include <linux/init.h> -+#include <linux/platform_device.h> -+#include <linux/spinlock.h> -+#include <linux/fb.h> -+#include <linux/backlight.h> -+ -+#include <asm/arch/pxa-regs.h> -+#include <asm/arch/ezx.h> -+ -+#define EZX_MIN_INTENSITY 00 -+#define EZX_MAX_INTENSITY 50 -+#define EZX_DEFAULT_INTENSITY 25 -+ -+static spinlock_t bl_lock = SPIN_LOCK_UNLOCKED; -+static struct backlight_device *ezx_backlight_device; -+static int last_intensity; -+ -+static int ezxbl_send_intensity(struct backlight_device *bd) -+{ -+ unsigned long flags; -+ int intensity = bd->props->brightness; -+ -+ printk( KERN_DEBUG "ezx_set_intensity to %d\n", intensity ); -+ -+ if (bd->props->power != FB_BLANK_UNBLANK) -+ intensity = 0; -+ if (bd->props->fb_blank != FB_BLANK_UNBLANK) -+ intensity = 0; -+ -+ spin_lock_irqsave(&bl_lock, flags); -+ -+ printk( KERN_DEBUG "backlight last intensity was %d, new intensity is %d\n", last_intensity, intensity ); -+ -+ if ( !last_intensity && intensity ) { -+ printk( KERN_DEBUG "backlight power ON\n" ); -+ PWM_CTRL0 = 2; /* pre-scaler */ -+ PWM_PWDUTY0 = intensity; /* duty cycle */ -+ PWM_PERVAL0 = 49; /* period */ -+ pxa_gpio_mode(GPIO16_PWM0_MD); /* set GPIO16 as alternate function + output */ -+ pxa_set_cken(CKEN0_PWM0, 1); /* clock enable */ -+ } -+ else if ( last_intensity && !intensity ) { -+ printk( KERN_DEBUG "backlight power OFF\n" ); -+ PWM_PWDUTY0 = 0; -+ GAFR0_U &= 0xFFFFFFFC; /* ??? */ -+ pxa_set_cken(CKEN0_PWM0, 0); /* clock disable */ -+ pxa_gpio_mode(GPIO16_PWM0); /* set GPIO16 as input */ -+ } else if ( last_intensity && intensity ) { -+ printk( KERN_DEBUG "backlight adjusting duty cycle\n" ); -+ PWM_PWDUTY0 = intensity; /* duty cycle */ -+ } -+ spin_unlock_irqrestore(&bl_lock, flags); -+ last_intensity = intensity; -+ return 0; -+} -+ -+static int ezxbl_get_intensity(struct backlight_device *bd) -+{ -+ return last_intensity; -+} -+ -+static int ezxbl_set_intensity(struct backlight_device *bd) -+{ -+ return ezxbl_send_intensity(ezx_backlight_device); -+} -+ -+#ifdef CONFIG_PM -+static int ezxbl_suspend(struct platform_device *pdev, pm_message_t state) -+{ -+ //set suspend flag -+ ezxbl_set_intensity(ezx_backlight_device); -+ return 0; -+} -+ -+static int ezxbl_resume(struct platform_device *pdev) -+{ -+ // set resume flag -+ ezxbl_set_intensity(ezx_backlight_device); -+ return 0; -+} -+#else -+#define ezxbl_suspend NULL -+#define ezxbl_resume NULL -+#endif -+ -+static struct backlight_properties ezxbl_data = { -+ .owner = THIS_MODULE, -+ .get_brightness = ezxbl_get_intensity, -+ .max_brightness = EZX_MAX_INTENSITY, -+ .update_status = ezxbl_set_intensity, -+}; -+ -+static int __init ezxbl_probe(struct platform_device *pdev) -+{ -+ ezx_backlight_device = backlight_device_register ("ezx-bl", -+ NULL, &ezxbl_data); -+ if (IS_ERR (ezx_backlight_device)) -+ return PTR_ERR (ezx_backlight_device); -+ -+ ezxbl_data.power = FB_BLANK_UNBLANK; -+ ezxbl_data.brightness = EZX_DEFAULT_INTENSITY; -+ ezxbl_set_intensity(ezx_backlight_device); -+ -+ printk("EZX Backlight Driver Initialized.\n"); -+ return 0; -+} -+ -+static int ezxbl_remove(struct platform_device *pdev) -+{ -+ backlight_device_unregister(ezx_backlight_device); -+ -+ printk("EZX Backlight Driver Unloaded.\n"); -+ return 0; -+} -+ -+static struct platform_driver ezxbl_driver = { -+ .probe = ezxbl_probe, -+ .remove = ezxbl_remove, -+ .suspend = ezxbl_suspend, -+ .resume = ezxbl_resume, -+ .driver = { -+ .name = "ezx-bl", -+ }, -+}; -+ -+static int __init ezxbl_init(void) -+{ -+ return platform_driver_register(&ezxbl_driver); -+} -+ -+static void __exit ezxbl_exit(void) -+{ -+ platform_driver_unregister(&ezxbl_driver); -+} -+ -+module_init(ezxbl_init); -+module_exit(ezxbl_exit); -+ -+MODULE_AUTHOR("Michael Lauer <mickey@Vanille.de>"); -+MODULE_DESCRIPTION("Backlight Driver for Motorola A780|E680(i)"); -+MODULE_LICENSE("GPL"); diff --git a/packages/linux/linux-ezx/pxa-serial-gcc4.diff b/packages/linux/linux-ezx/pxa-serial-gcc4.diff new file mode 100644 index 0000000000..7f827965e9 --- /dev/null +++ b/packages/linux/linux-ezx/pxa-serial-gcc4.diff @@ -0,0 +1,11 @@ +--- /tmp/pxa.c 2006-08-29 10:51:57.000000000 +0200 ++++ linux-2.6.16/drivers/serial/pxa.c 2006-08-29 10:52:38.545780000 +0200 +@@ -241,7 +241,7 @@ + /* + * This handles the interrupt from one port. + */ +-static inline irqreturn_t ++inline irqreturn_t + serial_pxa_irq(int irq, void *dev_id, struct pt_regs *regs) + { + struct uart_pxa_port *up = (struct uart_pxa_port *)dev_id; diff --git a/packages/linux/linux-ezx/pxakbd-fix-directkeys.patch b/packages/linux/linux-ezx/pxakbd-fix-directkeys.patch deleted file mode 100644 index 1dedb981bd..0000000000 --- a/packages/linux/linux-ezx/pxakbd-fix-directkeys.patch +++ /dev/null @@ -1,83 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- linux-2.6.16/drivers/input/keyboard/pxakbd.c~pxakbd-fix-directkeys.patch 2006-06-11 00:47:25.000000000 +0200 -+++ linux-2.6.16/drivers/input/keyboard/pxakbd.c 2006-06-12 16:10:03.000000000 +0200 -@@ -20,7 +20,7 @@ - #include <asm/arch/irqs.h> - #include <asm/arch/pxa-regs.h> - --#if 0 -+#if 1 - #define DEBUGP(x, args ...) printk(x, ## args) - #else - #define DEBUGP(x, args ...) -@@ -44,8 +44,7 @@ - unsigned int i; - int num_pressed = 0; - -- kpdk = KPDK & 0x0000000f; -- -+ kpdk = KPDK & 0x000000ff; - for (i = 0; i < pxakbd->pd->direct.num; i++) { - int pressed = 0; - -@@ -54,11 +53,12 @@ - num_pressed++; - DEBUGP("pxakbd: pressed: direct %u\n", i); - } -- -- input_report_key(pxakbd->input, pxakbd->pd->direct.keycode[i], -- pressed); -+ if (pxakbd->pd->direct.keycode[i] != KEY_RESERVED) { -+ DEBUGP( "pxakbd: sending to input layer: keycode = %d, pressed = %d\n", pxakbd->pd->direct.keycode[i], pressed ); -+ input_report_key(pxakbd->input, pxakbd->pd->direct.keycode[i], -+ pressed); -+ } - } -- - return num_pressed; - } - -@@ -248,16 +248,6 @@ - set_bit(pxakbd->pd->matrix.keycode[i], input_dev->keybit); - clear_bit(0, input_dev->keybit); - --#if 0 -- input_dev2->evbit[0] = ; -- input_dev2->keycode = pxakbd->pd->direct.keycode; -- input_dev2->keycodesize = sizeof(unsigned char); -- input_dev2->keycodemax = pxakbd->pd->direct.num; -- -- for (i = 0; i < input_dev2->keycodemax; i++) -- set_bit(ezxkbd->keycode[i], input_dev2->keybit); --#endif -- - if (request_irq(pxakbd->irq, pxakbd_interrupt, 0, "pxakbd", pxakbd)) { - printk(KERN_ERR "pxakbd: can't request irq %d\n", pxakbd->irq); - ret = -EBUSY; -@@ -279,6 +269,7 @@ - KPC_ME | KPC_DE | /* matrix and direct keypad enabled */ - ((pxakbd->pd->matrix.cols-1)<<23) | /* columns */ - ((pxakbd->pd->matrix.rows-1)<<26) | /* rows */ -+ ((pxakbd->pd->direct.num-1)<<6) | /* direct keys */ - KPC_MS_ALL); /* scan all columns */ - - pxa_set_cken(CKEN19_KEYPAD, 1); -@@ -375,13 +366,11 @@ - static int pxakbd_remove(struct platform_device *pdev) - { - struct pxakbd *pxakbd = platform_get_drvdata(pdev); -- -+ input_unregister_device(pxakbd->input); - platform_set_drvdata(pdev, NULL); - release_resource(pxakbd->res); - free_irq(pxakbd->irq, pxakbd); -- input_unregister_device(pxakbd->input); - kfree(pxakbd); -- - return 0; - } - diff --git a/packages/linux/linux-ezx/sa1100-rtc-gcc4.diff b/packages/linux/linux-ezx/sa1100-rtc-gcc4.diff new file mode 100644 index 0000000000..6fd54ece3a --- /dev/null +++ b/packages/linux/linux-ezx/sa1100-rtc-gcc4.diff @@ -0,0 +1,11 @@ +--- /tmp/sa1100-rtc.c 2006-08-29 10:51:48.000000000 +0200 ++++ linux-2.6.16/drivers/char/sa1100-rtc.c 2006-08-29 10:52:14.995780000 +0200 +@@ -126,7 +126,7 @@ + tval->tm_mday = days + 1; + } + +-static irqreturn_t rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs) ++irqreturn_t rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs) + { + unsigned int rtsr = RTSR; + diff --git a/packages/linux/linux-ezx/touchscreen-fix-r0.patch b/packages/linux/linux-ezx/touchscreen-fix-r0.patch deleted file mode 100644 index 7d19a887fc..0000000000 --- a/packages/linux/linux-ezx/touchscreen-fix-r0.patch +++ /dev/null @@ -1,19 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- linux-2.6.16/drivers/input/touchscreen/pcap_ts.c~touchscreen-fix-r0 2006-05-30 23:18:22.000000000 +0200 -+++ linux-2.6.16/drivers/input/touchscreen/pcap_ts.c 2006-05-30 23:29:34.000000000 +0200 -@@ -126,10 +126,7 @@ - if (ret < 0) - return ret; - -- if (tmp & 0x00400000) -- return -EIO; -- -- if (pcap_ts->read_state == COORDINATE) { -+ if (pcap_ts->read_state == COORDINATE && !(tmp & 0x00400000)) { - pcap_ts->x = (tmp & SSP_PCAP_ADD1_VALUE_MASK); - pcap_ts->y = (tmp & SSP_PCAP_ADD2_VALUE_MASK) - >>SSP_PCAP_ADD2_VALUE_SHIFT; diff --git a/packages/linux/linux-ezx_2.6.16.13.bb b/packages/linux/linux-ezx_2.6.16.13.bb index f326321217..6da8a32a21 100644 --- a/packages/linux/linux-ezx_2.6.16.13.bb +++ b/packages/linux/linux-ezx_2.6.16.13.bb @@ -5,8 +5,8 @@ HOMEPAGE = "http://www.openezx.org" MAINTAINER = "Michael 'Mickey' Lauer <mickey@vanille.de>" LICENSE = "GPL" DEPENDS += "quilt-native" -EZX = "ezx6" -PR = "${EZX}-r13" +EZX = "ezx7" +PR = "${EZX}-r0" inherit kernel @@ -17,33 +17,12 @@ RPSRC = "http://www.rpsys.net/openzaurus/patches/archive" # source and patches # SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2 \ - http://people.openezx.org/stefan/patches/patches-2.6.16-2.6.16.13-exz6-symlink-fix.tar.bz2 \ + http://people.openezx.org/stefan/patches/patches-2.6.16-2.6.16.13-ezx7.tar.bz2 \ \ - ${RPSRC}/led_core-r15.patch;patch=1 \ - ${RPSRC}/led_triggers-r14.patch;patch=1 \ - ${RPSRC}/led_trig_timer-r8.patch;patch=1 \ - ${RPSRC}/led_trig_sharpsl_pm-r5.patch;patch=1 \ - ${RPSRC}/led_zaurus-r10.patch;patch=1 \ - ${RPSRC}/led_locomo-r7.patch;patch=1 \ - ${RPSRC}/led_ixp4xx-r2.patch;patch=1 \ - ${RPSRC}/led_tosa-r5.patch;patch=1 \ - ${RPSRC}/led_ide-r6.patch;patch=1 \ - ${RPSRC}/led_nand-r3.patch;patch=1 \ - ${RPSRC}/corgi_bl_cleanup-r3.patch;patch=1 \ - ${RPSRC}/corgi_bl_generic-r3.patch;patch=1 \ - ${RPSRC}/backlight_sysfs_fix-r0.patch;patch=1 \ - \ - file://touchscreen-fix-r0.patch;patch=1 \ - \ - file://e680-disable-boomer-HACK.patch;patch=1 \ - \ - file://e680-leds-r1.patch;patch=1 \ - file://a780-leds-r0.patch;patch=1 \ - file://ezx-backlight-r1.patch;patch=1 \ - file://e680-fix-keypad.patch;patch=1 \ - file://pxakbd-fix-directkeys.patch;patch=1 \ - \ - file://logo_linux_clut224.ppm \ + file://sa1100-rtc-gcc4.diff;patch=1 \ + file://pxa-serial-gcc4.diff;patch=1 \ + \ + file://logo_linux_clut224.ppm \ file://defconfig-a780 \ file://defconfig-e680" S = "${WORKDIR}/linux-2.6.16" @@ -79,7 +58,6 @@ do_ezxpatch() { } do_configure() { - mv ${S}/.config harald.config install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm if [ ! -e ${WORKDIR}/defconfig-${MACHINE} ]; then diff --git a/packages/linux/linux-omap1_2.6.12-rc2.bb b/packages/linux/linux-omap1_2.6.12-rc2.bb index 7ea9e16091..46e7d0ba95 100644 --- a/packages/linux/linux-omap1_2.6.12-rc2.bb +++ b/packages/linux/linux-omap1_2.6.12-rc2.bb @@ -14,7 +14,7 @@ KERNEL_IMAGETYPE = "vmlinux" KERNEL_OUTPUT = "arch/${ARCH}/boot/compressed/${KERNEL_IMAGETYPE}" KERNEL_CCSUFFIX = "-3.3.4" -#DEPENDS = "uboot" +DEPENDS = "u-boot" inherit kernel @@ -25,13 +25,17 @@ do_configure_prepend() { oe_runmake oldconfig } -do_deploy_omap5912osk() { - install -d ${DEPLOY_DIR_IMAGE} - arm-linux-objcopy -O binary -R .note -R .comment -S arch/arm/boot/compressed/vmlinux ${DEPLOY_DIR}/linux.bin - gzip -f -9 ${DEPLOY_DIR}/linux.bin - mkimage -A arm -O linux -T kernel -C gzip -a 0x10c08000 -e 0x10c08000 -n "OE" -d ${DEPLOY_DIR}/linux.bin.gz ${DEPLOY_DIR}/uImage_bb.cc - cp ${DEPLOY_DIR}/uImage_bb.cc /tftpboot -# install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin +do_deploy() { + if [ "${MACHINE}" == "omap5912osk" ]; then + install -d ${DEPLOY_DIR_IMAGE} + arm-linux-objcopy -O binary -R .note -R .comment -S arch/arm/boot/compressed/vmlinux ${DEPLOY_DIR_IMAGE}/linux.bin + gzip -f -9 ${DEPLOY_DIR_IMAGE}/linux.bin + mkimage -A arm -O linux -T kernel -C gzip -a 0x10c08000 -e 0x10c08000 -n "OE" -d ${DEPLOY_DIR_IMAGE}/linux.bin.gz ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin + rm ${DEPLOY_DIR_IMAGE}/linux.bin.gz + +# cp ${DEPLOY_DIR}/uImage_bb.cc /tftpboot +# install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin + fi } diff --git a/packages/linux/linux-omap1_2.6.x+git.bb b/packages/linux/linux-omap1_2.6.x+git.bb new file mode 100644 index 0000000000..7a5ff66af2 --- /dev/null +++ b/packages/linux/linux-omap1_2.6.x+git.bb @@ -0,0 +1,39 @@ +PR = "r0" +SECTION = "kernel" +DESCRIPTION = "Linux kernel for OMAP processors" +LICENSE = "GPL" + +SRC_URI = "git://source.mvista.com/git/linux-omap-2.6.git;protocol=git" + +S = "${WORKDIR}/git" + +KERNEL_IMAGETYPE = "vmlinux" +KERNEL_OUTPUT = "arch/${ARCH}/boot/compressed/${KERNEL_IMAGETYPE}" + +DEPENDS = "u-boot" + +inherit kernel + +COMPATIBLE_HOST = 'arm.*-linux' + +do_configure_prepend() { + if [ "${MACHINE}" == "omap5912osk" ] ; then + oe_runmake omap_osk_5912_defconfig + fi + +} + +do_deploy() { + if [ "${MACHINE}" == "omap5912osk" ]; then + install -d ${DEPLOY_DIR_IMAGE} + arm-linux-objcopy -O binary -R .note -R .comment -S arch/arm/boot/compressed/vmlinux ${DEPLOY_DIR_IMAGE}/linux.bin + gzip -f -9 ${DEPLOY_DIR_IMAGE}/linux.bin + mkimage -A arm -O linux -T kernel -C gzip -a 0x10c08000 -e 0x10c08000 -n "OE" -d ${DEPLOY_DIR_IMAGE}/linux.bin.gz ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}-${DATETIME}.bin + rm ${DEPLOY_DIR_IMAGE}/linux.bin.gz + fi +} + + +do_deploy[dirs] = "${S}" + +addtask deploy before do_build after do_compile diff --git a/packages/linux/linux-openzaurus-2.6.17/tosa-lcdnoise-r0.patch b/packages/linux/linux-openzaurus-2.6.17/tosa-lcdnoise-r0.patch new file mode 100644 index 0000000000..cb014fb8bc --- /dev/null +++ b/packages/linux/linux-openzaurus-2.6.17/tosa-lcdnoise-r0.patch @@ -0,0 +1,157 @@ +Index: linux-tosa/arch/arm/mach-pxa/tosa.c +=================================================================== +--- linux-tosa.orig/arch/arm/mach-pxa/tosa.c 2006-08-29 16:52:59.000000000 +0100 ++++ linux-tosa/arch/arm/mach-pxa/tosa.c 2006-08-29 16:55:25.959706776 +0100 +@@ -2,6 +2,7 @@ + * Support for Sharp SL-C6000x PDAs + * Model: (Tosa) + * ++ * Copyright (c) 2006 Wolfson Microelectronics PLC. + * Copyright (c) 2005 Dirk Opfer + * + * Based on code written by Sharp/Lineo for 2.4 kernels +@@ -46,6 +47,8 @@ + #include <asm/hardware/tmio.h> + #include <asm/mach/sharpsl_param.h> + ++#include <linux/wm97xx.h> ++ + #include "generic.h" + + /* +@@ -428,6 +431,16 @@ + }, + }; + ++ ++/* ++ * Tosa Touchscreen device ++ */ ++ ++static struct wm97xx_machinfo tosa_ts_machinfo = { ++ .get_hsync_time = tosa_get_hsync_time, ++ .wait_hsync = tosa_wait_hsync, ++}; ++ + /* + * Tosa Blueooth + */ +@@ -457,6 +470,7 @@ + GPSR(TOSA_GPIO_ON_RESET) = GPIO_bit(TOSA_GPIO_ON_RESET); + + mdelay(1000); ++ wm97xx_unset_machinfo(); + } + + static void tosa_restart(void) +@@ -501,6 +515,8 @@ + platform_scoop_config = &tosa_pcmcia_config; + + platform_add_devices(devices, ARRAY_SIZE(devices)); ++ ++ wm97xx_set_machinfo(&tosa_ts_machinfo); + } + + static void __init fixup_tosa(struct machine_desc *desc, +Index: linux-tosa/arch/arm/mach-pxa/tosa_lcd.c +=================================================================== +--- linux-tosa.orig/arch/arm/mach-pxa/tosa_lcd.c 2006-08-29 16:52:59.000000000 +0100 ++++ linux-tosa/arch/arm/mach-pxa/tosa_lcd.c 2006-08-29 16:55:32.818664056 +0100 +@@ -1,6 +1,7 @@ + /* + * LCD / Backlight control code for Sharp SL-6000x (tosa) + * ++ * Copyright (c) 2006 Wolfson Microelectronics PLC. + * Copyright (c) 2005 Dirk Opfer + * + * This program is free software; you can redistribute it and/or modify +@@ -59,6 +60,8 @@ + static struct ssp_dev tosa_nssp_dev; + static struct ssp_state tosa_nssp_state; + static spinlock_t tosa_nssp_lock; ++static int blanked; ++static unsigned long hsync_time; + + static unsigned short normal_i2c[] = { + DAC_BASE, +@@ -130,6 +133,17 @@ + pxa_nssp_output(TG_GPOSR,0x02); /* GPOS0=powercontrol, GPOS1=GPIO, GPOS2=TCTL */ + } + ++static unsigned long calc_hsync_time(const struct fb_videomode *mode) { ++ /* The 25 and 44 'magic numbers' are from Sharp's 2.4 patches */ ++ if (mode->yres == 640) { ++ return 25; ++ } ++ if (mode->yres == 320) { ++ return 44; ++ } ++ return 0; ++} ++ + static void tosa_lcd_tg_on(struct device *dev, const struct fb_videomode *mode) + { + const int value = TG_REG0_COLOR | TG_REG0_UD | TG_REG0_LR; +@@ -154,6 +168,8 @@ + /* set common voltage */ + i2c_smbus_write_byte_data(tosa_i2c_dac, DAC_CH1, comadj); + ++ blanked = 0; ++ hsync_time = calc_hsync_time(mode); + } + + static void tosa_lcd_tg_off(struct device *dev) +@@ -172,6 +188,8 @@ + + /* L3V Off */ + reset_scoop_gpio( &tosascoop_jc_device.dev,TOSA_SCOOP_JC_TC3693_L3V_ON); ++ ++ blanked = 1; + } + + static int tosa_detect_client(struct i2c_adapter* adapter, int address, int kind) { +@@ -238,6 +256,23 @@ + return 0; + } + ++unsigned long tosa_get_hsync_time(void) ++{ ++/* This method should eventually contain the correct algorithm for calculating ++ the hsync_time */ ++ if (blanked) ++ return 0; ++ else ++ return hsync_time; ++} ++ ++void tosa_wait_hsync(void) ++{ ++ /* Waits for a rising edge on the VGA line */ ++ while((GPLR(TOSA_GPIO_VGA_LINE) & GPIO_bit(TOSA_GPIO_VGA_LINE)) == 0); ++ while((GPLR(TOSA_GPIO_VGA_LINE) & GPIO_bit(TOSA_GPIO_VGA_LINE)) != 0); ++} ++ + static struct i2c_driver tosa_driver={ + .id = TOSA_LCD_I2C_DEVICEID, + .attach_adapter = tosa_attach_adapter, +Index: linux-tosa/include/asm-arm/arch-pxa/tosa.h +=================================================================== +--- linux-tosa.orig/include/asm-arm/arch-pxa/tosa.h 2006-08-29 16:52:59.000000000 +0100 ++++ linux-tosa/include/asm-arm/arch-pxa/tosa.h 2006-08-29 16:55:12.442761664 +0100 +@@ -1,6 +1,7 @@ + /* + * Hardware specific definitions for Sharp SL-C6000x series of PDAs + * ++ * Copyright (c) 2006 Wolfson Microelectronics PLC. + * Copyright (c) 2005 Dirk Opfer + * + * Based on Sharp's 2.4 kernel patches +@@ -187,4 +188,8 @@ + extern struct platform_device tosascoop_jc_device; + extern struct platform_device tosascoop_device; + extern struct platform_device tc6393_device; ++ ++unsigned long tosa_get_hsync_time(void); ++void tosa_wait_hsync(void); ++ + #endif /* _ASM_ARCH_TOSA_H_ */ diff --git a/packages/linux/linux-openzaurus-2.6.17/wm97xx-lcdnoise-r0.patch b/packages/linux/linux-openzaurus-2.6.17/wm97xx-lcdnoise-r0.patch new file mode 100644 index 0000000000..191de3af22 --- /dev/null +++ b/packages/linux/linux-openzaurus-2.6.17/wm97xx-lcdnoise-r0.patch @@ -0,0 +1,208 @@ +Index: linux-tosa/drivers/input/touchscreen/wm9712.c +=================================================================== +--- linux-tosa.orig/drivers/input/touchscreen/wm9712.c 2006-08-29 16:52:36.008543280 +0100 ++++ linux-tosa/drivers/input/touchscreen/wm9712.c 2006-08-29 16:52:50.923275896 +0100 +@@ -1,7 +1,7 @@ + /* + * wm9712.c -- Codec driver for Wolfson WM9712 AC97 Codecs. + * +- * Copyright 2003, 2004, 2005 Wolfson Microelectronics PLC. ++ * Copyright 2003, 2004, 2005, 2006 Wolfson Microelectronics PLC. + * Author: Liam Girdwood + * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com + * Parts Copyright : Ian Molton <spyro@f2s.com> +@@ -13,6 +13,12 @@ + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * ++ * Revision history ++ * 4th Jul 2005 Initial version. ++ * 29th Aug 2006 Mike Arthur <mike@mikearthur.co.uk> ++ * Added fixes for Sharp SL-6000 (Tosa) LCD noise causing ++ * touchscreen interference. ++ * + */ + + #include <linux/module.h> +@@ -28,6 +34,10 @@ + #define WM9705_VERSION "0.60" + #define DEFAULT_PRESSURE 0xb0c0 + ++#define CCNT(a) asm volatile ("mrc p14, 0, %0, C1, C1, 0" : "=r"(a)) ++#define CCNT_ON() asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(1)) ++#define CCNT_OFF() asm("mcr p14, 0, %0, C0, C0, 0" : : "r"(1)) ++ + /* + * Debug + */ +@@ -243,6 +253,36 @@ + return wm->dig[2] & WM9712_PDEN; + } + ++ ++#ifdef CONFIG_MACH_TOSA ++/* On the Sharp SL-6000 (Tosa), due to a noisy LCD, we need to perform a wait ++ * before sampling the Y axis of the touchscreen */ ++static inline void wm9712_lcd_sync_on(struct wm97xx* wm, int adcsel) { ++ unsigned long timer1 = 0, timer2 = 0, wait_time = 0; ++ if (adcsel == WM97XX_ADCSEL_Y) { ++ wait_time = wm97xx_calc_lcd_waittime(wm); ++ ++ CCNT_ON(); ++ ++ if (wait_time) { ++ /* wait for LCD rising edge */ ++ wm_machinfo->wait_hsync(); ++ /* get clock */ ++ CCNT(timer1); ++ CCNT(timer2); ++ ++ while ((timer2 - timer1) < wait_time) { ++ CCNT(timer2); ++ } ++ } ++ } ++} ++ ++static inline void wm9712_lcd_sync_off(void) { ++ CCNT_OFF(); ++} ++#endif ++ + /* + * Read a sample from the WM9712 adc in polling mode. + */ +@@ -260,6 +300,9 @@ + /* set up digitiser */ + if (adcsel & 0x8000) + adcsel = ((adcsel & 0x7fff) + 3) << 12; ++ #ifdef CONFIG_MACH_TOSA ++ wm9712_lcd_sync_on(wm, adcsel); ++ #endif + wm97xx_reg_write(wm, AC97_WM97XX_DIGITISER1, adcsel | WM97XX_POLL | WM97XX_DELAY(delay)); + + /* wait 3 AC97 time slots + delay for conversion */ +@@ -282,6 +325,10 @@ + + *sample = wm97xx_reg_read(wm, AC97_WM97XX_DIGITISER_RD); + ++ #ifdef CONFIG_MACH_TOSA ++ wm9712_lcd_sync_off(); ++ #endif ++ + /* check we have correct sample */ + if ((*sample & WM97XX_ADCSEL_MASK) != adcsel) { + dbg ("adc wrong sample, read %x got %x", adcsel, +@@ -303,11 +350,12 @@ + static int wm9712_poll_touch(struct wm97xx* wm, struct wm97xx_data *data) + { + int rc; +- + if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_X, &data->x)) != RC_VALID) + return rc; ++ + if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_Y, &data->y)) != RC_VALID) + return rc; ++ + if (pil && !five_wire) { + if ((rc = wm9712_poll_sample(wm, WM97XX_ADCSEL_PRES, &data->p)) != RC_VALID) + return rc; +Index: linux-tosa/drivers/input/touchscreen/wm97xx-core.c +=================================================================== +--- linux-tosa.orig/drivers/input/touchscreen/wm97xx-core.c 2006-08-29 16:52:36.008543280 +0100 ++++ linux-tosa/drivers/input/touchscreen/wm97xx-core.c 2006-08-29 16:52:50.924275744 +0100 +@@ -2,7 +2,7 @@ + * wm97xx-core.c -- Touch screen driver core for Wolfson WM9705, WM9712 + * and WM9713 AC97 Codecs. + * +- * Copyright 2003, 2004, 2005 Wolfson Microelectronics PLC. ++ * Copyright 2003, 2004, 2005, 2006 Wolfson Microelectronics PLC. + * Author: Liam Girdwood + * liam.girdwood@wolfsonmicro.com or linux@wolfsonmicro.com + * Parts Copyright : Ian Molton <spyro@f2s.com> +@@ -67,6 +67,9 @@ + * GPIOs) and 2.6 power management. + * 29th Nov 2004 Added WM9713 support. + * 4th Jul 2005 Moved codec specific code out to seperate files. ++ * 29th Aug 2006 Mike Arthur <mike@mikearthur.co.uk> ++ * Added fixes for Sharp SL-6000 (Tosa) LCD noise causing ++ * touchscreen interference. + */ + + #include <linux/module.h> +@@ -94,6 +97,7 @@ + static DECLARE_MUTEX(gpio_sem); + static LIST_HEAD(wm97xx_misc_list); + static struct wm97xx* wm_codec = NULL; ++struct wm97xx_machinfo *wm_machinfo; + + /* + * WM97xx - enable/disable AUX ADC sysfs +@@ -832,6 +836,23 @@ + mdev->remove(wm_codec); + } + ++#ifdef CONFIG_MACH_TOSA ++/* On the Sharp SL-6000 (Tosa), due to a noisy LCD, we need to perform a wait ++ * before sampling the Y axis of the touchscreen */ ++unsigned long wm97xx_calc_lcd_waittime(struct wm97xx *wm) { ++ unsigned long hsync_time = wm_machinfo->get_hsync_time(); ++ return hsync_time; ++} ++ ++void wm97xx_set_machinfo(struct wm97xx_machinfo *machinfo) { ++ wm_machinfo = machinfo; ++} ++ ++void wm97xx_unset_machinfo() { ++ wm_machinfo = NULL; ++} ++#endif ++ + static struct device_driver wm97xx_driver = { + .name = "ac97", + .bus = &ac97_bus_type, +@@ -861,6 +882,9 @@ + EXPORT_SYMBOL_GPL(wm97xx_reg_write); + EXPORT_SYMBOL_GPL(wm97xx_register_misc_dev); + EXPORT_SYMBOL_GPL(wm97xx_unregister_misc_dev); ++EXPORT_SYMBOL_GPL(wm97xx_calc_lcd_waittime); ++EXPORT_SYMBOL_GPL(wm97xx_set_machinfo); ++EXPORT_SYMBOL_GPL(wm97xx_unset_machinfo); + + module_init(wm97xx_init); + module_exit(wm97xx_exit); +Index: linux-tosa/include/linux/wm97xx.h +=================================================================== +--- linux-tosa.orig/include/linux/wm97xx.h 2006-08-29 16:52:36.008543280 +0100 ++++ linux-tosa/include/linux/wm97xx.h 2006-08-29 16:52:50.924275744 +0100 +@@ -207,6 +207,7 @@ + + struct wm97xx; + extern struct wm97xx_codec_drv wm97xx_codec; ++extern struct wm97xx_machinfo *wm_machinfo; + + /* + * Codec driver interface - allows mapping to WM9705/12/13 and newer codecs +@@ -253,6 +254,11 @@ + struct list_head list; + }; + ++struct wm97xx_machinfo { ++ unsigned long (*get_hsync_time)(void); ++ void (*wait_hsync)(void); ++}; ++ + int wm97xx_register_misc_dev(struct wm97xx_misc_dev* mdev); + void wm97xx_unregister_misc_dev(struct wm97xx_misc_dev* mdev); + +@@ -281,4 +287,9 @@ + int wm97xx_acc_startup(struct wm97xx* wm); + void wm97xx_acc_shutdown(struct wm97xx* wm); + ++ ++unsigned long wm97xx_calc_lcd_waittime(struct wm97xx *wm); ++void wm97xx_set_machinfo(struct wm97xx_machinfo *machinfo); ++void wm97xx_unset_machinfo(void); ++ + #endif diff --git a/packages/linux/linux-openzaurus_2.6.17+git.bb b/packages/linux/linux-openzaurus_2.6.17+git.bb index f8fd9432ec..1ebd1023fb 100644 --- a/packages/linux/linux-openzaurus_2.6.17+git.bb +++ b/packages/linux/linux-openzaurus_2.6.17+git.bb @@ -1,6 +1,6 @@ require linux-openzaurus.inc -PR = "r8" +PR = "r10" DEFAULT_PREFERENCE = "-1" @@ -15,15 +15,19 @@ DEFAULT_PREFERENCE = "-1" # Patches submitted upstream are towards top of this list # Hacks should clearly named and at the bottom # ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc2/2.6.14-rc2-mm1/2.6.14-rc2-mm1.bz2;patch=1 \ -SRC_URI = "git://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;tag=ab36ce8c77403da4362de0447d188cd049d52d81 \ - ${RPSRC}/alsa/asoc-v0.11pre2.patch;patch=1 \ - ${RPSRC}/asoc_updates-r1.patch;patch=1 \ - ${RPSRC}/hx2750_base-r25.patch;patch=1 \ +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046 \ + ${RPSRC}/mtd_fix_chipops_locking-r0.patch;patch=1 \ + ${RPSRC}/spectrumcs_fix-r0.patch;patch=1 \ + ${RPSRC}/alsa/asoc-v0.11pre12.patch;patch=1 \ + ${RPSRC}/asoc_makefile-r1.patch;patch=1 \ + ${RPSRC}/alsa/asoc_platform_dev_fix-r0.patch;patch=1 \ + ${RPSRC}/asoc_poodle_morehack-r0.patch;patch=1 \ + ${RPSRC}/hx2750_base-r27.patch;patch=1 \ ${RPSRC}/hx2750_bl-r7.patch;patch=1 \ ${RPSRC}/hx2750_pcmcia-r2.patch;patch=1 \ ${RPSRC}/pxa_keys-r5.patch;patch=1 \ ${RPSRC}/tsc2101-r12.patch;patch=1 \ - ${RPSRC}/hx2750_test1-r3.patch;patch=1 \ + ${RPSRC}/hx2750_test1-r4.patch;patch=1 \ ${RPSRC}/pxa_timerfix-r0.patch;patch=1 \ ${RPSRC}/input_power-r5.patch;patch=1 \ ${RPSRC}/pxa25x_cpufreq-r1.patch;patch=1 \ @@ -35,7 +39,7 @@ SRC_URI = "git://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.gi ${RPSRC}/locomo_kbd_tweak-r0.patch;patch=1 \ ${RPSRC}/poodle_pm-r1.patch;patch=1 \ ${RPSRC}/pxafb_changeres-r1.patch;patch=1 \ - ${RPSRC}/poodle_audio-r0.patch;patch=1 \ + ${RPSRC}/poodle_audio-r1.patch;patch=1 \ ${RPSRC}/nand_sharpsl_fix-r0.patch;patch=1 \ file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \ file://hrw-pcmcia-ids-r4.patch;patch=1 \ @@ -72,27 +76,39 @@ SRC_URI = "git://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.gi # (Pavel Machek's git tree has updated versions of this?) # ${JLSRC}/zaurus-lcd-2.6.11.diff.gz;patch=1 +# These patches are extracted from Pavel Machek's git tree +# (diff against vanilla kernel) +SRC_URI_append_collie = "\ + ${DOSRC}/collie/mtd-sharp-flash-hack-r0.patch;patch=1 \ + ${DOSRC}/collie/collie-r0.patch;patch=1 \ + ${DOSRC}/collie/locomolcd-backlight-r0.patch;patch=1 \ + ${DOSRC}/collie/ucb1x00-touch-audio-r0.patch;patch=1 \ + ${DOSRC}/collie/collie-mcp-r0.patch;patch=1 \ + ${DOSRC}/collie/sa1100-udc-r0.patch;patch=1 \ +# ${DOSRC}/collie/collie-pm-r1.patch;patch=1 \ + " + SRC_URI_append_tosa = "\ ${CHSRC}/usb-ohci-hooks-r1.patch;patch=1 \ ${CHSRC}/tmio-core-r4.patch;patch=1 \ - ${CHSRC}/tmio-tc6393-r5.patch;patch=1 \ + ${DOSRC}/temp/tmio-tc6393-r6.patch;patch=1 \ ${CHSRC}/tmio-nand-r5.patch;patch=1 \ - ${CHSRC}/tmio-ohci-r3.patch;patch=1 \ + ${DOSRC}/temp/tmio-ohci-r4.patch;patch=1 \ ${CHSRC}/tmio-fb-r6.patch;patch=1 \ - ${DOSRC}/tosa-keyboard-r14.patch;patch=1 \ + ${DOSRC}/tosa-keyboard-r17.patch;patch=1 \ ${DOSRC}/tosa-pxaac97-r6.patch;patch=1 \ ${DOSRC}/tosa-tmio-r6.patch;patch=1 \ - ${DOSRC}/tosa-power-r15.patch;patch=1 \ - ${DOSRC}/tosa-tmio-lcd-r7.patch;patch=1 \ - ${DOSRC}/tosa-bluetooth-r6.patch;patch=1 \ + ${DOSRC}/tosa-power-r17.patch;patch=1 \ + ${DOSRC}/tosa-tmio-lcd-r8.patch;patch=1 \ + ${DOSRC}/tosa-bluetooth-r8.patch;patch=1 \ ${DOSRC}/wm97xx-lg7-r0.patch;patch=1 \ - ${DOSRC}/wm9712-suspend-cold-res-r0.patch;patch=1 \ + ${DOSRC}/wm9712-suspend-cold-res-r1.patch;patch=1 \ ${DOSRC}/sharpsl-pm-postresume-r0.patch;patch=1 \ ${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \ ${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \ - ${DOSRC}/wm9712-reset-loop-r0.patch;patch=1 \ - ${DOSRC}/tosa-asoc-r1.patch;patch=1 " + ${DOSRC}/wm9712-reset-loop-r1.patch;patch=1" +# ${DOSRC}/tosa-asoc-r1.patch;patch=1 " S = "${WORKDIR}/git" diff --git a/packages/linux/linux-openzaurus_2.6.17.bb b/packages/linux/linux-openzaurus_2.6.17.bb index 950f9fd787..ef03c0e434 100644 --- a/packages/linux/linux-openzaurus_2.6.17.bb +++ b/packages/linux/linux-openzaurus_2.6.17.bb @@ -1,6 +1,6 @@ require linux-openzaurus.inc -PR = "r16" +PR = "r21" # Handy URLs # git://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git \ @@ -25,10 +25,13 @@ SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.bz2 \ ${RPSRC}/logo_rotate_fix-r1.patch;patch=1;status=merged \ ${RPSRC}/collie_frontlight-r6.patch;patch=1;status=merged \ ${RPSRC}/input_modalias_fix-r0.patch;patch=1;status=merged \ + ${RPSRC}/spectrumcs_fix-r0.patch;patch=1 \ file://00-hostap.patch;patch=1;status=merged \ file://10-pcnet.patch;patch=1;status=merged \ - ${RPSRC}/asoc-v0.11pre5-oz.patch;patch=1 \ - ${RPSRC}/asoc_fixes2-r2.patch;patch=1 \ + ${RPSRC}/alsa/asoc-v0.11pre12.patch;patch=1 \ + ${RPSRC}/asoc_makefile-r0.patch;patch=1 \ + ${RPSRC}/alsa/asoc_platform_dev_fix-r0.patch;patch=1 \ + ${RPSRC}/asoc_poodle_morehack-r0.patch;patch=1 \ ${RPSRC}/hx2750_base-r27.patch;patch=1 \ ${RPSRC}/hx2750_bl-r7.patch;patch=1 \ ${RPSRC}/hx2750_pcmcia-r2.patch;patch=1 \ @@ -112,7 +115,9 @@ SRC_URI_append_tosa = "\ ${DOSRC}/sharpsl-pm-postresume-r0.patch;patch=1 \ ${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \ ${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \ - ${DOSRC}/wm9712-reset-loop-r1.patch;patch=1" + ${DOSRC}/wm9712-reset-loop-r1.patch;patch=1 \ + file://tosa-lcdnoise-r0.patch;patch=1 \ + file://wm97xx-lcdnoise-r0.patch;patch=1 " # ${DOSRC}/tosa-asoc-r1.patch;patch=1 " S = "${WORKDIR}/linux-2.6.17" |