diff options
author | Filip Zyzniewski <filip.zyzniewski@gmail.com> | 2011-02-22 03:47:58 +0000 |
---|---|---|
committer | Steffen Sledz <sledz@dresearch.de> | 2011-02-25 08:48:55 +0100 |
commit | d4c27c34000d2121a48e8a69c0329aa297724143 (patch) | |
tree | bf360a43fda48070c766698a5c7cab55fdaf7437 /recipes/linux/linux-jlime-jornada7xx-2.6.19rc6/jornada7xx.patch | |
parent | d8dd930e0b8753517b55317f26fa57c75a9adf68 (diff) | |
download | openembedded-d4c27c34000d2121a48e8a69c0329aa297724143.tar.gz |
linux/jlime: removed obsolete kernel recipes, added a new one.
We need to focus on developing a new set of kernels and userspace,
hence the cleanup.
Signed-off-by: Filip Zyzniewski <filip.zyzniewski@gmail.com>
Signed-off-by: Tom Rini <tom_rini@mentor.com>
Diffstat (limited to 'recipes/linux/linux-jlime-jornada7xx-2.6.19rc6/jornada7xx.patch')
-rw-r--r-- | recipes/linux/linux-jlime-jornada7xx-2.6.19rc6/jornada7xx.patch | 3013 |
1 files changed, 0 insertions, 3013 deletions
diff --git a/recipes/linux/linux-jlime-jornada7xx-2.6.19rc6/jornada7xx.patch b/recipes/linux/linux-jlime-jornada7xx-2.6.19rc6/jornada7xx.patch deleted file mode 100644 index 8ca6c2e2cc..0000000000 --- a/recipes/linux/linux-jlime-jornada7xx-2.6.19rc6/jornada7xx.patch +++ /dev/null @@ -1,3013 +0,0 @@ -diff -ruN linux-2.6.18-vanilla/arch/arm/Kconfig linux-2.6.18/arch/arm/Kconfig ---- linux-2.6.18-vanilla/arch/arm/Kconfig 2006-11-20 23:12:54.000000000 +0000 -+++ linux-2.6.18/arch/arm/Kconfig 2006-11-20 23:12:33.000000000 +0000 -@@ -729,7 +729,7 @@ - - config CPU_FREQ_SA1110 - bool -- depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3) -+ depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3 || SA1100_JORNADA720) - default y - - config CPU_FREQ_INTEGRATOR -@@ -848,6 +848,17 @@ - anything, try disabling/enabling this option (or disabling/enabling - APM in your BIOS). - -+config SA1100_JORNADA720_APM -+ tristate "Jornada 720 battery status reporting" -+ depends on SA1100_JORNADA720_MCU && APM -+ help -+ Say Y here if you have a HP Jornada 7xx handheld computer and you -+ want to be able to read battery status. -+ -+ To compile this driver as a module choose M here: the -+ module will be called jornada720_apm. -+ -+ - endmenu - - source "net/Kconfig" -diff -ruN linux-2.6.18-vanilla/arch/arm/configs/jornada720_defconfig linux-2.6.18/arch/arm/configs/jornada720_defconfig ---- linux-2.6.18-vanilla/arch/arm/configs/jornada720_defconfig 2006-09-20 03:42:06.000000000 +0000 -+++ linux-2.6.18/arch/arm/configs/jornada720_defconfig 2006-11-20 23:12:36.000000000 +0000 -@@ -1,74 +1,120 @@ - # - # Automatically generated make config: don't edit --# Linux kernel version: 2.6.12-rc1-bk2 --# Sun Mar 27 23:10:35 2005 -+# Linux kernel version: 2.6.19-rc6 -+# Mon Nov 20 20:39:42 2006 - # - CONFIG_ARM=y -+# CONFIG_GENERIC_TIME is not set - CONFIG_MMU=y --CONFIG_UID16=y -+CONFIG_GENERIC_HARDIRQS=y -+CONFIG_TRACE_IRQFLAGS_SUPPORT=y -+CONFIG_HARDIRQS_SW_RESEND=y -+CONFIG_GENERIC_IRQ_PROBE=y - CONFIG_RWSEM_GENERIC_SPINLOCK=y -+CONFIG_GENERIC_HWEIGHT=y - CONFIG_GENERIC_CALIBRATE_DELAY=y --CONFIG_GENERIC_IOMAP=y -+CONFIG_ARCH_MTD_XIP=y -+CONFIG_VECTORS_BASE=0xffff0000 -+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" - - # - # Code maturity level options - # - CONFIG_EXPERIMENTAL=y --CONFIG_CLEAN_COMPILE=y - CONFIG_BROKEN_ON_SMP=y -+CONFIG_INIT_ENV_ARG_LIMIT=32 - - # - # General setup - # - CONFIG_LOCALVERSION="" --CONFIG_SWAP=y -+# CONFIG_LOCALVERSION_AUTO is not set -+# CONFIG_SWAP is not set - CONFIG_SYSVIPC=y -+# CONFIG_IPC_NS is not set - # CONFIG_POSIX_MQUEUE is not set - # CONFIG_BSD_PROCESS_ACCT is not set --CONFIG_SYSCTL=y -+# CONFIG_TASKSTATS is not set -+# CONFIG_UTS_NS is not set - # CONFIG_AUDIT is not set --CONFIG_HOTPLUG=y --CONFIG_KOBJECT_UEVENT=y - # CONFIG_IKCONFIG is not set -+# CONFIG_RELAY is not set -+CONFIG_INITRAMFS_SOURCE="" -+CONFIG_CC_OPTIMIZE_FOR_SIZE=y -+CONFIG_SYSCTL=y - # CONFIG_EMBEDDED is not set -+CONFIG_UID16=y -+CONFIG_SYSCTL_SYSCALL=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_CC_OPTIMIZE_FOR_SIZE=y - CONFIG_SHMEM=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_VM_EVENT_COUNTERS=y -+CONFIG_RT_MUTEXES=y - # CONFIG_TINY_SHMEM is not set - CONFIG_BASE_SMALL=0 -+# CONFIG_SLOB is not set - - # - # Loadable module support - # - CONFIG_MODULES=y --# CONFIG_MODULE_UNLOAD is not set --CONFIG_OBSOLETE_MODPARM=y -+CONFIG_MODULE_UNLOAD=y -+CONFIG_MODULE_FORCE_UNLOAD=y - # CONFIG_MODVERSIONS is not set - # CONFIG_MODULE_SRCVERSION_ALL is not set - CONFIG_KMOD=y - - # -+# Block layer -+# -+CONFIG_BLOCK=y -+# CONFIG_BLK_DEV_IO_TRACE is not set -+ -+# -+# IO Schedulers -+# -+CONFIG_IOSCHED_NOOP=y -+# CONFIG_IOSCHED_AS is not set -+# CONFIG_IOSCHED_DEADLINE is not set -+CONFIG_IOSCHED_CFQ=y -+# CONFIG_DEFAULT_AS is not set -+# CONFIG_DEFAULT_DEADLINE is not set -+CONFIG_DEFAULT_CFQ=y -+# CONFIG_DEFAULT_NOOP is not set -+CONFIG_DEFAULT_IOSCHED="cfq" -+ -+# - # System Type - # -+# CONFIG_ARCH_AAEC2000 is not set -+# CONFIG_ARCH_INTEGRATOR is not set -+# CONFIG_ARCH_REALVIEW is not set -+# CONFIG_ARCH_VERSATILE is not set -+# CONFIG_ARCH_AT91 is not set - # 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_EP93XX is not set - # CONFIG_ARCH_FOOTBRIDGE is not set --# CONFIG_ARCH_INTEGRATOR is not set --# CONFIG_ARCH_IOP3XX is not set -+# CONFIG_ARCH_NETX is not set -+# CONFIG_ARCH_H720X is not set -+# CONFIG_ARCH_IMX is not set -+# CONFIG_ARCH_IOP32X is not set -+# CONFIG_ARCH_IOP33X is not set - # CONFIG_ARCH_IXP4XX is not set - # CONFIG_ARCH_IXP2000 is not set -+# CONFIG_ARCH_IXP23XX is not set - # CONFIG_ARCH_L7200 is not set -+# CONFIG_ARCH_PNX4008 is not set - # CONFIG_ARCH_PXA is not set - # CONFIG_ARCH_RPC is not set - CONFIG_ARCH_SA1100=y -@@ -76,9 +122,7 @@ - # 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_IMX is not set --# CONFIG_ARCH_H720X is not set -+CONFIG_DMABOUNCE=y - - # - # SA11x0 Implementations -@@ -91,6 +135,7 @@ - # CONFIG_SA1100_H3800 is not set - # CONFIG_SA1100_BADGE4 is not set - CONFIG_SA1100_JORNADA720=y -+CONFIG_SA1100_JORNADA720_MCU=y - # CONFIG_SA1100_HACKKIT is not set - # CONFIG_SA1100_LART is not set - # CONFIG_SA1100_PLEB is not set -@@ -108,13 +153,15 @@ - CONFIG_CPU_CACHE_V4WB=y - CONFIG_CPU_CACHE_VIVT=y - CONFIG_CPU_TLB_V4WB=y --CONFIG_CPU_MINICACHE=y -+CONFIG_CPU_CP15=y -+CONFIG_CPU_CP15_MMU=y - - # - # Processor Features - # -+# CONFIG_CPU_ICACHE_DISABLE is not set -+# CONFIG_CPU_DCACHE_DISABLE is not set - CONFIG_SA1111=y --CONFIG_DMABOUNCE=y - CONFIG_FORCE_MAX_ZONEORDER=9 - - # -@@ -128,21 +175,36 @@ - CONFIG_PCCARD=y - # CONFIG_PCMCIA_DEBUG is not set - CONFIG_PCMCIA=y -+CONFIG_PCMCIA_LOAD_CIS=y -+# CONFIG_PCMCIA_IOCTL is not set - - # - # PC-card bridges - # --CONFIG_I82365=y -+# CONFIG_I82365 is not set - # CONFIG_TCIC is not set --CONFIG_PCMCIA_SA1100=y --# CONFIG_PCMCIA_SA1111 is not set --CONFIG_PCCARD_NONSTATIC=y -+# CONFIG_PCMCIA_SA1100 is not set -+CONFIG_PCMCIA_SA1111=y - - # - # Kernel Features - # - # CONFIG_PREEMPT is not set -+# CONFIG_NO_IDLE_HZ is not set -+CONFIG_HZ=100 -+# CONFIG_AEABI is not set -+CONFIG_ARCH_DISCONTIGMEM_ENABLE=y -+CONFIG_NODES_SHIFT=2 -+CONFIG_SELECT_MEMORY_MODEL=y -+# CONFIG_FLATMEM_MANUAL is not set -+CONFIG_DISCONTIGMEM_MANUAL=y -+# CONFIG_SPARSEMEM_MANUAL is not set - CONFIG_DISCONTIGMEM=y -+CONFIG_FLAT_NODE_MEM_MAP=y -+CONFIG_NEED_MULTIPLE_NODES=y -+# CONFIG_SPARSEMEM_STATIC is not set -+CONFIG_SPLIT_PTLOCK_CPUS=4096 -+# CONFIG_RESOURCES_64BIT is not set - # CONFIG_LEDS is not set - CONFIG_ALIGNMENT_TRAP=y - -@@ -151,13 +213,24 @@ - # - CONFIG_ZBOOT_ROM_TEXT=0x0 - CONFIG_ZBOOT_ROM_BSS=0x0 --CONFIG_CMDLINE="keepinitrd mem=32M" -+CONFIG_CMDLINE="" - # CONFIG_XIP_KERNEL is not set - - # - # CPU Frequency scaling - # --# CONFIG_CPU_FREQ is not set -+CONFIG_CPU_FREQ=y -+CONFIG_CPU_FREQ_TABLE=m -+# CONFIG_CPU_FREQ_DEBUG is not set -+# CONFIG_CPU_FREQ_STAT is not set -+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y -+# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set -+# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set -+CONFIG_CPU_FREQ_GOV_USERSPACE=y -+# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set -+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set -+CONFIG_CPU_FREQ_SA1110=y - - # - # Floating point emulation -@@ -168,21 +241,106 @@ - # - CONFIG_FPE_NWFPE=y - # CONFIG_FPE_NWFPE_XP is not set --CONFIG_FPE_FASTFPE=y -+# CONFIG_FPE_FASTFPE is not set - - # - # Userspace binary formats - # - CONFIG_BINFMT_ELF=y --CONFIG_BINFMT_AOUT=m -+# CONFIG_BINFMT_AOUT is not set - # CONFIG_BINFMT_MISC is not set - # CONFIG_ARTHUR is not set - - # - # Power management options - # --CONFIG_PM=y --# CONFIG_APM is not set -+# CONFIG_PM is not set -+CONFIG_APM=y -+CONFIG_SA1100_JORNADA720_APM=y -+ -+# -+# Networking -+# -+CONFIG_NET=y -+ -+# -+# Networking options -+# -+# CONFIG_NETDEBUG is not set -+CONFIG_PACKET=y -+# CONFIG_PACKET_MMAP is not set -+CONFIG_UNIX=y -+CONFIG_XFRM=y -+# CONFIG_XFRM_USER is not set -+# CONFIG_XFRM_SUB_POLICY is not set -+CONFIG_NET_KEY=y -+CONFIG_INET=y -+# CONFIG_IP_MULTICAST is not set -+# CONFIG_IP_ADVANCED_ROUTER is not set -+CONFIG_IP_FIB_HASH=y -+# CONFIG_IP_PNP is not set -+# CONFIG_NET_IPIP is not set -+# CONFIG_NET_IPGRE is not set -+# CONFIG_ARPD is not set -+# CONFIG_SYN_COOKIES is not set -+# CONFIG_INET_AH is not set -+# CONFIG_INET_ESP is not set -+# CONFIG_INET_IPCOMP is not set -+# CONFIG_INET_XFRM_TUNNEL is not set -+# CONFIG_INET_TUNNEL is not set -+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -+# CONFIG_INET_XFRM_MODE_TUNNEL is not set -+# CONFIG_INET_XFRM_MODE_BEET is not set -+# CONFIG_INET_DIAG is not set -+# CONFIG_TCP_CONG_ADVANCED is not set -+CONFIG_TCP_CONG_CUBIC=y -+CONFIG_DEFAULT_TCP_CONG="cubic" -+# CONFIG_IPV6 is not set -+# CONFIG_INET6_XFRM_TUNNEL is not set -+# CONFIG_INET6_TUNNEL is not set -+# CONFIG_NETWORK_SECMARK is not set -+# CONFIG_NETFILTER 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 is not set -+# CONFIG_VLAN_8021Q is not set -+# CONFIG_DECNET is not set -+# CONFIG_LLC2 is not set -+# CONFIG_IPX is not set -+# CONFIG_ATALK is not set -+# CONFIG_X25 is not set -+# CONFIG_LAPB is not set -+# CONFIG_ECONET is not set -+# CONFIG_WAN_ROUTER is not set -+ -+# -+# 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 is not set -+# CONFIG_BT is not set -+# CONFIG_IEEE80211 is not set -+CONFIG_WIRELESS_EXT=y - - # - # Device Drivers -@@ -193,89 +351,18 @@ - # - CONFIG_STANDALONE=y - CONFIG_PREVENT_FIRMWARE_BUILD=y --# CONFIG_FW_LOADER is not set --# CONFIG_DEBUG_DRIVER is not set -+CONFIG_FW_LOADER=y -+# CONFIG_SYS_HYPERVISOR is not set - - # --# Memory Technology Devices (MTD) -+# Connector - unified userspace <-> kernelspace linker - # --CONFIG_MTD=y --CONFIG_MTD_DEBUG=y --CONFIG_MTD_DEBUG_VERBOSE=1 --# CONFIG_MTD_CONCAT is not set --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=m --CONFIG_MTD_BLOCK=y --# CONFIG_FTL is not set --# CONFIG_NFTL is not set --# CONFIG_INFTL is not set -- --# --# RAM/ROM/Flash chip drivers --# --CONFIG_MTD_CFI=y --# CONFIG_MTD_JEDECPROBE is not set --CONFIG_MTD_GEN_PROBE=y --CONFIG_MTD_CFI_ADV_OPTIONS=y --CONFIG_MTD_CFI_NOSWAP=y --# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set --# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set --CONFIG_MTD_CFI_GEOMETRY=y --CONFIG_MTD_MAP_BANK_WIDTH_1=y --CONFIG_MTD_MAP_BANK_WIDTH_2=y --CONFIG_MTD_MAP_BANK_WIDTH_4=y --# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set --# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set --# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set --CONFIG_MTD_CFI_I1=y --CONFIG_MTD_CFI_I2=y --# CONFIG_MTD_CFI_I4 is not set --# CONFIG_MTD_CFI_I8 is not set --CONFIG_MTD_CFI_INTELEXT=y --# CONFIG_MTD_CFI_AMDSTD is not set --# CONFIG_MTD_CFI_STAA is not set --CONFIG_MTD_CFI_UTIL=y --# CONFIG_MTD_RAM is not set --# CONFIG_MTD_ROM is not set --# CONFIG_MTD_ABSENT is not set --# CONFIG_MTD_XIP is not set -- --# --# 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_SA1100=y --# CONFIG_MTD_EDB7312 is not set -- --# --# Self-contained MTD device drivers --# --# CONFIG_MTD_SLRAM is not set --# CONFIG_MTD_PHRAM is not set --# CONFIG_MTD_MTDRAM is not set --# CONFIG_MTD_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 -+# CONFIG_CONNECTOR is not set - - # --# NAND Flash Device Drivers -+# Memory Technology Devices (MTD) - # --# CONFIG_MTD_NAND is not set -+# CONFIG_MTD is not set - - # - # Parallel port support -@@ -290,40 +377,28 @@ - # - # Block devices - # --# CONFIG_BLK_DEV_FD is not set --# CONFIG_BLK_DEV_XD is not set - # 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_LOOP is not set -+# CONFIG_BLK_DEV_NBD is not set - # CONFIG_BLK_DEV_RAM is not set --CONFIG_BLK_DEV_RAM_COUNT=16 --CONFIG_INITRAMFS_SOURCE="" -+# CONFIG_BLK_DEV_INITRD is not set - # CONFIG_CDROM_PKTCDVD is not set -- --# --# IO Schedulers --# --CONFIG_IOSCHED_NOOP=y --CONFIG_IOSCHED_AS=y --CONFIG_IOSCHED_DEADLINE=y --CONFIG_IOSCHED_CFQ=y - # CONFIG_ATA_OVER_ETH is not set - - # - # ATA/ATAPI/MFM/RLL support - # --CONFIG_IDE=m --CONFIG_BLK_DEV_IDE=m -+CONFIG_IDE=y -+CONFIG_BLK_DEV_IDE=y - - # - # 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_BLK_DEV_IDEDISK=y - # CONFIG_IDEDISK_MULTI_MODE is not set --# CONFIG_BLK_DEV_IDECS is not set --CONFIG_BLK_DEV_IDECD=m -+CONFIG_BLK_DEV_IDECS=y -+# 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 -@@ -331,7 +406,7 @@ - # - # IDE chipset support/bugfixes - # --CONFIG_IDE_GENERIC=m -+CONFIG_IDE_GENERIC=y - # CONFIG_IDE_ARM is not set - # CONFIG_IDE_CHIPSETS is not set - # CONFIG_BLK_DEV_IDEDMA is not set -@@ -341,7 +416,9 @@ - # - # SCSI device support - # -+# CONFIG_RAID_ATTRS is not set - # CONFIG_SCSI is not set -+# CONFIG_SCSI_NETLINK is not set - - # - # Multi-device support (RAID and LVM) -@@ -351,6 +428,7 @@ - # - # Fusion MPT device support - # -+# CONFIG_FUSION is not set - - # - # IEEE 1394 (FireWire) support -@@ -361,129 +439,8 @@ - # - - # --# Networking support -+# Network device support - # --CONFIG_NET=y -- --# --# Networking options --# --CONFIG_PACKET=y --CONFIG_PACKET_MMAP=y --# CONFIG_NETLINK_DEV is not set --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_PNP 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_IP_TCPDIAG is not set --# CONFIG_IP_TCPDIAG_IPV6 is not set -- --# --# IP: Virtual Server Configuration --# --# CONFIG_IP_VS is not set --# CONFIG_IPV6 is not set --CONFIG_NETFILTER=y --# CONFIG_NETFILTER_DEBUG is not set -- --# --# IP: Netfilter Configuration --# --# CONFIG_IP_NF_CONNTRACK is not set --# CONFIG_IP_NF_CONNTRACK_MARK is not set --# CONFIG_IP_NF_QUEUE is not set --# CONFIG_IP_NF_IPTABLES is not set --# CONFIG_IP_NF_ARPTABLES is not set -- --# --# SCTP Configuration (EXPERIMENTAL) --# --# CONFIG_IP_SCTP is not set --# CONFIG_ATM is not set --# CONFIG_BRIDGE is not set --# CONFIG_VLAN_8021Q is not set --# CONFIG_DECNET is not set --# CONFIG_LLC2 is not set --# CONFIG_IPX is not set --# CONFIG_ATALK is not set --# CONFIG_X25 is not set --# CONFIG_LAPB is not set --# CONFIG_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 --# CONFIG_NET_CLS_ROUTE is not set -- --# --# Network testing --# --# CONFIG_NET_PKTGEN is not set --# CONFIG_NETPOLL is not set --# CONFIG_NET_POLL_CONTROLLER is not set --# CONFIG_HAMRADIO is not set --CONFIG_IRDA=m -- --# --# IrDA protocols --# --CONFIG_IRLAN=m --# CONFIG_IRNET is not set --CONFIG_IRCOMM=m --# 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 is not set -- --# --# Infrared-port device drivers --# -- --# --# SIR device drivers --# --# CONFIG_IRTTY_SIR is not set -- --# --# Dongle support --# -- --# --# Old SIR device drivers --# --# CONFIG_IRPORT_SIR is not set -- --# --# Old Serial dongle support --# -- --# --# FIR device drivers --# --# CONFIG_NSC_FIR is not set --# CONFIG_WINBOND_FIR is not set --# CONFIG_SMC_IRCC_FIR is not set --# CONFIG_ALI_FIR is not set --CONFIG_SA1100_FIR=m --# CONFIG_BT is not set - CONFIG_NETDEVICES=y - # CONFIG_DUMMY is not set - # CONFIG_BONDING is not set -@@ -496,6 +453,10 @@ - # CONFIG_ARCNET is not set - - # -+# PHY device support -+# -+ -+# - # Ethernet (10 or 100Mbit) - # - # CONFIG_NET_ETHERNET is not set -@@ -518,15 +479,16 @@ - # Wireless LAN (non-hamradio) - # - CONFIG_NET_RADIO=y -+# CONFIG_NET_WIRELESS_RTNETLINK is not set - - # - # Obsolete Wireless cards support (pre-802.11) - # - # CONFIG_STRIP is not set --CONFIG_ARLAN=m --CONFIG_WAVELAN=m -+# CONFIG_ARLAN is not set -+# CONFIG_WAVELAN is not set - CONFIG_PCMCIA_WAVELAN=m --# CONFIG_PCMCIA_NETWAVE is not set -+CONFIG_PCMCIA_NETWAVE=m - - # - # Wireless 802.11 Frequency Hopping cards support -@@ -537,14 +499,17 @@ - # Wireless 802.11b ISA/PCI cards support - # - CONFIG_HERMES=m --# CONFIG_ATMEL is not set -+CONFIG_ATMEL=m - - # - # Wireless 802.11b Pcmcia/Cardbus cards support - # - CONFIG_PCMCIA_HERMES=m -+CONFIG_PCMCIA_SPECTRUM=m - CONFIG_AIRO_CS=m --# CONFIG_PCMCIA_WL3501 is not set -+# CONFIG_PCMCIA_ATMEL is not set -+CONFIG_PCMCIA_WL3501=m -+# CONFIG_HOSTAP is not set - CONFIG_NET_WIRELESS=y - - # -@@ -564,17 +529,12 @@ - # Wan interfaces - # - # CONFIG_WAN is not set --CONFIG_PPP=m --# CONFIG_PPP_MULTILINK is not set --# CONFIG_PPP_FILTER is not set --CONFIG_PPP_ASYNC=m --# CONFIG_PPP_SYNC_TTY is not set --CONFIG_PPP_DEFLATE=m --CONFIG_PPP_BSDCOMP=m --# CONFIG_PPPOE 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 -@@ -585,49 +545,51 @@ - # Input device support - # - CONFIG_INPUT=y -+# CONFIG_INPUT_FF_MEMLESS is not set - - # - # Userland interfaces - # - CONFIG_INPUT_MOUSEDEV=y --CONFIG_INPUT_MOUSEDEV_PSAUX=y -+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set - CONFIG_INPUT_MOUSEDEV_SCREEN_X=640 - CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240 - # CONFIG_INPUT_JOYDEV is not set --# CONFIG_INPUT_TSDEV is not set --# CONFIG_INPUT_EVDEV is not set -+CONFIG_INPUT_TSDEV=y -+CONFIG_INPUT_TSDEV_SCREEN_X=640 -+CONFIG_INPUT_TSDEV_SCREEN_Y=240 -+CONFIG_INPUT_EVDEV=y - # CONFIG_INPUT_EVBUG is not set - - # - # Input Device Drivers - # - CONFIG_INPUT_KEYBOARD=y --CONFIG_KEYBOARD_ATKBD=y -+# CONFIG_KEYBOARD_ATKBD is not set - # CONFIG_KEYBOARD_SUNKBD is not set - # CONFIG_KEYBOARD_LKKBD is not set - # CONFIG_KEYBOARD_XTKBD is not set - # CONFIG_KEYBOARD_NEWTON is not set --CONFIG_INPUT_MOUSE=y --CONFIG_MOUSE_PS2=y --# CONFIG_MOUSE_SERIAL is not set --# CONFIG_MOUSE_INPORT is not set --# CONFIG_MOUSE_LOGIBM is not set --# CONFIG_MOUSE_PC110PAD is not set --# CONFIG_MOUSE_VSXXXAA is not set -+# CONFIG_KEYBOARD_STOWAWAY is not set -+CONFIG_KEYBOARD_JORNADA720=y -+# CONFIG_INPUT_MOUSE is not set - # CONFIG_INPUT_JOYSTICK is not set --# CONFIG_INPUT_TOUCHSCREEN is not set -+CONFIG_INPUT_TOUCHSCREEN=y -+# CONFIG_TOUCHSCREEN_GUNZE is not set -+# CONFIG_TOUCHSCREEN_ELO is not set -+# CONFIG_TOUCHSCREEN_MTOUCH is not set -+# CONFIG_TOUCHSCREEN_MK712 is not set -+# CONFIG_TOUCHSCREEN_PENMOUNT is not set -+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set -+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set -+CONFIG_TOUCHSCREEN_JORNADA720=y - # CONFIG_INPUT_MISC is not set - - # - # Hardware I/O ports - # --CONFIG_SERIO=y --CONFIG_SERIO_SERPORT=y --# CONFIG_SERIO_SA1111 is not set --CONFIG_SERIO_LIBPS2=y --# CONFIG_SERIO_RAW is not set -+# CONFIG_SERIO is not set - # CONFIG_GAMEPORT is not set --CONFIG_SOUND_GAMEPORT=y - - # - # Character devices -@@ -635,6 +597,7 @@ - CONFIG_VT=y - CONFIG_VT_CONSOLE=y - CONFIG_HW_CONSOLE=y -+# CONFIG_VT_HW_CONSOLE_BINDING is not set - # CONFIG_SERIAL_NONSTANDARD is not set - - # -@@ -651,7 +614,7 @@ - CONFIG_SERIAL_CORE_CONSOLE=y - CONFIG_UNIX98_PTYS=y - CONFIG_LEGACY_PTYS=y --CONFIG_LEGACY_PTY_COUNT=256 -+CONFIG_LEGACY_PTY_COUNT=8 - - # - # IPMI -@@ -662,20 +625,21 @@ - # Watchdog Cards - # - # CONFIG_WATCHDOG is not set -+CONFIG_HW_RANDOM=y - # CONFIG_NVRAM is not set --# CONFIG_RTC is not set - # CONFIG_DTLK is not set - # CONFIG_R3964 is not set - - # - # Ftape, the floppy tape device driver - # --# CONFIG_DRM is not set - - # - # 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 - - # -@@ -689,8 +653,44 @@ - # CONFIG_I2C is not set - - # -+# SPI support -+# -+# CONFIG_SPI is not set -+# CONFIG_SPI_MASTER is not set -+ -+# -+# Dallas's 1-wire bus -+# -+# CONFIG_W1 is not set -+ -+# -+# Hardware Monitoring support -+# -+# CONFIG_HWMON is not set -+# CONFIG_HWMON_VID is not set -+ -+# - # Misc devices - # -+# CONFIG_TIFM_CORE is not set -+ -+# -+# Multimedia Capabilities Port drivers -+# -+# CONFIG_MCP_SA11X0 is not set -+ -+# -+# LED devices -+# -+# CONFIG_NEW_LEDS is not set -+ -+# -+# LED drivers -+# -+ -+# -+# LED Triggers -+# - - # - # Multimedia devices -@@ -705,14 +705,17 @@ - # - # Graphics support - # -+CONFIG_FIRMWARE_EDID=y - CONFIG_FB=y --# CONFIG_FB_CFB_FILLRECT is not set --# CONFIG_FB_CFB_COPYAREA is not set --# CONFIG_FB_CFB_IMAGEBLIT is not set --# CONFIG_FB_SOFT_CURSOR is not set -+CONFIG_FB_CFB_FILLRECT=y -+CONFIG_FB_CFB_COPYAREA=y -+CONFIG_FB_CFB_IMAGEBLIT=y -+# CONFIG_FB_MACMODES is not set -+# CONFIG_FB_BACKLIGHT is not set - # CONFIG_FB_MODE_HELPERS is not set - # CONFIG_FB_TILEBLITTING is not set - # CONFIG_FB_SA1100 is not set -+CONFIG_FB_S1D13XXX=y - # CONFIG_FB_VIRTUAL is not set - - # -@@ -721,37 +724,50 @@ - # CONFIG_VGA_CONSOLE is not set - # CONFIG_MDA_CONSOLE is not set - CONFIG_DUMMY_CONSOLE=y --# CONFIG_FRAMEBUFFER_CONSOLE is not set -+CONFIG_FRAMEBUFFER_CONSOLE=y -+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -+CONFIG_FONTS=y -+CONFIG_FONT_8x8=y -+# 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 is not set -+# 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 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 -+CONFIG_BACKLIGHT_JORNADA720=y -+CONFIG_LCD_JORNADA720=y - - # - # Sound - # --CONFIG_SOUND=m -- --# --# Advanced Linux Sound Architecture --# --# CONFIG_SND is not set -- --# --# Open Sound System --# --# CONFIG_SOUND_PRIME is not set -+# CONFIG_SOUND is not set - - # - # USB support - # - CONFIG_USB_ARCH_HAS_HCD=y - CONFIG_USB_ARCH_HAS_OHCI=y -+# CONFIG_USB_ARCH_HAS_EHCI is not set - # CONFIG_USB is not set - - # -+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' -+# -+ -+# - # USB Gadget Support - # - # CONFIG_USB_GADGET is not set -@@ -762,53 +778,89 @@ - # CONFIG_MMC is not set - - # -+# Real Time Clock -+# -+CONFIG_RTC_LIB=y -+CONFIG_RTC_CLASS=y -+CONFIG_RTC_HCTOSYS=y -+CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -+# CONFIG_RTC_DEBUG is not set -+ -+# -+# RTC interfaces -+# -+CONFIG_RTC_INTF_SYSFS=y -+CONFIG_RTC_INTF_PROC=y -+CONFIG_RTC_INTF_DEV=y -+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -+ -+# -+# RTC drivers -+# -+# CONFIG_RTC_DRV_DS1553 is not set -+# CONFIG_RTC_DRV_DS1742 is not set -+# CONFIG_RTC_DRV_M48T86 is not set -+CONFIG_RTC_DRV_SA1100=y -+# CONFIG_RTC_DRV_TEST is not set -+# CONFIG_RTC_DRV_V3020 is not set -+ -+# - # File systems - # - CONFIG_EXT2_FS=y - # CONFIG_EXT2_FS_XATTR is not set --# CONFIG_EXT3_FS is not set --# CONFIG_JBD is not set -+# CONFIG_EXT2_FS_XIP is not set -+CONFIG_EXT3_FS=y -+CONFIG_EXT3_FS_XATTR=y -+# CONFIG_EXT3_FS_POSIX_ACL is not set -+# CONFIG_EXT3_FS_SECURITY is not set -+# CONFIG_EXT4DEV_FS is not set -+CONFIG_JBD=y -+# CONFIG_JBD_DEBUG is not set -+CONFIG_FS_MBCACHE=y - # CONFIG_REISERFS_FS is not set - # CONFIG_JFS_FS is not set -- --# --# XFS support --# -+# CONFIG_FS_POSIX_ACL is not set - # CONFIG_XFS_FS is not set -+# CONFIG_GFS2_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_INOTIFY_USER=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=m --# CONFIG_JOLIET is not set --# CONFIG_ZISOFS is not set -+# CONFIG_ISO9660_FS is not set - # CONFIG_UDF_FS is not set - - # - # DOS/FAT/NT Filesystems - # --# CONFIG_MSDOS_FS is not set --# CONFIG_VFAT_FS is not set -+CONFIG_FAT_FS=y -+CONFIG_MSDOS_FS=y -+CONFIG_VFAT_FS=y -+CONFIG_FAT_DEFAULT_CODEPAGE=852 -+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-2" - # CONFIG_NTFS_FS is not set - - # - # Pseudo filesystems - # - CONFIG_PROC_FS=y -+CONFIG_PROC_SYSCTL=y - CONFIG_SYSFS=y --CONFIG_DEVFS_FS=y --CONFIG_DEVFS_MOUNT=y --CONFIG_DEVFS_DEBUG=y --# CONFIG_DEVPTS_FS_XATTR is not set --# CONFIG_TMPFS is not set -+CONFIG_TMPFS=y -+# CONFIG_TMPFS_POSIX_ACL is not set - # CONFIG_HUGETLB_PAGE is not set - CONFIG_RAMFS=y -+# CONFIG_CONFIGFS_FS is not set - - # - # Miscellaneous filesystems -@@ -820,15 +872,6 @@ - # 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=2 --# CONFIG_JFFS2_FS_NAND is not set --# CONFIG_JFFS2_FS_NOR_ECC 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 -@@ -839,21 +882,14 @@ - # - # Network File Systems - # --CONFIG_NFS_FS=m --CONFIG_NFS_V3=y --# CONFIG_NFS_V4 is not set --# CONFIG_NFS_DIRECTIO is not set -+# CONFIG_NFS_FS is not set - # CONFIG_NFSD is not set --CONFIG_LOCKD=m --CONFIG_LOCKD_V4=y --CONFIG_SUNRPC=m --# CONFIG_RPCSEC_GSS_KRB5 is not set --# CONFIG_RPCSEC_GSS_SPKM3 is not set - # CONFIG_SMB_FS is not set - # CONFIG_CIFS is not set - # CONFIG_NCP_FS is not set - # CONFIG_CODA_FS is not set - # CONFIG_AFS_FS is not set -+# CONFIG_9P_FS is not set - - # - # Partition Types -@@ -864,7 +900,46 @@ - # - # Native Language Support - # --# CONFIG_NLS is not set -+CONFIG_NLS=y -+CONFIG_NLS_DEFAULT="iso8859-2" -+CONFIG_NLS_CODEPAGE_437=m -+# CONFIG_NLS_CODEPAGE_737 is not set -+# CONFIG_NLS_CODEPAGE_775 is not set -+# CONFIG_NLS_CODEPAGE_850 is not set -+CONFIG_NLS_CODEPAGE_852=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=m -+# CONFIG_NLS_CODEPAGE_1251 is not set -+# 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 -@@ -875,23 +950,16 @@ - # Kernel hacking - # - # CONFIG_PRINTK_TIME is not set --CONFIG_DEBUG_KERNEL=y -+CONFIG_ENABLE_MUST_CHECK=y - # CONFIG_MAGIC_SYSRQ is not set -+# CONFIG_UNUSED_SYMBOLS is not set -+# CONFIG_DEBUG_KERNEL is not set - CONFIG_LOG_BUF_SHIFT=14 --# CONFIG_SCHEDSTATS is not set --CONFIG_DEBUG_SLAB=y --# CONFIG_DEBUG_SPINLOCK is not set --# CONFIG_DEBUG_SPINLOCK_SLEEP is not set --# CONFIG_DEBUG_KOBJECT is not set - CONFIG_DEBUG_BUGVERBOSE=y --# CONFIG_DEBUG_INFO is not set - # CONFIG_DEBUG_FS is not set - CONFIG_FRAME_POINTER=y -+# CONFIG_HEADERS_CHECK is not set - # CONFIG_DEBUG_USER is not set --# CONFIG_DEBUG_WAITQ is not set --CONFIG_DEBUG_ERRORS=y --CONFIG_DEBUG_LL=y --# CONFIG_DEBUG_ICEDCC is not set - - # - # Security options -@@ -902,7 +970,36 @@ - # - # Cryptographic options - # --# CONFIG_CRYPTO is not set -+CONFIG_CRYPTO=y -+CONFIG_CRYPTO_ALGAPI=m -+CONFIG_CRYPTO_BLKCIPHER=m -+CONFIG_CRYPTO_MANAGER=m -+# CONFIG_CRYPTO_HMAC is not set -+# CONFIG_CRYPTO_NULL is not set -+# CONFIG_CRYPTO_MD4 is not set -+# CONFIG_CRYPTO_MD5 is not set -+# CONFIG_CRYPTO_SHA1 is not set -+# 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_ECB=m -+CONFIG_CRYPTO_CBC=m -+# CONFIG_CRYPTO_DES is not set -+# CONFIG_CRYPTO_BLOWFISH is not set -+# CONFIG_CRYPTO_TWOFISH is not set -+# CONFIG_CRYPTO_SERPENT is not set -+CONFIG_CRYPTO_AES=m -+# 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 is not set -+# CONFIG_CRYPTO_MICHAEL_MIC is not set -+# CONFIG_CRYPTO_CRC32C is not set -+# CONFIG_CRYPTO_TEST is not set - - # - # Hardware crypto devices -@@ -912,7 +1009,7 @@ - # Library routines - # - CONFIG_CRC_CCITT=m -+# CONFIG_CRC16 is not set - CONFIG_CRC32=y - # CONFIG_LIBCRC32C is not set --CONFIG_ZLIB_INFLATE=y --CONFIG_ZLIB_DEFLATE=y -+CONFIG_PLIST=y -diff -ruN linux-2.6.18-vanilla/arch/arm/mach-sa1100/Kconfig linux-2.6.18/arch/arm/mach-sa1100/Kconfig ---- linux-2.6.18-vanilla/arch/arm/mach-sa1100/Kconfig 2006-09-20 03:42:06.000000000 +0000 -+++ linux-2.6.18/arch/arm/mach-sa1100/Kconfig 2006-11-20 23:11:07.000000000 +0000 -@@ -101,6 +101,17 @@ - handheld computer. See <http://www.hp.com/jornada/products/720> - for details. - -+config SA1100_JORNADA720_MCU -+ tristate "HP Jornada 720 Microprocessor Controller Unit" -+ depends on SA1100_JORNADA720 -+ help -+ Say Y here if you have a HP Jornada 7xx handheld computer and you -+ want to access devices connected by the MCU. Those include the -+ keyboard, touchscreen, backlight and battery. -+ -+ To compile this driver as a module choose M here: the -+ module will be called jornada720_mcu. -+ - config SA1100_HACKKIT - bool "HackKit Core CPU Board" - help -diff -ruN linux-2.6.18-vanilla/arch/arm/mach-sa1100/Makefile linux-2.6.18/arch/arm/mach-sa1100/Makefile ---- linux-2.6.18-vanilla/arch/arm/mach-sa1100/Makefile 2006-09-20 03:42:06.000000000 +0000 -+++ linux-2.6.18/arch/arm/mach-sa1100/Makefile 2006-11-20 23:11:23.000000000 +0000 -@@ -31,6 +31,8 @@ - led-$(CONFIG_SA1100_HACKKIT) += leds-hackkit.o - - obj-$(CONFIG_SA1100_JORNADA720) += jornada720.o -+obj-$(CONFIG_SA1100_JORNADA720_MCU) += jornada720_mcu.o -+obj-$(CONFIG_SA1100_JORNADA720_APM) += jornada720_apm.o - - obj-$(CONFIG_SA1100_LART) += lart.o - led-$(CONFIG_SA1100_LART) += leds-lart.o -diff -ruN linux-2.6.18-vanilla/arch/arm/mach-sa1100/cpu-sa1110.c linux-2.6.18/arch/arm/mach-sa1100/cpu-sa1110.c ---- linux-2.6.18-vanilla/arch/arm/mach-sa1100/cpu-sa1110.c 2006-11-20 23:12:54.000000000 +0000 -+++ linux-2.6.18/arch/arm/mach-sa1100/cpu-sa1110.c 2006-11-20 23:12:31.000000000 +0000 -@@ -85,7 +85,8 @@ - }, { /* Samsung K4S281632B-1H */ - .name = "K4S281632B-1H", - .rows = 12, -- .tck = 10, -+ .tck = 8, -+ .trcd = 20, - .trp = 20, - .twr = 10, - .refresh = 64000, -@@ -142,7 +143,7 @@ - sdram_calculate_timing(struct sdram_info *sd, u_int cpu_khz, - struct sdram_params *sdram) - { -- u_int mem_khz, sd_khz, trp, twr; -+ u_int mem_khz, sd_khz, trp, twr, rcd; - - mem_khz = cpu_khz / 2; - sd_khz = mem_khz; -@@ -180,8 +181,14 @@ - if (sd_khz != mem_khz) - sd->mdrefr |= MDREFR_K1DB2; - -+ rcd = ns_to_cycles(sdram->trcd, mem_khz); -+ -+#ifdef CONFIG_SA1100_JORNADA720 -+ /* Jornada 720 memory doesn't like trcd of 1 */ -+ if(rcd < 2) rcd = 2; -+#endif - /* initial number of '1's in MDCAS + 1 */ -- set_mdcas(sd->mdcas, sd_khz >= 62000, ns_to_cycles(sdram->trcd, mem_khz)); -+ set_mdcas(sd->mdcas, sd_khz >= 62000, rcd); - - #ifdef DEBUG - printk("MDCNFG: %08x MDREFR: %08x MDCAS0: %08x MDCAS1: %08x MDCAS2: %08x\n", -diff -ruN linux-2.6.18-vanilla/arch/arm/mach-sa1100/jornada720.c linux-2.6.18/arch/arm/mach-sa1100/jornada720.c ---- linux-2.6.18-vanilla/arch/arm/mach-sa1100/jornada720.c 2006-09-20 03:42:06.000000000 +0000 -+++ linux-2.6.18/arch/arm/mach-sa1100/jornada720.c 2006-11-20 23:10:41.000000000 +0000 -@@ -1,5 +1,15 @@ - /* - * linux/arch/arm/mach-sa1100/jornada720.c -+ * -+ * HP Jornada720 init code -+ * -+ * Copyright (C) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl> -+ * Copyright (C) 2005 Michael Gernoth <michael@gernoth.net> -+ * -+ * 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/init.h> -@@ -10,13 +20,14 @@ - #include <linux/ioport.h> - #include <linux/mtd/mtd.h> - #include <linux/mtd/partitions.h> -+#include <video/s1d13xxxfb.h> - - #include <asm/hardware.h> - #include <asm/hardware/sa1111.h> - #include <asm/irq.h> - #include <asm/mach-types.h> - #include <asm/setup.h> -- -+#include <asm/s1d13506.h> - #include <asm/mach/arch.h> - #include <asm/mach/flash.h> - #include <asm/mach/map.h> -@@ -24,13 +35,56 @@ - - #include "generic.h" - -+/* -+ * HP Documentation referred in this file: -+ * http://www.jlime.com/downloads/development/docs/jornada7xx/jornada720.txt -+ */ -+ -+/* line 110 of HP's doc */ -+#define TUCR_VAL 0x20000400 -+ -+/* memory space (line 52 of HP's doc) */ -+#define SA1111REGSTART 0x40000000 -+#define SA1111REGLEN 0x00001fff -+#define EPSONREGSTART 0x48000000 -+#define EPSONREGLEN 0x00100000 -+#define EPSONFBSTART 0x48200000 -+/* 512kB framebuffer */ -+#define EPSONFBLEN 512*1024 -+ -+static struct s1d13xxxfb_pdata s1d13xxxfb_data = { -+ .initregs = s1d13xxxfb_initregs, -+ .initregssize = ARRAY_SIZE(s1d13xxxfb_initregs), -+ .platform_init_video = NULL -+}; -+ -+static struct resource s1d13xxxfb_resources[] = { -+ [0] = { -+ .start = EPSONFBSTART, -+ .end = EPSONFBSTART + EPSONFBLEN, -+ .flags = IORESOURCE_MEM, -+ }, -+ [1] = { -+ .start = EPSONREGSTART, -+ .end = EPSONREGSTART + EPSONREGLEN, -+ .flags = IORESOURCE_MEM, -+ } -+}; - --#define JORTUCR_VAL 0x20000400 -+static struct platform_device s1d13xxxfb_device = { -+ .name = S1D_DEVICENAME, -+ .id = 0, -+ .dev = { -+ .platform_data = &s1d13xxxfb_data, -+ }, -+ .num_resources = ARRAY_SIZE(s1d13xxxfb_resources), -+ .resource = s1d13xxxfb_resources, -+}; - - static struct resource sa1111_resources[] = { - [0] = { -- .start = 0x40000000, -- .end = 0x40001fff, -+ .start = SA1111REGSTART, -+ .end = SA1111REGSTART + SA1111REGLEN, - .flags = IORESOURCE_MEM, - }, - [1] = { -@@ -53,18 +107,32 @@ - .resource = sa1111_resources, - }; - -+static struct platform_device jornada720_mcu_device = { -+ .name = "jornada720_mcu", -+ .id = -1, -+}; -+ - static struct platform_device *devices[] __initdata = { - &sa1111_device, -+ &jornada720_mcu_device, -+ &s1d13xxxfb_device, - }; - -+/* a stub for now, we theoretically cannot suspend without a flashboard */ -+int pm_suspend(suspend_state_t state) -+{ -+ return -1; -+} -+ - static int __init jornada720_init(void) - { - int ret = -ENODEV; - - if (machine_is_jornada720()) { - GPDR |= GPIO_GPIO20; -- TUCR = JORTUCR_VAL; /* set the oscillator out to the SA-1101 */ -- -+ /* oscillator setup (line 116 of HP's doc) */ -+ TUCR = TUCR_VAL; -+ /* resetting SA1111 (line 118 of HP's doc) */ - GPSR = GPIO_GPIO20; - udelay(1); - GPCR = GPIO_GPIO20; -@@ -72,10 +140,6 @@ - GPSR = GPIO_GPIO20; - udelay(20); - -- /* LDD4 is speaker, LDD3 is microphone */ -- PPSR &= ~(PPC_LDD3 | PPC_LDD4); -- PPDR |= PPC_LDD3 | PPC_LDD4; -- - ret = platform_add_devices(devices, ARRAY_SIZE(devices)); - } - return ret; -@@ -85,19 +149,19 @@ - - static struct map_desc jornada720_io_desc[] __initdata = { - { /* Epson registers */ -- .virtual = 0xf0000000, -- .pfn = __phys_to_pfn(0x48000000), -- .length = 0x00100000, -+ .virtual = 0xf0000000, -+ .pfn = __phys_to_pfn(EPSONREGSTART), -+ .length = EPSONREGLEN, - .type = MT_DEVICE - }, { /* Epson frame buffer */ -- .virtual = 0xf1000000, -- .pfn = __phys_to_pfn(0x48200000), -- .length = 0x00100000, -+ .virtual = 0xf1000000, -+ .pfn = __phys_to_pfn(EPSONFBSTART), -+ .length = EPSONFBLEN, - .type = MT_DEVICE - }, { /* SA-1111 */ -- .virtual = 0xf4000000, -- .pfn = __phys_to_pfn(0x40000000), -- .length = 0x00100000, -+ .virtual = 0xf4000000, -+ .pfn = __phys_to_pfn(SA1111REGSTART), -+ .length = SA1111REGLEN, - .type = MT_DEVICE - } - }; -@@ -106,7 +170,7 @@ - { - sa1100_map_io(); - iotable_init(jornada720_io_desc, ARRAY_SIZE(jornada720_io_desc)); -- -+ - sa1100_register_uart(0, 3); - sa1100_register_uart(1, 1); - } -@@ -116,7 +180,7 @@ - .name = "JORNADA720 boot firmware", - .size = 0x00040000, - .offset = 0, -- .mask_flags = MTD_WRITEABLE, /* force read-only */ -+ .mask_flags = MTD_WRITEABLE, /* force read-only */ - }, { - .name = "JORNADA720 kernel", - .size = 0x000c0000, -@@ -139,7 +203,7 @@ - .offset = 0x00540000, - }, { - .name = "JORNADA720 usr local", -- .size = 0, /* will expand to the end of the flash */ -+ .size = 0, /* will expand to the end of the flash */ - .offset = 0x00d00000, - } - }; -@@ -147,10 +211,12 @@ - static void jornada720_set_vpp(int vpp) - { - if (vpp) -- PPSR |= 0x80; -+ /* enabling flash write (line 470 of HP's doc) */ -+ PPSR |= PPC_LDD7; - else -- PPSR &= ~0x80; -- PPDR |= 0x80; -+ /* disabling flash write (line 470 of HP's doc) */ -+ PPSR &= ~PPC_LDD7; -+ PPDR |= PPC_LDD7; - } - - static struct flash_platform_data jornada720_flash_data = { -diff -ruN linux-2.6.18-vanilla/arch/arm/mach-sa1100/jornada720_apm.c linux-2.6.18/arch/arm/mach-sa1100/jornada720_apm.c ---- linux-2.6.18-vanilla/arch/arm/mach-sa1100/jornada720_apm.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.18/arch/arm/mach-sa1100/jornada720_apm.c 2006-11-20 23:11:20.000000000 +0000 -@@ -0,0 +1,195 @@ -+/* -+ * HP Jornada 720 APM driver -+ */ -+#include <linux/init.h> -+#include <linux/kernel.h> -+#include <linux/module.h> -+#include <linux/delay.h> -+#include <linux/device.h> -+ -+#include <asm/apm.h> -+ -+#include <asm/hardware.h> -+#include <asm/arch/jornada720_mcu.h> -+ -+/* -+ * HP Documentation referred in this file: -+ * http://www.jlime.com/downloads/development/docs/jornada7xx/jornada720.txt -+ */ -+ -+MODULE_AUTHOR("Filip Zyzniewski <filip.zyzniewski@tefnet.pl>"); -+MODULE_DESCRIPTION("Jornada 720 battery status reporting"); -+MODULE_LICENSE("GPL"); -+ -+#define jornada720_apm_battery_charging() (! (GPLR & GPIO_GPIO26) ) -+#define jornada720_apm_ac_online() ((GPLR & GPIO_GPIO4) ? 0 : 1) -+ -+#define JORNADA720_APM_BACKUP_BATTERY 0 -+#define JORNADA720_APM_MAIN_BATTERY 1 -+ -+#define JORNADA720_APM_MAIN_BATT_MIN_VOLTAGE 430 -+ -+/* without ac power */ -+#define JORNADA720_APM_MAIN_BATT_MAX_VOLTAGE 670 -+ -+/* divisor to convert jornada720_apm_get_main_battery() return value into % */ -+#define JORNADA720_APM_MAIN_BATT_DIVISOR \ -+ (JORNADA720_APM_MAIN_BATT_MAX_VOLTAGE-JORNADA720_APM_MAIN_BATT_MIN_VOLTAGE) * \ -+ (JORNADA720_APM_MAIN_BATT_MAX_VOLTAGE-JORNADA720_APM_MAIN_BATT_MIN_VOLTAGE) / 100 -+/* -+ * coeffient correcting battery voltage altered by -+ * ac power -+ */ -+#define JORNADA720_APM_MAIN_BATT_AC_COEFF 100 / 105 -+ -+ -+int jornada720_apm_get_battery_raw(int battnum) -+{ -+ unsigned char lsb, msb; -+ -+ /* getting batteries data (line 289 of HP's doc) */ -+ if (!jornada720_mcu_start(jornada720_mcu_GetBatteryData)) { -+ lsb=jornada720_mcu_read(); -+ if (battnum==JORNADA720_APM_BACKUP_BATTERY) -+ /* we are interested in the second byte */ -+ lsb=jornada720_mcu_read(); -+ else -+ /* we are interested in the first byte */ -+ jornada720_mcu_read(); -+ -+ msb=jornada720_mcu_read(); -+ } else { -+ jornada720_mcu_end(); -+ return -1; -+ } -+ -+ jornada720_mcu_end(); -+ -+ if (battnum==JORNADA720_APM_MAIN_BATTERY) { -+ /* -+ * main battery absent -+ * (http://mail-index.netbsd.org/port-hpcarm/2005/09/18/0000.html) -+ */ -+ if ((msb & 0x03) == 0x03) return -1; -+ /* putting the value together (line 300 of HP's doc) */ -+ return ((msb & 0x03) << 8) + lsb; -+ } else { -+ /* -+ * backup battery absent -+ * (http://mail-index.netbsd.org/port-hpcarm/2005/09/18/0000.html) -+ */ -+ if ((msb & 0x0c) == 0x00) return -1; -+ /* putting the value together (line 300 of HP's doc) */ -+ return ((msb & 0x0c) << 6) + lsb; -+ } -+} -+ -+int jornada720_apm_get_battery(int battnum) -+{ -+ int ret = jornada720_apm_get_battery_raw(battnum); -+ -+ if (ret == -1) -+ return ret; -+ -+ if (battnum==JORNADA720_APM_MAIN_BATTERY) { -+ /* we want 0 for a completely drained battery */ -+ ret -= JORNADA720_APM_MAIN_BATT_MIN_VOLTAGE; -+ -+ /* voltage(time) is not linear */ -+ ret *= ret; -+ -+ /* let's bring it down to 0-100% range */ -+ ret /= JORNADA720_APM_MAIN_BATT_DIVISOR; -+ -+ /* plugging AC power causes voltage to rise a bit */ -+ if (jornada720_apm_ac_online()) -+ ret = ret * JORNADA720_APM_MAIN_BATT_AC_COEFF; -+ -+ /* -+ * sometimes it tends to fluctuate a bit above 100%, which -+ * looks funny, so we bring it down -+ */ -+ if (ret > 100) ret=100; -+ -+ } -+ -+ /* -+ * returning a raw value, because we don't know how to calculate % -+ * for a backup battery -+ */ -+ return ret; -+} -+ -+static void jornada720_apm_get_power_status(struct apm_power_info *info) -+{ -+ -+ info->battery_life=jornada720_apm_get_battery(JORNADA720_APM_MAIN_BATTERY); -+ -+ if (info->battery_life==-1) { -+ info->battery_status = APM_BATTERY_STATUS_NOT_PRESENT; -+ info->battery_flag = APM_BATTERY_FLAG_NOT_PRESENT; -+ -+ } else if (info->battery_life < 30) { -+ info->battery_status = APM_BATTERY_STATUS_LOW; -+ info->battery_flag = APM_BATTERY_FLAG_LOW; -+ -+ } else if (info->battery_life < 5) { -+ info->battery_status = APM_BATTERY_STATUS_CRITICAL; -+ info->battery_flag = APM_BATTERY_FLAG_CRITICAL; -+ -+ } else { -+ info->battery_status = APM_BATTERY_STATUS_HIGH; -+ info->battery_flag = APM_BATTERY_FLAG_HIGH; -+ } -+ -+ if (jornada720_apm_battery_charging()) -+ info->battery_status = APM_BATTERY_STATUS_CHARGING; -+ -+ info->ac_line_status = jornada720_apm_ac_online(); -+} -+ -+static int jornada720_apm_probe(struct device *dev) { -+ -+ /* we provide a function to check battery levels etc */ -+ apm_get_power_status=jornada720_apm_get_power_status; -+ -+ return 0; -+} -+ -+static int jornada720_apm_remove(struct device *dev) { -+ if(apm_get_power_status==jornada720_apm_get_power_status) -+ apm_get_power_status=NULL; -+ return 0; -+} -+ -+static struct device_driver jornada720_apm_driver = { -+ .name = jornada720_mcu_bus_id_apm, -+ .bus = &jornada720_mcu_bus_type, -+ .probe = jornada720_apm_probe, -+ .remove = jornada720_apm_remove, -+ .owner = THIS_MODULE, -+}; -+ -+static int __init jornada720_apm_init(void) { -+ int ret, backup_level; -+ -+ ret = driver_register(&jornada720_apm_driver); -+ if(ret) return ret; -+ -+ backup_level = jornada720_apm_get_battery(JORNADA720_APM_BACKUP_BATTERY); -+ -+ if(backup_level != -1) -+ printk(KERN_INFO "jornada720_apm: backup battery level: %i\n", backup_level); -+ else -+ printk(KERN_INFO "jornada720_apm: backup battery not present\n"); -+ -+ return ret; -+} -+ -+static void __exit jornada720_apm_exit(void) { -+ driver_unregister(&jornada720_apm_driver); -+} -+ -+ -+module_init(jornada720_apm_init); -+module_exit(jornada720_apm_exit); -diff -ruN linux-2.6.18-vanilla/arch/arm/mach-sa1100/jornada720_mcu.c linux-2.6.18/arch/arm/mach-sa1100/jornada720_mcu.c ---- linux-2.6.18-vanilla/arch/arm/mach-sa1100/jornada720_mcu.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.18/arch/arm/mach-sa1100/jornada720_mcu.c 2006-11-20 23:11:00.000000000 +0000 -@@ -0,0 +1,248 @@ -+/* -+ * arch/arm/mach-sa1100/jornada720_mcu.c -+ * -+ * HP Jornada 720 Microprocessor Control Unit driver -+ * -+ * Copyright (C) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl> -+ * Copyright (C) 2005 Michael Gernoth <michael@gernoth.net> -+ * -+ * 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/init.h> -+#include <linux/kernel.h> -+#include <linux/device.h> -+#include <linux/platform_device.h> -+ -+#include <asm/hardware.h> -+#include <asm/arch/jornada720_mcu.h> -+ -+/* TODO: -+ * when CONFIG_SA1100_SSP will be definable and ssp header will be present, -+ * CONFIG_SA1100_SSP should be added to this module's dependencies and this -+ * include should be removed in favour of ssp header file -+ */ -+#include "ssp.c" -+ -+MODULE_AUTHOR("Filip Zyzniewski <filip.zyzniewski@tefnet.pl>"); -+MODULE_DESCRIPTION("HP Jornada 720 Microprocessor Controller Unit driver"); -+MODULE_LICENSE("GPL"); -+ -+/* -+ * HP Documentation referred in this file: -+ * http://www.jlime.com/downloads/development/docs/jornada7xx/jornada720.txt -+ */ -+ -+ -+/* -+ * we have to lock to avoid starting -+ * second transmission during one taking place -+ */ -+static spinlock_t jornada720_mcu_lock = SPIN_LOCK_UNLOCKED; -+static unsigned long jornada720_mcu_flags; -+ -+ -+u8 inline jornada720_mcu_reverse(u8 x) -+{ -+ /* byte ghijklmn becomes nmlkjihg (line 205 of HP's doc) */ -+ return -+ ((0x80 & x) >> 7) | -+ ((0x40 & x) >> 5) | -+ ((0x20 & x) >> 3) | -+ ((0x10 & x) >> 1) | -+ ((0x08 & x) << 1) | -+ ((0x04 & x) << 3) | -+ ((0x02 & x) << 5) | -+ ((0x01 & x) << 7) ; -+} -+ -+ -+int jornada720_mcu_byte(u8 byte) -+{ -+ u16 ret; -+ int timeout = 400000; -+ -+ /* wating for GPIO 10 to go low (line 197 of HP's doc) */ -+ while ((GPLR & GPIO_GPIO10)) { -+ if (!--timeout) { -+ printk("jornada720_mcu_byte ret -ETIMEDOUT\n"); -+ return -ETIMEDOUT; -+ } -+ cpu_relax(); -+ } -+ -+ ret=jornada720_mcu_reverse(byte) << 8; -+ -+ ssp_write_word(ret); -+ ssp_read_word(&ret); -+ -+ return jornada720_mcu_reverse(ret); -+} -+ -+EXPORT_SYMBOL(jornada720_mcu_byte); -+ -+ -+/* -+ * WARNING: remember to jornada720_mcu_end() after every -+ * jornada720_mcu_start() or you will deadlock! -+ */ -+ -+int jornada720_mcu_start(u8 byte) -+{ -+ int i; -+ -+ /* we don't want other access to the MCU now */ -+ spin_lock_irqsave(&jornada720_mcu_lock, jornada720_mcu_flags); -+ -+ /* clear to enable MCU (line 194 of HP's doc) */ -+ GPCR = GPIO_GPIO25; -+ -+ /* we should always get TxDummy after first request */ -+ if (jornada720_mcu_byte(byte) != jornada720_mcu_TxDummy) -+ { -+ printk(KERN_WARNING "jornada720_mcu: leftover MCU data, flushing\n"); -+ for (i = 0; i < 256; i++) -+ if (jornada720_mcu_read() == -1) -+ break; -+ return -1; -+ } -+ -+ return 0; -+} -+ -+EXPORT_SYMBOL(jornada720_mcu_start); -+ -+ -+void jornada720_mcu_end(void) -+{ -+ /* end of transmission (line 203 of HP's doc) */ -+ GPSR = GPIO_GPIO25; -+ spin_unlock_irqrestore(&jornada720_mcu_lock, jornada720_mcu_flags); -+} -+ -+EXPORT_SYMBOL(jornada720_mcu_end); -+ -+ -+/* Jornada 720 devices accessed by the MCU */ -+static struct device jornada720_mcu_bus_devices[] = { -+ /* keyboard */ -+ { .bus_id = jornada720_mcu_bus_id_kbd }, -+ -+ /* touchscreen */ -+ { .bus_id = jornada720_mcu_bus_id_ts }, -+ -+ /* apm (batteries) */ -+ { .bus_id = jornada720_mcu_bus_id_apm }, -+ -+ /* backlight */ -+ { .bus_id = jornada720_mcu_bus_id_bl }, -+ -+ /* lcd display */ -+ { .bus_id = jornada720_mcu_bus_id_lcd }, -+}; -+ -+static int jornada720_mcu_bus_match(struct device *dev, struct device_driver *drv) -+{ -+ return ! strcmp(dev->bus_id, drv->name); -+} -+ -+struct bus_type jornada720_mcu_bus_type = { -+ .name = "jornada720_mcu_bus", -+ .match = jornada720_mcu_bus_match, -+}; -+ -+EXPORT_SYMBOL(jornada720_mcu_bus_type); -+ -+ -+void jornada720_mcu_bus_device_release(struct device *dev) -+{ -+ /* -+ * those device structures are static, so we don't -+ * have anything to free -+ */ -+} -+ -+static int __init jornada720_mcu_probe(struct platform_device *dev) -+{ -+ int ret, i; -+ -+ /* we don't want any data yet (line 203 of HP's doc) */ -+ GPSR = GPIO_GPIO25; -+ ret=ssp_init(); -+ if (ret) -+ return ret; -+ -+ /* initialization of MCU serial interface (line 182 of HP's doc) */ -+ Ser4MCCR0 = 0; -+ Ser4SSCR0 = 0x0387; -+ Ser4SSCR1 = 0x18; -+ -+ ssp_flush(); -+ -+ /* test of MCU presence */ -+ ret = jornada720_mcu_start(jornada720_mcu_GetBrightness); -+ if(!ret) jornada720_mcu_read(); -+ jornada720_mcu_end(); -+ -+ if(ret < 0) { -+ ssp_exit(); -+ return -ENODEV; -+ } -+ -+ /* registering devices accessible through this bus */ -+ for(i=0; i<ARRAY_SIZE(jornada720_mcu_bus_devices); i++) { -+ jornada720_mcu_bus_devices[i].bus = &jornada720_mcu_bus_type; -+ jornada720_mcu_bus_devices[i].parent = &(dev->dev); -+ jornada720_mcu_bus_devices[i].release = jornada720_mcu_bus_device_release; -+ ret = device_register(jornada720_mcu_bus_devices + i); -+ if (ret) -+ break; -+ } -+ -+ if (ret) { -+ for(; i <= 0; i--) { -+ device_unregister(jornada720_mcu_bus_devices + i); -+ } -+ ssp_exit(); -+ } -+ -+ return ret; -+} -+ -+static int jornada720_mcu_remove(struct platform_device *dev) -+{ -+ int i; -+ for(i=0; i<ARRAY_SIZE(jornada720_mcu_bus_devices); i++) -+ device_unregister(jornada720_mcu_bus_devices + i); -+ /* we don't want data anymore (line 203 of HP's doc) */ -+ GPSR = GPIO_GPIO25; -+ ssp_exit(); -+ return 0; -+} -+ -+struct platform_driver jornada720_mcu_driver = { -+ .probe = jornada720_mcu_probe, -+ .remove = jornada720_mcu_remove, -+ .driver = { -+ .name = "jornada720_mcu", -+ }, -+}; -+ -+static int __init jornada720_mcu_init(void) { -+ int ret = bus_register(&jornada720_mcu_bus_type); -+ if (!ret) -+ return platform_driver_register(&jornada720_mcu_driver); -+ return ret; -+} -+ -+static void __exit jornada720_mcu_exit(void) { -+ bus_unregister(&jornada720_mcu_bus_type); -+ platform_driver_unregister(&jornada720_mcu_driver); -+} -+ -+module_init(jornada720_mcu_init); -+module_exit(jornada720_mcu_exit); -diff -ruN linux-2.6.18-vanilla/drivers/input/keyboard/Kconfig linux-2.6.18/drivers/input/keyboard/Kconfig ---- linux-2.6.18-vanilla/drivers/input/keyboard/Kconfig 2006-11-20 23:12:57.000000000 +0000 -+++ linux-2.6.18/drivers/input/keyboard/Kconfig 2006-11-20 23:11:39.000000000 +0000 -@@ -203,4 +203,15 @@ - To compile this driver as a module, choose M here: the - module will be called omap-keypad. - -+config KEYBOARD_JORNADA720 -+ tristate "HP Jornada 720 Keyboard Support" -+ depends on SA1100_JORNADA720_MCU -+ default y -+ help -+ Say Y to enable keyboard on the hewlett Packard Jornada -+ 7xx(710/720/728) series of PDAs. -+ -+ To compile this driver as a module choose M here: the -+ module will be called jornada720_kbd. -+ - endif -diff -ruN linux-2.6.18-vanilla/drivers/input/keyboard/Makefile linux-2.6.18/drivers/input/keyboard/Makefile ---- linux-2.6.18-vanilla/drivers/input/keyboard/Makefile 2006-11-20 23:12:57.000000000 +0000 -+++ linux-2.6.18/drivers/input/keyboard/Makefile 2006-11-20 23:11:36.000000000 +0000 -@@ -17,4 +17,5 @@ - obj-$(CONFIG_KEYBOARD_HIL) += hil_kbd.o - obj-$(CONFIG_KEYBOARD_HIL_OLD) += hilkbd.o - obj-$(CONFIG_KEYBOARD_OMAP) += omap-keypad.o -+obj-$(CONFIG_KEYBOARD_JORNADA720) += jornada720_kbd.o - -diff -ruN linux-2.6.18-vanilla/drivers/input/keyboard/jornada720_kbd.c linux-2.6.18/drivers/input/keyboard/jornada720_kbd.c ---- linux-2.6.18-vanilla/drivers/input/keyboard/jornada720_kbd.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.18/drivers/input/keyboard/jornada720_kbd.c 2006-11-20 23:11:33.000000000 +0000 -@@ -0,0 +1,159 @@ -+/* -+ * drivers/input/keyboard/jornada720_kbd.c -+ * -+ * Jornada 720 keyboard interface -+ * -+ * Copyright (C) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl> -+ * Copyright (C) 2004 Alex Lange <chicken@handhelds.org> -+ * -+ * 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/input.h> -+#include <linux/module.h> -+#include <linux/kernel.h> -+#include <linux/init.h> -+#include <linux/interrupt.h> -+#include <linux/device.h> -+ -+#include <asm/hardware.h> -+#include <asm/arch/jornada720_mcu.h> -+ -+MODULE_AUTHOR("Alex Lange <chicken@handhelds.org>"); -+MODULE_DESCRIPTION("Jornada 720 keyboard driver"); -+MODULE_LICENSE("GPL"); -+ -+/* -+ * HP Documentation referred in this file: -+ * http://www.jlime.com/downloads/development/docs/jornada7xx/jornada720.txt -+ */ -+ -+static struct input_dev *dev; -+ -+static char jornada720_kbd_name[] = "Jornada 720 keyboard"; -+ -+/* line 227 of HP's doc */ -+static unsigned char jornada720_normal_keymap[128] = { -+ 0, 1, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 87, KEY_VOLUMEUP, KEY_VOLUMEDOWN, KEY_MUTE, -+ 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, -+ 0, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 43, 14, 0, 0, 0, -+ 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, KEY_LEFTBRACE, KEY_RIGHTBRACE, 0, 0, 0, -+ 0, 44, 45, 46, 47, 48, 49, 50, 51, 52, KEY_KPMINUS, 40, 28, 0, 0, 0, -+ 0, 15, 0, 42, 0, 40, 0, 0, 0, 0, 103, 0, 54, 0, 0, 0, -+ 0, 0, 0, 0, 0, 56, KEY_GRAVE, 0, 0, 105, 108, 106, 0, 0, 0, 0, -+ 0, 55, 29, 0, 57, 0, 0, 0, 53, 111, 0, 0, 0, 0, 0, 116, -+}; -+ -+static irqreturn_t jornada720_kbd_interrupt(int irq, void *dev_id) -+{ -+ int key, keycode; -+ int count, mcu_data=0; -+ -+ /* start of dialogue with the MCU (line 217 of HP's doc) */ -+ if(jornada720_mcu_start(jornada720_mcu_GetScanKeyCode)) { -+ printk(KERN_WARNING "jornada720_kbd: GetScanKeyCode failed\n"); -+ jornada720_mcu_end(); -+ return IRQ_HANDLED; -+ } -+ -+ /* amount of key events (line 218 of HP's doc) */ -+ count = jornada720_mcu_read(); -+ -+ while (count-- > 0) { -+ /* keycode (line 219 of HP's doc) */ -+ key = mcu_data = jornada720_mcu_read(); -+ -+ if (key < 0) { -+ jornada720_mcu_end(); -+ return IRQ_HANDLED; -+ } -+ -+ /* scancode > 128 means key release (line 223 of HP's doc) */ -+ if (key > 128) -+ key = key - 128; -+ -+ keycode = jornada720_normal_keymap[key]; -+ -+ if (mcu_data < 128) { -+ /* key pressed (line 223 of HP's doc) */ -+ input_report_key(dev, keycode, 1); -+ input_sync(dev); -+ } -+ else { -+ /* key released (line 223 of HP's doc) */ -+ input_report_key(dev, keycode, 0); -+ input_sync(dev); -+ } -+ } -+ -+ -+ jornada720_mcu_end(); -+ -+ return IRQ_HANDLED; -+} -+ -+static int jornada720_kbd_probe(struct device *_dev) -+{ -+ int i, ret; -+ -+ dev = input_allocate_device(); -+ if (!dev) -+ return -ENOMEM; -+ -+ dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); -+ dev->keybit[LONG(KEY_SUSPEND)] |= BIT(KEY_SUSPEND); -+ -+ for ( i=0 ; i<=128 ; i++ ) { -+ if (jornada720_normal_keymap[i]) -+ set_bit(jornada720_normal_keymap[i], dev->keybit); -+ } -+ -+ dev->name = jornada720_kbd_name; -+ -+ /* keyboard is on GPIO0 (line 215 of HP's doc) */ -+ ret = request_irq(IRQ_GPIO0, -+ jornada720_kbd_interrupt, -+ IRQF_DISABLED | IRQF_TRIGGER_FALLING, -+ jornada720_kbd_name, dev); -+ if (ret) { -+ printk(KERN_WARNING "Unable to grab IRQ for %s: %d\n", jornada720_kbd_name, ret); -+ input_free_device(dev); -+ return ret; -+ } -+ -+ input_register_device(dev); -+ -+ return 0; -+ -+} -+ -+static int jornada720_kbd_remove(struct device *_dev) -+{ -+ free_irq(IRQ_GPIO0, dev); -+ input_unregister_device(dev); -+ return 0; -+} -+ -+static struct device_driver jornada720_kbd_driver = { -+ .name = jornada720_mcu_bus_id_kbd, -+ .bus = &jornada720_mcu_bus_type, -+ .probe = jornada720_kbd_probe, -+ .remove = jornada720_kbd_remove, -+ .owner = THIS_MODULE -+}; -+ -+static int __init jornada720_kbd_init(void) -+{ -+ return driver_register(&jornada720_kbd_driver); -+} -+ -+static void __exit jornada720_kbd_exit(void) -+{ -+ driver_unregister(&jornada720_kbd_driver); -+} -+ -+module_init(jornada720_kbd_init); -+module_exit(jornada720_kbd_exit); -diff -ruN linux-2.6.18-vanilla/drivers/input/touchscreen/Kconfig linux-2.6.18/drivers/input/touchscreen/Kconfig ---- linux-2.6.18-vanilla/drivers/input/touchscreen/Kconfig 2006-11-20 23:12:57.000000000 +0000 -+++ linux-2.6.18/drivers/input/touchscreen/Kconfig 2006-11-20 23:11:53.000000000 +0000 -@@ -144,4 +144,14 @@ - To compile this driver as a module, choose M here: the - module will be called touchwin. - -+config TOUCHSCREEN_JORNADA720 -+ tristate "HP Jornada 720 touchscreen support" -+ depends on SA1100_JORNADA720_MCU -+ help -+ Say Y here if you are using a HP Jornada 7xx (710/720/728) PDA -+ and want to use the touchscreen. -+ -+ To compile this driver as a module choose M here: the -+ module will be called jornada720_ts. -+ - endif -diff -ruN linux-2.6.18-vanilla/drivers/input/touchscreen/Makefile linux-2.6.18/drivers/input/touchscreen/Makefile ---- linux-2.6.18-vanilla/drivers/input/touchscreen/Makefile 2006-11-20 23:12:57.000000000 +0000 -+++ linux-2.6.18/drivers/input/touchscreen/Makefile 2006-11-20 23:11:50.000000000 +0000 -@@ -15,3 +15,4 @@ - obj-$(CONFIG_TOUCHSCREEN_PENMOUNT) += penmount.o - obj-$(CONFIG_TOUCHSCREEN_TOUCHRIGHT) += touchright.o - obj-$(CONFIG_TOUCHSCREEN_TOUCHWIN) += touchwin.o -+obj-$(CONFIG_TOUCHSCREEN_JORNADA720) += jornada720_ts.o -diff -ruN linux-2.6.18-vanilla/drivers/input/touchscreen/jornada720_ts.c linux-2.6.18/drivers/input/touchscreen/jornada720_ts.c ---- linux-2.6.18-vanilla/drivers/input/touchscreen/jornada720_ts.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.18/drivers/input/touchscreen/jornada720_ts.c 2006-11-20 23:11:48.000000000 +0000 -@@ -0,0 +1,173 @@ -+/* -+ * drivers/input/touchscreen/jornada720_ts.c -+ * -+ * Jornada 720 touchscreen interface -+ * -+ * Copyright (C) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl> -+ * Copyright (C) 2004 Alex Lange <chicken@handhelds.org> -+ * -+ * 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/input.h> -+#include <linux/module.h> -+#include <linux/kernel.h> -+#include <linux/init.h> -+#include <linux/interrupt.h> -+#include <linux/device.h> -+ -+#include <asm/hardware.h> -+#include <asm/arch/jornada720_mcu.h> -+ -+MODULE_AUTHOR("Alex Lange <chicken@handhelds.org>"); -+MODULE_DESCRIPTION("Jornada 720 touchscreen driver"); -+MODULE_LICENSE("GPL"); -+ -+/* -+ * HP Documentation referred in this file: -+ * http://www.jlime.com/downloads/development/docs/jornada7xx/jornada720.txt -+ */ -+ -+static struct input_dev *dev; -+ -+static char jornada720_ts_name[] = "Jornada 720 touchscreen"; -+ -+ -+static irqreturn_t jornada720_ts_interrupt(int irq, void *dev_id) -+{ -+ int X[3], Y[3], high_x, high_y, x, y; -+ -+ /* check if pen is up (line 264 of HP's doc) */ -+ if(GPLR & GPIO_GPIO(9)) { -+ /* report pen up */ -+ input_report_key(dev, BTN_TOUCH, 0); -+ input_report_abs(dev, ABS_PRESSURE, 0); -+ input_sync(dev); -+ -+ return IRQ_HANDLED; -+ } -+ -+ /* -+ * read x & y data from mcu interface and -+ * pass it on (line 265 of HP's doc) -+ */ -+ if(jornada720_mcu_start(jornada720_mcu_GetTouchSamples)) { -+ jornada720_mcu_end(); -+ return IRQ_HANDLED; -+ } -+ -+ /* -+ * beware: HP's doc specifies incorrect order of sample -+ * bytes, MSBs for X and Y are the last two ones. -+ */ -+ -+ /* LSBs for X (line 272 of HP's doc */ -+ X[0] = jornada720_mcu_read(); -+ X[1] = jornada720_mcu_read(); -+ X[2] = jornada720_mcu_read(); -+ -+ /* LSBs for Y (line 276 of HP's doc */ -+ Y[0] = jornada720_mcu_read(); -+ Y[1] = jornada720_mcu_read(); -+ Y[2] = jornada720_mcu_read(); -+ -+ /* MSBs for X (line 275 of HP's doc */ -+ high_x = jornada720_mcu_read(); -+ -+ /* MSBs for Y (line 279 of HP's doc) */ -+ high_y = jornada720_mcu_read(); -+ -+ jornada720_mcu_end(); -+ -+ /* calculating actual values (line 281 of HP's doc) */ -+ X[0] |= (high_x & 3) << 8; -+ X[1] |= (high_x & 0xc) << 6; -+ X[2] |= (high_x & 0x30) << 4; -+ -+ Y[0] |= (high_y & 3) << 8; -+ Y[1] |= (high_y & 0xc) << 6; -+ Y[2] |= (high_y & 0x30) << 4; -+ -+ /* simple averaging filter */ -+ x = (X[0] + X[1] + X[2])/3; -+ y = (Y[0] + Y[1] + Y[2])/3; -+ -+ /* report pen down */ -+ input_report_key(dev, BTN_TOUCH, 1); -+ input_report_abs(dev, ABS_X, x); -+ input_report_abs(dev, ABS_Y, y); -+ input_report_abs(dev, ABS_PRESSURE, 1); -+ input_sync(dev); -+ -+ return IRQ_HANDLED; -+ -+} -+ -+ -+static int jornada720_ts_probe(struct device *_dev) -+{ -+ int ret; -+ -+ dev = input_allocate_device(); -+ if (!dev) -+ return -ENOMEM; -+ -+ dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS); -+ dev->absbit[0] = BIT(ABS_X) | BIT(ABS_Y) | BIT(ABS_PRESSURE); -+ dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH); -+ -+ dev->absmin[ABS_X] = 270; dev->absmin[ABS_Y] = 180; -+ dev->absmax[ABS_X] = 3900; dev->absmax[ABS_Y] = 3700; -+ -+ dev->name = jornada720_ts_name; -+ -+ /* -+ * touchscreen is on GPIO9 (Line 263 of HP's doc. It says we should -+ * care for falling edge, but in fact we need a rising edge.) -+ */ -+ ret = request_irq(IRQ_GPIO9, -+ jornada720_ts_interrupt, -+ IRQF_DISABLED | IRQF_TRIGGER_RISING, -+ jornada720_ts_name, dev); -+ if (ret) { -+ printk("Unable to grab IRQ for %s: %d\n", jornada720_ts_name, ret); -+ input_free_device(dev); -+ return ret; -+ } -+ -+ input_register_device(dev); -+ -+ return 0; -+} -+ -+ -+static int jornada720_ts_remove(struct device *_dev) -+{ -+ free_irq(IRQ_GPIO9, dev); -+ input_unregister_device(dev); -+ return 0; -+} -+ -+static struct device_driver jornada720_ts_driver = { -+ .name = jornada720_mcu_bus_id_ts, -+ .bus = &jornada720_mcu_bus_type, -+ .probe = jornada720_ts_probe, -+ .remove = jornada720_ts_remove, -+ .owner = THIS_MODULE -+}; -+ -+static int __init jornada720_ts_init(void) -+{ -+ return driver_register(&jornada720_ts_driver); -+} -+ -+static void __exit jornada720_ts_exit(void) -+{ -+ driver_unregister(&jornada720_ts_driver); -+} -+ -+module_init(jornada720_ts_init); -+module_exit(jornada720_ts_exit); -diff -ruN linux-2.6.18-vanilla/drivers/video/backlight/Kconfig linux-2.6.18/drivers/video/backlight/Kconfig ---- linux-2.6.18-vanilla/drivers/video/backlight/Kconfig 2006-09-20 03:42:06.000000000 +0000 -+++ linux-2.6.18/drivers/video/backlight/Kconfig 2006-11-20 23:12:17.000000000 +0000 -@@ -66,3 +66,24 @@ - If you have a HP Jornada 680, say y to enable the - backlight driver. - -+config BACKLIGHT_JORNADA720 -+ tristate "HP Jornada 720 Backlight Driver" -+ depends on BACKLIGHT_DEVICE && SA1100_JORNADA720_MCU -+ default y -+ help -+ If you have a HP Jornada 7xx, say y to enable the -+ backlight driver. -+ -+ To compile this driver as a module, choose M here: the -+ module will be called jornada720_bl. -+ -+config LCD_JORNADA720 -+ tristate "HP Jornada 720 LCD control" -+ depends on LCD_DEVICE && SA1100_JORNADA720_MCU -+ default y -+ help -+ If you have a HP Jornada 7xx, say y to be able to -+ set contrast and power state of the LCD. -+ -+ To compile this driver as a module, choose M here: the -+ module will be called jornada720_lcd. -diff -ruN linux-2.6.18-vanilla/drivers/video/backlight/Makefile linux-2.6.18/drivers/video/backlight/Makefile ---- linux-2.6.18-vanilla/drivers/video/backlight/Makefile 2006-09-20 03:42:06.000000000 +0000 -+++ linux-2.6.18/drivers/video/backlight/Makefile 2006-11-20 23:12:15.000000000 +0000 -@@ -5,3 +5,5 @@ - obj-$(CONFIG_BACKLIGHT_CORGI) += corgi_bl.o - obj-$(CONFIG_BACKLIGHT_HP680) += hp680_bl.o - obj-$(CONFIG_BACKLIGHT_LOCOMO) += locomolcd.o -+obj-$(CONFIG_BACKLIGHT_JORNADA720) += jornada720_bl.o -+obj-$(CONFIG_LCD_JORNADA720) += jornada720_lcd.o -diff -ruN linux-2.6.18-vanilla/drivers/video/backlight/jornada720_bl.c linux-2.6.18/drivers/video/backlight/jornada720_bl.c ---- linux-2.6.18-vanilla/drivers/video/backlight/jornada720_bl.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.18/drivers/video/backlight/jornada720_bl.c 2006-11-20 23:12:01.000000000 +0000 -@@ -0,0 +1,145 @@ -+/* -+ * drivers/video/backlight/jornada720_bl.c -+ * -+ * Backlight Driver for HP Jornada 720 -+ * -+ * Copyright (c) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl> -+ * -+ * 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/backlight.h> -+#include <linux/fb.h> -+#include <linux/device.h> -+#include <asm/hardware.h> -+#include <asm/arch/jornada720_mcu.h> -+#include <video/s1d13xxxfb.h> -+ -+MODULE_AUTHOR("Filip Zyzniewski <filip.zyzniewski@tefnet.pl>"); -+MODULE_DESCRIPTION("HP Jornada 720 Backlight Driver"); -+MODULE_LICENSE("GPL"); -+ -+/* -+ * HP Documentation referred in this file: -+ * http://www.jlime.com/downloads/development/docs/jornada7xx/jornada720.txt -+ */ -+ -+#define JORNADA720_BL_MAX_BRIGHTNESS 0xff -+ -+/* default brightness (line 460 of HP's doc - it's -+ * mistakenly referred as default contrast there) */ -+#define JORNADA720_BL_DEFAULT_BRIGHTNESS 0x19 -+ -+static struct backlight_device *jornada720_bl_device; -+ -+static int jornada720_bl_get_brightness(struct backlight_device *dev) -+{ -+ int ret; -+ -+ /* check if backlight is on (line 461 of HP's doc */ -+ if(!(PPSR & PPC_LDD1)) -+ return 255; -+ -+ /* get data from the MCU (line 310 of HP's doc) */ -+ if(jornada720_mcu_start(jornada720_mcu_GetBrightness)) { -+ printk(KERN_WARNING "jornada720_bl: GetBrightness failed\n"); -+ ret=256; -+ } else -+ ret=jornada720_mcu_read(); -+ -+ jornada720_mcu_end(); -+ -+ /* 0 is max brightness for the kernel, opposite for the MCU */ -+ return 255-ret; -+} -+ -+static int jornada720_bl_update_status(struct backlight_device *dev) -+{ -+ int ret=0; -+ -+ -+ if (dev->props->power != FB_BLANK_UNBLANK || dev->props->fb_blank != FB_BLANK_UNBLANK) { -+ /* turn off the backlight PWM (line 313 of HP's doc) */ -+ ret=jornada720_mcu_start(jornada720_mcu_BrightnessOff); -+ if(ret) -+ printk(KERN_WARNING "jornada720_bl: BrightnessOff failed\n"); -+ /* turn off the backlight (line 461 of HP's doc) */ -+ PPSR &= ~PPC_LDD1; -+ PPDR |= PPC_LDD1; -+ } -+ else { -+ /* turn the backlight on (line 461 of HP's doc) */ -+ PPSR |= PPC_LDD1; -+ /* line 309 of HP's doc */ -+ if (!(ret=jornada720_mcu_start(jornada720_mcu_SetBrightness))) { -+ /* 0 is max brightness for the kernel, opposite for the MCU */ -+ if(jornada720_mcu_byte(255 - dev->props->brightness) != jornada720_mcu_TxDummy) -+ ret = -1; -+ } else -+ printk(KERN_WARNING "jornada720_bl: SetBrightness failed\n"); -+ } -+ -+ jornada720_mcu_end(); -+ -+ return ret; -+} -+ -+ -+static struct backlight_properties jornada720_bl_data = { -+ .owner = THIS_MODULE, -+ .max_brightness = JORNADA720_BL_MAX_BRIGHTNESS, -+ .get_brightness = jornada720_bl_get_brightness, -+ .update_status = jornada720_bl_update_status, -+}; -+ -+static int jornada720_bl_probe(struct device *_dev) -+{ -+ /* -+ * name must match fb driver name (documentation of -+ * backlight_device_register() in backlight.c -+ */ -+ jornada720_bl_device = backlight_device_register (S1D_DEVICENAME, -+ NULL, &jornada720_bl_data); -+ if (IS_ERR (jornada720_bl_device)) -+ return PTR_ERR (jornada720_bl_device); -+ -+ jornada720_bl_data.power = FB_BLANK_UNBLANK; -+ jornada720_bl_data.brightness = JORNADA720_BL_DEFAULT_BRIGHTNESS; -+ jornada720_bl_update_status(jornada720_bl_device); -+ -+ return 0; -+ -+} -+ -+static int jornada720_bl_remove(struct device *_dev) -+{ -+ backlight_device_unregister(jornada720_bl_device); -+ return 0; -+} -+ -+static struct device_driver jornada720_bl_driver = { -+ .name = jornada720_mcu_bus_id_bl, -+ .bus = &jornada720_mcu_bus_type, -+ .probe = jornada720_bl_probe, -+ .remove = jornada720_bl_remove, -+ .owner = THIS_MODULE -+}; -+ -+static int __init jornada720_bl_init(void) -+{ -+ return driver_register(&jornada720_bl_driver); -+} -+ -+static void __exit jornada720_bl_exit(void) -+{ -+ driver_unregister(&jornada720_bl_driver); -+} -+ -+module_init(jornada720_bl_init); -+module_exit(jornada720_bl_exit); -diff -ruN linux-2.6.18-vanilla/drivers/video/backlight/jornada720_lcd.c linux-2.6.18/drivers/video/backlight/jornada720_lcd.c ---- linux-2.6.18-vanilla/drivers/video/backlight/jornada720_lcd.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.18/drivers/video/backlight/jornada720_lcd.c 2006-11-20 23:12:12.000000000 +0000 -@@ -0,0 +1,152 @@ -+/* -+ * drivers/video/backlight/jornada720_lcd.c -+ * -+ * LCD display driver for HP Jornada 720 -+ * -+ * Copyright (c) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl> -+ * -+ * 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/lcd.h> -+#include <linux/fb.h> -+#include <linux/delay.h> -+#include <linux/device.h> -+#include <asm/hardware.h> -+#include <asm/arch/jornada720_mcu.h> -+#include <video/s1d13xxxfb.h> -+ -+MODULE_AUTHOR("Filip Zyzniewski <filip.zyzniewski@tefnet.pl>"); -+MODULE_DESCRIPTION("HP Jornada 720 LCD control"); -+MODULE_LICENSE("GPL"); -+ -+/* -+ * HP Documentation referred in this file: -+ * http://www.jlime.com/downloads/development/docs/jornada7xx/jornada720.txt -+ */ -+ -+#define JORNADA720_LCD_MAX_CONTRAST 0xff -+ -+/* default contrast (line 457 of HP's doc, but it looks bad with that one) */ -+#define JORNADA720_LCD_DEFAULT_CONTRAST 0x80 -+ -+static struct lcd_device *jornada720_lcd_device; -+ -+static int jornada720_lcd_set_contrast(struct lcd_device *dev, int contrast) -+{ -+ int ret=0; -+ -+ /* line 312 of HP's doc */ -+ if ( !(ret=jornada720_mcu_start(jornada720_mcu_SetContrast)) ) { -+ if(jornada720_mcu_byte(contrast) != jornada720_mcu_TxDummy) -+ ret = -1; -+ } else -+ printk(KERN_WARNING "jornada720_lcd: SetContrast failed\n"); -+ -+ jornada720_mcu_end(); -+ -+ return ret; -+} -+ -+static int jornada720_lcd_get_power(struct lcd_device *dev) { -+ /* LDD2 in PPC is responsible for LCD power (line 458 of HP's doc */ -+ if(PPSR & PPC_LDD2) -+ return FB_BLANK_UNBLANK; -+ else -+ return FB_BLANK_POWERDOWN; -+} -+ -+static int jornada720_lcd_set_power(struct lcd_device *dev, int power) { -+ if (power != FB_BLANK_UNBLANK) { -+ /* turn off the LCD (line 458 of HP's doc) */ -+ PPSR &= ~PPC_LDD2; -+ PPDR |= PPC_LDD2; -+ } else -+ /* turn on the LCD (line 458 of HP's doc) */ -+ PPSR |= PPC_LDD2; -+ return 0; -+} -+ -+static int jornada720_lcd_get_contrast(struct lcd_device *dev) -+{ -+ int ret; -+ -+ /* check if LCD is on (line 458 of HP's doc */ -+ if(jornada720_lcd_get_power(dev) != FB_BLANK_UNBLANK) -+ return 0; -+ -+ /* get the data from MCU (line 312 of HP's doc) */ -+ if(jornada720_mcu_start(jornada720_mcu_GetContrast)) { -+ printk(KERN_WARNING "jornada720_lcd: GetContrast failed\n"); -+ ret=256; -+ } else -+ ret=jornada720_mcu_read(); -+ -+ jornada720_mcu_end(); -+ -+ return ret; -+} -+ -+static struct lcd_properties jornada720_lcd_data = { -+ .owner = THIS_MODULE, -+ .max_contrast = JORNADA720_LCD_MAX_CONTRAST, -+ .get_contrast = jornada720_lcd_get_contrast, -+ .set_contrast = jornada720_lcd_set_contrast, -+ .get_power = jornada720_lcd_get_power, -+ .set_power = jornada720_lcd_set_power, -+}; -+ -+static int jornada720_lcd_probe(struct device *_dev) -+{ -+ /* -+ * name must match fb driver name (documentation of -+ * lcd_device_register() in lcd.c -+ */ -+ jornada720_lcd_device = lcd_device_register (S1D_DEVICENAME, -+ NULL, &jornada720_lcd_data); -+ if (IS_ERR (jornada720_lcd_device)) -+ return PTR_ERR (jornada720_lcd_device); -+ -+ /* line 457 of HP's doc */ -+ jornada720_lcd_set_contrast(jornada720_lcd_device, JORNADA720_LCD_DEFAULT_CONTRAST); -+ /* line 458 of HP's doc */ -+ jornada720_lcd_set_power(jornada720_lcd_device, FB_BLANK_UNBLANK); -+ /* line 459 of HP's doc */ -+ msleep(100); -+ -+ return 0; -+ -+} -+ -+static int jornada720_lcd_remove(struct device *_dev) -+{ -+ lcd_device_unregister(jornada720_lcd_device); -+ return 0; -+} -+ -+static struct device_driver jornada720_lcd_driver = { -+ .name = jornada720_mcu_bus_id_lcd, -+ .bus = &jornada720_mcu_bus_type, -+ .probe = jornada720_lcd_probe, -+ .remove = jornada720_lcd_remove, -+ .owner = THIS_MODULE -+}; -+ -+static int __init jornada720_lcd_init(void) -+{ -+ return driver_register(&jornada720_lcd_driver); -+} -+ -+static void __exit jornada720_lcd_exit(void) -+{ -+ driver_unregister(&jornada720_lcd_driver); -+} -+ -+module_init(jornada720_lcd_init); -+module_exit(jornada720_lcd_exit); -diff -ruN linux-2.6.18-vanilla/drivers/video/s1d13xxxfb.c linux-2.6.18/drivers/video/s1d13xxxfb.c ---- linux-2.6.18-vanilla/drivers/video/s1d13xxxfb.c 2006-09-20 03:42:06.000000000 +0000 -+++ linux-2.6.18/drivers/video/s1d13xxxfb.c 2006-11-20 23:10:47.000000000 +0000 -@@ -540,7 +540,7 @@ - int ret = 0; - u8 revision; - -- dbg("probe called: device is %p\n", dev); -+ dbg("probe called: device is %p\n", pdev); - - printk(KERN_INFO "Epson S1D13XXX FB Driver\n"); - -diff -ruN linux-2.6.18-vanilla/include/asm-arm/arch-sa1100/jornada720.h linux-2.6.18/include/asm-arm/arch-sa1100/jornada720.h ---- linux-2.6.18-vanilla/include/asm-arm/arch-sa1100/jornada720.h 2006-11-20 23:13:04.000000000 +0000 -+++ linux-2.6.18/include/asm-arm/arch-sa1100/jornada720.h 1970-01-01 00:00:00.000000000 +0000 -@@ -1,42 +0,0 @@ --/* -- * linux/include/asm-arm/arch-sa1100/jornada720.h -- * -- * Created 2000/11/29 by John Ankcorn <jca@lcs.mit.edu> -- * -- * This file contains the hardware specific definitions for HP Jornada 720 -- * -- */ -- --#ifndef __ASM_ARCH_HARDWARE_H --#error "include <asm/hardware.h> instead" --#endif -- --#define SA1111_BASE (0x40000000) -- --#define GPIO_JORNADA720_KEYBOARD GPIO_GPIO(0) --#define GPIO_JORNADA720_MOUSE GPIO_GPIO(9) -- --#define GPIO_JORNADA720_KEYBOARD_IRQ IRQ_GPIO0 --#define GPIO_JORNADA720_MOUSE_IRQ IRQ_GPIO9 -- --/* MCU COMMANDS */ --#define MCU_GetBatteryData 0xc0 --#define MCU_GetScanKeyCode 0x90 --#define MCU_GetTouchSamples 0xa0 --#define MCU_GetContrast 0xD0 --#define MCU_SetContrast 0xD1 --#define MCU_GetBrightness 0xD2 --#define MCU_SetBrightness 0xD3 --#define MCU_ContrastOff 0xD8 --#define MCU_BrightnessOff 0xD9 --#define MCU_PWMOFF 0xDF --#define MCU_TxDummy 0x11 --#define MCU_ErrorCode 0x00 -- --#ifndef __ASSEMBLY__ -- --void jornada720_mcu_init(void); --void jornada_contrast(int arg_contrast); --void jornada720_battery(void); --int jornada720_getkey(unsigned char *data, int size); --#endif -diff -ruN linux-2.6.18-vanilla/include/asm-arm/arch-sa1100/jornada720_mcu.h linux-2.6.18/include/asm-arm/arch-sa1100/jornada720_mcu.h ---- linux-2.6.18-vanilla/include/asm-arm/arch-sa1100/jornada720_mcu.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.18/include/asm-arm/arch-sa1100/jornada720_mcu.h 2006-11-20 23:10:57.000000000 +0000 -@@ -0,0 +1,48 @@ -+/* -+ * include/asm-arm/arch-sa1100/jornada720_mcu.h -+ * -+ * This file contains MCU communication API defintions for HP Jornada 720 -+ * -+ * Copyright (C) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl> -+ * Copyright (C) 2000 John Ankcorn <jca@lcs.mit.edu> -+ * -+ * 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. -+ * -+ */ -+ -+/* Jornada 720 Microprocessor Control Unit commands */ -+#define jornada720_mcu_GetBatteryData 0xc0 -+#define jornada720_mcu_GetScanKeyCode 0x90 -+#define jornada720_mcu_GetTouchSamples 0xa0 -+#define jornada720_mcu_GetContrast 0xD0 -+#define jornada720_mcu_SetContrast 0xD1 -+#define jornada720_mcu_GetBrightness 0xD2 -+#define jornada720_mcu_SetBrightness 0xD3 -+#define jornada720_mcu_ContrastOff 0xD8 -+#define jornada720_mcu_BrightnessOff 0xD9 -+#define jornada720_mcu_PWMOFF 0xDF -+#define jornada720_mcu_TxDummy 0x11 -+#define jornada720_mcu_ErrorCode 0x00 -+ -+/* devices accessible through the MCU */ -+#define jornada720_mcu_bus_id_kbd "jornada720_kbd" -+#define jornada720_mcu_bus_id_ts "jornada720_ts" -+#define jornada720_mcu_bus_id_apm "jornada720_apm" -+#define jornada720_mcu_bus_id_lcd "jornada720_lcd" -+#define jornada720_mcu_bus_id_bl "jornada720_bl" -+ -+int jornada720_mcu_byte(u8 byte); -+ -+#define jornada720_mcu_read() jornada720_mcu_byte(jornada720_mcu_TxDummy) -+ -+/* -+ * WARNING: remember to jornada720_mcu_end() after every -+ * jornada720_mcu_start() or you will deadlock! -+ */ -+int jornada720_mcu_start(u8 byte); -+ -+void jornada720_mcu_end(void); -+ -+extern struct bus_type jornada720_mcu_bus_type; -diff -ruN linux-2.6.18-vanilla/include/asm-arm/s1d13506.h linux-2.6.18/include/asm-arm/s1d13506.h ---- linux-2.6.18-vanilla/include/asm-arm/s1d13506.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.18/include/asm-arm/s1d13506.h 2006-11-20 23:10:50.000000000 +0000 -@@ -0,0 +1,135 @@ -+/* -+ * include/asm-arm/s1d13506.h -+ * -+ * Epson S1D13xxx chip register init for ARM machines -+ * -+ * Copyright (C) 2006 Filip Zyzniewski <filip.zyzniewski@tefnet.pl> -+ * -+ * 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. -+ * -+ */ -+ -+/* -+ * HP Documentation referred in this file: -+ * http://www.jlime.com/downloads/development/docs/jornada7xx/jornada720.txt -+ */ -+ -+static struct s1d13xxxfb_regval s1d13xxxfb_initregs[] = { -+ /* line 344 of HP's doc */ -+ {0x0001,0x00}, // Miscellaneous Register -+ {0x01FC,0x00}, // Display Mode Register -+#if defined(CONFIG_SA1100_JORNADA720) -+ {0x0004,0x00}, // General IO Pins Configuration Register 0 -+ {0x0005,0x00}, // General IO Pins Configuration Register 1 -+ {0x0008,0x00}, // General IO Pins Control Register 0 -+ {0x0009,0x00}, // General IO Pins Control Register 1 -+ {0x0010,0x01}, // Memory Clock Configuration Register -+ {0x0014,0x11}, // LCD Pixel Clock Configuration Register -+ {0x0018,0x01}, // CRT/TV Pixel Clock Configuration Register -+ {0x001C,0x01}, // MediaPlug Clock Configuration Register -+ {0x001E,0x01}, // CPU To Memory Wait State Select Register -+ {0x0020,0x00}, // Memory Configuration Register -+ {0x0021,0x45}, // DRAM Refresh Rate Register -+ {0x002A,0x01}, // DRAM Timings Control Register 0 -+ {0x002B,0x03}, // DRAM Timings Control Register 1 -+ {0x0030,0x1c}, // Panel Type Register -+ {0x0031,0x00}, // MOD Rate Register -+ {0x0032,0x4F}, // LCD Horizontal Display Width Register -+ {0x0034,0x07}, // LCD Horizontal Non-Display Period Register -+ {0x0035,0x01}, // TFT FPLINE Start Position Register -+ {0x0036,0x0B}, // TFT FPLINE Pulse Width Register -+ {0x0038,0xEF}, // LCD Vertical Display Height Register 0 -+ {0x0039,0x00}, // LCD Vertical Display Height Register 1 -+ {0x003A,0x13}, // LCD Vertical Non-Display Period Register -+ {0x003B,0x0B}, // TFT FPFRAME Start Position Register -+ {0x003C,0x01}, // TFT FPFRAME Pulse Width Register -+ {0x0040,0x05}, // LCD Display Mode Register (2:4bpp,3:8bpp,5:16bpp) -+ {0x0041,0x00}, // LCD Miscellaneous Register -+ {0x0042,0x00}, // LCD Display Start Address Register 0 -+ {0x0043,0x00}, // LCD Display Start Address Register 1 -+ {0x0044,0x00}, // LCD Display Start Address Register 2 -+ {0x0046,0x80}, // LCD Memory Address Offset Register 0 -+ {0x0047,0x02}, // LCD Memory Address Offset Register 1 -+ {0x0048,0x00}, // LCD Pixel Panning Register -+ {0x004A,0x00}, // LCD Display FIFO High Threshold Control Register -+ {0x004B,0x00}, // LCD Display FIFO Low Threshold Control Register -+ {0x0050,0x4F}, // CRT/TV Horizontal Display Width Register -+ {0x0052,0x13}, // CRT/TV Horizontal Non-Display Period Register -+ {0x0053,0x01}, // CRT/TV HRTC Start Position Register -+ {0x0054,0x0B}, // CRT/TV HRTC Pulse Width Register -+ {0x0056,0xDF}, // CRT/TV Vertical Display Height Register 0 -+ {0x0057,0x01}, // CRT/TV Vertical Display Height Register 1 -+ {0x0058,0x2B}, // CRT/TV Vertical Non-Display Period Register -+ {0x0059,0x09}, // CRT/TV VRTC Start Position Register -+ {0x005A,0x01}, // CRT/TV VRTC Pulse Width Register -+ {0x005B,0x10}, // TV Output Control Register -+ {0x0060,0x03}, // CRT/TV Display Mode Register (2:4bpp,3:8bpp,5:16bpp) -+ {0x0062,0x00}, // CRT/TV Display Start Address Register 0 -+ {0x0063,0x00}, // CRT/TV Display Start Address Register 1 -+ {0x0064,0x00}, // CRT/TV Display Start Address Register 2 -+ {0x0066,0x40}, // CRT/TV Memory Address Offset Register 0 -+ {0x0067,0x01}, // CRT/TV Memory Address Offset Register 1 -+ {0x0068,0x00}, // CRT/TV Pixel Panning Register -+ {0x006A,0x00}, // CRT/TV Display FIFO High Threshold Control Register -+ {0x006B,0x00}, // CRT/TV Display FIFO Low Threshold Control Register -+ {0x0070,0x00}, // LCD Ink/Cursor Control Register -+ {0x0071,0x01}, // LCD Ink/Cursor Start Address Register -+ {0x0072,0x00}, // LCD Cursor X Position Register 0 -+ {0x0073,0x00}, // LCD Cursor X Position Register 1 -+ {0x0074,0x00}, // LCD Cursor Y Position Register 0 -+ {0x0075,0x00}, // LCD Cursor Y Position Register 1 -+ {0x0076,0x00}, // LCD Ink/Cursor Blue Color 0 Register -+ {0x0077,0x00}, // LCD Ink/Cursor Green Color 0 Register -+ {0x0078,0x00}, // LCD Ink/Cursor Red Color 0 Register -+ {0x007A,0x1F}, // LCD Ink/Cursor Blue Color 1 Register -+ {0x007B,0x3F}, // LCD Ink/Cursor Green Color 1 Register -+ {0x007C,0x1F}, // LCD Ink/Cursor Red Color 1 Register -+ {0x007E,0x00}, // LCD Ink/Cursor FIFO Threshold Register -+ {0x0080,0x00}, // CRT/TV Ink/Cursor Control Register -+ {0x0081,0x01}, // CRT/TV Ink/Cursor Start Address Register -+ {0x0082,0x00}, // CRT/TV Cursor X Position Register 0 -+ {0x0083,0x00}, // CRT/TV Cursor X Position Register 1 -+ {0x0084,0x00}, // CRT/TV Cursor Y Position Register 0 -+ {0x0085,0x00}, // CRT/TV Cursor Y Position Register 1 -+ {0x0086,0x00}, // CRT/TV Ink/Cursor Blue Color 0 Register -+ {0x0087,0x00}, // CRT/TV Ink/Cursor Green Color 0 Register -+ {0x0088,0x00}, // CRT/TV Ink/Cursor Red Color 0 Register -+ {0x008A,0x1F}, // CRT/TV Ink/Cursor Blue Color 1 Register -+ {0x008B,0x3F}, // CRT/TV Ink/Cursor Green Color 1 Register -+ {0x008C,0x1F}, // CRT/TV Ink/Cursor Red Color 1 Register -+ {0x008E,0x00}, // CRT/TV Ink/Cursor FIFO Threshold Register -+ {0x0100,0x00}, // BitBlt Control Register 0 -+ {0x0101,0x00}, // BitBlt Control Register 1 -+ {0x0102,0x00}, // BitBlt ROP Code/Color Expansion Register -+ {0x0103,0x00}, // BitBlt Operation Register -+ {0x0104,0x00}, // BitBlt Source Start Address Register 0 -+ {0x0105,0x00}, // BitBlt Source Start Address Register 1 -+ {0x0106,0x00}, // BitBlt Source Start Address Register 2 -+ {0x0108,0x00}, // BitBlt Destination Start Address Register 0 -+ {0x0109,0x00}, // BitBlt Destination Start Address Register 1 -+ {0x010A,0x00}, // BitBlt Destination Start Address Register 2 -+ {0x010C,0x00}, // BitBlt Memory Address Offset Register 0 -+ {0x010D,0x00}, // BitBlt Memory Address Offset Register 1 -+ {0x0110,0x00}, // BitBlt Width Register 0 -+ {0x0111,0x00}, // BitBlt Width Register 1 -+ {0x0112,0x00}, // BitBlt Height Register 0 -+ {0x0113,0x00}, // BitBlt Height Register 1 -+ {0x0114,0x00}, // BitBlt Background Color Register 0 -+ {0x0115,0x00}, // BitBlt Background Color Register 1 -+ {0x0118,0x00}, // BitBlt Foreground Color Register 0 -+ {0x0119,0x00}, // BitBlt Foreground Color Register 1 -+ {0x01E0,0x00}, // Look-Up Table Mode Register -+ {0x01E2,0x00}, // Look-Up Table Address Register -+ /* not sure, wouldn't like to mess with the driver */ -+ {0x01E4,0x00}, // Look-Up Table Data Register -+ /* jornada doc says 0x00, but I trust the driver */ -+ {0x01F0,0x10}, // Power Save Configuration Register -+ {0x01F1,0x00}, // Power Save Status Register -+ {0x01F4,0x00}, // CPU-to-Memory Access Watchdog Timer Register -+ {0x01FC,0x01}, // Display Mode Register(0x01:LCD, 0x02:CRT, 0x03:LCD&CRT) -+#elif 1 -+#error "define a register set for your machine" -+#endif -+}; -diff -ruN linux-2.6.18-vanilla/include/video/s1d13xxxfb.h linux-2.6.18/include/video/s1d13xxxfb.h ---- linux-2.6.18-vanilla/include/video/s1d13xxxfb.h 2006-11-20 23:13:06.000000000 +0000 -+++ linux-2.6.18/include/video/s1d13xxxfb.h 2006-11-20 23:10:38.000000000 +0000 -@@ -14,7 +14,13 @@ - #define S1D13XXXFB_H - - #define S1D_PALETTE_SIZE 256 -+ -+#if defined(CONFIG_SA1100_JORNADA720) -+#define S1D_CHIP_REV 4 /* expected chip revision number for s1d13506 */ -+#else - #define S1D_CHIP_REV 7 /* expected chip revision number for s1d13806 */ -+#endif -+ - #define S1D_FBID "S1D13806" - #define S1D_DEVICENAME "s1d13806fb" - |