aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorAnton Vorontsov <cbouatmailru@gmail.com>2008-10-23 15:06:56 -0400
committerEric Miao <eric.miao@marvell.com>2008-12-02 01:43:50 -0500
commitbc2fd1c09c226ea47ab8301cde6dbcf9e5c78b73 (patch)
tree4353a52acd65006a122d1bd655be5b6f7d0ce4f1 /arch/arm
parent431a2cff07446b0325ec063e5b401ca7c11e0058 (diff)
[ARM] pxa: add basic support for HP iPAQ h5000
This patch adds HP iPAQ h5000's (h5400, h5500) basic definitions. Kernel will able to boot, work via serial console, mount filesystems placed on flashes and run USB gadgets (g_ether by default). Other device drivers (frame buffer, LCD, touchscreen, backlight, bluetooth, w1/battery, ...) are depend on SAMCOP and MediaQ SoCs/MFDs, drivers to which will be submitted too, after massive cleanups. This machine will be used as "real user" for these new drivers. This is an updated version of the patch, which contains fixes proposed on linux-arm-kernel mailing list. Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com> Signed-off-by: Milan Plzik <milan.plzik@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/configs/h5000_defconfig996
-rw-r--r--arch/arm/mach-pxa/Kconfig4
-rw-r--r--arch/arm/mach-pxa/Makefile1
-rw-r--r--arch/arm/mach-pxa/h5000.c200
-rw-r--r--arch/arm/mach-pxa/include/mach/h5000.h113
5 files changed, 1314 insertions, 0 deletions
diff --git a/arch/arm/configs/h5000_defconfig b/arch/arm/configs/h5000_defconfig
new file mode 100644
index 000000000000..649baa370495
--- /dev/null
+++ b/arch/arm/configs/h5000_defconfig
@@ -0,0 +1,996 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.27-rc6
4# Tue Sep 16 16:13:48 2008
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y
16CONFIG_LOCKDEP_SUPPORT=y
17CONFIG_TRACE_IRQFLAGS_SUPPORT=y
18CONFIG_HARDIRQS_SW_RESEND=y
19CONFIG_GENERIC_IRQ_PROBE=y
20CONFIG_RWSEM_GENERIC_SPINLOCK=y
21# CONFIG_ARCH_HAS_ILOG2_U32 is not set
22# CONFIG_ARCH_HAS_ILOG2_U64 is not set
23CONFIG_GENERIC_HWEIGHT=y
24CONFIG_GENERIC_CALIBRATE_DELAY=y
25CONFIG_ARCH_SUPPORTS_AOUT=y
26CONFIG_ZONE_DMA=y
27CONFIG_ARCH_MTD_XIP=y
28CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
29CONFIG_VECTORS_BASE=0xffff0000
30CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
31
32#
33# General setup
34#
35CONFIG_EXPERIMENTAL=y
36CONFIG_BROKEN_ON_SMP=y
37CONFIG_INIT_ENV_ARG_LIMIT=32
38CONFIG_LOCALVERSION=""
39CONFIG_LOCALVERSION_AUTO=y
40CONFIG_SWAP=y
41CONFIG_SYSVIPC=y
42CONFIG_SYSVIPC_SYSCTL=y
43# CONFIG_POSIX_MQUEUE is not set
44# CONFIG_BSD_PROCESS_ACCT is not set
45# CONFIG_TASKSTATS is not set
46# CONFIG_AUDIT is not set
47CONFIG_IKCONFIG=y
48CONFIG_IKCONFIG_PROC=y
49CONFIG_LOG_BUF_SHIFT=16
50# CONFIG_CGROUPS is not set
51CONFIG_GROUP_SCHED=y
52CONFIG_FAIR_GROUP_SCHED=y
53# CONFIG_RT_GROUP_SCHED is not set
54CONFIG_USER_SCHED=y
55# CONFIG_CGROUP_SCHED is not set
56# CONFIG_SYSFS_DEPRECATED_V2 is not set
57# CONFIG_RELAY is not set
58# CONFIG_NAMESPACES is not set
59# CONFIG_BLK_DEV_INITRD is not set
60# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
61CONFIG_SYSCTL=y
62CONFIG_EMBEDDED=y
63# CONFIG_UID16 is not set
64CONFIG_SYSCTL_SYSCALL=y
65CONFIG_KALLSYMS=y
66# CONFIG_KALLSYMS_ALL is not set
67# CONFIG_KALLSYMS_EXTRA_PASS is not set
68CONFIG_HOTPLUG=y
69CONFIG_PRINTK=y
70CONFIG_BUG=y
71CONFIG_ELF_CORE=y
72CONFIG_COMPAT_BRK=y
73CONFIG_BASE_FULL=y
74CONFIG_FUTEX=y
75CONFIG_ANON_INODES=y
76CONFIG_EPOLL=y
77CONFIG_SIGNALFD=y
78CONFIG_TIMERFD=y
79CONFIG_EVENTFD=y
80CONFIG_SHMEM=y
81CONFIG_VM_EVENT_COUNTERS=y
82CONFIG_SLAB=y
83# CONFIG_SLUB is not set
84# CONFIG_SLOB is not set
85# CONFIG_PROFILING is not set
86# CONFIG_MARKERS is not set
87CONFIG_HAVE_OPROFILE=y
88# CONFIG_KPROBES is not set
89# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
90# CONFIG_HAVE_IOREMAP_PROT is not set
91CONFIG_HAVE_KPROBES=y
92CONFIG_HAVE_KRETPROBES=y
93# CONFIG_HAVE_ARCH_TRACEHOOK is not set
94# CONFIG_HAVE_DMA_ATTRS is not set
95# CONFIG_USE_GENERIC_SMP_HELPERS is not set
96CONFIG_HAVE_CLK=y
97# CONFIG_PROC_PAGE_MONITOR is not set
98CONFIG_HAVE_GENERIC_DMA_COHERENT=y
99CONFIG_SLABINFO=y
100CONFIG_RT_MUTEXES=y
101# CONFIG_TINY_SHMEM is not set
102CONFIG_BASE_SMALL=0
103CONFIG_MODULES=y
104# CONFIG_MODULE_FORCE_LOAD is not set
105CONFIG_MODULE_UNLOAD=y
106CONFIG_MODULE_FORCE_UNLOAD=y
107# CONFIG_MODVERSIONS is not set
108# CONFIG_MODULE_SRCVERSION_ALL is not set
109CONFIG_KMOD=y
110CONFIG_BLOCK=y
111# CONFIG_LBD is not set
112# CONFIG_BLK_DEV_IO_TRACE is not set
113# CONFIG_LSF is not set
114# CONFIG_BLK_DEV_BSG is not set
115# CONFIG_BLK_DEV_INTEGRITY is not set
116
117#
118# IO Schedulers
119#
120CONFIG_IOSCHED_NOOP=y
121CONFIG_IOSCHED_AS=y
122CONFIG_IOSCHED_DEADLINE=y
123# CONFIG_IOSCHED_CFQ is not set
124CONFIG_DEFAULT_AS=y
125# CONFIG_DEFAULT_DEADLINE is not set
126# CONFIG_DEFAULT_CFQ is not set
127# CONFIG_DEFAULT_NOOP is not set
128CONFIG_DEFAULT_IOSCHED="anticipatory"
129CONFIG_CLASSIC_RCU=y
130
131#
132# System Type
133#
134# CONFIG_ARCH_AAEC2000 is not set
135# CONFIG_ARCH_INTEGRATOR is not set
136# CONFIG_ARCH_REALVIEW is not set
137# CONFIG_ARCH_VERSATILE is not set
138# CONFIG_ARCH_AT91 is not set
139# CONFIG_ARCH_CLPS7500 is not set
140# CONFIG_ARCH_CLPS711X is not set
141# CONFIG_ARCH_EBSA110 is not set
142# CONFIG_ARCH_EP93XX is not set
143# CONFIG_ARCH_FOOTBRIDGE is not set
144# CONFIG_ARCH_NETX is not set
145# CONFIG_ARCH_H720X is not set
146# CONFIG_ARCH_IMX is not set
147# CONFIG_ARCH_IOP13XX is not set
148# CONFIG_ARCH_IOP32X is not set
149# CONFIG_ARCH_IOP33X is not set
150# CONFIG_ARCH_IXP23XX is not set
151# CONFIG_ARCH_IXP2000 is not set
152# CONFIG_ARCH_IXP4XX is not set
153# CONFIG_ARCH_L7200 is not set
154# CONFIG_ARCH_KIRKWOOD is not set
155# CONFIG_ARCH_KS8695 is not set
156# CONFIG_ARCH_NS9XXX is not set
157# CONFIG_ARCH_LOKI is not set
158# CONFIG_ARCH_MV78XX0 is not set
159# CONFIG_ARCH_MXC is not set
160# CONFIG_ARCH_ORION5X is not set
161# CONFIG_ARCH_PNX4008 is not set
162CONFIG_ARCH_PXA=y
163# CONFIG_ARCH_RPC is not set
164# CONFIG_ARCH_SA1100 is not set
165# CONFIG_ARCH_S3C2410 is not set
166# CONFIG_ARCH_SHARK is not set
167# CONFIG_ARCH_LH7A40X is not set
168# CONFIG_ARCH_DAVINCI is not set
169# CONFIG_ARCH_OMAP is not set
170# CONFIG_ARCH_MSM7X00A is not set
171
172#
173# Intel PXA2xx/PXA3xx Implementations
174#
175# CONFIG_ARCH_GUMSTIX is not set
176# CONFIG_ARCH_LUBBOCK is not set
177# CONFIG_MACH_LOGICPD_PXA270 is not set
178# CONFIG_MACH_MAINSTONE is not set
179# CONFIG_ARCH_PXA_IDP is not set
180# CONFIG_PXA_SHARPSL is not set
181# CONFIG_ARCH_PXA_ESERIES is not set
182CONFIG_MACH_H5000=y
183# CONFIG_MACH_TRIZEPS4 is not set
184# CONFIG_MACH_EM_X270 is not set
185# CONFIG_MACH_COLIBRI is not set
186# CONFIG_MACH_ZYLONITE is not set
187# CONFIG_MACH_LITTLETON is not set
188# CONFIG_MACH_TAVOREVB is not set
189# CONFIG_MACH_SAAR is not set
190# CONFIG_MACH_ARMCORE is not set
191# CONFIG_MACH_MAGICIAN is not set
192# CONFIG_MACH_PCM027 is not set
193# CONFIG_ARCH_PXA_PALM is not set
194# CONFIG_PXA_EZX is not set
195CONFIG_PXA25x=y
196# CONFIG_PXA_PWM is not set
197
198#
199# Boot options
200#
201
202#
203# Power management
204#
205
206#
207# Processor Type
208#
209CONFIG_CPU_32=y
210CONFIG_CPU_XSCALE=y
211CONFIG_CPU_32v5=y
212CONFIG_CPU_ABRT_EV5T=y
213CONFIG_CPU_PABRT_NOIFAR=y
214CONFIG_CPU_CACHE_VIVT=y
215CONFIG_CPU_TLB_V4WBI=y
216CONFIG_CPU_CP15=y
217CONFIG_CPU_CP15_MMU=y
218
219#
220# Processor Features
221#
222CONFIG_ARM_THUMB=y
223# CONFIG_CPU_DCACHE_DISABLE is not set
224# CONFIG_OUTER_CACHE is not set
225# CONFIG_IWMMXT is not set
226CONFIG_XSCALE_PMU=y
227
228#
229# Bus support
230#
231# CONFIG_PCI_SYSCALL is not set
232# CONFIG_ARCH_SUPPORTS_MSI is not set
233# CONFIG_PCCARD is not set
234
235#
236# Kernel Features
237#
238CONFIG_TICK_ONESHOT=y
239# CONFIG_NO_HZ is not set
240# CONFIG_HIGH_RES_TIMERS is not set
241CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
242# CONFIG_PREEMPT is not set
243CONFIG_HZ=100
244CONFIG_AEABI=y
245CONFIG_OABI_COMPAT=y
246CONFIG_ARCH_FLATMEM_HAS_HOLES=y
247# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
248CONFIG_SELECT_MEMORY_MODEL=y
249CONFIG_FLATMEM_MANUAL=y
250# CONFIG_DISCONTIGMEM_MANUAL is not set
251# CONFIG_SPARSEMEM_MANUAL is not set
252CONFIG_FLATMEM=y
253CONFIG_FLAT_NODE_MEM_MAP=y
254# CONFIG_SPARSEMEM_STATIC is not set
255# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
256CONFIG_PAGEFLAGS_EXTENDED=y
257CONFIG_SPLIT_PTLOCK_CPUS=4096
258# CONFIG_RESOURCES_64BIT is not set
259CONFIG_ZONE_DMA_FLAG=1
260CONFIG_BOUNCE=y
261CONFIG_VIRT_TO_BUS=y
262CONFIG_ALIGNMENT_TRAP=y
263
264#
265# Boot options
266#
267CONFIG_ZBOOT_ROM_TEXT=0x0
268CONFIG_ZBOOT_ROM_BSS=0x0
269CONFIG_CMDLINE="keepinitrd"
270# CONFIG_XIP_KERNEL is not set
271CONFIG_KEXEC=y
272CONFIG_ATAGS_PROC=y
273
274#
275# CPU Frequency scaling
276#
277# CONFIG_CPU_FREQ is not set
278
279#
280# Floating point emulation
281#
282
283#
284# At least one emulation must be selected
285#
286CONFIG_FPE_NWFPE=y
287# CONFIG_FPE_NWFPE_XP is not set
288# CONFIG_FPE_FASTFPE is not set
289
290#
291# Userspace binary formats
292#
293CONFIG_BINFMT_ELF=y
294# CONFIG_BINFMT_AOUT is not set
295# CONFIG_BINFMT_MISC is not set
296
297#
298# Power management options
299#
300CONFIG_PM=y
301# CONFIG_PM_DEBUG is not set
302CONFIG_PM_SLEEP=y
303CONFIG_SUSPEND=y
304CONFIG_SUSPEND_FREEZER=y
305CONFIG_APM_EMULATION=y
306CONFIG_ARCH_SUSPEND_POSSIBLE=y
307CONFIG_NET=y
308
309#
310# Networking options
311#
312CONFIG_PACKET=y
313CONFIG_PACKET_MMAP=y
314CONFIG_UNIX=y
315# CONFIG_NET_KEY is not set
316CONFIG_INET=y
317CONFIG_IP_MULTICAST=y
318# CONFIG_IP_ADVANCED_ROUTER is not set
319CONFIG_IP_FIB_HASH=y
320CONFIG_IP_PNP=y
321# CONFIG_IP_PNP_DHCP is not set
322# CONFIG_IP_PNP_BOOTP is not set
323# CONFIG_IP_PNP_RARP is not set
324# CONFIG_NET_IPIP is not set
325# CONFIG_NET_IPGRE is not set
326# CONFIG_IP_MROUTE is not set
327# CONFIG_ARPD is not set
328# CONFIG_SYN_COOKIES is not set
329# CONFIG_INET_AH is not set
330# CONFIG_INET_ESP is not set
331# CONFIG_INET_IPCOMP is not set
332# CONFIG_INET_XFRM_TUNNEL is not set
333# CONFIG_INET_TUNNEL is not set
334# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
335# CONFIG_INET_XFRM_MODE_TUNNEL is not set
336# CONFIG_INET_XFRM_MODE_BEET is not set
337# CONFIG_INET_LRO is not set
338# CONFIG_INET_DIAG is not set
339# CONFIG_TCP_CONG_ADVANCED is not set
340CONFIG_TCP_CONG_CUBIC=y
341CONFIG_DEFAULT_TCP_CONG="cubic"
342# CONFIG_TCP_MD5SIG is not set
343# CONFIG_IPV6 is not set
344# CONFIG_NETWORK_SECMARK is not set
345# CONFIG_NETFILTER is not set
346# CONFIG_IP_DCCP is not set
347# CONFIG_IP_SCTP is not set
348# CONFIG_TIPC is not set
349# CONFIG_ATM is not set
350# CONFIG_BRIDGE is not set
351# CONFIG_VLAN_8021Q is not set
352# CONFIG_DECNET is not set
353# CONFIG_LLC2 is not set
354# CONFIG_IPX is not set
355# CONFIG_ATALK is not set
356# CONFIG_X25 is not set
357# CONFIG_LAPB is not set
358# CONFIG_ECONET is not set
359# CONFIG_WAN_ROUTER is not set
360# CONFIG_NET_SCHED is not set
361
362#
363# Network testing
364#
365# CONFIG_NET_PKTGEN is not set
366# CONFIG_HAMRADIO is not set
367# CONFIG_CAN is not set
368# CONFIG_IRDA is not set
369# CONFIG_BT is not set
370# CONFIG_AF_RXRPC is not set
371
372#
373# Wireless
374#
375# CONFIG_CFG80211 is not set
376# CONFIG_WIRELESS_EXT is not set
377# CONFIG_MAC80211 is not set
378# CONFIG_IEEE80211 is not set
379# CONFIG_RFKILL is not set
380# CONFIG_NET_9P is not set
381
382#
383# Device Drivers
384#
385
386#
387# Generic Driver Options
388#
389CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
390CONFIG_STANDALONE=y
391CONFIG_PREVENT_FIRMWARE_BUILD=y
392CONFIG_FW_LOADER=y
393CONFIG_FIRMWARE_IN_KERNEL=y
394CONFIG_EXTRA_FIRMWARE=""
395# CONFIG_DEBUG_DRIVER is not set
396# CONFIG_DEBUG_DEVRES is not set
397# CONFIG_SYS_HYPERVISOR is not set
398# CONFIG_CONNECTOR is not set
399CONFIG_MTD=y
400# CONFIG_MTD_DEBUG is not set
401# CONFIG_MTD_CONCAT is not set
402CONFIG_MTD_PARTITIONS=y
403# CONFIG_MTD_REDBOOT_PARTS is not set
404# CONFIG_MTD_CMDLINE_PARTS is not set
405# CONFIG_MTD_AFS_PARTS is not set
406# CONFIG_MTD_AR7_PARTS is not set
407
408#
409# User Modules And Translation Layers
410#
411# CONFIG_MTD_CHAR is not set
412CONFIG_MTD_BLKDEVS=y
413CONFIG_MTD_BLOCK=y
414# CONFIG_FTL is not set
415# CONFIG_NFTL is not set
416# CONFIG_INFTL is not set
417# CONFIG_RFD_FTL is not set
418# CONFIG_SSFDC is not set
419# CONFIG_MTD_OOPS is not set
420
421#
422# RAM/ROM/Flash chip drivers
423#
424CONFIG_MTD_CFI=y
425# CONFIG_MTD_JEDECPROBE is not set
426CONFIG_MTD_GEN_PROBE=y
427CONFIG_MTD_CFI_ADV_OPTIONS=y
428CONFIG_MTD_CFI_NOSWAP=y
429# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
430# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
431CONFIG_MTD_CFI_GEOMETRY=y
432CONFIG_MTD_MAP_BANK_WIDTH_1=y
433CONFIG_MTD_MAP_BANK_WIDTH_2=y
434CONFIG_MTD_MAP_BANK_WIDTH_4=y
435# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
436# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
437# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
438CONFIG_MTD_CFI_I1=y
439CONFIG_MTD_CFI_I2=y
440# CONFIG_MTD_CFI_I4 is not set
441# CONFIG_MTD_CFI_I8 is not set
442# CONFIG_MTD_OTP is not set
443CONFIG_MTD_CFI_INTELEXT=y
444# CONFIG_MTD_CFI_AMDSTD is not set
445# CONFIG_MTD_CFI_STAA is not set
446CONFIG_MTD_CFI_UTIL=y
447# CONFIG_MTD_RAM is not set
448# CONFIG_MTD_ROM is not set
449# CONFIG_MTD_ABSENT is not set
450# CONFIG_MTD_XIP is not set
451
452#
453# Mapping drivers for chip access
454#
455# CONFIG_MTD_COMPLEX_MAPPINGS is not set
456CONFIG_MTD_PHYSMAP=y
457CONFIG_MTD_PHYSMAP_START=0x8000000
458CONFIG_MTD_PHYSMAP_LEN=0x0
459CONFIG_MTD_PHYSMAP_BANKWIDTH=2
460# CONFIG_MTD_PXA2XX is not set
461# CONFIG_MTD_ARM_INTEGRATOR is not set
462# CONFIG_MTD_SHARP_SL is not set
463# CONFIG_MTD_PLATRAM is not set
464
465#
466# Self-contained MTD device drivers
467#
468# CONFIG_MTD_SLRAM is not set
469# CONFIG_MTD_PHRAM is not set
470# CONFIG_MTD_MTDRAM is not set
471# CONFIG_MTD_BLOCK2MTD is not set
472
473#
474# Disk-On-Chip Device Drivers
475#
476# CONFIG_MTD_DOC2000 is not set
477# CONFIG_MTD_DOC2001 is not set
478# CONFIG_MTD_DOC2001PLUS is not set
479# CONFIG_MTD_NAND is not set
480# CONFIG_MTD_ONENAND is not set
481
482#
483# UBI - Unsorted block images
484#
485# CONFIG_MTD_UBI is not set
486# CONFIG_PARPORT is not set
487CONFIG_BLK_DEV=y
488# CONFIG_BLK_DEV_COW_COMMON is not set
489# CONFIG_BLK_DEV_LOOP is not set
490# CONFIG_BLK_DEV_NBD is not set
491# CONFIG_BLK_DEV_RAM is not set
492# CONFIG_CDROM_PKTCDVD is not set
493# CONFIG_ATA_OVER_ETH is not set
494CONFIG_MISC_DEVICES=y
495# CONFIG_EEPROM_93CX6 is not set
496# CONFIG_ENCLOSURE_SERVICES is not set
497CONFIG_HAVE_IDE=y
498# CONFIG_IDE is not set
499
500#
501# SCSI device support
502#
503# CONFIG_RAID_ATTRS is not set
504# CONFIG_SCSI is not set
505# CONFIG_SCSI_DMA is not set
506# CONFIG_SCSI_NETLINK is not set
507# CONFIG_ATA is not set
508# CONFIG_MD is not set
509# CONFIG_NETDEVICES is not set
510# CONFIG_ISDN is not set
511
512#
513# Input device support
514#
515CONFIG_INPUT=y
516# CONFIG_INPUT_FF_MEMLESS is not set
517# CONFIG_INPUT_POLLDEV is not set
518
519#
520# Userland interfaces
521#
522# CONFIG_INPUT_MOUSEDEV is not set
523# CONFIG_INPUT_JOYDEV is not set
524# CONFIG_INPUT_EVDEV is not set
525# CONFIG_INPUT_EVBUG is not set
526# CONFIG_INPUT_APMPOWER is not set
527
528#
529# Input Device Drivers
530#
531# CONFIG_INPUT_KEYBOARD is not set
532# CONFIG_INPUT_MOUSE is not set
533# CONFIG_INPUT_JOYSTICK is not set
534# CONFIG_INPUT_TABLET is not set
535# CONFIG_INPUT_TOUCHSCREEN is not set
536# CONFIG_INPUT_MISC is not set
537
538#
539# Hardware I/O ports
540#
541# CONFIG_SERIO is not set
542# CONFIG_GAMEPORT is not set
543
544#
545# Character devices
546#
547CONFIG_VT=y
548CONFIG_CONSOLE_TRANSLATIONS=y
549CONFIG_VT_CONSOLE=y
550CONFIG_HW_CONSOLE=y
551# CONFIG_VT_HW_CONSOLE_BINDING is not set
552CONFIG_DEVKMEM=y
553# CONFIG_SERIAL_NONSTANDARD is not set
554
555#
556# Serial drivers
557#
558# CONFIG_SERIAL_8250 is not set
559
560#
561# Non-8250 serial port support
562#
563CONFIG_SERIAL_PXA=y
564CONFIG_SERIAL_PXA_CONSOLE=y
565CONFIG_SERIAL_CORE=y
566CONFIG_SERIAL_CORE_CONSOLE=y
567CONFIG_UNIX98_PTYS=y
568CONFIG_LEGACY_PTYS=y
569CONFIG_LEGACY_PTY_COUNT=32
570# CONFIG_IPMI_HANDLER is not set
571# CONFIG_HW_RANDOM is not set
572# CONFIG_NVRAM is not set
573# CONFIG_R3964 is not set
574# CONFIG_RAW_DRIVER is not set
575# CONFIG_TCG_TPM is not set
576# CONFIG_I2C is not set
577# CONFIG_SPI is not set
578CONFIG_ARCH_REQUIRE_GPIOLIB=y
579CONFIG_GPIOLIB=y
580# CONFIG_DEBUG_GPIO is not set
581# CONFIG_GPIO_SYSFS is not set
582
583#
584# I2C GPIO expanders:
585#
586
587#
588# PCI GPIO expanders:
589#
590
591#
592# SPI GPIO expanders:
593#
594# CONFIG_W1 is not set
595# CONFIG_POWER_SUPPLY is not set
596# CONFIG_HWMON is not set
597# CONFIG_WATCHDOG is not set
598
599#
600# Sonics Silicon Backplane
601#
602CONFIG_SSB_POSSIBLE=y
603# CONFIG_SSB is not set
604
605#
606# Multifunction device drivers
607#
608# CONFIG_MFD_CORE is not set
609# CONFIG_MFD_SM501 is not set
610# CONFIG_HTC_EGPIO is not set
611# CONFIG_HTC_PASIC3 is not set
612# CONFIG_MFD_TMIO is not set
613# CONFIG_MFD_T7L66XB is not set
614# CONFIG_MFD_TC6387XB is not set
615# CONFIG_MFD_TC6393XB is not set
616
617#
618# Multimedia devices
619#
620
621#
622# Multimedia core support
623#
624# CONFIG_VIDEO_DEV is not set
625# CONFIG_DVB_CORE is not set
626# CONFIG_VIDEO_MEDIA is not set
627
628#
629# Multimedia drivers
630#
631# CONFIG_DAB is not set
632
633#
634# Graphics support
635#
636# CONFIG_VGASTATE is not set
637# CONFIG_VIDEO_OUTPUT_CONTROL is not set
638# CONFIG_FB is not set
639# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
640
641#
642# Display device support
643#
644# CONFIG_DISPLAY_SUPPORT is not set
645
646#
647# Console display driver support
648#
649# CONFIG_VGA_CONSOLE is not set
650CONFIG_DUMMY_CONSOLE=y
651# CONFIG_SOUND is not set
652# CONFIG_HID_SUPPORT is not set
653CONFIG_USB_SUPPORT=y
654CONFIG_USB_ARCH_HAS_HCD=y
655# CONFIG_USB_ARCH_HAS_OHCI is not set
656# CONFIG_USB_ARCH_HAS_EHCI is not set
657# CONFIG_USB is not set
658# CONFIG_USB_OTG_WHITELIST is not set
659# CONFIG_USB_OTG_BLACKLIST_HUB is not set
660# CONFIG_USB_MUSB_HDRC is not set
661# CONFIG_USB_GADGET_MUSB_HDRC is not set
662
663#
664# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
665#
666CONFIG_USB_GADGET=y
667# CONFIG_USB_GADGET_DEBUG is not set
668# CONFIG_USB_GADGET_DEBUG_FILES is not set
669CONFIG_USB_GADGET_SELECTED=y
670# CONFIG_USB_GADGET_AMD5536UDC is not set
671# CONFIG_USB_GADGET_ATMEL_USBA is not set
672# CONFIG_USB_GADGET_FSL_USB2 is not set
673# CONFIG_USB_GADGET_NET2280 is not set
674CONFIG_USB_GADGET_PXA25X=y
675CONFIG_USB_PXA25X=y
676CONFIG_USB_PXA25X_SMALL=y
677# CONFIG_USB_GADGET_M66592 is not set
678# CONFIG_USB_GADGET_PXA27X is not set
679# CONFIG_USB_GADGET_GOKU is not set
680# CONFIG_USB_GADGET_LH7A40X is not set
681# CONFIG_USB_GADGET_OMAP is not set
682# CONFIG_USB_GADGET_S3C2410 is not set
683# CONFIG_USB_GADGET_AT91 is not set
684# CONFIG_USB_GADGET_DUMMY_HCD is not set
685# CONFIG_USB_GADGET_DUALSPEED is not set
686# CONFIG_USB_ZERO is not set
687CONFIG_USB_ETH=y
688# CONFIG_USB_ETH_RNDIS is not set
689# CONFIG_USB_GADGETFS is not set
690# CONFIG_USB_FILE_STORAGE is not set
691# CONFIG_USB_G_SERIAL is not set
692# CONFIG_USB_MIDI_GADGET is not set
693# CONFIG_USB_G_PRINTER is not set
694# CONFIG_USB_CDC_COMPOSITE is not set
695# CONFIG_MMC is not set
696# CONFIG_NEW_LEDS is not set
697CONFIG_RTC_LIB=y
698CONFIG_RTC_CLASS=y
699CONFIG_RTC_HCTOSYS=y
700CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
701# CONFIG_RTC_DEBUG is not set
702
703#
704# RTC interfaces
705#
706CONFIG_RTC_INTF_SYSFS=y
707CONFIG_RTC_INTF_PROC=y
708CONFIG_RTC_INTF_DEV=y
709# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
710# CONFIG_RTC_DRV_TEST is not set
711
712#
713# SPI RTC drivers
714#
715
716#
717# Platform RTC drivers
718#
719# CONFIG_RTC_DRV_CMOS is not set
720# CONFIG_RTC_DRV_DS1511 is not set
721# CONFIG_RTC_DRV_DS1553 is not set
722# CONFIG_RTC_DRV_DS1742 is not set
723# CONFIG_RTC_DRV_STK17TA8 is not set
724# CONFIG_RTC_DRV_M48T86 is not set
725# CONFIG_RTC_DRV_M48T59 is not set
726# CONFIG_RTC_DRV_V3020 is not set
727
728#
729# on-CPU RTC drivers
730#
731CONFIG_RTC_DRV_SA1100=y
732# CONFIG_DMADEVICES is not set
733
734#
735# Voltage and Current regulators
736#
737# CONFIG_REGULATOR is not set
738# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
739# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
740# CONFIG_REGULATOR_BQ24022 is not set
741# CONFIG_UIO is not set
742
743#
744# File systems
745#
746CONFIG_EXT2_FS=y
747# CONFIG_EXT2_FS_XATTR is not set
748# CONFIG_EXT2_FS_XIP is not set
749# CONFIG_EXT3_FS is not set
750# CONFIG_EXT4DEV_FS is not set
751# CONFIG_REISERFS_FS is not set
752# CONFIG_JFS_FS is not set
753# CONFIG_FS_POSIX_ACL is not set
754# CONFIG_XFS_FS is not set
755# CONFIG_OCFS2_FS is not set
756CONFIG_DNOTIFY=y
757CONFIG_INOTIFY=y
758CONFIG_INOTIFY_USER=y
759# CONFIG_QUOTA is not set
760# CONFIG_AUTOFS_FS is not set
761# CONFIG_AUTOFS4_FS is not set
762# CONFIG_FUSE_FS is not set
763
764#
765# CD-ROM/DVD Filesystems
766#
767# CONFIG_ISO9660_FS is not set
768# CONFIG_UDF_FS is not set
769
770#
771# DOS/FAT/NT Filesystems
772#
773# CONFIG_MSDOS_FS is not set
774# CONFIG_VFAT_FS is not set
775# CONFIG_NTFS_FS is not set
776
777#
778# Pseudo filesystems
779#
780CONFIG_PROC_FS=y
781CONFIG_PROC_SYSCTL=y
782CONFIG_SYSFS=y
783CONFIG_TMPFS=y
784# CONFIG_TMPFS_POSIX_ACL is not set
785# CONFIG_HUGETLB_PAGE is not set
786# CONFIG_CONFIGFS_FS is not set
787
788#
789# Miscellaneous filesystems
790#
791# CONFIG_ADFS_FS is not set
792# CONFIG_AFFS_FS is not set
793# CONFIG_HFS_FS is not set
794# CONFIG_HFSPLUS_FS is not set
795# CONFIG_BEFS_FS is not set
796# CONFIG_BFS_FS is not set
797# CONFIG_EFS_FS is not set
798CONFIG_JFFS2_FS=y
799CONFIG_JFFS2_FS_DEBUG=0
800CONFIG_JFFS2_FS_WRITEBUFFER=y
801# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
802# CONFIG_JFFS2_SUMMARY is not set
803# CONFIG_JFFS2_FS_XATTR is not set
804CONFIG_JFFS2_COMPRESSION_OPTIONS=y
805CONFIG_JFFS2_ZLIB=y
806# CONFIG_JFFS2_LZO is not set
807CONFIG_JFFS2_RTIME=y
808# CONFIG_JFFS2_RUBIN is not set
809# CONFIG_JFFS2_CMODE_NONE is not set
810CONFIG_JFFS2_CMODE_PRIORITY=y
811# CONFIG_JFFS2_CMODE_SIZE is not set
812# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
813# CONFIG_CRAMFS is not set
814# CONFIG_VXFS_FS is not set
815# CONFIG_MINIX_FS is not set
816# CONFIG_OMFS_FS is not set
817# CONFIG_HPFS_FS is not set
818# CONFIG_QNX4FS_FS is not set
819# CONFIG_ROMFS_FS is not set
820# CONFIG_SYSV_FS is not set
821# CONFIG_UFS_FS is not set
822# CONFIG_NETWORK_FILESYSTEMS is not set
823
824#
825# Partition Types
826#
827# CONFIG_PARTITION_ADVANCED is not set
828CONFIG_MSDOS_PARTITION=y
829# CONFIG_NLS is not set
830# CONFIG_DLM is not set
831
832#
833# Kernel hacking
834#
835CONFIG_PRINTK_TIME=y
836CONFIG_ENABLE_WARN_DEPRECATED=y
837CONFIG_ENABLE_MUST_CHECK=y
838CONFIG_FRAME_WARN=1024
839# CONFIG_MAGIC_SYSRQ is not set
840# CONFIG_UNUSED_SYMBOLS is not set
841# CONFIG_DEBUG_FS is not set
842# CONFIG_HEADERS_CHECK is not set
843CONFIG_DEBUG_KERNEL=y
844# CONFIG_DEBUG_SHIRQ is not set
845CONFIG_DETECT_SOFTLOCKUP=y
846# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
847CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
848# CONFIG_SCHED_DEBUG is not set
849# CONFIG_SCHEDSTATS is not set
850# CONFIG_TIMER_STATS is not set
851# CONFIG_DEBUG_OBJECTS is not set
852# CONFIG_DEBUG_SLAB is not set
853# CONFIG_DEBUG_RT_MUTEXES is not set
854# CONFIG_RT_MUTEX_TESTER is not set
855# CONFIG_DEBUG_SPINLOCK is not set
856# CONFIG_DEBUG_MUTEXES is not set
857# CONFIG_DEBUG_LOCK_ALLOC is not set
858# CONFIG_PROVE_LOCKING is not set
859# CONFIG_LOCK_STAT is not set
860# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
861# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
862# CONFIG_DEBUG_KOBJECT is not set
863# CONFIG_DEBUG_BUGVERBOSE is not set
864# CONFIG_DEBUG_INFO is not set
865# CONFIG_DEBUG_VM is not set
866# CONFIG_DEBUG_WRITECOUNT is not set
867# CONFIG_DEBUG_MEMORY_INIT is not set
868# CONFIG_DEBUG_LIST is not set
869# CONFIG_DEBUG_SG is not set
870CONFIG_FRAME_POINTER=y
871# CONFIG_BOOT_PRINTK_DELAY is not set
872# CONFIG_RCU_TORTURE_TEST is not set
873# CONFIG_BACKTRACE_SELF_TEST is not set
874# CONFIG_FAULT_INJECTION is not set
875# CONFIG_LATENCYTOP is not set
876CONFIG_SYSCTL_SYSCALL_CHECK=y
877CONFIG_HAVE_FTRACE=y
878CONFIG_HAVE_DYNAMIC_FTRACE=y
879# CONFIG_FTRACE is not set
880# CONFIG_IRQSOFF_TRACER is not set
881# CONFIG_SCHED_TRACER is not set
882# CONFIG_CONTEXT_SWITCH_TRACER is not set
883# CONFIG_SAMPLES is not set
884CONFIG_HAVE_ARCH_KGDB=y
885# CONFIG_KGDB is not set
886# CONFIG_DEBUG_USER is not set
887# CONFIG_DEBUG_ERRORS is not set
888# CONFIG_DEBUG_STACK_USAGE is not set
889# CONFIG_DEBUG_LL is not set
890
891#
892# Security options
893#
894# CONFIG_KEYS is not set
895# CONFIG_SECURITY is not set
896# CONFIG_SECURITY_FILE_CAPABILITIES is not set
897CONFIG_CRYPTO=y
898
899#
900# Crypto core or helper
901#
902CONFIG_CRYPTO_ALGAPI=y
903CONFIG_CRYPTO_HASH=y
904CONFIG_CRYPTO_MANAGER=y
905# CONFIG_CRYPTO_GF128MUL is not set
906# CONFIG_CRYPTO_NULL is not set
907# CONFIG_CRYPTO_CRYPTD is not set
908# CONFIG_CRYPTO_AUTHENC is not set
909# CONFIG_CRYPTO_TEST is not set
910
911#
912# Authenticated Encryption with Associated Data
913#
914# CONFIG_CRYPTO_CCM is not set
915# CONFIG_CRYPTO_GCM is not set
916# CONFIG_CRYPTO_SEQIV is not set
917
918#
919# Block modes
920#
921# CONFIG_CRYPTO_CBC is not set
922# CONFIG_CRYPTO_CTR is not set
923# CONFIG_CRYPTO_CTS is not set
924# CONFIG_CRYPTO_ECB is not set
925# CONFIG_CRYPTO_LRW is not set
926# CONFIG_CRYPTO_PCBC is not set
927# CONFIG_CRYPTO_XTS is not set
928
929#
930# Hash modes
931#
932CONFIG_CRYPTO_HMAC=y
933# CONFIG_CRYPTO_XCBC is not set
934
935#
936# Digest
937#
938# CONFIG_CRYPTO_CRC32C is not set
939# CONFIG_CRYPTO_MD4 is not set
940CONFIG_CRYPTO_MD5=y
941# CONFIG_CRYPTO_MICHAEL_MIC is not set
942# CONFIG_CRYPTO_RMD128 is not set
943# CONFIG_CRYPTO_RMD160 is not set
944# CONFIG_CRYPTO_RMD256 is not set
945# CONFIG_CRYPTO_RMD320 is not set
946CONFIG_CRYPTO_SHA1=y
947# CONFIG_CRYPTO_SHA256 is not set
948# CONFIG_CRYPTO_SHA512 is not set
949# CONFIG_CRYPTO_TGR192 is not set
950# CONFIG_CRYPTO_WP512 is not set
951
952#
953# Ciphers
954#
955# CONFIG_CRYPTO_AES is not set
956# CONFIG_CRYPTO_ANUBIS is not set
957# CONFIG_CRYPTO_ARC4 is not set
958# CONFIG_CRYPTO_BLOWFISH is not set
959# CONFIG_CRYPTO_CAMELLIA is not set
960# CONFIG_CRYPTO_CAST5 is not set
961# CONFIG_CRYPTO_CAST6 is not set
962CONFIG_CRYPTO_DES=y
963# CONFIG_CRYPTO_FCRYPT is not set
964# CONFIG_CRYPTO_KHAZAD is not set
965# CONFIG_CRYPTO_SALSA20 is not set
966# CONFIG_CRYPTO_SEED is not set
967# CONFIG_CRYPTO_SERPENT is not set
968# CONFIG_CRYPTO_TEA is not set
969# CONFIG_CRYPTO_TWOFISH is not set
970
971#
972# Compression
973#
974CONFIG_CRYPTO_DEFLATE=y
975# CONFIG_CRYPTO_LZO is not set
976# CONFIG_CRYPTO_HW is not set
977
978#
979# Library routines
980#
981CONFIG_BITREVERSE=y
982# CONFIG_GENERIC_FIND_FIRST_BIT is not set
983# CONFIG_GENERIC_FIND_NEXT_BIT is not set
984CONFIG_CRC_CCITT=y
985# CONFIG_CRC16 is not set
986# CONFIG_CRC_T10DIF is not set
987# CONFIG_CRC_ITU_T is not set
988CONFIG_CRC32=y
989# CONFIG_CRC7 is not set
990# CONFIG_LIBCRC32C is not set
991CONFIG_ZLIB_INFLATE=y
992CONFIG_ZLIB_DEFLATE=y
993CONFIG_PLIST=y
994CONFIG_HAS_IOMEM=y
995CONFIG_HAS_IOPORT=y
996CONFIG_HAS_DMA=y
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index c7fc05fe9758..8627e718a613 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -202,6 +202,10 @@ config MACH_E800
202config TRIZEPS_PXA 202config TRIZEPS_PXA
203 bool "PXA based Keith und Koep Trizeps DIMM-Modules" 203 bool "PXA based Keith und Koep Trizeps DIMM-Modules"
204 204
205config MACH_H5000
206 bool "HP iPAQ h5000"
207 select PXA25x
208
205config MACH_TRIZEPS4 209config MACH_TRIZEPS4
206 bool "Keith und Koep Trizeps4 DIMM-Module" 210 bool "Keith und Koep Trizeps4 DIMM-Module"
207 depends on TRIZEPS_PXA 211 depends on TRIZEPS_PXA
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
index d64c68b232e3..dc184eae5109 100644
--- a/arch/arm/mach-pxa/Makefile
+++ b/arch/arm/mach-pxa/Makefile
@@ -35,6 +35,7 @@ obj-$(CONFIG_MACH_MP900C) += mp900.o
35obj-$(CONFIG_ARCH_PXA_IDP) += idp.o 35obj-$(CONFIG_ARCH_PXA_IDP) += idp.o
36obj-$(CONFIG_MACH_TRIZEPS4) += trizeps4.o 36obj-$(CONFIG_MACH_TRIZEPS4) += trizeps4.o
37obj-$(CONFIG_MACH_COLIBRI) += colibri.o 37obj-$(CONFIG_MACH_COLIBRI) += colibri.o
38obj-$(CONFIG_MACH_H5000) += h5000.o
38obj-$(CONFIG_PXA_SHARP_C7xx) += corgi.o sharpsl_pm.o corgi_pm.o 39obj-$(CONFIG_PXA_SHARP_C7xx) += corgi.o sharpsl_pm.o corgi_pm.o
39obj-$(CONFIG_PXA_SHARP_Cxx00) += spitz.o sharpsl_pm.o spitz_pm.o 40obj-$(CONFIG_PXA_SHARP_Cxx00) += spitz.o sharpsl_pm.o spitz_pm.o
40obj-$(CONFIG_CORGI_SSP_DEPRECATED) += corgi_ssp.o corgi_lcd.o 41obj-$(CONFIG_CORGI_SSP_DEPRECATED) += corgi_ssp.o corgi_lcd.o
diff --git a/arch/arm/mach-pxa/h5000.c b/arch/arm/mach-pxa/h5000.c
new file mode 100644
index 000000000000..da6e4422c0f3
--- /dev/null
+++ b/arch/arm/mach-pxa/h5000.c
@@ -0,0 +1,200 @@
1/*
2 * Hardware definitions for HP iPAQ h5xxx Handheld Computers
3 *
4 * Copyright 2000-2003 Hewlett-Packard Company.
5 * Copyright 2002 Jamey Hicks <jamey.hicks@hp.com>
6 * Copyright 2004-2005 Phil Blundell <pb@handhelds.org>
7 * Copyright 2007-2008 Anton Vorontsov <cbouatmailru@gmail.com>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * COMPAQ COMPUTER CORPORATION MAKES NO WARRANTIES, EXPRESSED OR IMPLIED,
15 * AS TO THE USEFULNESS OR CORRECTNESS OF THIS CODE OR ITS
16 * FITNESS FOR ANY PARTICULAR PURPOSE.
17 *
18 * Author: Jamey Hicks.
19 */
20
21#include <linux/kernel.h>
22#include <linux/init.h>
23#include <linux/platform_device.h>
24#include <linux/mtd/mtd.h>
25#include <linux/mtd/partitions.h>
26#include <linux/mtd/physmap.h>
27#include <asm/mach-types.h>
28#include <asm/mach/arch.h>
29#include <asm/mach/map.h>
30#include <mach/h5000.h>
31#include <mach/pxa-regs.h>
32#include <mach/pxa2xx-regs.h>
33#include <mach/mfp-pxa25x.h>
34#include <mach/udc.h>
35#include "generic.h"
36
37/*
38 * Flash
39 */
40
41static struct mtd_partition h5000_flash0_partitions[] = {
42 {
43 .name = "bootldr",
44 .size = 0x00040000,
45 .offset = 0,
46 .mask_flags = MTD_WRITEABLE,
47 },
48 {
49 .name = "root",
50 .size = MTDPART_SIZ_FULL,
51 .offset = MTDPART_OFS_APPEND,
52 },
53};
54
55static struct mtd_partition h5000_flash1_partitions[] = {
56 {
57 .name = "second root",
58 .size = SZ_16M - 0x00040000,
59 .offset = 0,
60 },
61 {
62 .name = "asset",
63 .size = MTDPART_SIZ_FULL,
64 .offset = MTDPART_OFS_APPEND,
65 .mask_flags = MTD_WRITEABLE,
66 },
67};
68
69static struct physmap_flash_data h5000_flash0_data = {
70 .width = 4,
71 .parts = h5000_flash0_partitions,
72 .nr_parts = ARRAY_SIZE(h5000_flash0_partitions),
73};
74
75static struct physmap_flash_data h5000_flash1_data = {
76 .width = 4,
77 .parts = h5000_flash1_partitions,
78 .nr_parts = ARRAY_SIZE(h5000_flash1_partitions),
79};
80
81static struct resource h5000_flash0_resources = {
82 .start = PXA_CS0_PHYS,
83 .end = PXA_CS0_PHYS + SZ_32M - 1,
84 .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
85};
86
87static struct resource h5000_flash1_resources = {
88 .start = PXA_CS0_PHYS + SZ_32M,
89 .end = PXA_CS0_PHYS + SZ_32M + SZ_16M - 1,
90 .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
91};
92
93static struct platform_device h5000_flash[] = {
94 {
95 .name = "physmap-flash",
96 .id = 0,
97 .resource = &h5000_flash0_resources,
98 .num_resources = 1,
99 .dev = {
100 .platform_data = &h5000_flash0_data,
101 },
102 },
103 {
104 .name = "physmap-flash",
105 .id = 1,
106 .resource = &h5000_flash1_resources,
107 .num_resources = 1,
108 .dev = {
109 .platform_data = &h5000_flash1_data,
110 },
111 },
112};
113
114/*
115 * USB Device Controller
116 */
117
118static struct pxa2xx_udc_mach_info h5000_udc_mach_info __initdata = {
119 .gpio_pullup = H5000_GPIO_USB_PULLUP,
120};
121
122/*
123 * GPIO setup
124 */
125
126static unsigned long h5000_pin_config[] __initdata = {
127 /* Crystal and Clock Signals */
128 GPIO12_32KHz,
129
130 /* SDRAM and Static Memory I/O Signals */
131 GPIO15_nCS_1,
132 GPIO78_nCS_2,
133 GPIO79_nCS_3,
134 GPIO80_nCS_4,
135
136 /* FFUART */
137 GPIO34_FFUART_RXD,
138 GPIO35_FFUART_CTS,
139 GPIO36_FFUART_DCD,
140 GPIO37_FFUART_DSR,
141 GPIO38_FFUART_RI,
142 GPIO39_FFUART_TXD,
143 GPIO40_FFUART_DTR,
144 GPIO41_FFUART_RTS,
145
146 /* BTUART */
147 GPIO42_BTUART_RXD,
148 GPIO43_BTUART_TXD,
149 GPIO44_BTUART_CTS,
150 GPIO45_BTUART_RTS,
151
152 /* SSP1 */
153 GPIO23_SSP1_SCLK,
154 GPIO25_SSP1_TXD,
155 GPIO26_SSP1_RXD,
156};
157
158/*
159 * Localbus setup:
160 * CS0: Flash;
161 * CS1: MediaQ chip, select 16-bit bus and vlio;
162 * CS5: SAMCOP.
163 */
164
165static void fix_msc(void)
166{
167 MSC0 = 0x129c24f2;
168 MSC1 = 0x7ff424fa;
169 MSC2 = 0x7ff47ff4;
170
171 MDREFR |= 0x02080000;
172}
173
174/*
175 * Platform devices
176 */
177
178static struct platform_device *devices[] __initdata = {
179 &h5000_flash[0],
180 &h5000_flash[1],
181};
182
183static void __init h5000_init(void)
184{
185 fix_msc();
186
187 pxa2xx_mfp_config(ARRAY_AND_SIZE(h5000_pin_config));
188 pxa_set_udc_info(&h5000_udc_mach_info);
189 platform_add_devices(ARRAY_AND_SIZE(devices));
190}
191
192MACHINE_START(H5400, "HP iPAQ H5000")
193 .phys_io = 0x40000000,
194 .io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
195 .boot_params = 0xa0000100,
196 .map_io = pxa_map_io,
197 .init_irq = pxa25x_init_irq,
198 .timer = &pxa_timer,
199 .init_machine = h5000_init,
200MACHINE_END
diff --git a/arch/arm/mach-pxa/include/mach/h5000.h b/arch/arm/mach-pxa/include/mach/h5000.h
new file mode 100644
index 000000000000..2a5ae3802787
--- /dev/null
+++ b/arch/arm/mach-pxa/include/mach/h5000.h
@@ -0,0 +1,113 @@
1/*
2 * Hardware definitions for HP iPAQ h5xxx Handheld Computers
3 *
4 * Copyright(20)02 Hewlett-Packard Company.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * COMPAQ COMPUTER CORPORATION MAKES NO WARRANTIES, EXPRESSED OR IMPLIED,
12 * AS TO THE USEFULNESS OR CORRECTNESS OF THIS CODE OR ITS
13 * FITNESS FOR ANY PARTICULAR PURPOSE.
14 *
15 * Author: Jamey Hicks
16 */
17
18#ifndef __ASM_ARCH_H5000_H
19#define __ASM_ARCH_H5000_H
20
21#include <mach/mfp-pxa25x.h>
22
23/*
24 * CPU GPIOs
25 */
26
27#define H5000_GPIO_POWER_BUTTON (0)
28#define H5000_GPIO_RESET_BUTTON_N (1)
29#define H5000_GPIO_OPT_INT (2)
30#define H5000_GPIO_BACKUP_POWER (3)
31#define H5000_GPIO_ACTION_BUTTON (4)
32#define H5000_GPIO_COM_DCD_SOMETHING (5) /* what is this really ? */
33/* 6 not connected */
34#define H5000_GPIO_RESET_BUTTON_AGAIN_N (7) /* connected to gpio 1 as well */
35/* 8 not connected */
36#define H5000_GPIO_RSO_N (9) /* reset output from max1702 which regulates 3.3 and 2.5 */
37#define H5000_GPIO_ASIC_INT_N (10) /* from companion asic */
38#define H5000_GPIO_BT_ENV_0 (11) /* to LMX9814, set to 1 according to regdump */
39/*(12) not connected */
40#define H5000_GPIO_BT_ENV_1 (13) /* to LMX9814, set to 1 according to regdump */
41#define H5000_GPIO_BT_WU (14) /* from LMX9814, Defined as HOST_WAKEUP in the LMX9820 data sheet */
42/*(15) is CS1# */
43/*(16) not connected */
44/*(17) not connected */
45/*(18) is pcmcia ready */
46/*(19) is dreq1 */
47/*(20) is dreq0 */
48#define H5000_GPIO_OE_RD_NWR (21) /* output enable on rd/nwr signal to companion asic */
49/*(22) is not connected */
50#define H5000_GPIO_OPT_SPI_CLK (23) /* to extension pack */
51#define H5000_GPIO_OPT_SPI_CS_N (24) /* to extension pack */
52#define H5000_GPIO_OPT_SPI_DOUT (25) /* to extension pack */
53#define H5000_GPIO_OPT_SPI_DIN (26) /* to extension pack */
54/*(27) not connected */
55#define H5000_GPIO_I2S_BITCLK (28) /* connected to AC97 codec */
56#define H5000_GPIO_I2S_DATAOUT (29) /* connected to AC97 codec */
57#define H5000_GPIO_I2S_DATAIN (30) /* connected to AC97 codec */
58#define H5000_GPIO_I2S_LRCLK (31) /* connected to AC97 codec */
59#define H5000_GPIO_I2S_SYSCLK (32) /* connected to AC97 codec */
60/*(33) is CS5# */
61#define H5000_GPIO_COM_RXD (34) /* connected to cradle/cable connector */
62#define H5000_GPIO_COM_CTS (35) /* connected to cradle/cable connector */
63#define H5000_GPIO_COM_DCD (36) /* connected to cradle/cable connector */
64#define H5000_GPIO_COM_DSR (37) /* connected to cradle/cable connector */
65#define H5000_GPIO_COM_RI (38) /* connected to cradle/cable connector */
66#define H5000_GPIO_COM_TXD (39) /* connected to cradle/cable connector */
67#define H5000_GPIO_COM_DTR (40) /* connected to cradle/cable connector */
68#define H5000_GPIO_COM_RTS (41) /* connected to cradle/cable connector */
69
70#define H5000_GPIO_BT_RXD (42) /* connected to BT (LMX9814) */
71#define H5000_GPIO_BT_TXD (43) /* connected to BT (LMX9814) */
72#define H5000_GPIO_BT_CTS (44) /* connected to BT (LMX9814) */
73#define H5000_GPIO_BT_RTS (45) /* connected to BT (LMX9814) */
74
75#define H5000_GPIO_IRDA_RXD (46)
76#define H5000_GPIO_IRDA_TXD (47)
77
78#define H5000_GPIO_POE_N (48) /* used for pcmcia */
79#define H5000_GPIO_PWE_N (49) /* used for pcmcia */
80#define H5000_GPIO_PIOR_N (50) /* used for pcmcia */
81#define H5000_GPIO_PIOW_N (51) /* used for pcmcia */
82#define H5000_GPIO_PCE1_N (52) /* used for pcmcia */
83#define H5000_GPIO_PCE2_N (53) /* used for pcmcia */
84#define H5000_GPIO_PSKTSEL (54) /* used for pcmcia */
85#define H5000_GPIO_PREG_N (55) /* used for pcmcia */
86#define H5000_GPIO_PWAIT_N (56) /* used for pcmcia */
87#define H5000_GPIO_IOIS16_N (57) /* used for pcmcia */
88
89#define H5000_GPIO_IRDA_SD (58) /* to hsdl3002 sd */
90/*(59) not connected */
91#define H5000_GPIO_POWER_SD_N (60) /* controls power to SD */
92#define H5000_GPIO_POWER_RS232_N (61) /* inverted FORCEON to rs232 transceiver */
93#define H5000_GPIO_POWER_ACCEL_N (62) /* controls power to accel */
94/*(63) is not connected */
95#define H5000_GPIO_OPT_NVRAM (64) /* controls power to expansion pack */
96#define H5000_GPIO_CHG_EN (65) /* to sc801 en */
97#define H5000_GPIO_USB_PULLUP (66) /* USB d+ pullup via 1.5K resistor */
98#define H5000_GPIO_BT_2V8_N (67) /* 2.8V used by bluetooth */
99#define H5000_GPIO_EXT_CHG_RATE (68) /* enables external charging rate */
100/*(69) is not connected */
101#define H5000_GPIO_CIR_RESET (70) /* consumer IR reset */
102#define H5000_GPIO_POWER_LIGHT_SENSOR_N (71)
103#define H5000_GPIO_BT_M_RESET (72)
104#define H5000_GPIO_STD_CHG_RATE (73)
105#define H5000_GPIO_SD_WP_N (74)
106#define H5000_GPIO_MOTOR_ON_N (75) /* external pullup on this */
107#define H5000_GPIO_HEADPHONE_DETECT (76)
108#define H5000_GPIO_USB_CHG_RATE (77) /* select rate for charging via usb */
109/*(78) is CS2# */
110/*(79) is CS3# */
111/*(80) is CS4# */
112
113#endif /* __ASM_ARCH_H5000_H */