aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/configs/am3517_evm_defconfig1207
-rw-r--r--arch/arm/configs/cm_t35_defconfig1733
-rw-r--r--arch/arm/configs/htcherald_defconfig1142
-rw-r--r--arch/arm/configs/igep0020_defconfig1554
-rw-r--r--arch/arm/configs/omap3_beagle_defconfig4
-rw-r--r--arch/arm/configs/omap3_defconfig2119
-rw-r--r--arch/arm/configs/omap3_evm_defconfig22
-rw-r--r--arch/arm/configs/omap3_pandora_defconfig5
-rw-r--r--arch/arm/configs/omap_3430sdp_defconfig998
-rw-r--r--arch/arm/configs/omap_3630sdp_defconfig1611
-rw-r--r--arch/arm/configs/omap_4430sdp_defconfig4
-rw-r--r--arch/arm/configs/omap_ldp_defconfig4
-rw-r--r--arch/arm/configs/omap_zoom2_defconfig7
-rw-r--r--arch/arm/configs/omap_zoom3_defconfig1610
-rw-r--r--arch/arm/configs/overo_defconfig4
-rw-r--r--arch/arm/configs/rx51_defconfig2
-rw-r--r--arch/arm/mach-omap1/Kconfig7
-rw-r--r--arch/arm/mach-omap1/Makefile1
-rw-r--r--arch/arm/mach-omap1/board-ams-delta.c12
-rw-r--r--arch/arm/mach-omap1/board-fsample.c32
-rw-r--r--arch/arm/mach-omap1/board-generic.c8
-rw-r--r--arch/arm/mach-omap1/board-h2-mmc.c2
-rw-r--r--arch/arm/mach-omap1/board-h2.c16
-rw-r--r--arch/arm/mach-omap1/board-h3-mmc.c2
-rw-r--r--arch/arm/mach-omap1/board-h3.c14
-rw-r--r--arch/arm/mach-omap1/board-htcherald.c247
-rw-r--r--arch/arm/mach-omap1/board-innovator.c14
-rw-r--r--arch/arm/mach-omap1/board-nokia770.c22
-rw-r--r--arch/arm/mach-omap1/board-osk.c10
-rw-r--r--arch/arm/mach-omap1/board-palmte.c16
-rw-r--r--arch/arm/mach-omap1/board-palmtt.c18
-rw-r--r--arch/arm/mach-omap1/board-palmz71.c18
-rw-r--r--arch/arm/mach-omap1/board-perseus2.c32
-rw-r--r--arch/arm/mach-omap1/board-sx1-mmc.c4
-rw-r--r--arch/arm/mach-omap1/board-sx1.c18
-rw-r--r--arch/arm/mach-omap1/board-voiceblue.c8
-rw-r--r--arch/arm/mach-omap1/clock.c38
-rw-r--r--arch/arm/mach-omap1/clock.h22
-rw-r--r--arch/arm/mach-omap1/devices.c23
-rw-r--r--arch/arm/mach-omap1/fpga.c2
-rw-r--r--arch/arm/mach-omap1/id.c2
-rw-r--r--arch/arm/mach-omap1/include/mach/clkdev.h5
-rw-r--r--arch/arm/mach-omap1/include/mach/debug-macro.S45
-rw-r--r--arch/arm/mach-omap1/include/mach/entry-macro.S58
-rw-r--r--arch/arm/mach-omap1/include/mach/gpio.h5
-rw-r--r--arch/arm/mach-omap1/include/mach/hardware.h5
-rw-r--r--arch/arm/mach-omap1/include/mach/io.h5
-rw-r--r--arch/arm/mach-omap1/include/mach/irqs.h5
-rw-r--r--arch/arm/mach-omap1/include/mach/memory.h5
-rw-r--r--arch/arm/mach-omap1/include/mach/mtd-xip.h (renamed from arch/arm/plat-omap/include/mach/mtd-xip.h)0
-rw-r--r--arch/arm/mach-omap1/include/mach/smp.h5
-rw-r--r--arch/arm/mach-omap1/include/mach/system.h5
-rw-r--r--arch/arm/mach-omap1/include/mach/timex.h5
-rw-r--r--arch/arm/mach-omap1/include/mach/uncompress.h5
-rw-r--r--arch/arm/mach-omap1/include/mach/vmalloc.h20
-rw-r--r--arch/arm/mach-omap1/io.c49
-rw-r--r--arch/arm/mach-omap1/irq.c34
-rw-r--r--arch/arm/mach-omap1/leds-h2p2-debug.c2
-rw-r--r--arch/arm/mach-omap1/leds.c2
-rw-r--r--arch/arm/mach-omap1/mailbox.c2
-rw-r--r--arch/arm/mach-omap1/mcbsp.c42
-rw-r--r--arch/arm/mach-omap1/mux.c77
-rw-r--r--arch/arm/mach-omap1/pm.c114
-rw-r--r--arch/arm/mach-omap1/pm.h53
-rw-r--r--arch/arm/mach-omap1/serial.c32
-rw-r--r--arch/arm/mach-omap1/sleep.S22
-rw-r--r--arch/arm/mach-omap1/timer32k.c2
-rw-r--r--arch/arm/mach-omap2/Kconfig20
-rw-r--r--arch/arm/mach-omap2/Makefile21
-rw-r--r--arch/arm/mach-omap2/board-2430sdp.c14
-rw-r--r--arch/arm/mach-omap2/board-3430sdp.c33
-rwxr-xr-xarch/arm/mach-omap2/board-3630sdp.c101
-rw-r--r--arch/arm/mach-omap2/board-4430sdp.c23
-rw-r--r--arch/arm/mach-omap2/board-am3517evm.c86
-rw-r--r--arch/arm/mach-omap2/board-apollon.c16
-rw-r--r--arch/arm/mach-omap2/board-cm-t35.c507
-rw-r--r--arch/arm/mach-omap2/board-generic.c10
-rw-r--r--arch/arm/mach-omap2/board-h4.c20
-rw-r--r--arch/arm/mach-omap2/board-igep0020.c251
-rw-r--r--arch/arm/mach-omap2/board-ldp.c14
-rw-r--r--arch/arm/mach-omap2/board-n8x0.c16
-rw-r--r--arch/arm/mach-omap2/board-omap3beagle.c29
-rw-r--r--arch/arm/mach-omap2/board-omap3evm.c179
-rw-r--r--arch/arm/mach-omap2/board-omap3pandora.c25
-rw-r--r--arch/arm/mach-omap2/board-overo.c37
-rw-r--r--arch/arm/mach-omap2/board-rx51-peripherals.c179
-rw-r--r--arch/arm/mach-omap2/board-rx51-sdram.c221
-rw-r--r--arch/arm/mach-omap2/board-rx51.c23
-rw-r--r--arch/arm/mach-omap2/board-zoom-debugboard.c72
-rwxr-xr-xarch/arm/mach-omap2/board-zoom-peripherals.c267
-rw-r--r--arch/arm/mach-omap2/board-zoom2.c230
-rw-r--r--arch/arm/mach-omap2/board-zoom3.c59
-rw-r--r--arch/arm/mach-omap2/clock.c10
-rw-r--r--arch/arm/mach-omap2/clock.h2
-rw-r--r--arch/arm/mach-omap2/clock24xx.c8
-rw-r--r--arch/arm/mach-omap2/clock34xx.c8
-rw-r--r--arch/arm/mach-omap2/clock34xx.h2
-rw-r--r--arch/arm/mach-omap2/clockdomain.c6
-rw-r--r--arch/arm/mach-omap2/clockdomains.h2
-rw-r--r--arch/arm/mach-omap2/cm.h6
-rw-r--r--arch/arm/mach-omap2/control.c385
-rw-r--r--arch/arm/mach-omap2/cpuidle34xx.c318
-rw-r--r--arch/arm/mach-omap2/devices.c56
-rw-r--r--arch/arm/mach-omap2/gpmc-onenand.c6
-rw-r--r--arch/arm/mach-omap2/gpmc-smc91x.c6
-rw-r--r--arch/arm/mach-omap2/gpmc.c102
-rw-r--r--arch/arm/mach-omap2/id.c165
-rw-r--r--arch/arm/mach-omap2/include/mach/board-zoom.h5
-rw-r--r--arch/arm/mach-omap2/include/mach/clkdev.h5
-rw-r--r--arch/arm/mach-omap2/include/mach/debug-macro.S (renamed from arch/arm/plat-omap/include/mach/debug-macro.S)19
-rw-r--r--arch/arm/mach-omap2/include/mach/entry-macro.S (renamed from arch/arm/plat-omap/include/mach/entry-macro.S)62
-rw-r--r--arch/arm/mach-omap2/include/mach/gpio.h5
-rw-r--r--arch/arm/mach-omap2/include/mach/hardware.h5
-rw-r--r--arch/arm/mach-omap2/include/mach/io.h5
-rw-r--r--arch/arm/mach-omap2/include/mach/irqs.h5
-rw-r--r--arch/arm/mach-omap2/include/mach/memory.h5
-rw-r--r--arch/arm/mach-omap2/include/mach/smp.h5
-rw-r--r--arch/arm/mach-omap2/include/mach/system.h5
-rw-r--r--arch/arm/mach-omap2/include/mach/timex.h5
-rw-r--r--arch/arm/mach-omap2/include/mach/uncompress.h5
-rw-r--r--arch/arm/mach-omap2/include/mach/vmalloc.h (renamed from arch/arm/plat-omap/include/mach/vmalloc.h)3
-rw-r--r--arch/arm/mach-omap2/io.c38
-rw-r--r--arch/arm/mach-omap2/iommu2.c2
-rw-r--r--arch/arm/mach-omap2/irq.c78
-rw-r--r--arch/arm/mach-omap2/mailbox.c142
-rw-r--r--arch/arm/mach-omap2/mcbsp.c8
-rw-r--r--arch/arm/mach-omap2/mmc-twl4030.c23
-rw-r--r--arch/arm/mach-omap2/mux.c19
-rw-r--r--arch/arm/mach-omap2/omap-smp.c29
-rw-r--r--arch/arm/mach-omap2/omap3-iommu.c64
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.c28
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_2420.h6
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_2430.h6
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_34xx.h6
-rw-r--r--arch/arm/mach-omap2/pm-debug.c40
-rw-r--r--arch/arm/mach-omap2/pm.h16
-rw-r--r--arch/arm/mach-omap2/pm24xx.c16
-rw-r--r--arch/arm/mach-omap2/pm34xx.c419
-rw-r--r--arch/arm/mach-omap2/powerdomain.c6
-rw-r--r--arch/arm/mach-omap2/powerdomains.h2
-rw-r--r--arch/arm/mach-omap2/powerdomains24xx.h2
-rw-r--r--arch/arm/mach-omap2/powerdomains34xx.h10
-rw-r--r--arch/arm/mach-omap2/prcm.c411
-rw-r--r--arch/arm/mach-omap2/prm-regbits-34xx.h2
-rw-r--r--arch/arm/mach-omap2/prm.h6
-rw-r--r--arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h51
-rw-r--r--arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h2
-rw-r--r--arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h2
-rw-r--r--arch/arm/mach-omap2/sdrc.c35
-rw-r--r--arch/arm/mach-omap2/sdrc.h11
-rw-r--r--arch/arm/mach-omap2/sdrc2xxx.c8
-rw-r--r--arch/arm/mach-omap2/serial.c30
-rw-r--r--arch/arm/mach-omap2/sleep24xx.S2
-rw-r--r--arch/arm/mach-omap2/sleep34xx.S220
-rw-r--r--arch/arm/mach-omap2/sram242x.S4
-rw-r--r--arch/arm/mach-omap2/sram243x.S4
-rw-r--r--arch/arm/mach-omap2/timer-gp.c7
-rw-r--r--arch/arm/mach-omap2/usb-ehci.c192
-rw-r--r--arch/arm/mach-omap2/usb-musb.c4
-rw-r--r--arch/arm/mach-omap2/usb-tusb6010.c4
-rw-r--r--arch/arm/plat-omap/Kconfig5
-rw-r--r--arch/arm/plat-omap/clock.c2
-rw-r--r--arch/arm/plat-omap/common.c59
-rw-r--r--arch/arm/plat-omap/cpu-omap.c2
-rw-r--r--arch/arm/plat-omap/debug-devices.c2
-rw-r--r--arch/arm/plat-omap/debug-leds.c2
-rw-r--r--arch/arm/plat-omap/devices.c38
-rw-r--r--arch/arm/plat-omap/dma.c86
-rw-r--r--arch/arm/plat-omap/dmtimer.c18
-rw-r--r--arch/arm/plat-omap/fb.c6
-rw-r--r--arch/arm/plat-omap/gpio.c549
-rw-r--r--arch/arm/plat-omap/i2c.c2
-rw-r--r--arch/arm/plat-omap/include/plat/blizzard.h (renamed from arch/arm/plat-omap/include/mach/blizzard.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/board-ams-delta.h (renamed from arch/arm/plat-omap/include/mach/board-ams-delta.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/board-sx1.h (renamed from arch/arm/plat-omap/include/mach/board-sx1.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/board-voiceblue.h (renamed from arch/arm/plat-omap/include/mach/board-voiceblue.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/board.h (renamed from arch/arm/plat-omap/include/mach/board.h)20
-rw-r--r--arch/arm/plat-omap/include/plat/clkdev.h (renamed from arch/arm/plat-omap/include/mach/clkdev.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/clock.h (renamed from arch/arm/plat-omap/include/mach/clock.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/clockdomain.h (renamed from arch/arm/plat-omap/include/mach/clockdomain.h)6
-rw-r--r--arch/arm/plat-omap/include/plat/common.h (renamed from arch/arm/plat-omap/include/mach/common.h)3
-rw-r--r--arch/arm/plat-omap/include/plat/control.h (renamed from arch/arm/plat-omap/include/mach/control.h)114
-rw-r--r--arch/arm/plat-omap/include/plat/cpu.h (renamed from arch/arm/plat-omap/include/mach/cpu.h)91
-rw-r--r--arch/arm/plat-omap/include/plat/dma.h (renamed from arch/arm/plat-omap/include/mach/dma.h)5
-rw-r--r--arch/arm/plat-omap/include/plat/dmtimer.h (renamed from arch/arm/plat-omap/include/mach/dmtimer.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/dsp_common.h (renamed from arch/arm/plat-omap/include/mach/dsp_common.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/fpga.h (renamed from arch/arm/plat-omap/include/mach/fpga.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/gpio-switch.h (renamed from arch/arm/plat-omap/include/mach/gpio-switch.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/gpio.h (renamed from arch/arm/plat-omap/include/mach/gpio.h)3
-rw-r--r--arch/arm/plat-omap/include/plat/gpmc-smc91x.h (renamed from arch/arm/plat-omap/include/mach/gpmc-smc91x.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/gpmc.h (renamed from arch/arm/plat-omap/include/mach/gpmc.h)3
-rw-r--r--arch/arm/plat-omap/include/plat/hardware.h (renamed from arch/arm/plat-omap/include/mach/hardware.h)16
-rw-r--r--arch/arm/plat-omap/include/plat/hwa742.h (renamed from arch/arm/plat-omap/include/mach/hwa742.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/io.h (renamed from arch/arm/plat-omap/include/mach/io.h)124
-rw-r--r--arch/arm/plat-omap/include/plat/iommu.h (renamed from arch/arm/plat-omap/include/mach/iommu.h)2
-rw-r--r--arch/arm/plat-omap/include/plat/iommu2.h (renamed from arch/arm/plat-omap/include/mach/iommu2.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/iovmm.h (renamed from arch/arm/plat-omap/include/mach/iovmm.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/irda.h (renamed from arch/arm/plat-omap/include/mach/irda.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/irqs.h (renamed from arch/arm/plat-omap/include/mach/irqs.h)234
-rw-r--r--arch/arm/plat-omap/include/plat/keypad.h (renamed from arch/arm/plat-omap/include/mach/keypad.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/lcd_mipid.h (renamed from arch/arm/plat-omap/include/mach/lcd_mipid.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/led.h (renamed from arch/arm/plat-omap/include/mach/led.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/mailbox.h (renamed from arch/arm/plat-omap/include/mach/mailbox.h)23
-rw-r--r--arch/arm/plat-omap/include/plat/mcbsp.h (renamed from arch/arm/plat-omap/include/mach/mcbsp.h)8
-rw-r--r--arch/arm/plat-omap/include/plat/mcspi.h (renamed from arch/arm/plat-omap/include/mach/mcspi.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/memory.h (renamed from arch/arm/plat-omap/include/mach/memory.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/menelaus.h (renamed from arch/arm/plat-omap/include/mach/menelaus.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/mmc.h (renamed from arch/arm/plat-omap/include/mach/mmc.h)2
-rw-r--r--arch/arm/plat-omap/include/plat/mux.h (renamed from arch/arm/plat-omap/include/mach/mux.h)114
-rw-r--r--arch/arm/plat-omap/include/plat/nand.h (renamed from arch/arm/plat-omap/include/mach/nand.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/omap-alsa.h (renamed from arch/arm/plat-omap/include/mach/omap-alsa.h)4
-rw-r--r--arch/arm/plat-omap/include/plat/omap-pm.h (renamed from arch/arm/plat-omap/include/mach/omap-pm.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/omap1510.h (renamed from arch/arm/plat-omap/include/mach/omap1510.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/omap16xx.h (renamed from arch/arm/plat-omap/include/mach/omap16xx.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/omap24xx.h (renamed from arch/arm/plat-omap/include/mach/omap24xx.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/omap34xx.h (renamed from arch/arm/plat-omap/include/mach/omap34xx.h)11
-rw-r--r--arch/arm/plat-omap/include/plat/omap44xx.h (renamed from arch/arm/plat-omap/include/mach/omap44xx.h)10
-rw-r--r--arch/arm/plat-omap/include/plat/omap730.h (renamed from arch/arm/plat-omap/include/mach/omap730.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/omap7xx.h104
-rw-r--r--arch/arm/plat-omap/include/plat/omap850.h (renamed from arch/arm/plat-omap/include/mach/omap850.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/omap_device.h (renamed from arch/arm/plat-omap/include/mach/omap_device.h)2
-rw-r--r--arch/arm/plat-omap/include/plat/omap_hwmod.h (renamed from arch/arm/plat-omap/include/mach/omap_hwmod.h)2
-rw-r--r--arch/arm/plat-omap/include/plat/omapfb.h (renamed from arch/arm/plat-omap/include/mach/omapfb.h)2
-rw-r--r--arch/arm/plat-omap/include/plat/onenand.h (renamed from arch/arm/plat-omap/include/mach/onenand.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/param.h (renamed from arch/arm/plat-omap/include/mach/param.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/powerdomain.h (renamed from arch/arm/plat-omap/include/mach/powerdomain.h)2
-rw-r--r--arch/arm/plat-omap/include/plat/prcm.h (renamed from arch/arm/plat-omap/include/mach/prcm.h)6
-rw-r--r--arch/arm/plat-omap/include/plat/sdrc.h (renamed from arch/arm/plat-omap/include/mach/sdrc.h)14
-rw-r--r--arch/arm/plat-omap/include/plat/serial.h (renamed from arch/arm/plat-omap/include/mach/serial.h)4
-rw-r--r--arch/arm/plat-omap/include/plat/smp.h (renamed from arch/arm/plat-omap/include/mach/smp.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/sram.h (renamed from arch/arm/plat-omap/include/mach/sram.h)7
-rw-r--r--arch/arm/plat-omap/include/plat/system.h (renamed from arch/arm/plat-omap/include/mach/system.h)2
-rw-r--r--arch/arm/plat-omap/include/plat/tc.h (renamed from arch/arm/plat-omap/include/mach/tc.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/timer-gp.h (renamed from arch/arm/plat-omap/include/mach/timer-gp.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/timex.h (renamed from arch/arm/plat-omap/include/mach/timex.h)0
-rw-r--r--arch/arm/plat-omap/include/plat/uncompress.h (renamed from arch/arm/plat-omap/include/mach/uncompress.h)11
-rw-r--r--arch/arm/plat-omap/include/plat/usb.h (renamed from arch/arm/plat-omap/include/mach/usb.h)19
-rw-r--r--arch/arm/plat-omap/io.c44
-rw-r--r--arch/arm/plat-omap/iommu-debug.c4
-rw-r--r--arch/arm/plat-omap/iommu.c2
-rw-r--r--arch/arm/plat-omap/iovmm.c19
-rw-r--r--arch/arm/plat-omap/mailbox.c284
-rw-r--r--arch/arm/plat-omap/mcbsp.c10
-rw-r--r--arch/arm/plat-omap/mux.c2
-rw-r--r--arch/arm/plat-omap/omap-pm-noop.c4
-rw-r--r--arch/arm/plat-omap/omap_device.c54
-rw-r--r--arch/arm/plat-omap/sram.c40
-rw-r--r--arch/arm/plat-omap/usb.c38
248 files changed, 18179 insertions, 2908 deletions
diff --git a/arch/arm/configs/am3517_evm_defconfig b/arch/arm/configs/am3517_evm_defconfig
new file mode 100644
index 000000000000..ad54e92dd436
--- /dev/null
+++ b/arch/arm/configs/am3517_evm_defconfig
@@ -0,0 +1,1207 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.32-rc5
4# Wed Oct 28 15:47:47 2009
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_GENERIC_HARDIRQS=y
12CONFIG_STACKTRACE_SUPPORT=y
13CONFIG_HAVE_LATENCYTOP_SUPPORT=y
14CONFIG_LOCKDEP_SUPPORT=y
15CONFIG_TRACE_IRQFLAGS_SUPPORT=y
16CONFIG_HARDIRQS_SW_RESEND=y
17CONFIG_GENERIC_IRQ_PROBE=y
18CONFIG_RWSEM_GENERIC_SPINLOCK=y
19CONFIG_ARCH_HAS_CPUFREQ=y
20CONFIG_GENERIC_HWEIGHT=y
21CONFIG_GENERIC_CALIBRATE_DELAY=y
22CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
23CONFIG_VECTORS_BASE=0xffff0000
24CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
25CONFIG_CONSTRUCTORS=y
26
27#
28# General setup
29#
30CONFIG_EXPERIMENTAL=y
31CONFIG_BROKEN_ON_SMP=y
32CONFIG_INIT_ENV_ARG_LIMIT=32
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35CONFIG_SWAP=y
36CONFIG_SYSVIPC=y
37CONFIG_SYSVIPC_SYSCTL=y
38# CONFIG_POSIX_MQUEUE is not set
39CONFIG_BSD_PROCESS_ACCT=y
40# CONFIG_BSD_PROCESS_ACCT_V3 is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_AUDIT is not set
43
44#
45# RCU Subsystem
46#
47CONFIG_TREE_RCU=y
48# CONFIG_TREE_PREEMPT_RCU is not set
49# CONFIG_RCU_TRACE is not set
50CONFIG_RCU_FANOUT=32
51# CONFIG_RCU_FANOUT_EXACT is not set
52# CONFIG_TREE_RCU_TRACE is not set
53# CONFIG_IKCONFIG is not set
54CONFIG_LOG_BUF_SHIFT=14
55CONFIG_GROUP_SCHED=y
56CONFIG_FAIR_GROUP_SCHED=y
57# CONFIG_RT_GROUP_SCHED is not set
58CONFIG_USER_SCHED=y
59# CONFIG_CGROUP_SCHED is not set
60# CONFIG_CGROUPS is not set
61CONFIG_SYSFS_DEPRECATED=y
62CONFIG_SYSFS_DEPRECATED_V2=y
63# CONFIG_RELAY is not set
64# CONFIG_NAMESPACES is not set
65CONFIG_BLK_DEV_INITRD=y
66CONFIG_INITRAMFS_SOURCE=""
67CONFIG_RD_GZIP=y
68# CONFIG_RD_BZIP2 is not set
69# CONFIG_RD_LZMA is not set
70CONFIG_CC_OPTIMIZE_FOR_SIZE=y
71CONFIG_SYSCTL=y
72CONFIG_ANON_INODES=y
73CONFIG_EMBEDDED=y
74CONFIG_UID16=y
75# CONFIG_SYSCTL_SYSCALL is not set
76CONFIG_KALLSYMS=y
77# CONFIG_KALLSYMS_ALL is not set
78CONFIG_KALLSYMS_EXTRA_PASS=y
79CONFIG_HOTPLUG=y
80CONFIG_PRINTK=y
81CONFIG_BUG=y
82CONFIG_ELF_CORE=y
83CONFIG_BASE_FULL=y
84CONFIG_FUTEX=y
85CONFIG_EPOLL=y
86CONFIG_SIGNALFD=y
87CONFIG_TIMERFD=y
88CONFIG_EVENTFD=y
89CONFIG_SHMEM=y
90CONFIG_AIO=y
91
92#
93# Kernel Performance Events And Counters
94#
95CONFIG_VM_EVENT_COUNTERS=y
96CONFIG_COMPAT_BRK=y
97CONFIG_SLAB=y
98# CONFIG_SLUB is not set
99# CONFIG_SLOB is not set
100# CONFIG_PROFILING is not set
101CONFIG_HAVE_OPROFILE=y
102# CONFIG_KPROBES is not set
103CONFIG_HAVE_KPROBES=y
104CONFIG_HAVE_KRETPROBES=y
105CONFIG_HAVE_CLK=y
106
107#
108# GCOV-based kernel profiling
109#
110# CONFIG_SLOW_WORK is not set
111CONFIG_HAVE_GENERIC_DMA_COHERENT=y
112CONFIG_SLABINFO=y
113CONFIG_RT_MUTEXES=y
114CONFIG_BASE_SMALL=0
115CONFIG_MODULES=y
116# CONFIG_MODULE_FORCE_LOAD is not set
117CONFIG_MODULE_UNLOAD=y
118# CONFIG_MODULE_FORCE_UNLOAD is not set
119CONFIG_MODVERSIONS=y
120CONFIG_MODULE_SRCVERSION_ALL=y
121CONFIG_BLOCK=y
122CONFIG_LBDAF=y
123# CONFIG_BLK_DEV_BSG is not set
124# CONFIG_BLK_DEV_INTEGRITY is not set
125
126#
127# IO Schedulers
128#
129CONFIG_IOSCHED_NOOP=y
130CONFIG_IOSCHED_AS=y
131CONFIG_IOSCHED_DEADLINE=y
132CONFIG_IOSCHED_CFQ=y
133CONFIG_DEFAULT_AS=y
134# CONFIG_DEFAULT_DEADLINE is not set
135# CONFIG_DEFAULT_CFQ is not set
136# CONFIG_DEFAULT_NOOP is not set
137CONFIG_DEFAULT_IOSCHED="anticipatory"
138# CONFIG_FREEZER is not set
139
140#
141# System Type
142#
143CONFIG_MMU=y
144# CONFIG_ARCH_AAEC2000 is not set
145# CONFIG_ARCH_INTEGRATOR is not set
146# CONFIG_ARCH_REALVIEW is not set
147# CONFIG_ARCH_VERSATILE is not set
148# CONFIG_ARCH_AT91 is not set
149# CONFIG_ARCH_CLPS711X is not set
150# CONFIG_ARCH_GEMINI is not set
151# CONFIG_ARCH_EBSA110 is not set
152# CONFIG_ARCH_EP93XX is not set
153# CONFIG_ARCH_FOOTBRIDGE is not set
154# CONFIG_ARCH_MXC is not set
155# CONFIG_ARCH_STMP3XXX is not set
156# CONFIG_ARCH_NETX is not set
157# CONFIG_ARCH_H720X is not set
158# CONFIG_ARCH_NOMADIK is not set
159# CONFIG_ARCH_IOP13XX is not set
160# CONFIG_ARCH_IOP32X is not set
161# CONFIG_ARCH_IOP33X is not set
162# CONFIG_ARCH_IXP23XX is not set
163# CONFIG_ARCH_IXP2000 is not set
164# CONFIG_ARCH_IXP4XX is not set
165# CONFIG_ARCH_L7200 is not set
166# CONFIG_ARCH_KIRKWOOD is not set
167# CONFIG_ARCH_LOKI is not set
168# CONFIG_ARCH_MV78XX0 is not set
169# CONFIG_ARCH_ORION5X is not set
170# CONFIG_ARCH_MMP is not set
171# CONFIG_ARCH_KS8695 is not set
172# CONFIG_ARCH_NS9XXX is not set
173# CONFIG_ARCH_W90X900 is not set
174# CONFIG_ARCH_PNX4008 is not set
175# CONFIG_ARCH_PXA is not set
176# CONFIG_ARCH_MSM is not set
177# CONFIG_ARCH_RPC is not set
178# CONFIG_ARCH_SA1100 is not set
179# CONFIG_ARCH_S3C2410 is not set
180# CONFIG_ARCH_S3C64XX is not set
181# CONFIG_ARCH_S5PC1XX is not set
182# CONFIG_ARCH_SHARK is not set
183# CONFIG_ARCH_LH7A40X is not set
184# CONFIG_ARCH_U300 is not set
185# CONFIG_ARCH_DAVINCI is not set
186CONFIG_ARCH_OMAP=y
187# CONFIG_ARCH_BCMRING is not set
188
189#
190# TI OMAP Implementations
191#
192CONFIG_ARCH_OMAP_OTG=y
193# CONFIG_ARCH_OMAP1 is not set
194# CONFIG_ARCH_OMAP2 is not set
195CONFIG_ARCH_OMAP3=y
196# CONFIG_ARCH_OMAP4 is not set
197
198#
199# OMAP Feature Selections
200#
201# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
202# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
203CONFIG_OMAP_RESET_CLOCKS=y
204# CONFIG_OMAP_MUX is not set
205# CONFIG_OMAP_MCBSP is not set
206# CONFIG_OMAP_MBOX_FWK is not set
207# CONFIG_OMAP_MPU_TIMER is not set
208CONFIG_OMAP_32K_TIMER=y
209CONFIG_OMAP_32K_TIMER_HZ=128
210CONFIG_OMAP_DM_TIMER=y
211# CONFIG_OMAP_LL_DEBUG_UART1 is not set
212# CONFIG_OMAP_LL_DEBUG_UART2 is not set
213CONFIG_OMAP_LL_DEBUG_UART3=y
214# CONFIG_OMAP_PM_NONE is not set
215CONFIG_OMAP_PM_NOOP=y
216CONFIG_ARCH_OMAP34XX=y
217CONFIG_ARCH_OMAP3430=y
218
219#
220# OMAP Board Type
221#
222# CONFIG_MACH_OMAP3_BEAGLE is not set
223# CONFIG_MACH_OMAP_LDP is not set
224# CONFIG_MACH_OVERO is not set
225# CONFIG_MACH_OMAP3EVM is not set
226CONFIG_MACH_OMAP3517EVM=y
227# CONFIG_MACH_OMAP3_PANDORA is not set
228# CONFIG_MACH_OMAP_3430SDP is not set
229# CONFIG_MACH_NOKIA_RX51 is not set
230# CONFIG_MACH_OMAP_ZOOM2 is not set
231# CONFIG_MACH_CM_T35 is not set
232
233#
234# Processor Type
235#
236CONFIG_CPU_32=y
237CONFIG_CPU_32v6K=y
238CONFIG_CPU_V7=y
239CONFIG_CPU_32v7=y
240CONFIG_CPU_ABRT_EV7=y
241CONFIG_CPU_PABRT_V7=y
242CONFIG_CPU_CACHE_V7=y
243CONFIG_CPU_CACHE_VIPT=y
244CONFIG_CPU_COPY_V6=y
245CONFIG_CPU_TLB_V7=y
246CONFIG_CPU_HAS_ASID=y
247CONFIG_CPU_CP15=y
248CONFIG_CPU_CP15_MMU=y
249
250#
251# Processor Features
252#
253CONFIG_ARM_THUMB=y
254# CONFIG_ARM_THUMBEE is not set
255# CONFIG_CPU_ICACHE_DISABLE is not set
256# CONFIG_CPU_DCACHE_DISABLE is not set
257# CONFIG_CPU_BPREDICT_DISABLE is not set
258CONFIG_HAS_TLS_REG=y
259CONFIG_ARM_L1_CACHE_SHIFT=6
260# CONFIG_ARM_ERRATA_430973 is not set
261# CONFIG_ARM_ERRATA_458693 is not set
262# CONFIG_ARM_ERRATA_460075 is not set
263CONFIG_COMMON_CLKDEV=y
264
265#
266# Bus support
267#
268# CONFIG_PCI_SYSCALL is not set
269# CONFIG_ARCH_SUPPORTS_MSI is not set
270# CONFIG_PCCARD is not set
271
272#
273# Kernel Features
274#
275CONFIG_TICK_ONESHOT=y
276CONFIG_NO_HZ=y
277CONFIG_HIGH_RES_TIMERS=y
278CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
279CONFIG_VMSPLIT_3G=y
280# CONFIG_VMSPLIT_2G is not set
281# CONFIG_VMSPLIT_1G is not set
282CONFIG_PAGE_OFFSET=0xC0000000
283CONFIG_PREEMPT_NONE=y
284# CONFIG_PREEMPT_VOLUNTARY is not set
285# CONFIG_PREEMPT is not set
286CONFIG_HZ=128
287# CONFIG_THUMB2_KERNEL is not set
288CONFIG_AEABI=y
289CONFIG_OABI_COMPAT=y
290# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
291# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
292# CONFIG_HIGHMEM is not set
293CONFIG_SELECT_MEMORY_MODEL=y
294CONFIG_FLATMEM_MANUAL=y
295# CONFIG_DISCONTIGMEM_MANUAL is not set
296# CONFIG_SPARSEMEM_MANUAL is not set
297CONFIG_FLATMEM=y
298CONFIG_FLAT_NODE_MEM_MAP=y
299CONFIG_PAGEFLAGS_EXTENDED=y
300CONFIG_SPLIT_PTLOCK_CPUS=4
301# CONFIG_PHYS_ADDR_T_64BIT is not set
302CONFIG_ZONE_DMA_FLAG=0
303CONFIG_VIRT_TO_BUS=y
304CONFIG_HAVE_MLOCK=y
305CONFIG_HAVE_MLOCKED_PAGE_BIT=y
306# CONFIG_KSM is not set
307CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
308# CONFIG_LEDS is not set
309CONFIG_ALIGNMENT_TRAP=y
310# CONFIG_UACCESS_WITH_MEMCPY is not set
311
312#
313# Boot options
314#
315CONFIG_ZBOOT_ROM_TEXT=0x0
316CONFIG_ZBOOT_ROM_BSS=0x0
317CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
318# CONFIG_XIP_KERNEL is not set
319# CONFIG_KEXEC is not set
320
321#
322# CPU Power Management
323#
324# CONFIG_CPU_FREQ is not set
325# CONFIG_CPU_IDLE is not set
326
327#
328# Floating point emulation
329#
330
331#
332# At least one emulation must be selected
333#
334CONFIG_FPE_NWFPE=y
335# CONFIG_FPE_NWFPE_XP is not set
336# CONFIG_FPE_FASTFPE is not set
337CONFIG_VFP=y
338CONFIG_VFPv3=y
339CONFIG_NEON=y
340
341#
342# Userspace binary formats
343#
344CONFIG_BINFMT_ELF=y
345# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
346CONFIG_HAVE_AOUT=y
347# CONFIG_BINFMT_AOUT is not set
348CONFIG_BINFMT_MISC=y
349
350#
351# Power management options
352#
353# CONFIG_PM is not set
354CONFIG_ARCH_SUSPEND_POSSIBLE=y
355CONFIG_NET=y
356
357#
358# Networking options
359#
360CONFIG_PACKET=y
361# CONFIG_PACKET_MMAP is not set
362CONFIG_UNIX=y
363CONFIG_XFRM=y
364# CONFIG_XFRM_USER is not set
365# CONFIG_XFRM_SUB_POLICY is not set
366# CONFIG_XFRM_MIGRATE is not set
367# CONFIG_XFRM_STATISTICS is not set
368CONFIG_NET_KEY=y
369# CONFIG_NET_KEY_MIGRATE is not set
370CONFIG_INET=y
371# CONFIG_IP_MULTICAST is not set
372# CONFIG_IP_ADVANCED_ROUTER is not set
373CONFIG_IP_FIB_HASH=y
374CONFIG_IP_PNP=y
375CONFIG_IP_PNP_DHCP=y
376CONFIG_IP_PNP_BOOTP=y
377CONFIG_IP_PNP_RARP=y
378# CONFIG_NET_IPIP is not set
379# CONFIG_NET_IPGRE is not set
380# CONFIG_ARPD is not set
381# CONFIG_SYN_COOKIES is not set
382# CONFIG_INET_AH is not set
383# CONFIG_INET_ESP is not set
384# CONFIG_INET_IPCOMP is not set
385# CONFIG_INET_XFRM_TUNNEL is not set
386# CONFIG_INET_TUNNEL is not set
387CONFIG_INET_XFRM_MODE_TRANSPORT=y
388CONFIG_INET_XFRM_MODE_TUNNEL=y
389CONFIG_INET_XFRM_MODE_BEET=y
390# CONFIG_INET_LRO is not set
391CONFIG_INET_DIAG=y
392CONFIG_INET_TCP_DIAG=y
393# CONFIG_TCP_CONG_ADVANCED is not set
394CONFIG_TCP_CONG_CUBIC=y
395CONFIG_DEFAULT_TCP_CONG="cubic"
396# CONFIG_TCP_MD5SIG is not set
397# CONFIG_IPV6 is not set
398# CONFIG_NETWORK_SECMARK is not set
399# CONFIG_NETFILTER is not set
400# CONFIG_IP_DCCP is not set
401# CONFIG_IP_SCTP is not set
402# CONFIG_RDS is not set
403# CONFIG_TIPC is not set
404# CONFIG_ATM is not set
405# CONFIG_BRIDGE is not set
406# CONFIG_NET_DSA is not set
407# CONFIG_VLAN_8021Q is not set
408# CONFIG_DECNET is not set
409# CONFIG_LLC2 is not set
410# CONFIG_IPX is not set
411# CONFIG_ATALK is not set
412# CONFIG_X25 is not set
413# CONFIG_LAPB is not set
414# CONFIG_ECONET is not set
415# CONFIG_WAN_ROUTER is not set
416# CONFIG_PHONET is not set
417# CONFIG_IEEE802154 is not set
418# CONFIG_NET_SCHED is not set
419# CONFIG_DCB is not set
420
421#
422# Network testing
423#
424# CONFIG_NET_PKTGEN is not set
425# CONFIG_HAMRADIO is not set
426# CONFIG_CAN is not set
427# CONFIG_IRDA is not set
428# CONFIG_BT is not set
429# CONFIG_AF_RXRPC is not set
430CONFIG_WIRELESS=y
431# CONFIG_CFG80211 is not set
432CONFIG_CFG80211_DEFAULT_PS_VALUE=0
433# CONFIG_WIRELESS_OLD_REGULATORY is not set
434# CONFIG_WIRELESS_EXT is not set
435# CONFIG_LIB80211 is not set
436
437#
438# CFG80211 needs to be enabled for MAC80211
439#
440# CONFIG_WIMAX is not set
441# CONFIG_RFKILL is not set
442# CONFIG_NET_9P is not set
443
444#
445# Device Drivers
446#
447
448#
449# Generic Driver Options
450#
451CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
452# CONFIG_DEVTMPFS is not set
453CONFIG_STANDALONE=y
454CONFIG_PREVENT_FIRMWARE_BUILD=y
455# CONFIG_FW_LOADER is not set
456# CONFIG_DEBUG_DRIVER is not set
457# CONFIG_DEBUG_DEVRES is not set
458# CONFIG_SYS_HYPERVISOR is not set
459# CONFIG_CONNECTOR is not set
460# CONFIG_MTD is not set
461# CONFIG_PARPORT is not set
462CONFIG_BLK_DEV=y
463# CONFIG_BLK_DEV_COW_COMMON is not set
464CONFIG_BLK_DEV_LOOP=y
465# CONFIG_BLK_DEV_CRYPTOLOOP is not set
466# CONFIG_BLK_DEV_NBD is not set
467# CONFIG_BLK_DEV_UB is not set
468CONFIG_BLK_DEV_RAM=y
469CONFIG_BLK_DEV_RAM_COUNT=16
470CONFIG_BLK_DEV_RAM_SIZE=16384
471# CONFIG_BLK_DEV_XIP is not set
472# CONFIG_CDROM_PKTCDVD is not set
473# CONFIG_ATA_OVER_ETH is not set
474# CONFIG_MG_DISK is not set
475# CONFIG_MISC_DEVICES is not set
476CONFIG_HAVE_IDE=y
477# CONFIG_IDE is not set
478
479#
480# SCSI device support
481#
482# CONFIG_RAID_ATTRS is not set
483CONFIG_SCSI=y
484CONFIG_SCSI_DMA=y
485# CONFIG_SCSI_TGT is not set
486# CONFIG_SCSI_NETLINK is not set
487CONFIG_SCSI_PROC_FS=y
488
489#
490# SCSI support type (disk, tape, CD-ROM)
491#
492CONFIG_BLK_DEV_SD=y
493# CONFIG_CHR_DEV_ST is not set
494# CONFIG_CHR_DEV_OSST is not set
495# CONFIG_BLK_DEV_SR is not set
496# CONFIG_CHR_DEV_SG is not set
497# CONFIG_CHR_DEV_SCH is not set
498# CONFIG_SCSI_MULTI_LUN is not set
499# CONFIG_SCSI_CONSTANTS is not set
500# CONFIG_SCSI_LOGGING is not set
501# CONFIG_SCSI_SCAN_ASYNC is not set
502CONFIG_SCSI_WAIT_SCAN=m
503
504#
505# SCSI Transports
506#
507# CONFIG_SCSI_SPI_ATTRS is not set
508# CONFIG_SCSI_FC_ATTRS is not set
509# CONFIG_SCSI_ISCSI_ATTRS is not set
510# CONFIG_SCSI_SAS_LIBSAS is not set
511# CONFIG_SCSI_SRP_ATTRS is not set
512CONFIG_SCSI_LOWLEVEL=y
513# CONFIG_ISCSI_TCP is not set
514# CONFIG_LIBFC is not set
515# CONFIG_LIBFCOE is not set
516# CONFIG_SCSI_DEBUG is not set
517# CONFIG_SCSI_DH is not set
518# CONFIG_SCSI_OSD_INITIATOR is not set
519# CONFIG_ATA is not set
520# CONFIG_MD is not set
521# CONFIG_NETDEVICES is not set
522# CONFIG_ISDN is not set
523# CONFIG_PHONE is not set
524
525#
526# Input device support
527#
528CONFIG_INPUT=y
529# CONFIG_INPUT_FF_MEMLESS is not set
530# CONFIG_INPUT_POLLDEV is not set
531
532#
533# Userland interfaces
534#
535# CONFIG_INPUT_MOUSEDEV is not set
536# CONFIG_INPUT_JOYDEV is not set
537CONFIG_INPUT_EVDEV=y
538# CONFIG_INPUT_EVBUG is not set
539
540#
541# Input Device Drivers
542#
543# CONFIG_INPUT_KEYBOARD is not set
544# CONFIG_INPUT_MOUSE is not set
545# CONFIG_INPUT_JOYSTICK is not set
546# CONFIG_INPUT_TABLET is not set
547# CONFIG_INPUT_TOUCHSCREEN is not set
548# CONFIG_INPUT_MISC is not set
549
550#
551# Hardware I/O ports
552#
553# CONFIG_SERIO is not set
554# CONFIG_GAMEPORT is not set
555
556#
557# Character devices
558#
559CONFIG_VT=y
560CONFIG_CONSOLE_TRANSLATIONS=y
561CONFIG_VT_CONSOLE=y
562CONFIG_HW_CONSOLE=y
563# CONFIG_VT_HW_CONSOLE_BINDING is not set
564CONFIG_DEVKMEM=y
565# CONFIG_SERIAL_NONSTANDARD is not set
566
567#
568# Serial drivers
569#
570CONFIG_SERIAL_8250=y
571CONFIG_SERIAL_8250_CONSOLE=y
572CONFIG_SERIAL_8250_NR_UARTS=32
573CONFIG_SERIAL_8250_RUNTIME_UARTS=4
574CONFIG_SERIAL_8250_EXTENDED=y
575CONFIG_SERIAL_8250_MANY_PORTS=y
576CONFIG_SERIAL_8250_SHARE_IRQ=y
577CONFIG_SERIAL_8250_DETECT_IRQ=y
578CONFIG_SERIAL_8250_RSA=y
579
580#
581# Non-8250 serial port support
582#
583CONFIG_SERIAL_CORE=y
584CONFIG_SERIAL_CORE_CONSOLE=y
585CONFIG_UNIX98_PTYS=y
586# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
587# CONFIG_LEGACY_PTYS is not set
588# CONFIG_IPMI_HANDLER is not set
589CONFIG_HW_RANDOM=y
590# CONFIG_HW_RANDOM_TIMERIOMEM is not set
591# CONFIG_R3964 is not set
592# CONFIG_RAW_DRIVER is not set
593# CONFIG_TCG_TPM is not set
594# CONFIG_I2C is not set
595# CONFIG_SPI is not set
596
597#
598# PPS support
599#
600# CONFIG_PPS is not set
601CONFIG_ARCH_REQUIRE_GPIOLIB=y
602CONFIG_GPIOLIB=y
603# CONFIG_DEBUG_GPIO is not set
604# CONFIG_GPIO_SYSFS is not set
605
606#
607# Memory mapped GPIO expanders:
608#
609
610#
611# I2C GPIO expanders:
612#
613
614#
615# PCI GPIO expanders:
616#
617
618#
619# SPI GPIO expanders:
620#
621
622#
623# AC97 GPIO expanders:
624#
625# CONFIG_W1 is not set
626# CONFIG_POWER_SUPPLY is not set
627# CONFIG_HWMON is not set
628# CONFIG_THERMAL is not set
629# CONFIG_WATCHDOG is not set
630CONFIG_SSB_POSSIBLE=y
631
632#
633# Sonics Silicon Backplane
634#
635# CONFIG_SSB is not set
636
637#
638# Multifunction device drivers
639#
640# CONFIG_MFD_CORE is not set
641# CONFIG_MFD_SM501 is not set
642# CONFIG_MFD_ASIC3 is not set
643# CONFIG_HTC_EGPIO is not set
644# CONFIG_HTC_PASIC3 is not set
645# CONFIG_MFD_TMIO is not set
646# CONFIG_MFD_T7L66XB is not set
647# CONFIG_MFD_TC6387XB is not set
648# CONFIG_MFD_TC6393XB is not set
649# CONFIG_REGULATOR is not set
650# CONFIG_MEDIA_SUPPORT is not set
651
652#
653# Graphics support
654#
655# CONFIG_VGASTATE is not set
656# CONFIG_VIDEO_OUTPUT_CONTROL is not set
657# CONFIG_FB is not set
658# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
659
660#
661# Display device support
662#
663# CONFIG_DISPLAY_SUPPORT is not set
664
665#
666# Console display driver support
667#
668# CONFIG_VGA_CONSOLE is not set
669CONFIG_DUMMY_CONSOLE=y
670# CONFIG_SOUND is not set
671CONFIG_HID_SUPPORT=y
672CONFIG_HID=y
673# CONFIG_HIDRAW is not set
674
675#
676# USB Input Devices
677#
678CONFIG_USB_HID=y
679# CONFIG_HID_PID is not set
680# CONFIG_USB_HIDDEV is not set
681
682#
683# Special HID drivers
684#
685# CONFIG_HID_A4TECH is not set
686# CONFIG_HID_APPLE is not set
687# CONFIG_HID_BELKIN is not set
688# CONFIG_HID_CHERRY is not set
689# CONFIG_HID_CHICONY is not set
690# CONFIG_HID_CYPRESS is not set
691# CONFIG_HID_DRAGONRISE is not set
692# CONFIG_HID_EZKEY is not set
693# CONFIG_HID_KYE is not set
694# CONFIG_HID_GYRATION is not set
695# CONFIG_HID_TWINHAN is not set
696# CONFIG_HID_KENSINGTON is not set
697# CONFIG_HID_LOGITECH is not set
698# CONFIG_HID_MICROSOFT is not set
699# CONFIG_HID_MONTEREY is not set
700# CONFIG_HID_NTRIG is not set
701# CONFIG_HID_PANTHERLORD is not set
702# CONFIG_HID_PETALYNX is not set
703# CONFIG_HID_SAMSUNG is not set
704# CONFIG_HID_SONY is not set
705# CONFIG_HID_SUNPLUS is not set
706# CONFIG_HID_GREENASIA is not set
707# CONFIG_HID_SMARTJOYPLUS is not set
708# CONFIG_HID_TOPSEED is not set
709# CONFIG_HID_THRUSTMASTER is not set
710# CONFIG_HID_ZEROPLUS is not set
711CONFIG_USB_SUPPORT=y
712CONFIG_USB_ARCH_HAS_HCD=y
713CONFIG_USB_ARCH_HAS_OHCI=y
714CONFIG_USB_ARCH_HAS_EHCI=y
715CONFIG_USB=y
716# CONFIG_USB_DEBUG is not set
717CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
718
719#
720# Miscellaneous USB options
721#
722# CONFIG_USB_DEVICEFS is not set
723# CONFIG_USB_DEVICE_CLASS is not set
724# CONFIG_USB_DYNAMIC_MINORS is not set
725# CONFIG_USB_OTG is not set
726# CONFIG_USB_OTG_WHITELIST is not set
727# CONFIG_USB_OTG_BLACKLIST_HUB is not set
728# CONFIG_USB_MON is not set
729# CONFIG_USB_WUSB is not set
730# CONFIG_USB_WUSB_CBAF is not set
731
732#
733# USB Host Controller Drivers
734#
735# CONFIG_USB_C67X00_HCD is not set
736CONFIG_USB_EHCI_HCD=y
737# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
738# CONFIG_USB_EHCI_TT_NEWSCHED is not set
739# CONFIG_USB_OXU210HP_HCD is not set
740# CONFIG_USB_ISP116X_HCD is not set
741# CONFIG_USB_ISP1760_HCD is not set
742# CONFIG_USB_ISP1362_HCD is not set
743# CONFIG_USB_OHCI_HCD is not set
744# CONFIG_USB_SL811_HCD is not set
745# CONFIG_USB_R8A66597_HCD is not set
746# CONFIG_USB_HWA_HCD is not set
747# CONFIG_USB_MUSB_HDRC is not set
748
749#
750# USB Device Class drivers
751#
752# CONFIG_USB_ACM is not set
753# CONFIG_USB_PRINTER is not set
754# CONFIG_USB_WDM is not set
755# CONFIG_USB_TMC is not set
756
757#
758# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
759#
760
761#
762# also be needed; see USB_STORAGE Help for more info
763#
764CONFIG_USB_STORAGE=y
765# CONFIG_USB_STORAGE_DEBUG is not set
766# CONFIG_USB_STORAGE_DATAFAB is not set
767# CONFIG_USB_STORAGE_FREECOM is not set
768# CONFIG_USB_STORAGE_ISD200 is not set
769# CONFIG_USB_STORAGE_USBAT is not set
770# CONFIG_USB_STORAGE_SDDR09 is not set
771# CONFIG_USB_STORAGE_SDDR55 is not set
772# CONFIG_USB_STORAGE_JUMPSHOT is not set
773# CONFIG_USB_STORAGE_ALAUDA is not set
774# CONFIG_USB_STORAGE_ONETOUCH is not set
775# CONFIG_USB_STORAGE_KARMA is not set
776# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
777# CONFIG_USB_LIBUSUAL is not set
778
779#
780# USB Imaging devices
781#
782# CONFIG_USB_MDC800 is not set
783# CONFIG_USB_MICROTEK is not set
784
785#
786# USB port drivers
787#
788# CONFIG_USB_SERIAL is not set
789
790#
791# USB Miscellaneous drivers
792#
793# CONFIG_USB_EMI62 is not set
794# CONFIG_USB_EMI26 is not set
795# CONFIG_USB_ADUTUX is not set
796# CONFIG_USB_SEVSEG is not set
797# CONFIG_USB_RIO500 is not set
798# CONFIG_USB_LEGOTOWER is not set
799# CONFIG_USB_LCD is not set
800# CONFIG_USB_BERRY_CHARGE is not set
801# CONFIG_USB_LED is not set
802# CONFIG_USB_CYPRESS_CY7C63 is not set
803# CONFIG_USB_CYTHERM is not set
804# CONFIG_USB_IDMOUSE is not set
805# CONFIG_USB_FTDI_ELAN is not set
806# CONFIG_USB_APPLEDISPLAY is not set
807# CONFIG_USB_SISUSBVGA is not set
808# CONFIG_USB_LD is not set
809# CONFIG_USB_TRANCEVIBRATOR is not set
810# CONFIG_USB_IOWARRIOR is not set
811# CONFIG_USB_TEST is not set
812# CONFIG_USB_ISIGHTFW is not set
813# CONFIG_USB_VST is not set
814# CONFIG_USB_GADGET is not set
815
816#
817# OTG and related infrastructure
818#
819# CONFIG_USB_GPIO_VBUS is not set
820# CONFIG_NOP_USB_XCEIV is not set
821# CONFIG_MMC is not set
822# CONFIG_MEMSTICK is not set
823# CONFIG_NEW_LEDS is not set
824# CONFIG_ACCESSIBILITY is not set
825CONFIG_RTC_LIB=y
826# CONFIG_RTC_CLASS is not set
827# CONFIG_DMADEVICES is not set
828# CONFIG_AUXDISPLAY is not set
829# CONFIG_UIO is not set
830
831#
832# TI VLYNQ
833#
834# CONFIG_STAGING is not set
835
836#
837# File systems
838#
839CONFIG_EXT2_FS=y
840# CONFIG_EXT2_FS_XATTR is not set
841# CONFIG_EXT2_FS_XIP is not set
842CONFIG_EXT3_FS=y
843# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
844# CONFIG_EXT3_FS_XATTR is not set
845# CONFIG_EXT4_FS is not set
846CONFIG_JBD=y
847# CONFIG_REISERFS_FS is not set
848# CONFIG_JFS_FS is not set
849# CONFIG_FS_POSIX_ACL is not set
850# CONFIG_XFS_FS is not set
851# CONFIG_GFS2_FS is not set
852# CONFIG_OCFS2_FS is not set
853# CONFIG_BTRFS_FS is not set
854# CONFIG_NILFS2_FS is not set
855CONFIG_FILE_LOCKING=y
856CONFIG_FSNOTIFY=y
857CONFIG_DNOTIFY=y
858CONFIG_INOTIFY=y
859CONFIG_INOTIFY_USER=y
860CONFIG_QUOTA=y
861# CONFIG_QUOTA_NETLINK_INTERFACE is not set
862CONFIG_PRINT_QUOTA_WARNING=y
863CONFIG_QUOTA_TREE=y
864# CONFIG_QFMT_V1 is not set
865CONFIG_QFMT_V2=y
866CONFIG_QUOTACTL=y
867# CONFIG_AUTOFS_FS is not set
868# CONFIG_AUTOFS4_FS is not set
869# CONFIG_FUSE_FS is not set
870
871#
872# Caches
873#
874# CONFIG_FSCACHE is not set
875
876#
877# CD-ROM/DVD Filesystems
878#
879# CONFIG_ISO9660_FS is not set
880# CONFIG_UDF_FS is not set
881
882#
883# DOS/FAT/NT Filesystems
884#
885CONFIG_FAT_FS=y
886CONFIG_MSDOS_FS=y
887CONFIG_VFAT_FS=y
888CONFIG_FAT_DEFAULT_CODEPAGE=437
889CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
890# CONFIG_NTFS_FS is not set
891
892#
893# Pseudo filesystems
894#
895CONFIG_PROC_FS=y
896CONFIG_PROC_SYSCTL=y
897CONFIG_PROC_PAGE_MONITOR=y
898CONFIG_SYSFS=y
899CONFIG_TMPFS=y
900# CONFIG_TMPFS_POSIX_ACL is not set
901# CONFIG_HUGETLB_PAGE is not set
902# CONFIG_CONFIGFS_FS is not set
903CONFIG_MISC_FILESYSTEMS=y
904# CONFIG_ADFS_FS is not set
905# CONFIG_AFFS_FS is not set
906# CONFIG_HFS_FS is not set
907# CONFIG_HFSPLUS_FS is not set
908# CONFIG_BEFS_FS is not set
909# CONFIG_BFS_FS is not set
910# CONFIG_EFS_FS is not set
911# CONFIG_CRAMFS is not set
912# CONFIG_SQUASHFS is not set
913# CONFIG_VXFS_FS is not set
914# CONFIG_MINIX_FS is not set
915# CONFIG_OMFS_FS is not set
916# CONFIG_HPFS_FS is not set
917# CONFIG_QNX4FS_FS is not set
918# CONFIG_ROMFS_FS is not set
919# CONFIG_SYSV_FS is not set
920# CONFIG_UFS_FS is not set
921CONFIG_NETWORK_FILESYSTEMS=y
922CONFIG_NFS_FS=y
923CONFIG_NFS_V3=y
924# CONFIG_NFS_V3_ACL is not set
925CONFIG_NFS_V4=y
926# CONFIG_NFS_V4_1 is not set
927CONFIG_ROOT_NFS=y
928# CONFIG_NFSD is not set
929CONFIG_LOCKD=y
930CONFIG_LOCKD_V4=y
931CONFIG_NFS_COMMON=y
932CONFIG_SUNRPC=y
933CONFIG_SUNRPC_GSS=y
934CONFIG_RPCSEC_GSS_KRB5=y
935# CONFIG_RPCSEC_GSS_SPKM3 is not set
936# CONFIG_SMB_FS is not set
937# CONFIG_CIFS is not set
938# CONFIG_NCP_FS is not set
939# CONFIG_CODA_FS is not set
940# CONFIG_AFS_FS is not set
941
942#
943# Partition Types
944#
945CONFIG_PARTITION_ADVANCED=y
946# CONFIG_ACORN_PARTITION is not set
947# CONFIG_OSF_PARTITION is not set
948# CONFIG_AMIGA_PARTITION is not set
949# CONFIG_ATARI_PARTITION is not set
950# CONFIG_MAC_PARTITION is not set
951CONFIG_MSDOS_PARTITION=y
952# CONFIG_BSD_DISKLABEL is not set
953# CONFIG_MINIX_SUBPARTITION is not set
954# CONFIG_SOLARIS_X86_PARTITION is not set
955# CONFIG_UNIXWARE_DISKLABEL is not set
956# CONFIG_LDM_PARTITION is not set
957# CONFIG_SGI_PARTITION is not set
958# CONFIG_ULTRIX_PARTITION is not set
959# CONFIG_SUN_PARTITION is not set
960# CONFIG_KARMA_PARTITION is not set
961# CONFIG_EFI_PARTITION is not set
962# CONFIG_SYSV68_PARTITION is not set
963CONFIG_NLS=y
964CONFIG_NLS_DEFAULT="iso8859-1"
965CONFIG_NLS_CODEPAGE_437=y
966# CONFIG_NLS_CODEPAGE_737 is not set
967# CONFIG_NLS_CODEPAGE_775 is not set
968# CONFIG_NLS_CODEPAGE_850 is not set
969# CONFIG_NLS_CODEPAGE_852 is not set
970# CONFIG_NLS_CODEPAGE_855 is not set
971# CONFIG_NLS_CODEPAGE_857 is not set
972# CONFIG_NLS_CODEPAGE_860 is not set
973# CONFIG_NLS_CODEPAGE_861 is not set
974# CONFIG_NLS_CODEPAGE_862 is not set
975# CONFIG_NLS_CODEPAGE_863 is not set
976# CONFIG_NLS_CODEPAGE_864 is not set
977# CONFIG_NLS_CODEPAGE_865 is not set
978# CONFIG_NLS_CODEPAGE_866 is not set
979# CONFIG_NLS_CODEPAGE_869 is not set
980# CONFIG_NLS_CODEPAGE_936 is not set
981# CONFIG_NLS_CODEPAGE_950 is not set
982# CONFIG_NLS_CODEPAGE_932 is not set
983# CONFIG_NLS_CODEPAGE_949 is not set
984# CONFIG_NLS_CODEPAGE_874 is not set
985# CONFIG_NLS_ISO8859_8 is not set
986# CONFIG_NLS_CODEPAGE_1250 is not set
987# CONFIG_NLS_CODEPAGE_1251 is not set
988# CONFIG_NLS_ASCII is not set
989CONFIG_NLS_ISO8859_1=y
990# CONFIG_NLS_ISO8859_2 is not set
991# CONFIG_NLS_ISO8859_3 is not set
992# CONFIG_NLS_ISO8859_4 is not set
993# CONFIG_NLS_ISO8859_5 is not set
994# CONFIG_NLS_ISO8859_6 is not set
995# CONFIG_NLS_ISO8859_7 is not set
996# CONFIG_NLS_ISO8859_9 is not set
997# CONFIG_NLS_ISO8859_13 is not set
998# CONFIG_NLS_ISO8859_14 is not set
999# CONFIG_NLS_ISO8859_15 is not set
1000# CONFIG_NLS_KOI8_R is not set
1001# CONFIG_NLS_KOI8_U is not set
1002# CONFIG_NLS_UTF8 is not set
1003# CONFIG_DLM is not set
1004
1005#
1006# Kernel hacking
1007#
1008# CONFIG_PRINTK_TIME is not set
1009CONFIG_ENABLE_WARN_DEPRECATED=y
1010CONFIG_ENABLE_MUST_CHECK=y
1011CONFIG_FRAME_WARN=1024
1012CONFIG_MAGIC_SYSRQ=y
1013# CONFIG_STRIP_ASM_SYMS is not set
1014# CONFIG_UNUSED_SYMBOLS is not set
1015# CONFIG_DEBUG_FS is not set
1016# CONFIG_HEADERS_CHECK is not set
1017CONFIG_DEBUG_KERNEL=y
1018# CONFIG_DEBUG_SHIRQ is not set
1019CONFIG_DETECT_SOFTLOCKUP=y
1020# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1021CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1022CONFIG_DETECT_HUNG_TASK=y
1023# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1024CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1025# CONFIG_SCHED_DEBUG is not set
1026# CONFIG_SCHEDSTATS is not set
1027# CONFIG_TIMER_STATS is not set
1028# CONFIG_DEBUG_OBJECTS is not set
1029# CONFIG_DEBUG_SLAB is not set
1030# CONFIG_DEBUG_KMEMLEAK is not set
1031# CONFIG_DEBUG_RT_MUTEXES is not set
1032# CONFIG_RT_MUTEX_TESTER is not set
1033# CONFIG_DEBUG_SPINLOCK is not set
1034CONFIG_DEBUG_MUTEXES=y
1035# CONFIG_DEBUG_LOCK_ALLOC is not set
1036# CONFIG_PROVE_LOCKING is not set
1037# CONFIG_LOCK_STAT is not set
1038# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1039# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1040# CONFIG_DEBUG_KOBJECT is not set
1041# CONFIG_DEBUG_BUGVERBOSE is not set
1042CONFIG_DEBUG_INFO=y
1043# CONFIG_DEBUG_VM is not set
1044# CONFIG_DEBUG_WRITECOUNT is not set
1045# CONFIG_DEBUG_MEMORY_INIT is not set
1046# CONFIG_DEBUG_LIST is not set
1047# CONFIG_DEBUG_SG is not set
1048# CONFIG_DEBUG_NOTIFIERS is not set
1049# CONFIG_DEBUG_CREDENTIALS is not set
1050# CONFIG_BOOT_PRINTK_DELAY is not set
1051# CONFIG_RCU_TORTURE_TEST is not set
1052# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1053# CONFIG_BACKTRACE_SELF_TEST is not set
1054# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1055# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1056# CONFIG_FAULT_INJECTION is not set
1057# CONFIG_LATENCYTOP is not set
1058# CONFIG_PAGE_POISONING is not set
1059CONFIG_HAVE_FUNCTION_TRACER=y
1060CONFIG_TRACING_SUPPORT=y
1061CONFIG_FTRACE=y
1062# CONFIG_FUNCTION_TRACER is not set
1063# CONFIG_IRQSOFF_TRACER is not set
1064# CONFIG_SCHED_TRACER is not set
1065# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1066# CONFIG_BOOT_TRACER is not set
1067CONFIG_BRANCH_PROFILE_NONE=y
1068# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1069# CONFIG_PROFILE_ALL_BRANCHES is not set
1070# CONFIG_STACK_TRACER is not set
1071# CONFIG_KMEMTRACE is not set
1072# CONFIG_WORKQUEUE_TRACER is not set
1073# CONFIG_BLK_DEV_IO_TRACE is not set
1074# CONFIG_SAMPLES is not set
1075CONFIG_HAVE_ARCH_KGDB=y
1076# CONFIG_KGDB is not set
1077CONFIG_ARM_UNWIND=y
1078# CONFIG_DEBUG_USER is not set
1079# CONFIG_DEBUG_ERRORS is not set
1080# CONFIG_DEBUG_STACK_USAGE is not set
1081CONFIG_DEBUG_LL=y
1082# CONFIG_DEBUG_ICEDCC is not set
1083
1084#
1085# Security options
1086#
1087# CONFIG_KEYS is not set
1088# CONFIG_SECURITY is not set
1089# CONFIG_SECURITYFS is not set
1090# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1091CONFIG_CRYPTO=y
1092
1093#
1094# Crypto core or helper
1095#
1096CONFIG_CRYPTO_ALGAPI=y
1097CONFIG_CRYPTO_ALGAPI2=y
1098CONFIG_CRYPTO_AEAD2=y
1099CONFIG_CRYPTO_BLKCIPHER=y
1100CONFIG_CRYPTO_BLKCIPHER2=y
1101CONFIG_CRYPTO_HASH=y
1102CONFIG_CRYPTO_HASH2=y
1103CONFIG_CRYPTO_RNG2=y
1104CONFIG_CRYPTO_PCOMP=y
1105CONFIG_CRYPTO_MANAGER=y
1106CONFIG_CRYPTO_MANAGER2=y
1107# CONFIG_CRYPTO_GF128MUL is not set
1108# CONFIG_CRYPTO_NULL is not set
1109CONFIG_CRYPTO_WORKQUEUE=y
1110# CONFIG_CRYPTO_CRYPTD is not set
1111# CONFIG_CRYPTO_AUTHENC is not set
1112# CONFIG_CRYPTO_TEST is not set
1113
1114#
1115# Authenticated Encryption with Associated Data
1116#
1117# CONFIG_CRYPTO_CCM is not set
1118# CONFIG_CRYPTO_GCM is not set
1119# CONFIG_CRYPTO_SEQIV is not set
1120
1121#
1122# Block modes
1123#
1124CONFIG_CRYPTO_CBC=y
1125# CONFIG_CRYPTO_CTR is not set
1126# CONFIG_CRYPTO_CTS is not set
1127CONFIG_CRYPTO_ECB=m
1128# CONFIG_CRYPTO_LRW is not set
1129CONFIG_CRYPTO_PCBC=m
1130# CONFIG_CRYPTO_XTS is not set
1131
1132#
1133# Hash modes
1134#
1135# CONFIG_CRYPTO_HMAC is not set
1136# CONFIG_CRYPTO_XCBC is not set
1137# CONFIG_CRYPTO_VMAC is not set
1138
1139#
1140# Digest
1141#
1142CONFIG_CRYPTO_CRC32C=y
1143# CONFIG_CRYPTO_GHASH is not set
1144# CONFIG_CRYPTO_MD4 is not set
1145CONFIG_CRYPTO_MD5=y
1146# CONFIG_CRYPTO_MICHAEL_MIC is not set
1147# CONFIG_CRYPTO_RMD128 is not set
1148# CONFIG_CRYPTO_RMD160 is not set
1149# CONFIG_CRYPTO_RMD256 is not set
1150# CONFIG_CRYPTO_RMD320 is not set
1151# CONFIG_CRYPTO_SHA1 is not set
1152# CONFIG_CRYPTO_SHA256 is not set
1153# CONFIG_CRYPTO_SHA512 is not set
1154# CONFIG_CRYPTO_TGR192 is not set
1155# CONFIG_CRYPTO_WP512 is not set
1156
1157#
1158# Ciphers
1159#
1160# CONFIG_CRYPTO_AES is not set
1161# CONFIG_CRYPTO_ANUBIS is not set
1162# CONFIG_CRYPTO_ARC4 is not set
1163# CONFIG_CRYPTO_BLOWFISH is not set
1164# CONFIG_CRYPTO_CAMELLIA is not set
1165# CONFIG_CRYPTO_CAST5 is not set
1166# CONFIG_CRYPTO_CAST6 is not set
1167CONFIG_CRYPTO_DES=y
1168# CONFIG_CRYPTO_FCRYPT is not set
1169# CONFIG_CRYPTO_KHAZAD is not set
1170# CONFIG_CRYPTO_SALSA20 is not set
1171# CONFIG_CRYPTO_SEED is not set
1172# CONFIG_CRYPTO_SERPENT is not set
1173# CONFIG_CRYPTO_TEA is not set
1174# CONFIG_CRYPTO_TWOFISH is not set
1175
1176#
1177# Compression
1178#
1179# CONFIG_CRYPTO_DEFLATE is not set
1180# CONFIG_CRYPTO_ZLIB is not set
1181# CONFIG_CRYPTO_LZO is not set
1182
1183#
1184# Random Number Generation
1185#
1186# CONFIG_CRYPTO_ANSI_CPRNG is not set
1187CONFIG_CRYPTO_HW=y
1188# CONFIG_BINARY_PRINTF is not set
1189
1190#
1191# Library routines
1192#
1193CONFIG_BITREVERSE=y
1194CONFIG_GENERIC_FIND_LAST_BIT=y
1195CONFIG_CRC_CCITT=y
1196# CONFIG_CRC16 is not set
1197# CONFIG_CRC_T10DIF is not set
1198# CONFIG_CRC_ITU_T is not set
1199CONFIG_CRC32=y
1200# CONFIG_CRC7 is not set
1201CONFIG_LIBCRC32C=y
1202CONFIG_ZLIB_INFLATE=y
1203CONFIG_DECOMPRESS_GZIP=y
1204CONFIG_HAS_IOMEM=y
1205CONFIG_HAS_IOPORT=y
1206CONFIG_HAS_DMA=y
1207CONFIG_NLATTR=y
diff --git a/arch/arm/configs/cm_t35_defconfig b/arch/arm/configs/cm_t35_defconfig
new file mode 100644
index 000000000000..e42c5c873eb2
--- /dev/null
+++ b/arch/arm/configs/cm_t35_defconfig
@@ -0,0 +1,1733 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.32-rc4
4# Tue Oct 13 17:10:40 2009
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_GENERIC_HARDIRQS=y
12CONFIG_STACKTRACE_SUPPORT=y
13CONFIG_HAVE_LATENCYTOP_SUPPORT=y
14CONFIG_LOCKDEP_SUPPORT=y
15CONFIG_TRACE_IRQFLAGS_SUPPORT=y
16CONFIG_HARDIRQS_SW_RESEND=y
17CONFIG_GENERIC_IRQ_PROBE=y
18CONFIG_RWSEM_GENERIC_SPINLOCK=y
19CONFIG_ARCH_HAS_CPUFREQ=y
20CONFIG_GENERIC_HWEIGHT=y
21CONFIG_GENERIC_CALIBRATE_DELAY=y
22CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
23CONFIG_VECTORS_BASE=0xffff0000
24CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
25CONFIG_CONSTRUCTORS=y
26
27#
28# General setup
29#
30CONFIG_EXPERIMENTAL=y
31CONFIG_BROKEN_ON_SMP=y
32CONFIG_INIT_ENV_ARG_LIMIT=32
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35CONFIG_SWAP=y
36CONFIG_SYSVIPC=y
37CONFIG_SYSVIPC_SYSCTL=y
38# CONFIG_POSIX_MQUEUE is not set
39CONFIG_BSD_PROCESS_ACCT=y
40# CONFIG_BSD_PROCESS_ACCT_V3 is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_AUDIT is not set
43
44#
45# RCU Subsystem
46#
47CONFIG_TREE_RCU=y
48# CONFIG_TREE_PREEMPT_RCU is not set
49# CONFIG_RCU_TRACE is not set
50CONFIG_RCU_FANOUT=32
51# CONFIG_RCU_FANOUT_EXACT is not set
52# CONFIG_TREE_RCU_TRACE is not set
53CONFIG_IKCONFIG=y
54CONFIG_IKCONFIG_PROC=y
55CONFIG_LOG_BUF_SHIFT=17
56CONFIG_GROUP_SCHED=y
57CONFIG_FAIR_GROUP_SCHED=y
58# CONFIG_RT_GROUP_SCHED is not set
59CONFIG_USER_SCHED=y
60# CONFIG_CGROUP_SCHED is not set
61# CONFIG_CGROUPS is not set
62CONFIG_SYSFS_DEPRECATED=y
63CONFIG_SYSFS_DEPRECATED_V2=y
64# CONFIG_RELAY is not set
65# CONFIG_NAMESPACES is not set
66CONFIG_BLK_DEV_INITRD=y
67CONFIG_INITRAMFS_SOURCE=""
68CONFIG_RD_GZIP=y
69# CONFIG_RD_BZIP2 is not set
70# CONFIG_RD_LZMA is not set
71CONFIG_CC_OPTIMIZE_FOR_SIZE=y
72CONFIG_SYSCTL=y
73CONFIG_ANON_INODES=y
74CONFIG_EMBEDDED=y
75CONFIG_UID16=y
76# CONFIG_SYSCTL_SYSCALL is not set
77CONFIG_KALLSYMS=y
78# CONFIG_KALLSYMS_ALL is not set
79CONFIG_KALLSYMS_EXTRA_PASS=y
80CONFIG_HOTPLUG=y
81CONFIG_PRINTK=y
82CONFIG_BUG=y
83CONFIG_ELF_CORE=y
84CONFIG_BASE_FULL=y
85CONFIG_FUTEX=y
86CONFIG_EPOLL=y
87CONFIG_SIGNALFD=y
88CONFIG_TIMERFD=y
89CONFIG_EVENTFD=y
90CONFIG_SHMEM=y
91CONFIG_AIO=y
92
93#
94# Kernel Performance Events And Counters
95#
96CONFIG_VM_EVENT_COUNTERS=y
97CONFIG_COMPAT_BRK=y
98CONFIG_SLAB=y
99# CONFIG_SLUB is not set
100# CONFIG_SLOB is not set
101# CONFIG_PROFILING is not set
102CONFIG_HAVE_OPROFILE=y
103# CONFIG_KPROBES is not set
104CONFIG_HAVE_KPROBES=y
105CONFIG_HAVE_KRETPROBES=y
106CONFIG_HAVE_CLK=y
107
108#
109# GCOV-based kernel profiling
110#
111# CONFIG_GCOV_KERNEL is not set
112# CONFIG_SLOW_WORK is not set
113CONFIG_HAVE_GENERIC_DMA_COHERENT=y
114CONFIG_SLABINFO=y
115CONFIG_RT_MUTEXES=y
116CONFIG_BASE_SMALL=0
117CONFIG_MODULES=y
118# CONFIG_MODULE_FORCE_LOAD is not set
119CONFIG_MODULE_UNLOAD=y
120# CONFIG_MODULE_FORCE_UNLOAD is not set
121CONFIG_MODVERSIONS=y
122# CONFIG_MODULE_SRCVERSION_ALL is not set
123CONFIG_BLOCK=y
124CONFIG_LBDAF=y
125# CONFIG_BLK_DEV_BSG is not set
126# CONFIG_BLK_DEV_INTEGRITY is not set
127
128#
129# IO Schedulers
130#
131CONFIG_IOSCHED_NOOP=y
132CONFIG_IOSCHED_AS=y
133CONFIG_IOSCHED_DEADLINE=y
134CONFIG_IOSCHED_CFQ=y
135CONFIG_DEFAULT_AS=y
136# CONFIG_DEFAULT_DEADLINE is not set
137# CONFIG_DEFAULT_CFQ is not set
138# CONFIG_DEFAULT_NOOP is not set
139CONFIG_DEFAULT_IOSCHED="anticipatory"
140CONFIG_FREEZER=y
141
142#
143# System Type
144#
145CONFIG_MMU=y
146# CONFIG_ARCH_AAEC2000 is not set
147# CONFIG_ARCH_INTEGRATOR is not set
148# CONFIG_ARCH_REALVIEW is not set
149# CONFIG_ARCH_VERSATILE is not set
150# CONFIG_ARCH_AT91 is not set
151# CONFIG_ARCH_CLPS711X is not set
152# CONFIG_ARCH_GEMINI is not set
153# CONFIG_ARCH_EBSA110 is not set
154# CONFIG_ARCH_EP93XX is not set
155# CONFIG_ARCH_FOOTBRIDGE is not set
156# CONFIG_ARCH_MXC is not set
157# CONFIG_ARCH_STMP3XXX is not set
158# CONFIG_ARCH_NETX is not set
159# CONFIG_ARCH_H720X is not set
160# CONFIG_ARCH_NOMADIK is not set
161# CONFIG_ARCH_IOP13XX is not set
162# CONFIG_ARCH_IOP32X is not set
163# CONFIG_ARCH_IOP33X is not set
164# CONFIG_ARCH_IXP23XX is not set
165# CONFIG_ARCH_IXP2000 is not set
166# CONFIG_ARCH_IXP4XX is not set
167# CONFIG_ARCH_L7200 is not set
168# CONFIG_ARCH_KIRKWOOD is not set
169# CONFIG_ARCH_LOKI is not set
170# CONFIG_ARCH_MV78XX0 is not set
171# CONFIG_ARCH_ORION5X is not set
172# CONFIG_ARCH_MMP is not set
173# CONFIG_ARCH_KS8695 is not set
174# CONFIG_ARCH_NS9XXX is not set
175# CONFIG_ARCH_W90X900 is not set
176# CONFIG_ARCH_PNX4008 is not set
177# CONFIG_ARCH_PXA is not set
178# CONFIG_ARCH_MSM is not set
179# CONFIG_ARCH_RPC is not set
180# CONFIG_ARCH_SA1100 is not set
181# CONFIG_ARCH_S3C2410 is not set
182# CONFIG_ARCH_S3C64XX is not set
183# CONFIG_ARCH_S5PC1XX is not set
184# CONFIG_ARCH_SHARK is not set
185# CONFIG_ARCH_LH7A40X is not set
186# CONFIG_ARCH_U300 is not set
187# CONFIG_ARCH_DAVINCI is not set
188CONFIG_ARCH_OMAP=y
189# CONFIG_ARCH_BCMRING is not set
190
191#
192# TI OMAP Implementations
193#
194CONFIG_ARCH_OMAP_OTG=y
195# CONFIG_ARCH_OMAP1 is not set
196# CONFIG_ARCH_OMAP2 is not set
197CONFIG_ARCH_OMAP3=y
198# CONFIG_ARCH_OMAP4 is not set
199
200#
201# OMAP Feature Selections
202#
203# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
204# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
205CONFIG_OMAP_RESET_CLOCKS=y
206CONFIG_OMAP_MUX=y
207# CONFIG_OMAP_MUX_DEBUG is not set
208CONFIG_OMAP_MUX_WARNINGS=y
209CONFIG_OMAP_MCBSP=y
210# CONFIG_OMAP_MBOX_FWK is not set
211# CONFIG_OMAP_MPU_TIMER is not set
212CONFIG_OMAP_32K_TIMER=y
213CONFIG_OMAP_32K_TIMER_HZ=128
214CONFIG_OMAP_DM_TIMER=y
215# CONFIG_OMAP_LL_DEBUG_UART1 is not set
216# CONFIG_OMAP_LL_DEBUG_UART2 is not set
217CONFIG_OMAP_LL_DEBUG_UART3=y
218# CONFIG_OMAP_PM_NONE is not set
219CONFIG_OMAP_PM_NOOP=y
220CONFIG_ARCH_OMAP34XX=y
221CONFIG_ARCH_OMAP3430=y
222
223#
224# OMAP Board Type
225#
226# CONFIG_MACH_OMAP3_BEAGLE is not set
227# CONFIG_MACH_OMAP_LDP is not set
228# CONFIG_MACH_OVERO is not set
229# CONFIG_MACH_OMAP3EVM is not set
230# CONFIG_MACH_OMAP3_PANDORA is not set
231# CONFIG_MACH_OMAP_3430SDP is not set
232# CONFIG_MACH_NOKIA_RX51 is not set
233# CONFIG_MACH_OMAP_ZOOM2 is not set
234CONFIG_MACH_CM_T35=y
235
236#
237# Processor Type
238#
239CONFIG_CPU_32=y
240CONFIG_CPU_32v6K=y
241CONFIG_CPU_V7=y
242CONFIG_CPU_32v7=y
243CONFIG_CPU_ABRT_EV7=y
244CONFIG_CPU_PABRT_V7=y
245CONFIG_CPU_CACHE_V7=y
246CONFIG_CPU_CACHE_VIPT=y
247CONFIG_CPU_COPY_V6=y
248CONFIG_CPU_TLB_V7=y
249CONFIG_CPU_HAS_ASID=y
250CONFIG_CPU_CP15=y
251CONFIG_CPU_CP15_MMU=y
252
253#
254# Processor Features
255#
256CONFIG_ARM_THUMB=y
257# CONFIG_ARM_THUMBEE is not set
258# CONFIG_CPU_ICACHE_DISABLE is not set
259# CONFIG_CPU_DCACHE_DISABLE is not set
260# CONFIG_CPU_BPREDICT_DISABLE is not set
261CONFIG_HAS_TLS_REG=y
262CONFIG_ARM_L1_CACHE_SHIFT=6
263# CONFIG_ARM_ERRATA_430973 is not set
264# CONFIG_ARM_ERRATA_458693 is not set
265# CONFIG_ARM_ERRATA_460075 is not set
266CONFIG_COMMON_CLKDEV=y
267
268#
269# Bus support
270#
271# CONFIG_PCI_SYSCALL is not set
272# CONFIG_ARCH_SUPPORTS_MSI is not set
273# CONFIG_PCCARD is not set
274
275#
276# Kernel Features
277#
278CONFIG_TICK_ONESHOT=y
279CONFIG_NO_HZ=y
280CONFIG_HIGH_RES_TIMERS=y
281CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
282CONFIG_VMSPLIT_3G=y
283# CONFIG_VMSPLIT_2G is not set
284# CONFIG_VMSPLIT_1G is not set
285CONFIG_PAGE_OFFSET=0xC0000000
286CONFIG_PREEMPT_NONE=y
287# CONFIG_PREEMPT_VOLUNTARY is not set
288# CONFIG_PREEMPT is not set
289CONFIG_HZ=128
290# CONFIG_THUMB2_KERNEL is not set
291CONFIG_AEABI=y
292CONFIG_OABI_COMPAT=y
293# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
294# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
295# CONFIG_HIGHMEM is not set
296CONFIG_SELECT_MEMORY_MODEL=y
297CONFIG_FLATMEM_MANUAL=y
298# CONFIG_DISCONTIGMEM_MANUAL is not set
299# CONFIG_SPARSEMEM_MANUAL is not set
300CONFIG_FLATMEM=y
301CONFIG_FLAT_NODE_MEM_MAP=y
302CONFIG_PAGEFLAGS_EXTENDED=y
303CONFIG_SPLIT_PTLOCK_CPUS=4
304# CONFIG_PHYS_ADDR_T_64BIT is not set
305CONFIG_ZONE_DMA_FLAG=0
306CONFIG_VIRT_TO_BUS=y
307CONFIG_HAVE_MLOCK=y
308CONFIG_HAVE_MLOCKED_PAGE_BIT=y
309# CONFIG_KSM is not set
310CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
311# CONFIG_LEDS is not set
312CONFIG_ALIGNMENT_TRAP=y
313# CONFIG_UACCESS_WITH_MEMCPY is not set
314
315#
316# Boot options
317#
318CONFIG_ZBOOT_ROM_TEXT=0x0
319CONFIG_ZBOOT_ROM_BSS=0x0
320CONFIG_CMDLINE=""
321# CONFIG_XIP_KERNEL is not set
322# CONFIG_KEXEC is not set
323
324#
325# CPU Power Management
326#
327# CONFIG_CPU_FREQ is not set
328# CONFIG_CPU_IDLE is not set
329
330#
331# Floating point emulation
332#
333
334#
335# At least one emulation must be selected
336#
337CONFIG_FPE_NWFPE=y
338# CONFIG_FPE_NWFPE_XP is not set
339# CONFIG_FPE_FASTFPE is not set
340CONFIG_VFP=y
341CONFIG_VFPv3=y
342CONFIG_NEON=y
343
344#
345# Userspace binary formats
346#
347CONFIG_BINFMT_ELF=y
348# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
349CONFIG_HAVE_AOUT=y
350# CONFIG_BINFMT_AOUT is not set
351CONFIG_BINFMT_MISC=y
352
353#
354# Power management options
355#
356CONFIG_PM=y
357# CONFIG_PM_DEBUG is not set
358CONFIG_PM_SLEEP=y
359CONFIG_SUSPEND=y
360CONFIG_SUSPEND_FREEZER=y
361# CONFIG_APM_EMULATION is not set
362# CONFIG_PM_RUNTIME is not set
363CONFIG_ARCH_SUSPEND_POSSIBLE=y
364CONFIG_NET=y
365
366#
367# Networking options
368#
369CONFIG_PACKET=y
370# CONFIG_PACKET_MMAP is not set
371CONFIG_UNIX=y
372CONFIG_XFRM=y
373# CONFIG_XFRM_USER is not set
374# CONFIG_XFRM_SUB_POLICY is not set
375# CONFIG_XFRM_MIGRATE is not set
376# CONFIG_XFRM_STATISTICS is not set
377CONFIG_NET_KEY=y
378# CONFIG_NET_KEY_MIGRATE is not set
379CONFIG_INET=y
380# CONFIG_IP_MULTICAST is not set
381# CONFIG_IP_ADVANCED_ROUTER is not set
382CONFIG_IP_FIB_HASH=y
383CONFIG_IP_PNP=y
384CONFIG_IP_PNP_DHCP=y
385CONFIG_IP_PNP_BOOTP=y
386CONFIG_IP_PNP_RARP=y
387# CONFIG_NET_IPIP is not set
388# CONFIG_NET_IPGRE is not set
389# CONFIG_ARPD is not set
390# CONFIG_SYN_COOKIES is not set
391# CONFIG_INET_AH is not set
392# CONFIG_INET_ESP is not set
393# CONFIG_INET_IPCOMP is not set
394# CONFIG_INET_XFRM_TUNNEL is not set
395# CONFIG_INET_TUNNEL is not set
396CONFIG_INET_XFRM_MODE_TRANSPORT=y
397CONFIG_INET_XFRM_MODE_TUNNEL=y
398CONFIG_INET_XFRM_MODE_BEET=y
399# CONFIG_INET_LRO is not set
400CONFIG_INET_DIAG=y
401CONFIG_INET_TCP_DIAG=y
402# CONFIG_TCP_CONG_ADVANCED is not set
403CONFIG_TCP_CONG_CUBIC=y
404CONFIG_DEFAULT_TCP_CONG="cubic"
405# CONFIG_TCP_MD5SIG is not set
406# CONFIG_IPV6 is not set
407# CONFIG_NETWORK_SECMARK is not set
408# CONFIG_NETFILTER is not set
409# CONFIG_IP_DCCP is not set
410# CONFIG_IP_SCTP is not set
411# CONFIG_RDS is not set
412# CONFIG_TIPC is not set
413# CONFIG_ATM is not set
414# CONFIG_BRIDGE is not set
415# CONFIG_NET_DSA is not set
416# CONFIG_VLAN_8021Q is not set
417# CONFIG_DECNET is not set
418# CONFIG_LLC2 is not set
419# CONFIG_IPX is not set
420# CONFIG_ATALK is not set
421# CONFIG_X25 is not set
422# CONFIG_LAPB is not set
423# CONFIG_ECONET is not set
424# CONFIG_WAN_ROUTER is not set
425# CONFIG_PHONET is not set
426# CONFIG_IEEE802154 is not set
427# CONFIG_NET_SCHED is not set
428# CONFIG_DCB is not set
429
430#
431# Network testing
432#
433# CONFIG_NET_PKTGEN is not set
434# CONFIG_HAMRADIO is not set
435# CONFIG_CAN is not set
436# CONFIG_IRDA is not set
437# CONFIG_BT is not set
438# CONFIG_AF_RXRPC is not set
439CONFIG_WIRELESS=y
440# CONFIG_CFG80211 is not set
441CONFIG_CFG80211_DEFAULT_PS_VALUE=0
442# CONFIG_WIRELESS_OLD_REGULATORY is not set
443CONFIG_WIRELESS_EXT=y
444CONFIG_WIRELESS_EXT_SYSFS=y
445CONFIG_LIB80211=m
446# CONFIG_LIB80211_DEBUG is not set
447
448#
449# CFG80211 needs to be enabled for MAC80211
450#
451# CONFIG_WIMAX is not set
452# CONFIG_RFKILL is not set
453# CONFIG_NET_9P is not set
454
455#
456# Device Drivers
457#
458
459#
460# Generic Driver Options
461#
462CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
463# CONFIG_DEVTMPFS is not set
464CONFIG_STANDALONE=y
465CONFIG_PREVENT_FIRMWARE_BUILD=y
466CONFIG_FW_LOADER=m
467CONFIG_FIRMWARE_IN_KERNEL=y
468CONFIG_EXTRA_FIRMWARE=""
469# CONFIG_DEBUG_DRIVER is not set
470# CONFIG_DEBUG_DEVRES is not set
471# CONFIG_SYS_HYPERVISOR is not set
472# CONFIG_CONNECTOR is not set
473CONFIG_MTD=y
474# CONFIG_MTD_DEBUG is not set
475# CONFIG_MTD_TESTS is not set
476CONFIG_MTD_CONCAT=y
477CONFIG_MTD_PARTITIONS=y
478# CONFIG_MTD_REDBOOT_PARTS is not set
479CONFIG_MTD_CMDLINE_PARTS=y
480# CONFIG_MTD_AFS_PARTS is not set
481# CONFIG_MTD_AR7_PARTS is not set
482
483#
484# User Modules And Translation Layers
485#
486CONFIG_MTD_CHAR=y
487CONFIG_MTD_BLKDEVS=y
488CONFIG_MTD_BLOCK=y
489# CONFIG_FTL is not set
490# CONFIG_NFTL is not set
491# CONFIG_INFTL is not set
492# CONFIG_RFD_FTL is not set
493# CONFIG_SSFDC is not set
494# CONFIG_MTD_OOPS is not set
495
496#
497# RAM/ROM/Flash chip drivers
498#
499CONFIG_MTD_CFI=y
500# CONFIG_MTD_JEDECPROBE is not set
501CONFIG_MTD_GEN_PROBE=y
502# CONFIG_MTD_CFI_ADV_OPTIONS is not set
503CONFIG_MTD_MAP_BANK_WIDTH_1=y
504CONFIG_MTD_MAP_BANK_WIDTH_2=y
505CONFIG_MTD_MAP_BANK_WIDTH_4=y
506# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
507# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
508# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
509CONFIG_MTD_CFI_I1=y
510CONFIG_MTD_CFI_I2=y
511# CONFIG_MTD_CFI_I4 is not set
512# CONFIG_MTD_CFI_I8 is not set
513CONFIG_MTD_CFI_INTELEXT=y
514# CONFIG_MTD_CFI_AMDSTD is not set
515# CONFIG_MTD_CFI_STAA is not set
516CONFIG_MTD_CFI_UTIL=y
517# CONFIG_MTD_RAM is not set
518# CONFIG_MTD_ROM is not set
519# CONFIG_MTD_ABSENT is not set
520
521#
522# Mapping drivers for chip access
523#
524# CONFIG_MTD_COMPLEX_MAPPINGS is not set
525# CONFIG_MTD_PHYSMAP is not set
526# CONFIG_MTD_ARM_INTEGRATOR is not set
527# CONFIG_MTD_OMAP_NOR is not set
528# CONFIG_MTD_PLATRAM is not set
529
530#
531# Self-contained MTD device drivers
532#
533# CONFIG_MTD_DATAFLASH is not set
534# CONFIG_MTD_M25P80 is not set
535# CONFIG_MTD_SST25L is not set
536# CONFIG_MTD_SLRAM is not set
537# CONFIG_MTD_PHRAM is not set
538# CONFIG_MTD_MTDRAM is not set
539# CONFIG_MTD_BLOCK2MTD is not set
540
541#
542# Disk-On-Chip Device Drivers
543#
544# CONFIG_MTD_DOC2000 is not set
545# CONFIG_MTD_DOC2001 is not set
546# CONFIG_MTD_DOC2001PLUS is not set
547CONFIG_MTD_NAND=y
548# CONFIG_MTD_NAND_VERIFY_WRITE is not set
549# CONFIG_MTD_NAND_ECC_SMC is not set
550# CONFIG_MTD_NAND_MUSEUM_IDS is not set
551# CONFIG_MTD_NAND_GPIO is not set
552CONFIG_MTD_NAND_OMAP2=y
553CONFIG_MTD_NAND_OMAP_PREFETCH=y
554# CONFIG_MTD_NAND_OMAP_PREFETCH_DMA is not set
555CONFIG_MTD_NAND_IDS=y
556# CONFIG_MTD_NAND_DISKONCHIP is not set
557# CONFIG_MTD_NAND_NANDSIM is not set
558# CONFIG_MTD_NAND_PLATFORM is not set
559# CONFIG_MTD_ALAUDA is not set
560# CONFIG_MTD_ONENAND is not set
561
562#
563# LPDDR flash memory drivers
564#
565# CONFIG_MTD_LPDDR is not set
566
567#
568# UBI - Unsorted block images
569#
570# CONFIG_MTD_UBI is not set
571# CONFIG_PARPORT is not set
572CONFIG_BLK_DEV=y
573# CONFIG_BLK_DEV_COW_COMMON is not set
574CONFIG_BLK_DEV_LOOP=y
575# CONFIG_BLK_DEV_CRYPTOLOOP is not set
576# CONFIG_BLK_DEV_NBD is not set
577# CONFIG_BLK_DEV_UB is not set
578CONFIG_BLK_DEV_RAM=y
579CONFIG_BLK_DEV_RAM_COUNT=16
580CONFIG_BLK_DEV_RAM_SIZE=16384
581# CONFIG_BLK_DEV_XIP is not set
582# CONFIG_CDROM_PKTCDVD is not set
583# CONFIG_ATA_OVER_ETH is not set
584# CONFIG_MG_DISK is not set
585CONFIG_MISC_DEVICES=y
586# CONFIG_ICS932S401 is not set
587# CONFIG_ENCLOSURE_SERVICES is not set
588# CONFIG_ISL29003 is not set
589# CONFIG_C2PORT is not set
590
591#
592# EEPROM support
593#
594# CONFIG_EEPROM_AT24 is not set
595# CONFIG_EEPROM_AT25 is not set
596# CONFIG_EEPROM_LEGACY is not set
597# CONFIG_EEPROM_MAX6875 is not set
598# CONFIG_EEPROM_93CX6 is not set
599CONFIG_HAVE_IDE=y
600# CONFIG_IDE is not set
601
602#
603# SCSI device support
604#
605# CONFIG_RAID_ATTRS is not set
606CONFIG_SCSI=y
607CONFIG_SCSI_DMA=y
608# CONFIG_SCSI_TGT is not set
609# CONFIG_SCSI_NETLINK is not set
610CONFIG_SCSI_PROC_FS=y
611
612#
613# SCSI support type (disk, tape, CD-ROM)
614#
615CONFIG_BLK_DEV_SD=y
616# CONFIG_CHR_DEV_ST is not set
617# CONFIG_CHR_DEV_OSST is not set
618# CONFIG_BLK_DEV_SR is not set
619# CONFIG_CHR_DEV_SG is not set
620# CONFIG_CHR_DEV_SCH is not set
621# CONFIG_SCSI_MULTI_LUN is not set
622# CONFIG_SCSI_CONSTANTS is not set
623# CONFIG_SCSI_LOGGING is not set
624# CONFIG_SCSI_SCAN_ASYNC is not set
625CONFIG_SCSI_WAIT_SCAN=m
626
627#
628# SCSI Transports
629#
630# CONFIG_SCSI_SPI_ATTRS is not set
631# CONFIG_SCSI_FC_ATTRS is not set
632# CONFIG_SCSI_ISCSI_ATTRS is not set
633# CONFIG_SCSI_SAS_LIBSAS is not set
634# CONFIG_SCSI_SRP_ATTRS is not set
635CONFIG_SCSI_LOWLEVEL=y
636# CONFIG_ISCSI_TCP is not set
637# CONFIG_LIBFC is not set
638# CONFIG_LIBFCOE is not set
639# CONFIG_SCSI_DEBUG is not set
640# CONFIG_SCSI_DH is not set
641# CONFIG_SCSI_OSD_INITIATOR is not set
642# CONFIG_ATA is not set
643# CONFIG_MD is not set
644CONFIG_NETDEVICES=y
645# CONFIG_DUMMY is not set
646# CONFIG_BONDING is not set
647# CONFIG_MACVLAN is not set
648# CONFIG_EQUALIZER is not set
649# CONFIG_TUN is not set
650# CONFIG_VETH is not set
651CONFIG_PHYLIB=y
652
653#
654# MII PHY device drivers
655#
656# CONFIG_MARVELL_PHY is not set
657# CONFIG_DAVICOM_PHY is not set
658# CONFIG_QSEMI_PHY is not set
659# CONFIG_LXT_PHY is not set
660# CONFIG_CICADA_PHY is not set
661# CONFIG_VITESSE_PHY is not set
662# CONFIG_SMSC_PHY is not set
663# CONFIG_BROADCOM_PHY is not set
664# CONFIG_ICPLUS_PHY is not set
665# CONFIG_REALTEK_PHY is not set
666# CONFIG_NATIONAL_PHY is not set
667# CONFIG_STE10XP is not set
668# CONFIG_LSI_ET1011C_PHY is not set
669# CONFIG_FIXED_PHY is not set
670# CONFIG_MDIO_BITBANG is not set
671CONFIG_NET_ETHERNET=y
672CONFIG_MII=y
673# CONFIG_AX88796 is not set
674# CONFIG_SMC91X is not set
675# CONFIG_DM9000 is not set
676# CONFIG_ENC28J60 is not set
677# CONFIG_ETHOC is not set
678# CONFIG_SMC911X is not set
679CONFIG_SMSC911X=y
680# CONFIG_DNET is not set
681# CONFIG_IBM_NEW_EMAC_ZMII is not set
682# CONFIG_IBM_NEW_EMAC_RGMII is not set
683# CONFIG_IBM_NEW_EMAC_TAH is not set
684# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
685# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
686# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
687# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
688# CONFIG_B44 is not set
689# CONFIG_KS8842 is not set
690# CONFIG_KS8851 is not set
691# CONFIG_KS8851_MLL is not set
692# CONFIG_NETDEV_1000 is not set
693# CONFIG_NETDEV_10000 is not set
694CONFIG_WLAN=y
695# CONFIG_WLAN_PRE80211 is not set
696CONFIG_WLAN_80211=y
697CONFIG_LIBERTAS=m
698# CONFIG_LIBERTAS_USB is not set
699CONFIG_LIBERTAS_SDIO=m
700# CONFIG_LIBERTAS_SPI is not set
701# CONFIG_LIBERTAS_DEBUG is not set
702# CONFIG_USB_ZD1201 is not set
703# CONFIG_HOSTAP is not set
704
705#
706# Enable WiMAX (Networking options) to see the WiMAX drivers
707#
708
709#
710# USB Network Adapters
711#
712# CONFIG_USB_CATC is not set
713# CONFIG_USB_KAWETH is not set
714# CONFIG_USB_PEGASUS is not set
715# CONFIG_USB_RTL8150 is not set
716# CONFIG_USB_USBNET is not set
717# CONFIG_WAN is not set
718# CONFIG_PPP is not set
719# CONFIG_SLIP is not set
720# CONFIG_NETCONSOLE is not set
721# CONFIG_NETPOLL is not set
722# CONFIG_NET_POLL_CONTROLLER is not set
723# CONFIG_ISDN is not set
724# CONFIG_PHONE is not set
725
726#
727# Input device support
728#
729CONFIG_INPUT=y
730# CONFIG_INPUT_FF_MEMLESS is not set
731# CONFIG_INPUT_POLLDEV is not set
732
733#
734# Userland interfaces
735#
736CONFIG_INPUT_MOUSEDEV=y
737CONFIG_INPUT_MOUSEDEV_PSAUX=y
738CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
739CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
740# CONFIG_INPUT_JOYDEV is not set
741CONFIG_INPUT_EVDEV=y
742# CONFIG_INPUT_EVBUG is not set
743
744#
745# Input Device Drivers
746#
747CONFIG_INPUT_KEYBOARD=y
748# CONFIG_KEYBOARD_ADP5588 is not set
749CONFIG_KEYBOARD_ATKBD=y
750# CONFIG_QT2160 is not set
751# CONFIG_KEYBOARD_LKKBD is not set
752# CONFIG_KEYBOARD_GPIO is not set
753# CONFIG_KEYBOARD_MATRIX is not set
754# CONFIG_KEYBOARD_LM8323 is not set
755# CONFIG_KEYBOARD_MAX7359 is not set
756# CONFIG_KEYBOARD_NEWTON is not set
757# CONFIG_KEYBOARD_OPENCORES is not set
758# CONFIG_KEYBOARD_STOWAWAY is not set
759# CONFIG_KEYBOARD_SUNKBD is not set
760CONFIG_KEYBOARD_TWL4030=m
761# CONFIG_KEYBOARD_XTKBD is not set
762# CONFIG_INPUT_MOUSE is not set
763# CONFIG_INPUT_JOYSTICK is not set
764# CONFIG_INPUT_TABLET is not set
765CONFIG_INPUT_TOUCHSCREEN=y
766CONFIG_TOUCHSCREEN_ADS7846=m
767# CONFIG_TOUCHSCREEN_AD7877 is not set
768# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
769# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
770# CONFIG_TOUCHSCREEN_AD7879 is not set
771# CONFIG_TOUCHSCREEN_EETI is not set
772# CONFIG_TOUCHSCREEN_FUJITSU is not set
773# CONFIG_TOUCHSCREEN_GUNZE is not set
774# CONFIG_TOUCHSCREEN_ELO is not set
775# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
776# CONFIG_TOUCHSCREEN_MCS5000 is not set
777# CONFIG_TOUCHSCREEN_MTOUCH is not set
778# CONFIG_TOUCHSCREEN_INEXIO is not set
779# CONFIG_TOUCHSCREEN_MK712 is not set
780# CONFIG_TOUCHSCREEN_PENMOUNT is not set
781# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
782# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
783# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
784# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
785# CONFIG_TOUCHSCREEN_TSC2007 is not set
786# CONFIG_TOUCHSCREEN_W90X900 is not set
787# CONFIG_INPUT_MISC is not set
788
789#
790# Hardware I/O ports
791#
792CONFIG_SERIO=y
793CONFIG_SERIO_SERPORT=y
794CONFIG_SERIO_LIBPS2=y
795# CONFIG_SERIO_RAW is not set
796# CONFIG_GAMEPORT is not set
797
798#
799# Character devices
800#
801CONFIG_VT=y
802CONFIG_CONSOLE_TRANSLATIONS=y
803CONFIG_VT_CONSOLE=y
804CONFIG_HW_CONSOLE=y
805# CONFIG_VT_HW_CONSOLE_BINDING is not set
806CONFIG_DEVKMEM=y
807# CONFIG_SERIAL_NONSTANDARD is not set
808
809#
810# Serial drivers
811#
812CONFIG_SERIAL_8250=y
813CONFIG_SERIAL_8250_CONSOLE=y
814CONFIG_SERIAL_8250_NR_UARTS=32
815CONFIG_SERIAL_8250_RUNTIME_UARTS=4
816CONFIG_SERIAL_8250_EXTENDED=y
817CONFIG_SERIAL_8250_MANY_PORTS=y
818CONFIG_SERIAL_8250_SHARE_IRQ=y
819CONFIG_SERIAL_8250_DETECT_IRQ=y
820CONFIG_SERIAL_8250_RSA=y
821
822#
823# Non-8250 serial port support
824#
825# CONFIG_SERIAL_MAX3100 is not set
826CONFIG_SERIAL_CORE=y
827CONFIG_SERIAL_CORE_CONSOLE=y
828CONFIG_UNIX98_PTYS=y
829# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
830# CONFIG_LEGACY_PTYS is not set
831# CONFIG_IPMI_HANDLER is not set
832CONFIG_HW_RANDOM=y
833# CONFIG_HW_RANDOM_TIMERIOMEM is not set
834# CONFIG_R3964 is not set
835# CONFIG_RAW_DRIVER is not set
836# CONFIG_TCG_TPM is not set
837CONFIG_I2C=y
838CONFIG_I2C_BOARDINFO=y
839CONFIG_I2C_COMPAT=y
840CONFIG_I2C_CHARDEV=y
841CONFIG_I2C_HELPER_AUTO=y
842
843#
844# I2C Hardware Bus support
845#
846
847#
848# I2C system bus drivers (mostly embedded / system-on-chip)
849#
850# CONFIG_I2C_DESIGNWARE is not set
851# CONFIG_I2C_GPIO is not set
852# CONFIG_I2C_OCORES is not set
853CONFIG_I2C_OMAP=y
854# CONFIG_I2C_SIMTEC is not set
855
856#
857# External I2C/SMBus adapter drivers
858#
859# CONFIG_I2C_PARPORT_LIGHT is not set
860# CONFIG_I2C_TAOS_EVM is not set
861# CONFIG_I2C_TINY_USB is not set
862
863#
864# Other I2C/SMBus bus drivers
865#
866# CONFIG_I2C_PCA_PLATFORM is not set
867# CONFIG_I2C_STUB is not set
868
869#
870# Miscellaneous I2C Chip support
871#
872# CONFIG_DS1682 is not set
873# CONFIG_SENSORS_TSL2550 is not set
874# CONFIG_I2C_DEBUG_CORE is not set
875# CONFIG_I2C_DEBUG_ALGO is not set
876# CONFIG_I2C_DEBUG_BUS is not set
877# CONFIG_I2C_DEBUG_CHIP is not set
878CONFIG_SPI=y
879# CONFIG_SPI_DEBUG is not set
880CONFIG_SPI_MASTER=y
881
882#
883# SPI Master Controller Drivers
884#
885# CONFIG_SPI_BITBANG is not set
886# CONFIG_SPI_GPIO is not set
887CONFIG_SPI_OMAP24XX=y
888
889#
890# SPI Protocol Masters
891#
892# CONFIG_SPI_SPIDEV is not set
893# CONFIG_SPI_TLE62X0 is not set
894
895#
896# PPS support
897#
898# CONFIG_PPS is not set
899CONFIG_ARCH_REQUIRE_GPIOLIB=y
900CONFIG_GPIOLIB=y
901# CONFIG_DEBUG_GPIO is not set
902CONFIG_GPIO_SYSFS=y
903
904#
905# Memory mapped GPIO expanders:
906#
907
908#
909# I2C GPIO expanders:
910#
911# CONFIG_GPIO_MAX732X is not set
912# CONFIG_GPIO_PCA953X is not set
913# CONFIG_GPIO_PCF857X is not set
914CONFIG_GPIO_TWL4030=y
915
916#
917# PCI GPIO expanders:
918#
919
920#
921# SPI GPIO expanders:
922#
923# CONFIG_GPIO_MAX7301 is not set
924# CONFIG_GPIO_MCP23S08 is not set
925# CONFIG_GPIO_MC33880 is not set
926
927#
928# AC97 GPIO expanders:
929#
930# CONFIG_W1 is not set
931# CONFIG_POWER_SUPPLY is not set
932# CONFIG_HWMON is not set
933# CONFIG_THERMAL is not set
934CONFIG_WATCHDOG=y
935CONFIG_WATCHDOG_NOWAYOUT=y
936
937#
938# Watchdog Device Drivers
939#
940# CONFIG_SOFT_WATCHDOG is not set
941CONFIG_OMAP_WATCHDOG=y
942# CONFIG_TWL4030_WATCHDOG is not set
943
944#
945# USB-based Watchdog Cards
946#
947# CONFIG_USBPCWATCHDOG is not set
948CONFIG_SSB_POSSIBLE=y
949
950#
951# Sonics Silicon Backplane
952#
953# CONFIG_SSB is not set
954
955#
956# Multifunction device drivers
957#
958# CONFIG_MFD_CORE is not set
959# CONFIG_MFD_SM501 is not set
960# CONFIG_MFD_ASIC3 is not set
961# CONFIG_HTC_EGPIO is not set
962# CONFIG_HTC_PASIC3 is not set
963# CONFIG_TPS65010 is not set
964CONFIG_TWL4030_CORE=y
965# CONFIG_TWL4030_POWER is not set
966# CONFIG_MFD_TMIO is not set
967# CONFIG_MFD_T7L66XB is not set
968# CONFIG_MFD_TC6387XB is not set
969# CONFIG_MFD_TC6393XB is not set
970# CONFIG_PMIC_DA903X is not set
971# CONFIG_MFD_WM8400 is not set
972# CONFIG_MFD_WM831X is not set
973# CONFIG_MFD_WM8350_I2C is not set
974# CONFIG_MFD_PCF50633 is not set
975# CONFIG_MFD_MC13783 is not set
976# CONFIG_AB3100_CORE is not set
977# CONFIG_EZX_PCAP is not set
978CONFIG_REGULATOR=y
979# CONFIG_REGULATOR_DEBUG is not set
980# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
981# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
982# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
983# CONFIG_REGULATOR_BQ24022 is not set
984# CONFIG_REGULATOR_MAX1586 is not set
985CONFIG_REGULATOR_TWL4030=y
986# CONFIG_REGULATOR_LP3971 is not set
987# CONFIG_REGULATOR_TPS65023 is not set
988# CONFIG_REGULATOR_TPS6507X is not set
989# CONFIG_MEDIA_SUPPORT is not set
990
991#
992# Graphics support
993#
994# CONFIG_VGASTATE is not set
995# CONFIG_VIDEO_OUTPUT_CONTROL is not set
996# CONFIG_FB is not set
997# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
998
999#
1000# Display device support
1001#
1002# CONFIG_DISPLAY_SUPPORT is not set
1003
1004#
1005# Console display driver support
1006#
1007# CONFIG_VGA_CONSOLE is not set
1008CONFIG_DUMMY_CONSOLE=y
1009# CONFIG_SOUND is not set
1010CONFIG_HID_SUPPORT=y
1011CONFIG_HID=y
1012# CONFIG_HIDRAW is not set
1013
1014#
1015# USB Input Devices
1016#
1017CONFIG_USB_HID=y
1018# CONFIG_HID_PID is not set
1019# CONFIG_USB_HIDDEV is not set
1020
1021#
1022# Special HID drivers
1023#
1024# CONFIG_HID_A4TECH is not set
1025# CONFIG_HID_APPLE is not set
1026# CONFIG_HID_BELKIN is not set
1027# CONFIG_HID_CHERRY is not set
1028# CONFIG_HID_CHICONY is not set
1029# CONFIG_HID_CYPRESS is not set
1030# CONFIG_HID_DRAGONRISE is not set
1031# CONFIG_HID_EZKEY is not set
1032# CONFIG_HID_KYE is not set
1033# CONFIG_HID_GYRATION is not set
1034# CONFIG_HID_TWINHAN is not set
1035# CONFIG_HID_KENSINGTON is not set
1036# CONFIG_HID_LOGITECH is not set
1037# CONFIG_HID_MICROSOFT is not set
1038# CONFIG_HID_MONTEREY is not set
1039# CONFIG_HID_NTRIG is not set
1040# CONFIG_HID_PANTHERLORD is not set
1041# CONFIG_HID_PETALYNX is not set
1042# CONFIG_HID_SAMSUNG is not set
1043# CONFIG_HID_SONY is not set
1044# CONFIG_HID_SUNPLUS is not set
1045# CONFIG_HID_GREENASIA is not set
1046# CONFIG_HID_SMARTJOYPLUS is not set
1047# CONFIG_HID_TOPSEED is not set
1048# CONFIG_HID_THRUSTMASTER is not set
1049# CONFIG_HID_ZEROPLUS is not set
1050CONFIG_USB_SUPPORT=y
1051CONFIG_USB_ARCH_HAS_HCD=y
1052CONFIG_USB_ARCH_HAS_OHCI=y
1053CONFIG_USB_ARCH_HAS_EHCI=y
1054CONFIG_USB=y
1055# CONFIG_USB_DEBUG is not set
1056CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
1057
1058#
1059# Miscellaneous USB options
1060#
1061CONFIG_USB_DEVICEFS=y
1062# CONFIG_USB_DEVICE_CLASS is not set
1063# CONFIG_USB_DYNAMIC_MINORS is not set
1064CONFIG_USB_SUSPEND=y
1065CONFIG_USB_OTG=y
1066# CONFIG_USB_OTG_WHITELIST is not set
1067# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1068CONFIG_USB_MON=y
1069# CONFIG_USB_WUSB is not set
1070# CONFIG_USB_WUSB_CBAF is not set
1071
1072#
1073# USB Host Controller Drivers
1074#
1075# CONFIG_USB_C67X00_HCD is not set
1076CONFIG_USB_EHCI_HCD=y
1077# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1078# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1079# CONFIG_USB_OXU210HP_HCD is not set
1080# CONFIG_USB_ISP116X_HCD is not set
1081# CONFIG_USB_ISP1760_HCD is not set
1082# CONFIG_USB_ISP1362_HCD is not set
1083# CONFIG_USB_OHCI_HCD is not set
1084# CONFIG_USB_SL811_HCD is not set
1085# CONFIG_USB_R8A66597_HCD is not set
1086# CONFIG_USB_HWA_HCD is not set
1087CONFIG_USB_MUSB_HDRC=y
1088CONFIG_USB_MUSB_SOC=y
1089
1090#
1091# OMAP 343x high speed USB support
1092#
1093# CONFIG_USB_MUSB_HOST is not set
1094# CONFIG_USB_MUSB_PERIPHERAL is not set
1095CONFIG_USB_MUSB_OTG=y
1096CONFIG_USB_GADGET_MUSB_HDRC=y
1097CONFIG_USB_MUSB_HDRC_HCD=y
1098# CONFIG_MUSB_PIO_ONLY is not set
1099CONFIG_USB_INVENTRA_DMA=y
1100# CONFIG_USB_TI_CPPI_DMA is not set
1101# CONFIG_USB_MUSB_DEBUG is not set
1102
1103#
1104# USB Device Class drivers
1105#
1106# CONFIG_USB_ACM is not set
1107# CONFIG_USB_PRINTER is not set
1108# CONFIG_USB_WDM is not set
1109# CONFIG_USB_TMC is not set
1110
1111#
1112# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1113#
1114
1115#
1116# also be needed; see USB_STORAGE Help for more info
1117#
1118CONFIG_USB_STORAGE=y
1119# CONFIG_USB_STORAGE_DEBUG is not set
1120# CONFIG_USB_STORAGE_DATAFAB is not set
1121# CONFIG_USB_STORAGE_FREECOM is not set
1122# CONFIG_USB_STORAGE_ISD200 is not set
1123# CONFIG_USB_STORAGE_USBAT is not set
1124# CONFIG_USB_STORAGE_SDDR09 is not set
1125# CONFIG_USB_STORAGE_SDDR55 is not set
1126# CONFIG_USB_STORAGE_JUMPSHOT is not set
1127# CONFIG_USB_STORAGE_ALAUDA is not set
1128# CONFIG_USB_STORAGE_ONETOUCH is not set
1129# CONFIG_USB_STORAGE_KARMA is not set
1130# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1131# CONFIG_USB_LIBUSUAL is not set
1132
1133#
1134# USB Imaging devices
1135#
1136# CONFIG_USB_MDC800 is not set
1137# CONFIG_USB_MICROTEK is not set
1138
1139#
1140# USB port drivers
1141#
1142# CONFIG_USB_SERIAL is not set
1143
1144#
1145# USB Miscellaneous drivers
1146#
1147# CONFIG_USB_EMI62 is not set
1148# CONFIG_USB_EMI26 is not set
1149# CONFIG_USB_ADUTUX is not set
1150# CONFIG_USB_SEVSEG is not set
1151# CONFIG_USB_RIO500 is not set
1152# CONFIG_USB_LEGOTOWER is not set
1153# CONFIG_USB_LCD is not set
1154# CONFIG_USB_BERRY_CHARGE is not set
1155# CONFIG_USB_LED is not set
1156# CONFIG_USB_CYPRESS_CY7C63 is not set
1157# CONFIG_USB_CYTHERM is not set
1158# CONFIG_USB_IDMOUSE is not set
1159# CONFIG_USB_FTDI_ELAN is not set
1160# CONFIG_USB_APPLEDISPLAY is not set
1161# CONFIG_USB_SISUSBVGA is not set
1162# CONFIG_USB_LD is not set
1163# CONFIG_USB_TRANCEVIBRATOR is not set
1164# CONFIG_USB_IOWARRIOR is not set
1165CONFIG_USB_TEST=y
1166# CONFIG_USB_ISIGHTFW is not set
1167# CONFIG_USB_VST is not set
1168CONFIG_USB_GADGET=y
1169# CONFIG_USB_GADGET_DEBUG is not set
1170# CONFIG_USB_GADGET_DEBUG_FILES is not set
1171# CONFIG_USB_GADGET_DEBUG_FS is not set
1172CONFIG_USB_GADGET_VBUS_DRAW=2
1173CONFIG_USB_GADGET_SELECTED=y
1174# CONFIG_USB_GADGET_AT91 is not set
1175# CONFIG_USB_GADGET_ATMEL_USBA is not set
1176# CONFIG_USB_GADGET_FSL_USB2 is not set
1177# CONFIG_USB_GADGET_LH7A40X is not set
1178# CONFIG_USB_GADGET_OMAP is not set
1179# CONFIG_USB_GADGET_PXA25X is not set
1180# CONFIG_USB_GADGET_R8A66597 is not set
1181# CONFIG_USB_GADGET_PXA27X is not set
1182# CONFIG_USB_GADGET_S3C_HSOTG is not set
1183# CONFIG_USB_GADGET_IMX is not set
1184# CONFIG_USB_GADGET_S3C2410 is not set
1185# CONFIG_USB_GADGET_M66592 is not set
1186# CONFIG_USB_GADGET_AMD5536UDC is not set
1187# CONFIG_USB_GADGET_FSL_QE is not set
1188# CONFIG_USB_GADGET_CI13XXX is not set
1189# CONFIG_USB_GADGET_NET2280 is not set
1190# CONFIG_USB_GADGET_GOKU is not set
1191# CONFIG_USB_GADGET_LANGWELL is not set
1192# CONFIG_USB_GADGET_DUMMY_HCD is not set
1193CONFIG_USB_GADGET_DUALSPEED=y
1194# CONFIG_USB_ZERO is not set
1195# CONFIG_USB_AUDIO is not set
1196CONFIG_USB_ETH=y
1197CONFIG_USB_ETH_RNDIS=y
1198# CONFIG_USB_ETH_EEM is not set
1199# CONFIG_USB_GADGETFS is not set
1200# CONFIG_USB_FILE_STORAGE is not set
1201# CONFIG_USB_G_SERIAL is not set
1202# CONFIG_USB_MIDI_GADGET is not set
1203# CONFIG_USB_G_PRINTER is not set
1204# CONFIG_USB_CDC_COMPOSITE is not set
1205
1206#
1207# OTG and related infrastructure
1208#
1209CONFIG_USB_OTG_UTILS=y
1210# CONFIG_USB_GPIO_VBUS is not set
1211# CONFIG_ISP1301_OMAP is not set
1212CONFIG_TWL4030_USB=y
1213# CONFIG_NOP_USB_XCEIV is not set
1214CONFIG_MMC=y
1215# CONFIG_MMC_DEBUG is not set
1216# CONFIG_MMC_UNSAFE_RESUME is not set
1217
1218#
1219# MMC/SD/SDIO Card Drivers
1220#
1221CONFIG_MMC_BLOCK=y
1222CONFIG_MMC_BLOCK_BOUNCE=y
1223# CONFIG_SDIO_UART is not set
1224# CONFIG_MMC_TEST is not set
1225
1226#
1227# MMC/SD/SDIO Host Controller Drivers
1228#
1229# CONFIG_MMC_SDHCI is not set
1230# CONFIG_MMC_OMAP is not set
1231CONFIG_MMC_OMAP_HS=y
1232# CONFIG_MMC_AT91 is not set
1233# CONFIG_MMC_ATMELMCI is not set
1234# CONFIG_MMC_SPI is not set
1235# CONFIG_MEMSTICK is not set
1236CONFIG_NEW_LEDS=y
1237CONFIG_LEDS_CLASS=y
1238
1239#
1240# LED drivers
1241#
1242# CONFIG_LEDS_PCA9532 is not set
1243CONFIG_LEDS_GPIO=y
1244CONFIG_LEDS_GPIO_PLATFORM=y
1245# CONFIG_LEDS_LP3944 is not set
1246# CONFIG_LEDS_PCA955X is not set
1247# CONFIG_LEDS_DAC124S085 is not set
1248# CONFIG_LEDS_BD2802 is not set
1249
1250#
1251# LED Triggers
1252#
1253CONFIG_LEDS_TRIGGERS=y
1254# CONFIG_LEDS_TRIGGER_TIMER is not set
1255CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1256# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
1257# CONFIG_LEDS_TRIGGER_GPIO is not set
1258# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
1259
1260#
1261# iptables trigger is under Netfilter config (LED target)
1262#
1263# CONFIG_ACCESSIBILITY is not set
1264CONFIG_RTC_LIB=y
1265CONFIG_RTC_CLASS=y
1266CONFIG_RTC_HCTOSYS=y
1267CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1268# CONFIG_RTC_DEBUG is not set
1269
1270#
1271# RTC interfaces
1272#
1273CONFIG_RTC_INTF_SYSFS=y
1274CONFIG_RTC_INTF_PROC=y
1275CONFIG_RTC_INTF_DEV=y
1276# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1277# CONFIG_RTC_DRV_TEST is not set
1278
1279#
1280# I2C RTC drivers
1281#
1282# CONFIG_RTC_DRV_DS1307 is not set
1283# CONFIG_RTC_DRV_DS1374 is not set
1284# CONFIG_RTC_DRV_DS1672 is not set
1285# CONFIG_RTC_DRV_MAX6900 is not set
1286# CONFIG_RTC_DRV_RS5C372 is not set
1287# CONFIG_RTC_DRV_ISL1208 is not set
1288# CONFIG_RTC_DRV_X1205 is not set
1289# CONFIG_RTC_DRV_PCF8563 is not set
1290# CONFIG_RTC_DRV_PCF8583 is not set
1291# CONFIG_RTC_DRV_M41T80 is not set
1292CONFIG_RTC_DRV_TWL4030=y
1293# CONFIG_RTC_DRV_S35390A is not set
1294# CONFIG_RTC_DRV_FM3130 is not set
1295# CONFIG_RTC_DRV_RX8581 is not set
1296# CONFIG_RTC_DRV_RX8025 is not set
1297
1298#
1299# SPI RTC drivers
1300#
1301# CONFIG_RTC_DRV_M41T94 is not set
1302# CONFIG_RTC_DRV_DS1305 is not set
1303# CONFIG_RTC_DRV_DS1390 is not set
1304# CONFIG_RTC_DRV_MAX6902 is not set
1305# CONFIG_RTC_DRV_R9701 is not set
1306# CONFIG_RTC_DRV_RS5C348 is not set
1307# CONFIG_RTC_DRV_DS3234 is not set
1308# CONFIG_RTC_DRV_PCF2123 is not set
1309
1310#
1311# Platform RTC drivers
1312#
1313# CONFIG_RTC_DRV_CMOS is not set
1314# CONFIG_RTC_DRV_DS1286 is not set
1315# CONFIG_RTC_DRV_DS1511 is not set
1316# CONFIG_RTC_DRV_DS1553 is not set
1317# CONFIG_RTC_DRV_DS1742 is not set
1318# CONFIG_RTC_DRV_STK17TA8 is not set
1319# CONFIG_RTC_DRV_M48T86 is not set
1320# CONFIG_RTC_DRV_M48T35 is not set
1321# CONFIG_RTC_DRV_M48T59 is not set
1322# CONFIG_RTC_DRV_BQ4802 is not set
1323# CONFIG_RTC_DRV_V3020 is not set
1324
1325#
1326# on-CPU RTC drivers
1327#
1328# CONFIG_DMADEVICES is not set
1329# CONFIG_AUXDISPLAY is not set
1330# CONFIG_UIO is not set
1331
1332#
1333# TI VLYNQ
1334#
1335# CONFIG_STAGING is not set
1336
1337#
1338# CBUS support
1339#
1340# CONFIG_CBUS is not set
1341
1342#
1343# File systems
1344#
1345CONFIG_EXT2_FS=y
1346# CONFIG_EXT2_FS_XATTR is not set
1347# CONFIG_EXT2_FS_XIP is not set
1348CONFIG_EXT3_FS=y
1349# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1350# CONFIG_EXT3_FS_XATTR is not set
1351# CONFIG_EXT4_FS is not set
1352CONFIG_JBD=y
1353# CONFIG_JBD_DEBUG is not set
1354# CONFIG_REISERFS_FS is not set
1355# CONFIG_JFS_FS is not set
1356# CONFIG_FS_POSIX_ACL is not set
1357# CONFIG_XFS_FS is not set
1358# CONFIG_GFS2_FS is not set
1359# CONFIG_OCFS2_FS is not set
1360# CONFIG_BTRFS_FS is not set
1361# CONFIG_NILFS2_FS is not set
1362CONFIG_FILE_LOCKING=y
1363CONFIG_FSNOTIFY=y
1364CONFIG_DNOTIFY=y
1365CONFIG_INOTIFY=y
1366CONFIG_INOTIFY_USER=y
1367CONFIG_QUOTA=y
1368# CONFIG_QUOTA_NETLINK_INTERFACE is not set
1369CONFIG_PRINT_QUOTA_WARNING=y
1370CONFIG_QUOTA_TREE=y
1371# CONFIG_QFMT_V1 is not set
1372CONFIG_QFMT_V2=y
1373CONFIG_QUOTACTL=y
1374# CONFIG_AUTOFS_FS is not set
1375# CONFIG_AUTOFS4_FS is not set
1376# CONFIG_FUSE_FS is not set
1377
1378#
1379# Caches
1380#
1381# CONFIG_FSCACHE is not set
1382
1383#
1384# CD-ROM/DVD Filesystems
1385#
1386# CONFIG_ISO9660_FS is not set
1387# CONFIG_UDF_FS is not set
1388
1389#
1390# DOS/FAT/NT Filesystems
1391#
1392CONFIG_FAT_FS=y
1393CONFIG_MSDOS_FS=y
1394CONFIG_VFAT_FS=y
1395CONFIG_FAT_DEFAULT_CODEPAGE=437
1396CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1397CONFIG_NTFS_FS=m
1398# CONFIG_NTFS_DEBUG is not set
1399# CONFIG_NTFS_RW is not set
1400
1401#
1402# Pseudo filesystems
1403#
1404CONFIG_PROC_FS=y
1405CONFIG_PROC_SYSCTL=y
1406CONFIG_PROC_PAGE_MONITOR=y
1407CONFIG_SYSFS=y
1408CONFIG_TMPFS=y
1409# CONFIG_TMPFS_POSIX_ACL is not set
1410# CONFIG_HUGETLB_PAGE is not set
1411# CONFIG_CONFIGFS_FS is not set
1412CONFIG_MISC_FILESYSTEMS=y
1413# CONFIG_ADFS_FS is not set
1414# CONFIG_AFFS_FS is not set
1415# CONFIG_HFS_FS is not set
1416# CONFIG_HFSPLUS_FS is not set
1417# CONFIG_BEFS_FS is not set
1418# CONFIG_BFS_FS is not set
1419# CONFIG_EFS_FS is not set
1420CONFIG_JFFS2_FS=y
1421CONFIG_JFFS2_FS_DEBUG=0
1422CONFIG_JFFS2_FS_WRITEBUFFER=y
1423# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1424CONFIG_JFFS2_SUMMARY=y
1425# CONFIG_JFFS2_FS_XATTR is not set
1426CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1427CONFIG_JFFS2_ZLIB=y
1428# CONFIG_JFFS2_LZO is not set
1429CONFIG_JFFS2_RTIME=y
1430# CONFIG_JFFS2_RUBIN is not set
1431# CONFIG_JFFS2_CMODE_NONE is not set
1432CONFIG_JFFS2_CMODE_PRIORITY=y
1433# CONFIG_JFFS2_CMODE_SIZE is not set
1434# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1435# CONFIG_CRAMFS is not set
1436# CONFIG_SQUASHFS is not set
1437# CONFIG_VXFS_FS is not set
1438# CONFIG_MINIX_FS is not set
1439# CONFIG_OMFS_FS is not set
1440# CONFIG_HPFS_FS is not set
1441# CONFIG_QNX4FS_FS is not set
1442# CONFIG_ROMFS_FS is not set
1443# CONFIG_SYSV_FS is not set
1444# CONFIG_UFS_FS is not set
1445CONFIG_NETWORK_FILESYSTEMS=y
1446CONFIG_NFS_FS=y
1447CONFIG_NFS_V3=y
1448# CONFIG_NFS_V3_ACL is not set
1449CONFIG_NFS_V4=y
1450# CONFIG_NFS_V4_1 is not set
1451CONFIG_ROOT_NFS=y
1452# CONFIG_NFSD is not set
1453CONFIG_LOCKD=y
1454CONFIG_LOCKD_V4=y
1455CONFIG_NFS_COMMON=y
1456CONFIG_SUNRPC=y
1457CONFIG_SUNRPC_GSS=y
1458CONFIG_RPCSEC_GSS_KRB5=y
1459# CONFIG_RPCSEC_GSS_SPKM3 is not set
1460# CONFIG_SMB_FS is not set
1461# CONFIG_CIFS is not set
1462# CONFIG_NCP_FS is not set
1463# CONFIG_CODA_FS is not set
1464# CONFIG_AFS_FS is not set
1465
1466#
1467# Partition Types
1468#
1469CONFIG_PARTITION_ADVANCED=y
1470# CONFIG_ACORN_PARTITION is not set
1471# CONFIG_OSF_PARTITION is not set
1472# CONFIG_AMIGA_PARTITION is not set
1473# CONFIG_ATARI_PARTITION is not set
1474# CONFIG_MAC_PARTITION is not set
1475CONFIG_MSDOS_PARTITION=y
1476# CONFIG_BSD_DISKLABEL is not set
1477# CONFIG_MINIX_SUBPARTITION is not set
1478# CONFIG_SOLARIS_X86_PARTITION is not set
1479# CONFIG_UNIXWARE_DISKLABEL is not set
1480# CONFIG_LDM_PARTITION is not set
1481# CONFIG_SGI_PARTITION is not set
1482# CONFIG_ULTRIX_PARTITION is not set
1483# CONFIG_SUN_PARTITION is not set
1484# CONFIG_KARMA_PARTITION is not set
1485# CONFIG_EFI_PARTITION is not set
1486# CONFIG_SYSV68_PARTITION is not set
1487CONFIG_NLS=y
1488CONFIG_NLS_DEFAULT="iso8859-1"
1489CONFIG_NLS_CODEPAGE_437=y
1490# CONFIG_NLS_CODEPAGE_737 is not set
1491# CONFIG_NLS_CODEPAGE_775 is not set
1492# CONFIG_NLS_CODEPAGE_850 is not set
1493# CONFIG_NLS_CODEPAGE_852 is not set
1494# CONFIG_NLS_CODEPAGE_855 is not set
1495# CONFIG_NLS_CODEPAGE_857 is not set
1496# CONFIG_NLS_CODEPAGE_860 is not set
1497# CONFIG_NLS_CODEPAGE_861 is not set
1498# CONFIG_NLS_CODEPAGE_862 is not set
1499# CONFIG_NLS_CODEPAGE_863 is not set
1500# CONFIG_NLS_CODEPAGE_864 is not set
1501# CONFIG_NLS_CODEPAGE_865 is not set
1502# CONFIG_NLS_CODEPAGE_866 is not set
1503# CONFIG_NLS_CODEPAGE_869 is not set
1504# CONFIG_NLS_CODEPAGE_936 is not set
1505# CONFIG_NLS_CODEPAGE_950 is not set
1506# CONFIG_NLS_CODEPAGE_932 is not set
1507# CONFIG_NLS_CODEPAGE_949 is not set
1508# CONFIG_NLS_CODEPAGE_874 is not set
1509# CONFIG_NLS_ISO8859_8 is not set
1510# CONFIG_NLS_CODEPAGE_1250 is not set
1511# CONFIG_NLS_CODEPAGE_1251 is not set
1512# CONFIG_NLS_ASCII is not set
1513CONFIG_NLS_ISO8859_1=y
1514# CONFIG_NLS_ISO8859_2 is not set
1515# CONFIG_NLS_ISO8859_3 is not set
1516# CONFIG_NLS_ISO8859_4 is not set
1517# CONFIG_NLS_ISO8859_5 is not set
1518# CONFIG_NLS_ISO8859_6 is not set
1519# CONFIG_NLS_ISO8859_7 is not set
1520# CONFIG_NLS_ISO8859_9 is not set
1521# CONFIG_NLS_ISO8859_13 is not set
1522# CONFIG_NLS_ISO8859_14 is not set
1523# CONFIG_NLS_ISO8859_15 is not set
1524# CONFIG_NLS_KOI8_R is not set
1525# CONFIG_NLS_KOI8_U is not set
1526CONFIG_NLS_UTF8=m
1527# CONFIG_DLM is not set
1528
1529#
1530# Kernel hacking
1531#
1532# CONFIG_PRINTK_TIME is not set
1533CONFIG_ENABLE_WARN_DEPRECATED=y
1534CONFIG_ENABLE_MUST_CHECK=y
1535CONFIG_FRAME_WARN=1024
1536CONFIG_MAGIC_SYSRQ=y
1537# CONFIG_STRIP_ASM_SYMS is not set
1538# CONFIG_UNUSED_SYMBOLS is not set
1539CONFIG_DEBUG_FS=y
1540# CONFIG_HEADERS_CHECK is not set
1541CONFIG_DEBUG_KERNEL=y
1542# CONFIG_DEBUG_SHIRQ is not set
1543CONFIG_DETECT_SOFTLOCKUP=y
1544# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1545CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1546CONFIG_DETECT_HUNG_TASK=y
1547# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1548CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1549# CONFIG_SCHED_DEBUG is not set
1550# CONFIG_SCHEDSTATS is not set
1551# CONFIG_TIMER_STATS is not set
1552# CONFIG_DEBUG_OBJECTS is not set
1553# CONFIG_DEBUG_SLAB is not set
1554# CONFIG_DEBUG_KMEMLEAK is not set
1555# CONFIG_DEBUG_RT_MUTEXES is not set
1556# CONFIG_RT_MUTEX_TESTER is not set
1557# CONFIG_DEBUG_SPINLOCK is not set
1558CONFIG_DEBUG_MUTEXES=y
1559# CONFIG_DEBUG_LOCK_ALLOC is not set
1560# CONFIG_PROVE_LOCKING is not set
1561# CONFIG_LOCK_STAT is not set
1562# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1563# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1564# CONFIG_DEBUG_KOBJECT is not set
1565# CONFIG_DEBUG_BUGVERBOSE is not set
1566CONFIG_DEBUG_INFO=y
1567# CONFIG_DEBUG_VM is not set
1568# CONFIG_DEBUG_WRITECOUNT is not set
1569# CONFIG_DEBUG_MEMORY_INIT is not set
1570# CONFIG_DEBUG_LIST is not set
1571# CONFIG_DEBUG_SG is not set
1572# CONFIG_DEBUG_NOTIFIERS is not set
1573# CONFIG_DEBUG_CREDENTIALS is not set
1574# CONFIG_BOOT_PRINTK_DELAY is not set
1575# CONFIG_RCU_TORTURE_TEST is not set
1576# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1577# CONFIG_BACKTRACE_SELF_TEST is not set
1578# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1579# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1580# CONFIG_FAULT_INJECTION is not set
1581# CONFIG_LATENCYTOP is not set
1582# CONFIG_PAGE_POISONING is not set
1583CONFIG_HAVE_FUNCTION_TRACER=y
1584CONFIG_TRACING_SUPPORT=y
1585CONFIG_FTRACE=y
1586# CONFIG_FUNCTION_TRACER is not set
1587# CONFIG_IRQSOFF_TRACER is not set
1588# CONFIG_SCHED_TRACER is not set
1589# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1590# CONFIG_BOOT_TRACER is not set
1591CONFIG_BRANCH_PROFILE_NONE=y
1592# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1593# CONFIG_PROFILE_ALL_BRANCHES is not set
1594# CONFIG_STACK_TRACER is not set
1595# CONFIG_KMEMTRACE is not set
1596# CONFIG_WORKQUEUE_TRACER is not set
1597# CONFIG_BLK_DEV_IO_TRACE is not set
1598# CONFIG_DYNAMIC_DEBUG is not set
1599# CONFIG_SAMPLES is not set
1600CONFIG_HAVE_ARCH_KGDB=y
1601# CONFIG_KGDB is not set
1602CONFIG_ARM_UNWIND=y
1603# CONFIG_DEBUG_USER is not set
1604# CONFIG_DEBUG_ERRORS is not set
1605# CONFIG_DEBUG_STACK_USAGE is not set
1606CONFIG_DEBUG_LL=y
1607# CONFIG_DEBUG_ICEDCC is not set
1608
1609#
1610# Security options
1611#
1612# CONFIG_KEYS is not set
1613# CONFIG_SECURITY is not set
1614# CONFIG_SECURITYFS is not set
1615# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1616CONFIG_CRYPTO=y
1617
1618#
1619# Crypto core or helper
1620#
1621CONFIG_CRYPTO_ALGAPI=y
1622CONFIG_CRYPTO_ALGAPI2=y
1623CONFIG_CRYPTO_AEAD2=y
1624CONFIG_CRYPTO_BLKCIPHER=y
1625CONFIG_CRYPTO_BLKCIPHER2=y
1626CONFIG_CRYPTO_HASH=y
1627CONFIG_CRYPTO_HASH2=y
1628CONFIG_CRYPTO_RNG2=y
1629CONFIG_CRYPTO_PCOMP=y
1630CONFIG_CRYPTO_MANAGER=y
1631CONFIG_CRYPTO_MANAGER2=y
1632# CONFIG_CRYPTO_GF128MUL is not set
1633# CONFIG_CRYPTO_NULL is not set
1634CONFIG_CRYPTO_WORKQUEUE=y
1635# CONFIG_CRYPTO_CRYPTD is not set
1636# CONFIG_CRYPTO_AUTHENC is not set
1637# CONFIG_CRYPTO_TEST is not set
1638
1639#
1640# Authenticated Encryption with Associated Data
1641#
1642# CONFIG_CRYPTO_CCM is not set
1643# CONFIG_CRYPTO_GCM is not set
1644# CONFIG_CRYPTO_SEQIV is not set
1645
1646#
1647# Block modes
1648#
1649CONFIG_CRYPTO_CBC=y
1650# CONFIG_CRYPTO_CTR is not set
1651# CONFIG_CRYPTO_CTS is not set
1652CONFIG_CRYPTO_ECB=m
1653# CONFIG_CRYPTO_LRW is not set
1654CONFIG_CRYPTO_PCBC=m
1655# CONFIG_CRYPTO_XTS is not set
1656
1657#
1658# Hash modes
1659#
1660# CONFIG_CRYPTO_HMAC is not set
1661# CONFIG_CRYPTO_XCBC is not set
1662# CONFIG_CRYPTO_VMAC is not set
1663
1664#
1665# Digest
1666#
1667CONFIG_CRYPTO_CRC32C=y
1668# CONFIG_CRYPTO_GHASH is not set
1669# CONFIG_CRYPTO_MD4 is not set
1670CONFIG_CRYPTO_MD5=y
1671# CONFIG_CRYPTO_MICHAEL_MIC is not set
1672# CONFIG_CRYPTO_RMD128 is not set
1673# CONFIG_CRYPTO_RMD160 is not set
1674# CONFIG_CRYPTO_RMD256 is not set
1675# CONFIG_CRYPTO_RMD320 is not set
1676# CONFIG_CRYPTO_SHA1 is not set
1677# CONFIG_CRYPTO_SHA256 is not set
1678# CONFIG_CRYPTO_SHA512 is not set
1679# CONFIG_CRYPTO_TGR192 is not set
1680# CONFIG_CRYPTO_WP512 is not set
1681
1682#
1683# Ciphers
1684#
1685# CONFIG_CRYPTO_AES is not set
1686# CONFIG_CRYPTO_ANUBIS is not set
1687# CONFIG_CRYPTO_ARC4 is not set
1688# CONFIG_CRYPTO_BLOWFISH is not set
1689# CONFIG_CRYPTO_CAMELLIA is not set
1690# CONFIG_CRYPTO_CAST5 is not set
1691# CONFIG_CRYPTO_CAST6 is not set
1692CONFIG_CRYPTO_DES=y
1693# CONFIG_CRYPTO_FCRYPT is not set
1694# CONFIG_CRYPTO_KHAZAD is not set
1695# CONFIG_CRYPTO_SALSA20 is not set
1696# CONFIG_CRYPTO_SEED is not set
1697# CONFIG_CRYPTO_SERPENT is not set
1698# CONFIG_CRYPTO_TEA is not set
1699# CONFIG_CRYPTO_TWOFISH is not set
1700
1701#
1702# Compression
1703#
1704# CONFIG_CRYPTO_DEFLATE is not set
1705# CONFIG_CRYPTO_ZLIB is not set
1706# CONFIG_CRYPTO_LZO is not set
1707
1708#
1709# Random Number Generation
1710#
1711# CONFIG_CRYPTO_ANSI_CPRNG is not set
1712CONFIG_CRYPTO_HW=y
1713# CONFIG_BINARY_PRINTF is not set
1714
1715#
1716# Library routines
1717#
1718CONFIG_BITREVERSE=y
1719CONFIG_GENERIC_FIND_LAST_BIT=y
1720CONFIG_CRC_CCITT=y
1721# CONFIG_CRC16 is not set
1722# CONFIG_CRC_T10DIF is not set
1723# CONFIG_CRC_ITU_T is not set
1724CONFIG_CRC32=y
1725# CONFIG_CRC7 is not set
1726CONFIG_LIBCRC32C=y
1727CONFIG_ZLIB_INFLATE=y
1728CONFIG_ZLIB_DEFLATE=y
1729CONFIG_DECOMPRESS_GZIP=y
1730CONFIG_HAS_IOMEM=y
1731CONFIG_HAS_IOPORT=y
1732CONFIG_HAS_DMA=y
1733CONFIG_NLATTR=y
diff --git a/arch/arm/configs/htcherald_defconfig b/arch/arm/configs/htcherald_defconfig
new file mode 100644
index 000000000000..338267674075
--- /dev/null
+++ b/arch/arm/configs/htcherald_defconfig
@@ -0,0 +1,1142 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.32-rc6
4# Sat Nov 14 10:56:01 2009
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_GENERIC_HARDIRQS=y
12CONFIG_STACKTRACE_SUPPORT=y
13CONFIG_HAVE_LATENCYTOP_SUPPORT=y
14CONFIG_LOCKDEP_SUPPORT=y
15CONFIG_TRACE_IRQFLAGS_SUPPORT=y
16CONFIG_HARDIRQS_SW_RESEND=y
17CONFIG_GENERIC_IRQ_PROBE=y
18CONFIG_RWSEM_GENERIC_SPINLOCK=y
19CONFIG_ARCH_HAS_CPUFREQ=y
20CONFIG_GENERIC_HWEIGHT=y
21CONFIG_GENERIC_CALIBRATE_DELAY=y
22CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
23CONFIG_VECTORS_BASE=0xffff0000
24CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
25CONFIG_CONSTRUCTORS=y
26
27#
28# General setup
29#
30CONFIG_EXPERIMENTAL=y
31CONFIG_BROKEN_ON_SMP=y
32CONFIG_LOCK_KERNEL=y
33CONFIG_INIT_ENV_ARG_LIMIT=32
34CONFIG_LOCALVERSION=""
35CONFIG_LOCALVERSION_AUTO=y
36CONFIG_SWAP=y
37CONFIG_SYSVIPC=y
38CONFIG_SYSVIPC_SYSCTL=y
39# CONFIG_POSIX_MQUEUE is not set
40# CONFIG_BSD_PROCESS_ACCT is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_AUDIT is not set
43
44#
45# RCU Subsystem
46#
47CONFIG_TREE_RCU=y
48# CONFIG_TREE_PREEMPT_RCU is not set
49# CONFIG_RCU_TRACE is not set
50CONFIG_RCU_FANOUT=32
51# CONFIG_RCU_FANOUT_EXACT is not set
52# CONFIG_TREE_RCU_TRACE is not set
53# CONFIG_IKCONFIG is not set
54CONFIG_LOG_BUF_SHIFT=14
55# CONFIG_GROUP_SCHED is not set
56# CONFIG_CGROUPS is not set
57# CONFIG_SYSFS_DEPRECATED_V2 is not set
58# CONFIG_RELAY is not set
59CONFIG_NAMESPACES=y
60# CONFIG_UTS_NS is not set
61# CONFIG_IPC_NS is not set
62# CONFIG_USER_NS is not set
63# CONFIG_PID_NS is not set
64# CONFIG_NET_NS is not set
65CONFIG_BLK_DEV_INITRD=y
66CONFIG_INITRAMFS_SOURCE=""
67CONFIG_RD_GZIP=y
68CONFIG_RD_BZIP2=y
69CONFIG_RD_LZMA=y
70CONFIG_CC_OPTIMIZE_FOR_SIZE=y
71CONFIG_SYSCTL=y
72CONFIG_ANON_INODES=y
73# CONFIG_EMBEDDED is not set
74CONFIG_UID16=y
75CONFIG_SYSCTL_SYSCALL=y
76CONFIG_KALLSYMS=y
77# CONFIG_KALLSYMS_EXTRA_PASS is not set
78CONFIG_HOTPLUG=y
79CONFIG_PRINTK=y
80CONFIG_BUG=y
81CONFIG_ELF_CORE=y
82CONFIG_BASE_FULL=y
83CONFIG_FUTEX=y
84CONFIG_EPOLL=y
85CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y
88CONFIG_SHMEM=y
89CONFIG_AIO=y
90
91#
92# Kernel Performance Events And Counters
93#
94CONFIG_VM_EVENT_COUNTERS=y
95CONFIG_COMPAT_BRK=y
96CONFIG_SLAB=y
97# CONFIG_SLUB is not set
98# CONFIG_SLOB is not set
99# CONFIG_PROFILING is not set
100CONFIG_HAVE_OPROFILE=y
101# CONFIG_KPROBES is not set
102CONFIG_HAVE_KPROBES=y
103CONFIG_HAVE_KRETPROBES=y
104CONFIG_HAVE_CLK=y
105
106#
107# GCOV-based kernel profiling
108#
109# CONFIG_SLOW_WORK is not set
110CONFIG_HAVE_GENERIC_DMA_COHERENT=y
111CONFIG_SLABINFO=y
112CONFIG_RT_MUTEXES=y
113CONFIG_BASE_SMALL=0
114CONFIG_MODULES=y
115# CONFIG_MODULE_FORCE_LOAD is not set
116CONFIG_MODULE_UNLOAD=y
117# CONFIG_MODULE_FORCE_UNLOAD is not set
118# CONFIG_MODVERSIONS is not set
119# CONFIG_MODULE_SRCVERSION_ALL is not set
120CONFIG_BLOCK=y
121CONFIG_LBDAF=y
122# CONFIG_BLK_DEV_BSG is not set
123# CONFIG_BLK_DEV_INTEGRITY is not set
124
125#
126# IO Schedulers
127#
128CONFIG_IOSCHED_NOOP=y
129CONFIG_IOSCHED_AS=y
130CONFIG_IOSCHED_DEADLINE=y
131CONFIG_IOSCHED_CFQ=y
132# CONFIG_DEFAULT_AS is not set
133# CONFIG_DEFAULT_DEADLINE is not set
134CONFIG_DEFAULT_CFQ=y
135# CONFIG_DEFAULT_NOOP is not set
136CONFIG_DEFAULT_IOSCHED="cfq"
137CONFIG_FREEZER=y
138
139#
140# System Type
141#
142CONFIG_MMU=y
143# CONFIG_ARCH_AAEC2000 is not set
144# CONFIG_ARCH_INTEGRATOR is not set
145# CONFIG_ARCH_REALVIEW is not set
146# CONFIG_ARCH_VERSATILE is not set
147# CONFIG_ARCH_AT91 is not set
148# CONFIG_ARCH_CLPS711X is not set
149# CONFIG_ARCH_GEMINI is not set
150# CONFIG_ARCH_EBSA110 is not set
151# CONFIG_ARCH_EP93XX is not set
152# CONFIG_ARCH_FOOTBRIDGE is not set
153# CONFIG_ARCH_MXC is not set
154# CONFIG_ARCH_STMP3XXX is not set
155# CONFIG_ARCH_NETX is not set
156# CONFIG_ARCH_H720X is not set
157# CONFIG_ARCH_NOMADIK is not set
158# CONFIG_ARCH_IOP13XX is not set
159# CONFIG_ARCH_IOP32X is not set
160# CONFIG_ARCH_IOP33X is not set
161# CONFIG_ARCH_IXP23XX is not set
162# CONFIG_ARCH_IXP2000 is not set
163# CONFIG_ARCH_IXP4XX is not set
164# CONFIG_ARCH_L7200 is not set
165# CONFIG_ARCH_KIRKWOOD is not set
166# CONFIG_ARCH_LOKI is not set
167# CONFIG_ARCH_MV78XX0 is not set
168# CONFIG_ARCH_ORION5X is not set
169# CONFIG_ARCH_MMP is not set
170# CONFIG_ARCH_KS8695 is not set
171# CONFIG_ARCH_NS9XXX is not set
172# CONFIG_ARCH_W90X900 is not set
173# CONFIG_ARCH_PNX4008 is not set
174# CONFIG_ARCH_PXA is not set
175# CONFIG_ARCH_MSM is not set
176# CONFIG_ARCH_RPC is not set
177# CONFIG_ARCH_SA1100 is not set
178# CONFIG_ARCH_S3C2410 is not set
179# CONFIG_ARCH_S3C64XX is not set
180# CONFIG_ARCH_S5PC1XX is not set
181# CONFIG_ARCH_SHARK is not set
182# CONFIG_ARCH_LH7A40X is not set
183# CONFIG_ARCH_U300 is not set
184# CONFIG_ARCH_DAVINCI is not set
185CONFIG_ARCH_OMAP=y
186# CONFIG_ARCH_BCMRING is not set
187
188#
189# TI OMAP Implementations
190#
191CONFIG_ARCH_OMAP_OTG=y
192CONFIG_ARCH_OMAP1=y
193# CONFIG_ARCH_OMAP2 is not set
194# CONFIG_ARCH_OMAP3 is not set
195# CONFIG_ARCH_OMAP4 is not set
196
197#
198# OMAP Feature Selections
199#
200# CONFIG_OMAP_RESET_CLOCKS is not set
201# CONFIG_OMAP_MUX is not set
202CONFIG_OMAP_MCBSP=y
203# CONFIG_OMAP_MBOX_FWK is not set
204CONFIG_OMAP_MPU_TIMER=y
205# CONFIG_OMAP_32K_TIMER is not set
206CONFIG_OMAP_LL_DEBUG_UART1=y
207# CONFIG_OMAP_LL_DEBUG_UART2 is not set
208# CONFIG_OMAP_LL_DEBUG_UART3 is not set
209# CONFIG_OMAP_LL_DEBUG_NONE is not set
210# CONFIG_OMAP_PM_NONE is not set
211CONFIG_OMAP_PM_NOOP=y
212
213#
214# OMAP Core Type
215#
216# CONFIG_ARCH_OMAP730 is not set
217CONFIG_ARCH_OMAP850=y
218# CONFIG_ARCH_OMAP15XX is not set
219# CONFIG_ARCH_OMAP16XX is not set
220
221#
222# OMAP Board Type
223#
224# CONFIG_MACH_OMAP_HTCWIZARD is not set
225CONFIG_MACH_HERALD=y
226
227#
228# OMAP CPU Speed
229#
230# CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER is not set
231CONFIG_OMAP_ARM_195MHZ=y
232# CONFIG_OMAP_ARM_182MHZ is not set
233# CONFIG_OMAP_ARM_168MHZ is not set
234# CONFIG_OMAP_ARM_120MHZ is not set
235# CONFIG_OMAP_ARM_60MHZ is not set
236# CONFIG_OMAP_ARM_30MHZ is not set
237
238#
239# Processor Type
240#
241CONFIG_CPU_32=y
242CONFIG_CPU_ARM925T=y
243CONFIG_CPU_ARM926T=y
244CONFIG_CPU_32v4T=y
245CONFIG_CPU_32v5=y
246CONFIG_CPU_ABRT_EV4T=y
247CONFIG_CPU_ABRT_EV5TJ=y
248CONFIG_CPU_PABRT_LEGACY=y
249CONFIG_CPU_CACHE_V4WT=y
250CONFIG_CPU_CACHE_VIVT=y
251CONFIG_CPU_COPY_V4WB=y
252CONFIG_CPU_TLB_V4WBI=y
253CONFIG_CPU_CP15=y
254CONFIG_CPU_CP15_MMU=y
255
256#
257# Processor Features
258#
259CONFIG_ARM_THUMB=y
260# CONFIG_CPU_ICACHE_DISABLE is not set
261# CONFIG_CPU_DCACHE_DISABLE is not set
262CONFIG_CPU_DCACHE_WRITETHROUGH=y
263# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
264CONFIG_ARM_L1_CACHE_SHIFT=5
265CONFIG_COMMON_CLKDEV=y
266
267#
268# Bus support
269#
270# CONFIG_PCI_SYSCALL is not set
271# CONFIG_ARCH_SUPPORTS_MSI is not set
272# CONFIG_PCCARD is not set
273
274#
275# Kernel Features
276#
277# CONFIG_NO_HZ is not set
278# CONFIG_HIGH_RES_TIMERS is not set
279CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
280CONFIG_VMSPLIT_3G=y
281# CONFIG_VMSPLIT_2G is not set
282# CONFIG_VMSPLIT_1G is not set
283CONFIG_PAGE_OFFSET=0xC0000000
284# CONFIG_PREEMPT_NONE is not set
285# CONFIG_PREEMPT_VOLUNTARY is not set
286CONFIG_PREEMPT=y
287CONFIG_HZ=100
288CONFIG_AEABI=y
289CONFIG_OABI_COMPAT=y
290# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
291# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
292# CONFIG_HIGHMEM is not set
293CONFIG_SELECT_MEMORY_MODEL=y
294CONFIG_FLATMEM_MANUAL=y
295# CONFIG_DISCONTIGMEM_MANUAL is not set
296# CONFIG_SPARSEMEM_MANUAL is not set
297CONFIG_FLATMEM=y
298CONFIG_FLAT_NODE_MEM_MAP=y
299CONFIG_PAGEFLAGS_EXTENDED=y
300CONFIG_SPLIT_PTLOCK_CPUS=4096
301# CONFIG_PHYS_ADDR_T_64BIT is not set
302CONFIG_ZONE_DMA_FLAG=0
303CONFIG_VIRT_TO_BUS=y
304CONFIG_HAVE_MLOCK=y
305CONFIG_HAVE_MLOCKED_PAGE_BIT=y
306# CONFIG_KSM is not set
307CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
308CONFIG_LEDS=y
309CONFIG_ALIGNMENT_TRAP=y
310# CONFIG_UACCESS_WITH_MEMCPY is not set
311
312#
313# Boot options
314#
315CONFIG_ZBOOT_ROM_TEXT=0x0
316CONFIG_ZBOOT_ROM_BSS=0x0
317CONFIG_CMDLINE="mem=32M console=ttyS0,115200 ip=dhcp"
318# CONFIG_XIP_KERNEL is not set
319# CONFIG_KEXEC is not set
320
321#
322# CPU Power Management
323#
324# CONFIG_CPU_FREQ is not set
325# CONFIG_CPU_IDLE is not set
326
327#
328# Floating point emulation
329#
330
331#
332# At least one emulation must be selected
333#
334CONFIG_FPE_NWFPE=y
335# CONFIG_FPE_NWFPE_XP is not set
336# CONFIG_FPE_FASTFPE is not set
337# CONFIG_VFP is not set
338
339#
340# Userspace binary formats
341#
342CONFIG_BINFMT_ELF=y
343# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
344CONFIG_HAVE_AOUT=y
345# CONFIG_BINFMT_AOUT is not set
346# CONFIG_BINFMT_MISC is not set
347
348#
349# Power management options
350#
351CONFIG_PM=y
352# CONFIG_PM_DEBUG is not set
353CONFIG_PM_SLEEP=y
354CONFIG_SUSPEND=y
355CONFIG_SUSPEND_FREEZER=y
356# CONFIG_APM_EMULATION is not set
357# CONFIG_PM_RUNTIME is not set
358CONFIG_ARCH_SUSPEND_POSSIBLE=y
359CONFIG_NET=y
360
361#
362# Networking options
363#
364CONFIG_PACKET=y
365# CONFIG_PACKET_MMAP is not set
366CONFIG_UNIX=y
367CONFIG_XFRM=y
368# CONFIG_XFRM_USER is not set
369# CONFIG_XFRM_SUB_POLICY is not set
370# CONFIG_XFRM_MIGRATE is not set
371# CONFIG_XFRM_STATISTICS is not set
372# CONFIG_NET_KEY is not set
373CONFIG_INET=y
374CONFIG_IP_MULTICAST=y
375# CONFIG_IP_ADVANCED_ROUTER is not set
376CONFIG_IP_FIB_HASH=y
377CONFIG_IP_PNP=y
378CONFIG_IP_PNP_DHCP=y
379CONFIG_IP_PNP_BOOTP=y
380# CONFIG_IP_PNP_RARP is not set
381# CONFIG_NET_IPIP is not set
382# CONFIG_NET_IPGRE is not set
383# CONFIG_IP_MROUTE is not set
384# CONFIG_ARPD is not set
385# CONFIG_SYN_COOKIES is not set
386# CONFIG_INET_AH is not set
387# CONFIG_INET_ESP is not set
388# CONFIG_INET_IPCOMP is not set
389# CONFIG_INET_XFRM_TUNNEL is not set
390# CONFIG_INET_TUNNEL is not set
391CONFIG_INET_XFRM_MODE_TRANSPORT=y
392CONFIG_INET_XFRM_MODE_TUNNEL=y
393CONFIG_INET_XFRM_MODE_BEET=y
394CONFIG_INET_LRO=y
395CONFIG_INET_DIAG=y
396CONFIG_INET_TCP_DIAG=y
397# CONFIG_TCP_CONG_ADVANCED is not set
398CONFIG_TCP_CONG_CUBIC=y
399CONFIG_DEFAULT_TCP_CONG="cubic"
400# CONFIG_TCP_MD5SIG is not set
401# CONFIG_IPV6 is not set
402# CONFIG_NETWORK_SECMARK is not set
403# CONFIG_NETFILTER is not set
404# CONFIG_IP_DCCP is not set
405# CONFIG_IP_SCTP is not set
406# CONFIG_RDS is not set
407# CONFIG_TIPC is not set
408# CONFIG_ATM is not set
409# CONFIG_BRIDGE is not set
410# CONFIG_NET_DSA is not set
411# CONFIG_VLAN_8021Q is not set
412# CONFIG_DECNET is not set
413# CONFIG_LLC2 is not set
414# CONFIG_IPX is not set
415# CONFIG_ATALK is not set
416# CONFIG_X25 is not set
417# CONFIG_LAPB is not set
418# CONFIG_ECONET is not set
419# CONFIG_WAN_ROUTER is not set
420# CONFIG_PHONET is not set
421# CONFIG_IEEE802154 is not set
422# CONFIG_NET_SCHED is not set
423# CONFIG_DCB is not set
424
425#
426# Network testing
427#
428# CONFIG_NET_PKTGEN is not set
429# CONFIG_HAMRADIO is not set
430# CONFIG_CAN is not set
431# CONFIG_IRDA is not set
432# CONFIG_BT is not set
433# CONFIG_AF_RXRPC is not set
434CONFIG_WIRELESS=y
435# CONFIG_CFG80211 is not set
436CONFIG_CFG80211_DEFAULT_PS_VALUE=0
437# CONFIG_WIRELESS_OLD_REGULATORY is not set
438# CONFIG_WIRELESS_EXT is not set
439# CONFIG_LIB80211 is not set
440
441#
442# CFG80211 needs to be enabled for MAC80211
443#
444# CONFIG_WIMAX is not set
445# CONFIG_RFKILL is not set
446# CONFIG_NET_9P is not set
447
448#
449# Device Drivers
450#
451
452#
453# Generic Driver Options
454#
455CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
456# CONFIG_DEVTMPFS is not set
457CONFIG_STANDALONE=y
458CONFIG_PREVENT_FIRMWARE_BUILD=y
459CONFIG_FW_LOADER=y
460CONFIG_FIRMWARE_IN_KERNEL=y
461CONFIG_EXTRA_FIRMWARE=""
462# CONFIG_SYS_HYPERVISOR is not set
463# CONFIG_CONNECTOR is not set
464# CONFIG_MTD is not set
465# CONFIG_PARPORT is not set
466CONFIG_BLK_DEV=y
467# CONFIG_BLK_DEV_COW_COMMON is not set
468CONFIG_BLK_DEV_LOOP=y
469# CONFIG_BLK_DEV_CRYPTOLOOP is not set
470# CONFIG_BLK_DEV_NBD is not set
471CONFIG_BLK_DEV_RAM=y
472CONFIG_BLK_DEV_RAM_COUNT=16
473CONFIG_BLK_DEV_RAM_SIZE=8192
474# CONFIG_BLK_DEV_XIP is not set
475# CONFIG_CDROM_PKTCDVD is not set
476# CONFIG_ATA_OVER_ETH is not set
477# CONFIG_MG_DISK is not set
478CONFIG_MISC_DEVICES=y
479# CONFIG_ENCLOSURE_SERVICES is not set
480# CONFIG_C2PORT is not set
481
482#
483# EEPROM support
484#
485# CONFIG_EEPROM_93CX6 is not set
486CONFIG_HAVE_IDE=y
487# CONFIG_IDE is not set
488
489#
490# SCSI device support
491#
492# CONFIG_RAID_ATTRS is not set
493# CONFIG_SCSI is not set
494# CONFIG_SCSI_DMA is not set
495# CONFIG_SCSI_NETLINK is not set
496# CONFIG_ATA is not set
497# CONFIG_MD is not set
498CONFIG_NETDEVICES=y
499# CONFIG_DUMMY is not set
500# CONFIG_BONDING is not set
501# CONFIG_MACVLAN is not set
502# CONFIG_EQUALIZER is not set
503# CONFIG_TUN is not set
504# CONFIG_VETH is not set
505# CONFIG_PHYLIB is not set
506CONFIG_NET_ETHERNET=y
507CONFIG_MII=y
508# CONFIG_AX88796 is not set
509CONFIG_SMC91X=y
510# CONFIG_DM9000 is not set
511# CONFIG_ETHOC is not set
512# CONFIG_SMC911X is not set
513# CONFIG_SMSC911X is not set
514# CONFIG_DNET is not set
515# CONFIG_IBM_NEW_EMAC_ZMII is not set
516# CONFIG_IBM_NEW_EMAC_RGMII is not set
517# CONFIG_IBM_NEW_EMAC_TAH is not set
518# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
519# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
520# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
521# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
522# CONFIG_B44 is not set
523# CONFIG_KS8842 is not set
524# CONFIG_KS8851_MLL is not set
525CONFIG_NETDEV_1000=y
526CONFIG_NETDEV_10000=y
527CONFIG_WLAN=y
528# CONFIG_WLAN_PRE80211 is not set
529# CONFIG_WLAN_80211 is not set
530
531#
532# Enable WiMAX (Networking options) to see the WiMAX drivers
533#
534# CONFIG_WAN is not set
535# CONFIG_PPP is not set
536# CONFIG_SLIP is not set
537# CONFIG_NETCONSOLE is not set
538# CONFIG_NETPOLL is not set
539# CONFIG_NET_POLL_CONTROLLER is not set
540# CONFIG_ISDN is not set
541# CONFIG_PHONE is not set
542
543#
544# Input device support
545#
546CONFIG_INPUT=y
547# CONFIG_INPUT_FF_MEMLESS is not set
548# CONFIG_INPUT_POLLDEV is not set
549
550#
551# Userland interfaces
552#
553CONFIG_INPUT_MOUSEDEV=y
554CONFIG_INPUT_MOUSEDEV_PSAUX=y
555CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
556CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
557# CONFIG_INPUT_JOYDEV is not set
558# CONFIG_INPUT_EVDEV is not set
559# CONFIG_INPUT_EVBUG is not set
560
561#
562# Input Device Drivers
563#
564CONFIG_INPUT_KEYBOARD=y
565# CONFIG_KEYBOARD_ATKBD is not set
566# CONFIG_KEYBOARD_LKKBD is not set
567# CONFIG_KEYBOARD_GPIO is not set
568# CONFIG_KEYBOARD_MATRIX is not set
569# CONFIG_KEYBOARD_NEWTON is not set
570# CONFIG_KEYBOARD_OPENCORES is not set
571# CONFIG_KEYBOARD_STOWAWAY is not set
572# CONFIG_KEYBOARD_SUNKBD is not set
573CONFIG_KEYBOARD_OMAP=y
574# CONFIG_KEYBOARD_XTKBD is not set
575# CONFIG_INPUT_MOUSE is not set
576# CONFIG_INPUT_JOYSTICK is not set
577# CONFIG_INPUT_TABLET is not set
578# CONFIG_INPUT_TOUCHSCREEN is not set
579# CONFIG_INPUT_MISC is not set
580
581#
582# Hardware I/O ports
583#
584CONFIG_SERIO=y
585CONFIG_SERIO_SERPORT=y
586# CONFIG_SERIO_RAW is not set
587# CONFIG_GAMEPORT is not set
588
589#
590# Character devices
591#
592CONFIG_VT=y
593CONFIG_CONSOLE_TRANSLATIONS=y
594CONFIG_VT_CONSOLE=y
595CONFIG_HW_CONSOLE=y
596# CONFIG_VT_HW_CONSOLE_BINDING is not set
597CONFIG_DEVKMEM=y
598# CONFIG_SERIAL_NONSTANDARD is not set
599
600#
601# Serial drivers
602#
603CONFIG_SERIAL_8250=m
604CONFIG_SERIAL_8250_NR_UARTS=4
605CONFIG_SERIAL_8250_RUNTIME_UARTS=4
606# CONFIG_SERIAL_8250_EXTENDED is not set
607
608#
609# Non-8250 serial port support
610#
611CONFIG_SERIAL_CORE=m
612CONFIG_UNIX98_PTYS=y
613# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
614# CONFIG_LEGACY_PTYS is not set
615# CONFIG_IPMI_HANDLER is not set
616CONFIG_HW_RANDOM=m
617# CONFIG_HW_RANDOM_TIMERIOMEM is not set
618# CONFIG_R3964 is not set
619# CONFIG_RAW_DRIVER is not set
620# CONFIG_TCG_TPM is not set
621# CONFIG_I2C is not set
622# CONFIG_SPI is not set
623
624#
625# PPS support
626#
627# CONFIG_PPS is not set
628CONFIG_ARCH_REQUIRE_GPIOLIB=y
629CONFIG_GPIOLIB=y
630# CONFIG_GPIO_SYSFS is not set
631
632#
633# Memory mapped GPIO expanders:
634#
635
636#
637# I2C GPIO expanders:
638#
639
640#
641# PCI GPIO expanders:
642#
643
644#
645# SPI GPIO expanders:
646#
647
648#
649# AC97 GPIO expanders:
650#
651# CONFIG_W1 is not set
652# CONFIG_POWER_SUPPLY is not set
653CONFIG_HWMON=y
654# CONFIG_HWMON_VID is not set
655# CONFIG_HWMON_DEBUG_CHIP is not set
656
657#
658# Native drivers
659#
660# CONFIG_SENSORS_F71805F is not set
661# CONFIG_SENSORS_F71882FG is not set
662# CONFIG_SENSORS_IT87 is not set
663# CONFIG_SENSORS_PC87360 is not set
664# CONFIG_SENSORS_PC87427 is not set
665# CONFIG_SENSORS_SHT15 is not set
666# CONFIG_SENSORS_SMSC47M1 is not set
667# CONFIG_SENSORS_SMSC47B397 is not set
668# CONFIG_SENSORS_VT1211 is not set
669# CONFIG_SENSORS_W83627HF is not set
670# CONFIG_SENSORS_W83627EHF is not set
671# CONFIG_THERMAL is not set
672# CONFIG_WATCHDOG is not set
673CONFIG_SSB_POSSIBLE=y
674
675#
676# Sonics Silicon Backplane
677#
678# CONFIG_SSB is not set
679
680#
681# Multifunction device drivers
682#
683# CONFIG_MFD_CORE is not set
684# CONFIG_MFD_SM501 is not set
685# CONFIG_MFD_ASIC3 is not set
686# CONFIG_HTC_EGPIO is not set
687# CONFIG_HTC_PASIC3 is not set
688# CONFIG_MFD_TMIO is not set
689# CONFIG_MFD_T7L66XB is not set
690# CONFIG_MFD_TC6387XB is not set
691# CONFIG_MFD_TC6393XB is not set
692# CONFIG_REGULATOR is not set
693# CONFIG_MEDIA_SUPPORT is not set
694
695#
696# Graphics support
697#
698# CONFIG_VGASTATE is not set
699CONFIG_VIDEO_OUTPUT_CONTROL=m
700CONFIG_FB=y
701# CONFIG_FIRMWARE_EDID is not set
702# CONFIG_FB_DDC is not set
703# CONFIG_FB_BOOT_VESA_SUPPORT is not set
704CONFIG_FB_CFB_FILLRECT=y
705CONFIG_FB_CFB_COPYAREA=y
706CONFIG_FB_CFB_IMAGEBLIT=y
707# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
708# CONFIG_FB_SYS_FILLRECT is not set
709# CONFIG_FB_SYS_COPYAREA is not set
710# CONFIG_FB_SYS_IMAGEBLIT is not set
711# CONFIG_FB_FOREIGN_ENDIAN is not set
712# CONFIG_FB_SYS_FOPS is not set
713# CONFIG_FB_SVGALIB is not set
714# CONFIG_FB_MACMODES is not set
715# CONFIG_FB_BACKLIGHT is not set
716CONFIG_FB_MODE_HELPERS=y
717# CONFIG_FB_TILEBLITTING is not set
718
719#
720# Frame buffer hardware drivers
721#
722# CONFIG_FB_S1D13XXX is not set
723# CONFIG_FB_VIRTUAL is not set
724# CONFIG_FB_METRONOME is not set
725# CONFIG_FB_MB862XX is not set
726# CONFIG_FB_BROADSHEET is not set
727CONFIG_FB_OMAP=y
728# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
729# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
730CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
731# CONFIG_FB_OMAP_DMA_TUNE is not set
732# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
733
734#
735# Display device support
736#
737# CONFIG_DISPLAY_SUPPORT is not set
738
739#
740# Console display driver support
741#
742# CONFIG_VGA_CONSOLE is not set
743CONFIG_DUMMY_CONSOLE=y
744CONFIG_FRAMEBUFFER_CONSOLE=y
745# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
746CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
747CONFIG_FONTS=y
748# CONFIG_FONT_8x8 is not set
749# CONFIG_FONT_8x16 is not set
750# CONFIG_FONT_6x11 is not set
751# CONFIG_FONT_7x14 is not set
752# CONFIG_FONT_PEARL_8x8 is not set
753# CONFIG_FONT_ACORN_8x8 is not set
754CONFIG_FONT_MINI_4x6=y
755# CONFIG_FONT_SUN8x16 is not set
756# CONFIG_FONT_SUN12x22 is not set
757# CONFIG_FONT_10x18 is not set
758# CONFIG_LOGO is not set
759# CONFIG_SOUND is not set
760CONFIG_HID_SUPPORT=y
761CONFIG_HID=y
762# CONFIG_HIDRAW is not set
763# CONFIG_HID_PID is not set
764
765#
766# Special HID drivers
767#
768CONFIG_USB_SUPPORT=y
769CONFIG_USB_ARCH_HAS_HCD=y
770CONFIG_USB_ARCH_HAS_OHCI=y
771# CONFIG_USB_ARCH_HAS_EHCI is not set
772# CONFIG_USB is not set
773# CONFIG_USB_MUSB_HDRC is not set
774# CONFIG_USB_GADGET_MUSB_HDRC is not set
775
776#
777# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
778#
779CONFIG_USB_GADGET=y
780# CONFIG_USB_GADGET_DEBUG_FILES is not set
781CONFIG_USB_GADGET_VBUS_DRAW=2
782CONFIG_USB_GADGET_SELECTED=y
783# CONFIG_USB_GADGET_AT91 is not set
784# CONFIG_USB_GADGET_ATMEL_USBA is not set
785# CONFIG_USB_GADGET_FSL_USB2 is not set
786# CONFIG_USB_GADGET_LH7A40X is not set
787CONFIG_USB_GADGET_OMAP=y
788CONFIG_USB_OMAP=y
789# CONFIG_USB_GADGET_PXA25X is not set
790# CONFIG_USB_GADGET_R8A66597 is not set
791# CONFIG_USB_GADGET_PXA27X is not set
792# CONFIG_USB_GADGET_S3C_HSOTG is not set
793# CONFIG_USB_GADGET_IMX is not set
794# CONFIG_USB_GADGET_S3C2410 is not set
795# CONFIG_USB_GADGET_M66592 is not set
796# CONFIG_USB_GADGET_AMD5536UDC is not set
797# CONFIG_USB_GADGET_FSL_QE is not set
798# CONFIG_USB_GADGET_CI13XXX is not set
799# CONFIG_USB_GADGET_NET2280 is not set
800# CONFIG_USB_GADGET_GOKU is not set
801# CONFIG_USB_GADGET_LANGWELL is not set
802# CONFIG_USB_GADGET_DUMMY_HCD is not set
803# CONFIG_USB_GADGET_DUALSPEED is not set
804# CONFIG_USB_ZERO is not set
805# CONFIG_USB_AUDIO is not set
806CONFIG_USB_ETH=y
807# CONFIG_USB_ETH_RNDIS is not set
808# CONFIG_USB_ETH_EEM is not set
809# CONFIG_USB_GADGETFS is not set
810# CONFIG_USB_FILE_STORAGE is not set
811# CONFIG_USB_G_SERIAL is not set
812# CONFIG_USB_MIDI_GADGET is not set
813# CONFIG_USB_G_PRINTER is not set
814# CONFIG_USB_CDC_COMPOSITE is not set
815
816#
817# OTG and related infrastructure
818#
819CONFIG_USB_OTG_UTILS=y
820# CONFIG_USB_GPIO_VBUS is not set
821# CONFIG_NOP_USB_XCEIV is not set
822CONFIG_MMC=y
823# CONFIG_MMC_DEBUG is not set
824# CONFIG_MMC_UNSAFE_RESUME is not set
825
826#
827# MMC/SD/SDIO Card Drivers
828#
829CONFIG_MMC_BLOCK=y
830CONFIG_MMC_BLOCK_BOUNCE=y
831# CONFIG_SDIO_UART is not set
832# CONFIG_MMC_TEST is not set
833
834#
835# MMC/SD/SDIO Host Controller Drivers
836#
837CONFIG_MMC_SDHCI=y
838CONFIG_MMC_SDHCI_PLTFM=y
839CONFIG_MMC_OMAP=y
840# CONFIG_MMC_AT91 is not set
841# CONFIG_MMC_ATMELMCI is not set
842# CONFIG_MEMSTICK is not set
843# CONFIG_NEW_LEDS is not set
844# CONFIG_ACCESSIBILITY is not set
845CONFIG_RTC_LIB=y
846CONFIG_RTC_CLASS=y
847CONFIG_RTC_HCTOSYS=y
848CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
849# CONFIG_RTC_DEBUG is not set
850
851#
852# RTC interfaces
853#
854CONFIG_RTC_INTF_SYSFS=y
855CONFIG_RTC_INTF_PROC=y
856CONFIG_RTC_INTF_DEV=y
857# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
858# CONFIG_RTC_DRV_TEST is not set
859
860#
861# SPI RTC drivers
862#
863
864#
865# Platform RTC drivers
866#
867# CONFIG_RTC_DRV_CMOS is not set
868# CONFIG_RTC_DRV_DS1286 is not set
869# CONFIG_RTC_DRV_DS1511 is not set
870# CONFIG_RTC_DRV_DS1553 is not set
871# CONFIG_RTC_DRV_DS1742 is not set
872# CONFIG_RTC_DRV_STK17TA8 is not set
873# CONFIG_RTC_DRV_M48T86 is not set
874# CONFIG_RTC_DRV_M48T35 is not set
875# CONFIG_RTC_DRV_M48T59 is not set
876# CONFIG_RTC_DRV_BQ4802 is not set
877# CONFIG_RTC_DRV_V3020 is not set
878
879#
880# on-CPU RTC drivers
881#
882# CONFIG_DMADEVICES is not set
883# CONFIG_AUXDISPLAY is not set
884# CONFIG_UIO is not set
885
886#
887# TI VLYNQ
888#
889# CONFIG_STAGING is not set
890
891#
892# File systems
893#
894CONFIG_EXT2_FS=y
895# CONFIG_EXT2_FS_XATTR is not set
896# CONFIG_EXT2_FS_XIP is not set
897CONFIG_EXT3_FS=y
898# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
899CONFIG_EXT3_FS_XATTR=y
900# CONFIG_EXT3_FS_POSIX_ACL is not set
901# CONFIG_EXT3_FS_SECURITY is not set
902# CONFIG_EXT4_FS is not set
903CONFIG_JBD=y
904CONFIG_FS_MBCACHE=y
905# CONFIG_REISERFS_FS is not set
906# CONFIG_JFS_FS is not set
907# CONFIG_FS_POSIX_ACL is not set
908# CONFIG_XFS_FS is not set
909# CONFIG_GFS2_FS is not set
910# CONFIG_OCFS2_FS is not set
911# CONFIG_BTRFS_FS is not set
912# CONFIG_NILFS2_FS is not set
913CONFIG_FILE_LOCKING=y
914CONFIG_FSNOTIFY=y
915CONFIG_DNOTIFY=y
916CONFIG_INOTIFY=y
917CONFIG_INOTIFY_USER=y
918# CONFIG_QUOTA is not set
919# CONFIG_AUTOFS_FS is not set
920# CONFIG_AUTOFS4_FS is not set
921# CONFIG_FUSE_FS is not set
922
923#
924# Caches
925#
926# CONFIG_FSCACHE is not set
927
928#
929# CD-ROM/DVD Filesystems
930#
931# CONFIG_ISO9660_FS is not set
932# CONFIG_UDF_FS is not set
933
934#
935# DOS/FAT/NT Filesystems
936#
937# CONFIG_MSDOS_FS is not set
938# CONFIG_VFAT_FS is not set
939# CONFIG_NTFS_FS is not set
940
941#
942# Pseudo filesystems
943#
944CONFIG_PROC_FS=y
945CONFIG_PROC_SYSCTL=y
946CONFIG_PROC_PAGE_MONITOR=y
947CONFIG_SYSFS=y
948CONFIG_TMPFS=y
949# CONFIG_TMPFS_POSIX_ACL is not set
950# CONFIG_HUGETLB_PAGE is not set
951# CONFIG_CONFIGFS_FS is not set
952CONFIG_MISC_FILESYSTEMS=y
953# CONFIG_ADFS_FS is not set
954# CONFIG_AFFS_FS is not set
955# CONFIG_HFS_FS is not set
956# CONFIG_HFSPLUS_FS is not set
957# CONFIG_BEFS_FS is not set
958# CONFIG_BFS_FS is not set
959# CONFIG_EFS_FS is not set
960# CONFIG_CRAMFS is not set
961# CONFIG_SQUASHFS is not set
962# CONFIG_VXFS_FS is not set
963# CONFIG_MINIX_FS is not set
964# CONFIG_OMFS_FS is not set
965# CONFIG_HPFS_FS is not set
966# CONFIG_QNX4FS_FS is not set
967# CONFIG_ROMFS_FS is not set
968# CONFIG_SYSV_FS is not set
969# CONFIG_UFS_FS is not set
970CONFIG_NETWORK_FILESYSTEMS=y
971CONFIG_NFS_FS=y
972# CONFIG_NFS_V3 is not set
973# CONFIG_NFS_V4 is not set
974CONFIG_ROOT_NFS=y
975# CONFIG_NFSD is not set
976CONFIG_LOCKD=y
977CONFIG_NFS_COMMON=y
978CONFIG_SUNRPC=y
979# CONFIG_RPCSEC_GSS_KRB5 is not set
980# CONFIG_RPCSEC_GSS_SPKM3 is not set
981# CONFIG_SMB_FS is not set
982# CONFIG_CIFS is not set
983# CONFIG_NCP_FS is not set
984# CONFIG_CODA_FS is not set
985# CONFIG_AFS_FS is not set
986
987#
988# Partition Types
989#
990# CONFIG_PARTITION_ADVANCED is not set
991CONFIG_MSDOS_PARTITION=y
992# CONFIG_NLS is not set
993# CONFIG_DLM is not set
994
995#
996# Kernel hacking
997#
998# CONFIG_PRINTK_TIME is not set
999CONFIG_ENABLE_WARN_DEPRECATED=y
1000CONFIG_ENABLE_MUST_CHECK=y
1001CONFIG_FRAME_WARN=1024
1002# CONFIG_MAGIC_SYSRQ is not set
1003# CONFIG_STRIP_ASM_SYMS is not set
1004# CONFIG_UNUSED_SYMBOLS is not set
1005# CONFIG_DEBUG_FS is not set
1006# CONFIG_HEADERS_CHECK is not set
1007# CONFIG_DEBUG_KERNEL is not set
1008CONFIG_DEBUG_BUGVERBOSE=y
1009CONFIG_DEBUG_MEMORY_INIT=y
1010# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1011# CONFIG_LATENCYTOP is not set
1012# CONFIG_SYSCTL_SYSCALL_CHECK is not set
1013CONFIG_HAVE_FUNCTION_TRACER=y
1014CONFIG_TRACING_SUPPORT=y
1015# CONFIG_FTRACE is not set
1016# CONFIG_SAMPLES is not set
1017CONFIG_HAVE_ARCH_KGDB=y
1018CONFIG_ARM_UNWIND=y
1019# CONFIG_DEBUG_USER is not set
1020
1021#
1022# Security options
1023#
1024# CONFIG_KEYS is not set
1025# CONFIG_SECURITY is not set
1026# CONFIG_SECURITYFS is not set
1027# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1028CONFIG_CRYPTO=y
1029
1030#
1031# Crypto core or helper
1032#
1033CONFIG_CRYPTO_ALGAPI=y
1034CONFIG_CRYPTO_ALGAPI2=y
1035CONFIG_CRYPTO_PCOMP=y
1036# CONFIG_CRYPTO_MANAGER is not set
1037# CONFIG_CRYPTO_MANAGER2 is not set
1038# CONFIG_CRYPTO_GF128MUL is not set
1039# CONFIG_CRYPTO_NULL is not set
1040# CONFIG_CRYPTO_CRYPTD is not set
1041# CONFIG_CRYPTO_AUTHENC is not set
1042# CONFIG_CRYPTO_TEST is not set
1043
1044#
1045# Authenticated Encryption with Associated Data
1046#
1047# CONFIG_CRYPTO_CCM is not set
1048# CONFIG_CRYPTO_GCM is not set
1049# CONFIG_CRYPTO_SEQIV is not set
1050
1051#
1052# Block modes
1053#
1054# CONFIG_CRYPTO_CBC is not set
1055# CONFIG_CRYPTO_CTR is not set
1056# CONFIG_CRYPTO_CTS is not set
1057# CONFIG_CRYPTO_ECB is not set
1058# CONFIG_CRYPTO_LRW is not set
1059# CONFIG_CRYPTO_PCBC is not set
1060# CONFIG_CRYPTO_XTS is not set
1061
1062#
1063# Hash modes
1064#
1065# CONFIG_CRYPTO_HMAC is not set
1066# CONFIG_CRYPTO_XCBC is not set
1067# CONFIG_CRYPTO_VMAC is not set
1068
1069#
1070# Digest
1071#
1072# CONFIG_CRYPTO_CRC32C is not set
1073# CONFIG_CRYPTO_GHASH is not set
1074# CONFIG_CRYPTO_MD4 is not set
1075# CONFIG_CRYPTO_MD5 is not set
1076# CONFIG_CRYPTO_MICHAEL_MIC is not set
1077# CONFIG_CRYPTO_RMD128 is not set
1078# CONFIG_CRYPTO_RMD160 is not set
1079# CONFIG_CRYPTO_RMD256 is not set
1080# CONFIG_CRYPTO_RMD320 is not set
1081# CONFIG_CRYPTO_SHA1 is not set
1082# CONFIG_CRYPTO_SHA256 is not set
1083# CONFIG_CRYPTO_SHA512 is not set
1084# CONFIG_CRYPTO_TGR192 is not set
1085# CONFIG_CRYPTO_WP512 is not set
1086
1087#
1088# Ciphers
1089#
1090# CONFIG_CRYPTO_AES is not set
1091# CONFIG_CRYPTO_ANUBIS is not set
1092# CONFIG_CRYPTO_ARC4 is not set
1093# CONFIG_CRYPTO_BLOWFISH is not set
1094# CONFIG_CRYPTO_CAMELLIA is not set
1095# CONFIG_CRYPTO_CAST5 is not set
1096# CONFIG_CRYPTO_CAST6 is not set
1097# CONFIG_CRYPTO_DES is not set
1098# CONFIG_CRYPTO_FCRYPT is not set
1099# CONFIG_CRYPTO_KHAZAD is not set
1100# CONFIG_CRYPTO_SALSA20 is not set
1101# CONFIG_CRYPTO_SEED is not set
1102# CONFIG_CRYPTO_SERPENT is not set
1103# CONFIG_CRYPTO_TEA is not set
1104# CONFIG_CRYPTO_TWOFISH is not set
1105
1106#
1107# Compression
1108#
1109CONFIG_CRYPTO_DEFLATE=y
1110CONFIG_CRYPTO_ZLIB=y
1111CONFIG_CRYPTO_LZO=y
1112
1113#
1114# Random Number Generation
1115#
1116# CONFIG_CRYPTO_ANSI_CPRNG is not set
1117CONFIG_CRYPTO_HW=y
1118# CONFIG_BINARY_PRINTF is not set
1119
1120#
1121# Library routines
1122#
1123CONFIG_BITREVERSE=y
1124CONFIG_GENERIC_FIND_LAST_BIT=y
1125# CONFIG_CRC_CCITT is not set
1126# CONFIG_CRC16 is not set
1127# CONFIG_CRC_T10DIF is not set
1128# CONFIG_CRC_ITU_T is not set
1129CONFIG_CRC32=y
1130# CONFIG_CRC7 is not set
1131# CONFIG_LIBCRC32C is not set
1132CONFIG_ZLIB_INFLATE=y
1133CONFIG_ZLIB_DEFLATE=y
1134CONFIG_LZO_COMPRESS=y
1135CONFIG_LZO_DECOMPRESS=y
1136CONFIG_DECOMPRESS_GZIP=y
1137CONFIG_DECOMPRESS_BZIP2=y
1138CONFIG_DECOMPRESS_LZMA=y
1139CONFIG_HAS_IOMEM=y
1140CONFIG_HAS_IOPORT=y
1141CONFIG_HAS_DMA=y
1142CONFIG_NLATTR=y
diff --git a/arch/arm/configs/igep0020_defconfig b/arch/arm/configs/igep0020_defconfig
new file mode 100644
index 000000000000..c97f8d0ded48
--- /dev/null
+++ b/arch/arm/configs/igep0020_defconfig
@@ -0,0 +1,1554 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.32-rc6
4# Fri Nov 13 12:01:17 2009
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_GENERIC_HARDIRQS=y
12CONFIG_STACKTRACE_SUPPORT=y
13CONFIG_HAVE_LATENCYTOP_SUPPORT=y
14CONFIG_LOCKDEP_SUPPORT=y
15CONFIG_TRACE_IRQFLAGS_SUPPORT=y
16CONFIG_HARDIRQS_SW_RESEND=y
17CONFIG_GENERIC_IRQ_PROBE=y
18CONFIG_RWSEM_GENERIC_SPINLOCK=y
19CONFIG_ARCH_HAS_CPUFREQ=y
20CONFIG_GENERIC_HWEIGHT=y
21CONFIG_GENERIC_CALIBRATE_DELAY=y
22CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
23CONFIG_VECTORS_BASE=0xffff0000
24CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
25CONFIG_CONSTRUCTORS=y
26
27#
28# General setup
29#
30CONFIG_EXPERIMENTAL=y
31CONFIG_BROKEN_ON_SMP=y
32CONFIG_INIT_ENV_ARG_LIMIT=32
33CONFIG_LOCALVERSION=""
34# CONFIG_LOCALVERSION_AUTO is not set
35CONFIG_SWAP=y
36CONFIG_SYSVIPC=y
37CONFIG_SYSVIPC_SYSCTL=y
38# CONFIG_POSIX_MQUEUE is not set
39CONFIG_BSD_PROCESS_ACCT=y
40# CONFIG_BSD_PROCESS_ACCT_V3 is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_AUDIT is not set
43
44#
45# RCU Subsystem
46#
47CONFIG_TREE_RCU=y
48# CONFIG_TREE_PREEMPT_RCU is not set
49# CONFIG_RCU_TRACE is not set
50CONFIG_RCU_FANOUT=32
51# CONFIG_RCU_FANOUT_EXACT is not set
52# CONFIG_TREE_RCU_TRACE is not set
53# CONFIG_IKCONFIG is not set
54CONFIG_LOG_BUF_SHIFT=17
55CONFIG_GROUP_SCHED=y
56CONFIG_FAIR_GROUP_SCHED=y
57# CONFIG_RT_GROUP_SCHED is not set
58CONFIG_USER_SCHED=y
59# CONFIG_CGROUP_SCHED is not set
60# CONFIG_CGROUPS is not set
61# CONFIG_SYSFS_DEPRECATED_V2 is not set
62# CONFIG_RELAY is not set
63# CONFIG_NAMESPACES is not set
64CONFIG_BLK_DEV_INITRD=y
65CONFIG_INITRAMFS_SOURCE=""
66CONFIG_RD_GZIP=y
67# CONFIG_RD_BZIP2 is not set
68# CONFIG_RD_LZMA is not set
69CONFIG_CC_OPTIMIZE_FOR_SIZE=y
70CONFIG_SYSCTL=y
71CONFIG_ANON_INODES=y
72CONFIG_EMBEDDED=y
73CONFIG_UID16=y
74# CONFIG_SYSCTL_SYSCALL is not set
75CONFIG_KALLSYMS=y
76# CONFIG_KALLSYMS_ALL is not set
77CONFIG_KALLSYMS_EXTRA_PASS=y
78CONFIG_HOTPLUG=y
79CONFIG_PRINTK=y
80CONFIG_BUG=y
81CONFIG_ELF_CORE=y
82CONFIG_BASE_FULL=y
83CONFIG_FUTEX=y
84CONFIG_EPOLL=y
85CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y
88CONFIG_SHMEM=y
89CONFIG_AIO=y
90
91#
92# Kernel Performance Events And Counters
93#
94CONFIG_VM_EVENT_COUNTERS=y
95CONFIG_COMPAT_BRK=y
96CONFIG_SLAB=y
97# CONFIG_SLUB is not set
98# CONFIG_SLOB is not set
99# CONFIG_PROFILING is not set
100CONFIG_HAVE_OPROFILE=y
101# CONFIG_KPROBES is not set
102CONFIG_HAVE_KPROBES=y
103CONFIG_HAVE_KRETPROBES=y
104CONFIG_HAVE_CLK=y
105
106#
107# GCOV-based kernel profiling
108#
109# CONFIG_SLOW_WORK is not set
110CONFIG_HAVE_GENERIC_DMA_COHERENT=y
111CONFIG_SLABINFO=y
112CONFIG_RT_MUTEXES=y
113CONFIG_BASE_SMALL=0
114CONFIG_MODULES=y
115# CONFIG_MODULE_FORCE_LOAD is not set
116CONFIG_MODULE_UNLOAD=y
117# CONFIG_MODULE_FORCE_UNLOAD is not set
118# CONFIG_MODVERSIONS is not set
119# CONFIG_MODULE_SRCVERSION_ALL is not set
120CONFIG_BLOCK=y
121CONFIG_LBDAF=y
122# CONFIG_BLK_DEV_BSG is not set
123# CONFIG_BLK_DEV_INTEGRITY is not set
124
125#
126# IO Schedulers
127#
128CONFIG_IOSCHED_NOOP=y
129CONFIG_IOSCHED_AS=y
130CONFIG_IOSCHED_DEADLINE=y
131CONFIG_IOSCHED_CFQ=y
132CONFIG_DEFAULT_AS=y
133# CONFIG_DEFAULT_DEADLINE is not set
134# CONFIG_DEFAULT_CFQ is not set
135# CONFIG_DEFAULT_NOOP is not set
136CONFIG_DEFAULT_IOSCHED="anticipatory"
137# CONFIG_FREEZER is not set
138
139#
140# System Type
141#
142CONFIG_MMU=y
143# CONFIG_ARCH_AAEC2000 is not set
144# CONFIG_ARCH_INTEGRATOR is not set
145# CONFIG_ARCH_REALVIEW is not set
146# CONFIG_ARCH_VERSATILE is not set
147# CONFIG_ARCH_AT91 is not set
148# CONFIG_ARCH_CLPS711X is not set
149# CONFIG_ARCH_GEMINI is not set
150# CONFIG_ARCH_EBSA110 is not set
151# CONFIG_ARCH_EP93XX is not set
152# CONFIG_ARCH_FOOTBRIDGE is not set
153# CONFIG_ARCH_MXC is not set
154# CONFIG_ARCH_STMP3XXX is not set
155# CONFIG_ARCH_NETX is not set
156# CONFIG_ARCH_H720X is not set
157# CONFIG_ARCH_NOMADIK is not set
158# CONFIG_ARCH_IOP13XX is not set
159# CONFIG_ARCH_IOP32X is not set
160# CONFIG_ARCH_IOP33X is not set
161# CONFIG_ARCH_IXP23XX is not set
162# CONFIG_ARCH_IXP2000 is not set
163# CONFIG_ARCH_IXP4XX is not set
164# CONFIG_ARCH_L7200 is not set
165# CONFIG_ARCH_KIRKWOOD is not set
166# CONFIG_ARCH_LOKI is not set
167# CONFIG_ARCH_MV78XX0 is not set
168# CONFIG_ARCH_ORION5X is not set
169# CONFIG_ARCH_MMP is not set
170# CONFIG_ARCH_KS8695 is not set
171# CONFIG_ARCH_NS9XXX is not set
172# CONFIG_ARCH_W90X900 is not set
173# CONFIG_ARCH_PNX4008 is not set
174# CONFIG_ARCH_PXA is not set
175# CONFIG_ARCH_MSM is not set
176# CONFIG_ARCH_RPC is not set
177# CONFIG_ARCH_SA1100 is not set
178# CONFIG_ARCH_S3C2410 is not set
179# CONFIG_ARCH_S3C64XX is not set
180# CONFIG_ARCH_S5PC1XX is not set
181# CONFIG_ARCH_SHARK is not set
182# CONFIG_ARCH_LH7A40X is not set
183# CONFIG_ARCH_U300 is not set
184# CONFIG_ARCH_DAVINCI is not set
185CONFIG_ARCH_OMAP=y
186# CONFIG_ARCH_BCMRING is not set
187
188#
189# TI OMAP Implementations
190#
191CONFIG_ARCH_OMAP_OTG=y
192# CONFIG_ARCH_OMAP1 is not set
193# CONFIG_ARCH_OMAP2 is not set
194CONFIG_ARCH_OMAP3=y
195# CONFIG_ARCH_OMAP4 is not set
196
197#
198# OMAP Feature Selections
199#
200# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
201# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
202# CONFIG_OMAP_RESET_CLOCKS is not set
203CONFIG_OMAP_MUX=y
204CONFIG_OMAP_MUX_DEBUG=y
205CONFIG_OMAP_MUX_WARNINGS=y
206CONFIG_OMAP_MCBSP=y
207# CONFIG_OMAP_MBOX_FWK is not set
208# CONFIG_OMAP_MPU_TIMER is not set
209CONFIG_OMAP_32K_TIMER=y
210CONFIG_OMAP_32K_TIMER_HZ=128
211CONFIG_OMAP_DM_TIMER=y
212# CONFIG_OMAP_LL_DEBUG_UART1 is not set
213# CONFIG_OMAP_LL_DEBUG_UART2 is not set
214CONFIG_OMAP_LL_DEBUG_UART3=y
215# CONFIG_OMAP_LL_DEBUG_NONE is not set
216# CONFIG_OMAP_PM_NONE is not set
217CONFIG_OMAP_PM_NOOP=y
218CONFIG_ARCH_OMAP34XX=y
219CONFIG_ARCH_OMAP3430=y
220
221#
222# OMAP Board Type
223#
224# CONFIG_MACH_OMAP3_BEAGLE is not set
225# CONFIG_MACH_OMAP_LDP is not set
226# CONFIG_MACH_OVERO is not set
227# CONFIG_MACH_OMAP3EVM is not set
228# CONFIG_MACH_OMAP3517EVM is not set
229# CONFIG_MACH_OMAP3_PANDORA is not set
230# CONFIG_MACH_OMAP_3430SDP is not set
231# CONFIG_MACH_NOKIA_RX51 is not set
232# CONFIG_MACH_OMAP_ZOOM2 is not set
233# CONFIG_MACH_CM_T35 is not set
234# CONFIG_MACH_OMAP_ZOOM3 is not set
235# CONFIG_MACH_OMAP_3630SDP is not set
236CONFIG_MACH_IGEP0020=y
237
238#
239# Processor Type
240#
241CONFIG_CPU_32=y
242CONFIG_CPU_32v6K=y
243CONFIG_CPU_V7=y
244CONFIG_CPU_32v7=y
245CONFIG_CPU_ABRT_EV7=y
246CONFIG_CPU_PABRT_V7=y
247CONFIG_CPU_CACHE_V7=y
248CONFIG_CPU_CACHE_VIPT=y
249CONFIG_CPU_COPY_V6=y
250CONFIG_CPU_TLB_V7=y
251CONFIG_CPU_HAS_ASID=y
252CONFIG_CPU_CP15=y
253CONFIG_CPU_CP15_MMU=y
254
255#
256# Processor Features
257#
258CONFIG_ARM_THUMB=y
259CONFIG_ARM_THUMBEE=y
260# CONFIG_CPU_ICACHE_DISABLE is not set
261# CONFIG_CPU_DCACHE_DISABLE is not set
262# CONFIG_CPU_BPREDICT_DISABLE is not set
263CONFIG_HAS_TLS_REG=y
264CONFIG_ARM_L1_CACHE_SHIFT=6
265# CONFIG_ARM_ERRATA_430973 is not set
266# CONFIG_ARM_ERRATA_458693 is not set
267# CONFIG_ARM_ERRATA_460075 is not set
268CONFIG_COMMON_CLKDEV=y
269
270#
271# Bus support
272#
273# CONFIG_PCI_SYSCALL is not set
274# CONFIG_ARCH_SUPPORTS_MSI is not set
275# CONFIG_PCCARD is not set
276
277#
278# Kernel Features
279#
280CONFIG_TICK_ONESHOT=y
281CONFIG_NO_HZ=y
282CONFIG_HIGH_RES_TIMERS=y
283CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
284CONFIG_VMSPLIT_3G=y
285# CONFIG_VMSPLIT_2G is not set
286# CONFIG_VMSPLIT_1G is not set
287CONFIG_PAGE_OFFSET=0xC0000000
288CONFIG_PREEMPT_NONE=y
289# CONFIG_PREEMPT_VOLUNTARY is not set
290# CONFIG_PREEMPT is not set
291CONFIG_HZ=128
292# CONFIG_THUMB2_KERNEL is not set
293CONFIG_AEABI=y
294# CONFIG_OABI_COMPAT is not set
295# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
296# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
297# CONFIG_HIGHMEM is not set
298CONFIG_SELECT_MEMORY_MODEL=y
299CONFIG_FLATMEM_MANUAL=y
300# CONFIG_DISCONTIGMEM_MANUAL is not set
301# CONFIG_SPARSEMEM_MANUAL is not set
302CONFIG_FLATMEM=y
303CONFIG_FLAT_NODE_MEM_MAP=y
304CONFIG_PAGEFLAGS_EXTENDED=y
305CONFIG_SPLIT_PTLOCK_CPUS=4
306# CONFIG_PHYS_ADDR_T_64BIT is not set
307CONFIG_ZONE_DMA_FLAG=0
308CONFIG_VIRT_TO_BUS=y
309CONFIG_HAVE_MLOCK=y
310CONFIG_HAVE_MLOCKED_PAGE_BIT=y
311# CONFIG_KSM is not set
312CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
313# CONFIG_LEDS is not set
314CONFIG_ALIGNMENT_TRAP=y
315# CONFIG_UACCESS_WITH_MEMCPY is not set
316
317#
318# Boot options
319#
320CONFIG_ZBOOT_ROM_TEXT=0x0
321CONFIG_ZBOOT_ROM_BSS=0x0
322CONFIG_CMDLINE=""
323# CONFIG_XIP_KERNEL is not set
324# CONFIG_KEXEC is not set
325
326#
327# CPU Power Management
328#
329# CONFIG_CPU_FREQ is not set
330# CONFIG_CPU_IDLE is not set
331
332#
333# Floating point emulation
334#
335
336#
337# At least one emulation must be selected
338#
339CONFIG_VFP=y
340CONFIG_VFPv3=y
341CONFIG_NEON=y
342
343#
344# Userspace binary formats
345#
346CONFIG_BINFMT_ELF=y
347# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
348CONFIG_HAVE_AOUT=y
349# CONFIG_BINFMT_AOUT is not set
350CONFIG_BINFMT_MISC=y
351
352#
353# Power management options
354#
355# CONFIG_PM is not set
356CONFIG_ARCH_SUSPEND_POSSIBLE=y
357CONFIG_NET=y
358
359#
360# Networking options
361#
362CONFIG_PACKET=y
363# CONFIG_PACKET_MMAP is not set
364CONFIG_UNIX=y
365CONFIG_XFRM=y
366CONFIG_XFRM_USER=y
367# CONFIG_XFRM_SUB_POLICY is not set
368CONFIG_XFRM_MIGRATE=y
369# CONFIG_XFRM_STATISTICS is not set
370CONFIG_NET_KEY=y
371CONFIG_NET_KEY_MIGRATE=y
372CONFIG_INET=y
373CONFIG_IP_MULTICAST=y
374# CONFIG_IP_ADVANCED_ROUTER is not set
375CONFIG_IP_FIB_HASH=y
376CONFIG_IP_PNP=y
377CONFIG_IP_PNP_DHCP=y
378CONFIG_IP_PNP_BOOTP=y
379CONFIG_IP_PNP_RARP=y
380# CONFIG_NET_IPIP is not set
381# CONFIG_NET_IPGRE is not set
382# CONFIG_IP_MROUTE is not set
383# CONFIG_ARPD is not set
384# CONFIG_SYN_COOKIES is not set
385# CONFIG_INET_AH is not set
386# CONFIG_INET_ESP is not set
387# CONFIG_INET_IPCOMP is not set
388# CONFIG_INET_XFRM_TUNNEL is not set
389# CONFIG_INET_TUNNEL is not set
390CONFIG_INET_XFRM_MODE_TRANSPORT=y
391CONFIG_INET_XFRM_MODE_TUNNEL=y
392CONFIG_INET_XFRM_MODE_BEET=y
393# CONFIG_INET_LRO is not set
394CONFIG_INET_DIAG=y
395CONFIG_INET_TCP_DIAG=y
396# CONFIG_TCP_CONG_ADVANCED is not set
397CONFIG_TCP_CONG_CUBIC=y
398CONFIG_DEFAULT_TCP_CONG="cubic"
399# CONFIG_TCP_MD5SIG is not set
400# CONFIG_IPV6 is not set
401# CONFIG_NETWORK_SECMARK is not set
402# CONFIG_NETFILTER is not set
403# CONFIG_IP_DCCP is not set
404# CONFIG_IP_SCTP is not set
405# CONFIG_RDS is not set
406# CONFIG_TIPC is not set
407# CONFIG_ATM is not set
408# CONFIG_BRIDGE is not set
409# CONFIG_NET_DSA is not set
410# CONFIG_VLAN_8021Q is not set
411# CONFIG_DECNET is not set
412# CONFIG_LLC2 is not set
413# CONFIG_IPX is not set
414# CONFIG_ATALK is not set
415# CONFIG_X25 is not set
416# CONFIG_LAPB is not set
417# CONFIG_ECONET is not set
418# CONFIG_WAN_ROUTER is not set
419# CONFIG_PHONET is not set
420# CONFIG_IEEE802154 is not set
421# CONFIG_NET_SCHED is not set
422# CONFIG_DCB is not set
423
424#
425# Network testing
426#
427# CONFIG_NET_PKTGEN is not set
428# CONFIG_HAMRADIO is not set
429# CONFIG_CAN is not set
430# CONFIG_IRDA is not set
431CONFIG_BT=m
432CONFIG_BT_L2CAP=m
433CONFIG_BT_SCO=m
434CONFIG_BT_RFCOMM=m
435CONFIG_BT_RFCOMM_TTY=y
436CONFIG_BT_BNEP=m
437CONFIG_BT_BNEP_MC_FILTER=y
438CONFIG_BT_BNEP_PROTO_FILTER=y
439CONFIG_BT_HIDP=m
440
441#
442# Bluetooth device drivers
443#
444CONFIG_BT_HCIBTUSB=m
445# CONFIG_BT_HCIBTSDIO is not set
446CONFIG_BT_HCIUART=m
447CONFIG_BT_HCIUART_H4=y
448CONFIG_BT_HCIUART_BCSP=y
449CONFIG_BT_HCIUART_LL=y
450CONFIG_BT_HCIBCM203X=m
451CONFIG_BT_HCIBPA10X=m
452CONFIG_BT_HCIBFUSB=m
453CONFIG_BT_HCIVHCI=m
454CONFIG_BT_MRVL=m
455CONFIG_BT_MRVL_SDIO=m
456# CONFIG_AF_RXRPC is not set
457CONFIG_WIRELESS=y
458CONFIG_CFG80211=m
459# CONFIG_NL80211_TESTMODE is not set
460# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
461# CONFIG_CFG80211_REG_DEBUG is not set
462CONFIG_CFG80211_DEFAULT_PS=y
463CONFIG_CFG80211_DEFAULT_PS_VALUE=1
464# CONFIG_WIRELESS_OLD_REGULATORY is not set
465CONFIG_WIRELESS_EXT=y
466CONFIG_WIRELESS_EXT_SYSFS=y
467CONFIG_LIB80211=m
468CONFIG_LIB80211_CRYPT_WEP=m
469CONFIG_LIB80211_CRYPT_CCMP=m
470CONFIG_LIB80211_CRYPT_TKIP=m
471# CONFIG_LIB80211_DEBUG is not set
472CONFIG_MAC80211=m
473# CONFIG_MAC80211_RC_PID is not set
474CONFIG_MAC80211_RC_MINSTREL=y
475# CONFIG_MAC80211_RC_DEFAULT_PID is not set
476CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
477CONFIG_MAC80211_RC_DEFAULT="minstrel"
478# CONFIG_MAC80211_MESH is not set
479# CONFIG_MAC80211_LEDS is not set
480# CONFIG_MAC80211_DEBUG_MENU is not set
481# CONFIG_WIMAX is not set
482# CONFIG_RFKILL is not set
483# CONFIG_NET_9P is not set
484
485#
486# Device Drivers
487#
488
489#
490# Generic Driver Options
491#
492CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
493# CONFIG_DEVTMPFS is not set
494# CONFIG_STANDALONE is not set
495CONFIG_PREVENT_FIRMWARE_BUILD=y
496CONFIG_FW_LOADER=y
497CONFIG_FIRMWARE_IN_KERNEL=y
498CONFIG_EXTRA_FIRMWARE=""
499# CONFIG_DEBUG_DRIVER is not set
500# CONFIG_DEBUG_DEVRES is not set
501# CONFIG_SYS_HYPERVISOR is not set
502CONFIG_CONNECTOR=y
503CONFIG_PROC_EVENTS=y
504# CONFIG_MTD is not set
505# CONFIG_PARPORT is not set
506CONFIG_BLK_DEV=y
507# CONFIG_BLK_DEV_COW_COMMON is not set
508CONFIG_BLK_DEV_LOOP=y
509# CONFIG_BLK_DEV_CRYPTOLOOP is not set
510# CONFIG_BLK_DEV_NBD is not set
511# CONFIG_BLK_DEV_UB is not set
512CONFIG_BLK_DEV_RAM=y
513CONFIG_BLK_DEV_RAM_COUNT=16
514CONFIG_BLK_DEV_RAM_SIZE=16384
515# CONFIG_BLK_DEV_XIP is not set
516# CONFIG_CDROM_PKTCDVD is not set
517# CONFIG_ATA_OVER_ETH is not set
518# CONFIG_MG_DISK is not set
519# CONFIG_MISC_DEVICES is not set
520CONFIG_EEPROM_93CX6=m
521CONFIG_HAVE_IDE=y
522# CONFIG_IDE is not set
523
524#
525# SCSI device support
526#
527# CONFIG_RAID_ATTRS is not set
528CONFIG_SCSI=y
529CONFIG_SCSI_DMA=y
530# CONFIG_SCSI_TGT is not set
531# CONFIG_SCSI_NETLINK is not set
532CONFIG_SCSI_PROC_FS=y
533
534#
535# SCSI support type (disk, tape, CD-ROM)
536#
537CONFIG_BLK_DEV_SD=y
538# CONFIG_CHR_DEV_ST is not set
539# CONFIG_CHR_DEV_OSST is not set
540# CONFIG_BLK_DEV_SR is not set
541# CONFIG_CHR_DEV_SG is not set
542# CONFIG_CHR_DEV_SCH is not set
543# CONFIG_SCSI_MULTI_LUN is not set
544# CONFIG_SCSI_CONSTANTS is not set
545# CONFIG_SCSI_LOGGING is not set
546# CONFIG_SCSI_SCAN_ASYNC is not set
547CONFIG_SCSI_WAIT_SCAN=m
548
549#
550# SCSI Transports
551#
552# CONFIG_SCSI_SPI_ATTRS is not set
553# CONFIG_SCSI_FC_ATTRS is not set
554# CONFIG_SCSI_ISCSI_ATTRS is not set
555# CONFIG_SCSI_SAS_LIBSAS is not set
556# CONFIG_SCSI_SRP_ATTRS is not set
557CONFIG_SCSI_LOWLEVEL=y
558# CONFIG_ISCSI_TCP is not set
559# CONFIG_LIBFC is not set
560# CONFIG_LIBFCOE is not set
561# CONFIG_SCSI_DEBUG is not set
562# CONFIG_SCSI_DH is not set
563# CONFIG_SCSI_OSD_INITIATOR is not set
564# CONFIG_ATA is not set
565# CONFIG_MD is not set
566CONFIG_NETDEVICES=y
567# CONFIG_DUMMY is not set
568# CONFIG_BONDING is not set
569# CONFIG_MACVLAN is not set
570# CONFIG_EQUALIZER is not set
571# CONFIG_TUN is not set
572# CONFIG_VETH is not set
573CONFIG_PHYLIB=y
574
575#
576# MII PHY device drivers
577#
578# CONFIG_MARVELL_PHY is not set
579# CONFIG_DAVICOM_PHY is not set
580# CONFIG_QSEMI_PHY is not set
581# CONFIG_LXT_PHY is not set
582# CONFIG_CICADA_PHY is not set
583# CONFIG_VITESSE_PHY is not set
584# CONFIG_SMSC_PHY is not set
585# CONFIG_BROADCOM_PHY is not set
586# CONFIG_ICPLUS_PHY is not set
587# CONFIG_REALTEK_PHY is not set
588# CONFIG_NATIONAL_PHY is not set
589# CONFIG_STE10XP is not set
590# CONFIG_LSI_ET1011C_PHY is not set
591# CONFIG_FIXED_PHY is not set
592# CONFIG_MDIO_BITBANG is not set
593CONFIG_NET_ETHERNET=y
594CONFIG_MII=y
595# CONFIG_AX88796 is not set
596# CONFIG_SMC91X is not set
597# CONFIG_DM9000 is not set
598# CONFIG_ENC28J60 is not set
599# CONFIG_ETHOC is not set
600# CONFIG_SMC911X is not set
601CONFIG_SMSC911X=y
602# CONFIG_DNET is not set
603# CONFIG_IBM_NEW_EMAC_ZMII is not set
604# CONFIG_IBM_NEW_EMAC_RGMII is not set
605# CONFIG_IBM_NEW_EMAC_TAH is not set
606# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
607# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
608# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
609# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
610# CONFIG_B44 is not set
611# CONFIG_KS8842 is not set
612# CONFIG_KS8851 is not set
613# CONFIG_KS8851_MLL is not set
614# CONFIG_NETDEV_1000 is not set
615# CONFIG_NETDEV_10000 is not set
616CONFIG_WLAN=y
617# CONFIG_WLAN_PRE80211 is not set
618CONFIG_WLAN_80211=y
619CONFIG_LIBERTAS=m
620CONFIG_LIBERTAS_USB=m
621CONFIG_LIBERTAS_SDIO=m
622# CONFIG_LIBERTAS_SPI is not set
623# CONFIG_LIBERTAS_DEBUG is not set
624# CONFIG_LIBERTAS_THINFIRM is not set
625CONFIG_AT76C50X_USB=m
626CONFIG_USB_ZD1201=m
627CONFIG_USB_NET_RNDIS_WLAN=m
628CONFIG_RTL8187=m
629# CONFIG_MAC80211_HWSIM is not set
630CONFIG_P54_COMMON=m
631CONFIG_P54_USB=m
632CONFIG_P54_SPI=m
633CONFIG_ATH_COMMON=m
634CONFIG_AR9170_USB=m
635CONFIG_HOSTAP=m
636CONFIG_HOSTAP_FIRMWARE=y
637CONFIG_HOSTAP_FIRMWARE_NVRAM=y
638CONFIG_B43=m
639# CONFIG_B43_SDIO is not set
640# CONFIG_B43_PHY_LP is not set
641CONFIG_B43_HWRNG=y
642# CONFIG_B43_DEBUG is not set
643CONFIG_B43LEGACY=m
644CONFIG_B43LEGACY_HWRNG=y
645# CONFIG_B43LEGACY_DEBUG is not set
646CONFIG_B43LEGACY_DMA=y
647CONFIG_B43LEGACY_PIO=y
648CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
649# CONFIG_B43LEGACY_DMA_MODE is not set
650# CONFIG_B43LEGACY_PIO_MODE is not set
651CONFIG_ZD1211RW=m
652# CONFIG_ZD1211RW_DEBUG is not set
653CONFIG_RT2X00=m
654CONFIG_RT2500USB=m
655CONFIG_RT73USB=m
656CONFIG_RT2800USB=m
657CONFIG_RT2X00_LIB_USB=m
658CONFIG_RT2X00_LIB=m
659CONFIG_RT2X00_LIB_HT=y
660CONFIG_RT2X00_LIB_FIRMWARE=y
661CONFIG_RT2X00_LIB_CRYPTO=y
662# CONFIG_RT2X00_DEBUG is not set
663CONFIG_WL12XX=m
664# CONFIG_WL1251 is not set
665# CONFIG_WL1271 is not set
666# CONFIG_IWM is not set
667
668#
669# Enable WiMAX (Networking options) to see the WiMAX drivers
670#
671
672#
673# USB Network Adapters
674#
675# CONFIG_USB_CATC is not set
676CONFIG_USB_KAWETH=m
677CONFIG_USB_PEGASUS=m
678# CONFIG_USB_RTL8150 is not set
679CONFIG_USB_USBNET=m
680CONFIG_USB_NET_AX8817X=m
681CONFIG_USB_NET_CDCETHER=m
682CONFIG_USB_NET_CDC_EEM=m
683CONFIG_USB_NET_DM9601=m
684CONFIG_USB_NET_SMSC95XX=m
685CONFIG_USB_NET_GL620A=m
686CONFIG_USB_NET_NET1080=m
687CONFIG_USB_NET_PLUSB=m
688CONFIG_USB_NET_MCS7830=m
689CONFIG_USB_NET_RNDIS_HOST=m
690CONFIG_USB_NET_CDC_SUBSET=m
691# CONFIG_USB_ALI_M5632 is not set
692# CONFIG_USB_AN2720 is not set
693CONFIG_USB_BELKIN=y
694CONFIG_USB_ARMLINUX=y
695# CONFIG_USB_EPSON2888 is not set
696# CONFIG_USB_KC2190 is not set
697CONFIG_USB_NET_ZAURUS=m
698# CONFIG_USB_NET_INT51X1 is not set
699# CONFIG_WAN is not set
700# CONFIG_PPP is not set
701# CONFIG_SLIP is not set
702# CONFIG_NETCONSOLE is not set
703# CONFIG_NETPOLL is not set
704# CONFIG_NET_POLL_CONTROLLER is not set
705# CONFIG_ISDN is not set
706# CONFIG_PHONE is not set
707
708#
709# Input device support
710#
711CONFIG_INPUT=y
712# CONFIG_INPUT_FF_MEMLESS is not set
713# CONFIG_INPUT_POLLDEV is not set
714
715#
716# Userland interfaces
717#
718# CONFIG_INPUT_MOUSEDEV is not set
719# CONFIG_INPUT_JOYDEV is not set
720CONFIG_INPUT_EVDEV=y
721# CONFIG_INPUT_EVBUG is not set
722
723#
724# Input Device Drivers
725#
726# CONFIG_INPUT_KEYBOARD is not set
727# CONFIG_INPUT_MOUSE is not set
728# CONFIG_INPUT_JOYSTICK is not set
729# CONFIG_INPUT_TABLET is not set
730# CONFIG_INPUT_TOUCHSCREEN is not set
731# CONFIG_INPUT_MISC is not set
732
733#
734# Hardware I/O ports
735#
736# CONFIG_SERIO is not set
737# CONFIG_GAMEPORT is not set
738
739#
740# Character devices
741#
742CONFIG_VT=y
743CONFIG_CONSOLE_TRANSLATIONS=y
744CONFIG_VT_CONSOLE=y
745CONFIG_HW_CONSOLE=y
746# CONFIG_VT_HW_CONSOLE_BINDING is not set
747CONFIG_DEVKMEM=y
748# CONFIG_SERIAL_NONSTANDARD is not set
749
750#
751# Serial drivers
752#
753CONFIG_SERIAL_8250=y
754CONFIG_SERIAL_8250_CONSOLE=y
755CONFIG_SERIAL_8250_NR_UARTS=32
756CONFIG_SERIAL_8250_RUNTIME_UARTS=4
757CONFIG_SERIAL_8250_EXTENDED=y
758CONFIG_SERIAL_8250_MANY_PORTS=y
759CONFIG_SERIAL_8250_SHARE_IRQ=y
760CONFIG_SERIAL_8250_DETECT_IRQ=y
761CONFIG_SERIAL_8250_RSA=y
762
763#
764# Non-8250 serial port support
765#
766# CONFIG_SERIAL_MAX3100 is not set
767CONFIG_SERIAL_CORE=y
768CONFIG_SERIAL_CORE_CONSOLE=y
769CONFIG_UNIX98_PTYS=y
770# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
771# CONFIG_LEGACY_PTYS is not set
772# CONFIG_IPMI_HANDLER is not set
773CONFIG_HW_RANDOM=y
774# CONFIG_HW_RANDOM_TIMERIOMEM is not set
775# CONFIG_R3964 is not set
776# CONFIG_RAW_DRIVER is not set
777# CONFIG_TCG_TPM is not set
778CONFIG_I2C=y
779CONFIG_I2C_BOARDINFO=y
780CONFIG_I2C_COMPAT=y
781CONFIG_I2C_CHARDEV=y
782CONFIG_I2C_HELPER_AUTO=y
783
784#
785# I2C Hardware Bus support
786#
787
788#
789# I2C system bus drivers (mostly embedded / system-on-chip)
790#
791# CONFIG_I2C_DESIGNWARE is not set
792# CONFIG_I2C_GPIO is not set
793# CONFIG_I2C_OCORES is not set
794CONFIG_I2C_OMAP=y
795# CONFIG_I2C_SIMTEC is not set
796
797#
798# External I2C/SMBus adapter drivers
799#
800# CONFIG_I2C_PARPORT_LIGHT is not set
801# CONFIG_I2C_TAOS_EVM is not set
802# CONFIG_I2C_TINY_USB is not set
803
804#
805# Other I2C/SMBus bus drivers
806#
807# CONFIG_I2C_PCA_PLATFORM is not set
808# CONFIG_I2C_STUB is not set
809
810#
811# Miscellaneous I2C Chip support
812#
813# CONFIG_DS1682 is not set
814# CONFIG_SENSORS_TSL2550 is not set
815# CONFIG_I2C_DEBUG_CORE is not set
816# CONFIG_I2C_DEBUG_ALGO is not set
817# CONFIG_I2C_DEBUG_BUS is not set
818# CONFIG_I2C_DEBUG_CHIP is not set
819CONFIG_SPI=y
820# CONFIG_SPI_DEBUG is not set
821CONFIG_SPI_MASTER=y
822
823#
824# SPI Master Controller Drivers
825#
826# CONFIG_SPI_BITBANG is not set
827# CONFIG_SPI_GPIO is not set
828CONFIG_SPI_OMAP24XX=y
829
830#
831# SPI Protocol Masters
832#
833# CONFIG_SPI_SPIDEV is not set
834# CONFIG_SPI_TLE62X0 is not set
835
836#
837# PPS support
838#
839# CONFIG_PPS is not set
840CONFIG_ARCH_REQUIRE_GPIOLIB=y
841CONFIG_GPIOLIB=y
842# CONFIG_DEBUG_GPIO is not set
843CONFIG_GPIO_SYSFS=y
844
845#
846# Memory mapped GPIO expanders:
847#
848
849#
850# I2C GPIO expanders:
851#
852# CONFIG_GPIO_MAX732X is not set
853# CONFIG_GPIO_PCA953X is not set
854# CONFIG_GPIO_PCF857X is not set
855CONFIG_GPIO_TWL4030=y
856
857#
858# PCI GPIO expanders:
859#
860
861#
862# SPI GPIO expanders:
863#
864# CONFIG_GPIO_MAX7301 is not set
865# CONFIG_GPIO_MCP23S08 is not set
866# CONFIG_GPIO_MC33880 is not set
867
868#
869# AC97 GPIO expanders:
870#
871# CONFIG_W1 is not set
872CONFIG_POWER_SUPPLY=y
873# CONFIG_POWER_SUPPLY_DEBUG is not set
874# CONFIG_PDA_POWER is not set
875# CONFIG_BATTERY_DS2760 is not set
876# CONFIG_BATTERY_DS2782 is not set
877# CONFIG_BATTERY_BQ27x00 is not set
878# CONFIG_BATTERY_MAX17040 is not set
879# CONFIG_HWMON is not set
880# CONFIG_THERMAL is not set
881# CONFIG_WATCHDOG is not set
882CONFIG_SSB_POSSIBLE=y
883
884#
885# Sonics Silicon Backplane
886#
887CONFIG_SSB=m
888CONFIG_SSB_SDIOHOST_POSSIBLE=y
889# CONFIG_SSB_SDIOHOST is not set
890# CONFIG_SSB_SILENT is not set
891# CONFIG_SSB_DEBUG is not set
892
893#
894# Multifunction device drivers
895#
896# CONFIG_MFD_CORE is not set
897# CONFIG_MFD_SM501 is not set
898# CONFIG_MFD_ASIC3 is not set
899# CONFIG_HTC_EGPIO is not set
900# CONFIG_HTC_PASIC3 is not set
901# CONFIG_TPS65010 is not set
902CONFIG_TWL4030_CORE=y
903# CONFIG_TWL4030_POWER is not set
904# CONFIG_MFD_TMIO is not set
905# CONFIG_MFD_T7L66XB is not set
906# CONFIG_MFD_TC6387XB is not set
907# CONFIG_MFD_TC6393XB is not set
908# CONFIG_PMIC_DA903X is not set
909# CONFIG_MFD_WM8400 is not set
910# CONFIG_MFD_WM831X is not set
911# CONFIG_MFD_WM8350_I2C is not set
912# CONFIG_MFD_PCF50633 is not set
913# CONFIG_MFD_MC13783 is not set
914# CONFIG_AB3100_CORE is not set
915# CONFIG_EZX_PCAP is not set
916CONFIG_REGULATOR=y
917# CONFIG_REGULATOR_DEBUG is not set
918# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
919# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
920# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
921# CONFIG_REGULATOR_BQ24022 is not set
922# CONFIG_REGULATOR_MAX1586 is not set
923CONFIG_REGULATOR_TWL4030=y
924# CONFIG_REGULATOR_LP3971 is not set
925# CONFIG_REGULATOR_TPS65023 is not set
926# CONFIG_REGULATOR_TPS6507X is not set
927# CONFIG_MEDIA_SUPPORT is not set
928
929#
930# Graphics support
931#
932# CONFIG_VGASTATE is not set
933# CONFIG_VIDEO_OUTPUT_CONTROL is not set
934# CONFIG_FB is not set
935# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
936
937#
938# Display device support
939#
940# CONFIG_DISPLAY_SUPPORT is not set
941
942#
943# Console display driver support
944#
945# CONFIG_VGA_CONSOLE is not set
946CONFIG_DUMMY_CONSOLE=y
947# CONFIG_SOUND is not set
948CONFIG_HID_SUPPORT=y
949CONFIG_HID=y
950# CONFIG_HIDRAW is not set
951
952#
953# USB Input Devices
954#
955CONFIG_USB_HID=y
956# CONFIG_HID_PID is not set
957# CONFIG_USB_HIDDEV is not set
958
959#
960# Special HID drivers
961#
962# CONFIG_HID_A4TECH is not set
963# CONFIG_HID_APPLE is not set
964# CONFIG_HID_BELKIN is not set
965# CONFIG_HID_CHERRY is not set
966# CONFIG_HID_CHICONY is not set
967# CONFIG_HID_CYPRESS is not set
968# CONFIG_HID_DRAGONRISE is not set
969# CONFIG_HID_EZKEY is not set
970# CONFIG_HID_KYE is not set
971# CONFIG_HID_GYRATION is not set
972# CONFIG_HID_TWINHAN is not set
973# CONFIG_HID_KENSINGTON is not set
974# CONFIG_HID_LOGITECH is not set
975# CONFIG_HID_MICROSOFT is not set
976# CONFIG_HID_MONTEREY is not set
977# CONFIG_HID_NTRIG is not set
978# CONFIG_HID_PANTHERLORD is not set
979# CONFIG_HID_PETALYNX is not set
980# CONFIG_HID_SAMSUNG is not set
981# CONFIG_HID_SONY is not set
982# CONFIG_HID_SUNPLUS is not set
983# CONFIG_HID_GREENASIA is not set
984# CONFIG_HID_SMARTJOYPLUS is not set
985# CONFIG_HID_TOPSEED is not set
986# CONFIG_HID_THRUSTMASTER is not set
987# CONFIG_HID_WACOM is not set
988# CONFIG_HID_ZEROPLUS is not set
989CONFIG_USB_SUPPORT=y
990CONFIG_USB_ARCH_HAS_HCD=y
991CONFIG_USB_ARCH_HAS_OHCI=y
992# CONFIG_USB_ARCH_HAS_EHCI is not set
993CONFIG_USB=y
994# CONFIG_USB_DEBUG is not set
995CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
996
997#
998# Miscellaneous USB options
999#
1000# CONFIG_USB_DEVICEFS is not set
1001# CONFIG_USB_DEVICE_CLASS is not set
1002# CONFIG_USB_DYNAMIC_MINORS is not set
1003# CONFIG_USB_OTG is not set
1004# CONFIG_USB_OTG_WHITELIST is not set
1005# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1006CONFIG_USB_MON=m
1007# CONFIG_USB_WUSB is not set
1008# CONFIG_USB_WUSB_CBAF is not set
1009
1010#
1011# USB Host Controller Drivers
1012#
1013# CONFIG_USB_C67X00_HCD is not set
1014# CONFIG_USB_OXU210HP_HCD is not set
1015# CONFIG_USB_ISP116X_HCD is not set
1016# CONFIG_USB_ISP1760_HCD is not set
1017# CONFIG_USB_ISP1362_HCD is not set
1018# CONFIG_USB_OHCI_HCD is not set
1019# CONFIG_USB_SL811_HCD is not set
1020# CONFIG_USB_R8A66597_HCD is not set
1021# CONFIG_USB_HWA_HCD is not set
1022CONFIG_USB_MUSB_HDRC=y
1023CONFIG_USB_MUSB_SOC=y
1024
1025#
1026# OMAP 343x high speed USB support
1027#
1028CONFIG_USB_MUSB_HOST=y
1029# CONFIG_USB_MUSB_PERIPHERAL is not set
1030# CONFIG_USB_MUSB_OTG is not set
1031# CONFIG_USB_GADGET_MUSB_HDRC is not set
1032CONFIG_USB_MUSB_HDRC_HCD=y
1033# CONFIG_MUSB_PIO_ONLY is not set
1034CONFIG_USB_INVENTRA_DMA=y
1035# CONFIG_USB_TI_CPPI_DMA is not set
1036# CONFIG_USB_MUSB_DEBUG is not set
1037
1038#
1039# USB Device Class drivers
1040#
1041# CONFIG_USB_ACM is not set
1042# CONFIG_USB_PRINTER is not set
1043# CONFIG_USB_WDM is not set
1044# CONFIG_USB_TMC is not set
1045
1046#
1047# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1048#
1049
1050#
1051# also be needed; see USB_STORAGE Help for more info
1052#
1053CONFIG_USB_STORAGE=m
1054# CONFIG_USB_STORAGE_DEBUG is not set
1055# CONFIG_USB_STORAGE_DATAFAB is not set
1056# CONFIG_USB_STORAGE_FREECOM is not set
1057# CONFIG_USB_STORAGE_ISD200 is not set
1058# CONFIG_USB_STORAGE_USBAT is not set
1059# CONFIG_USB_STORAGE_SDDR09 is not set
1060# CONFIG_USB_STORAGE_SDDR55 is not set
1061# CONFIG_USB_STORAGE_JUMPSHOT is not set
1062# CONFIG_USB_STORAGE_ALAUDA is not set
1063# CONFIG_USB_STORAGE_ONETOUCH is not set
1064# CONFIG_USB_STORAGE_KARMA is not set
1065# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1066# CONFIG_USB_LIBUSUAL is not set
1067
1068#
1069# USB Imaging devices
1070#
1071# CONFIG_USB_MDC800 is not set
1072# CONFIG_USB_MICROTEK is not set
1073
1074#
1075# USB port drivers
1076#
1077# CONFIG_USB_SERIAL is not set
1078
1079#
1080# USB Miscellaneous drivers
1081#
1082# CONFIG_USB_EMI62 is not set
1083# CONFIG_USB_EMI26 is not set
1084# CONFIG_USB_ADUTUX is not set
1085# CONFIG_USB_SEVSEG is not set
1086# CONFIG_USB_RIO500 is not set
1087# CONFIG_USB_LEGOTOWER is not set
1088# CONFIG_USB_LCD is not set
1089# CONFIG_USB_BERRY_CHARGE is not set
1090# CONFIG_USB_LED is not set
1091# CONFIG_USB_CYPRESS_CY7C63 is not set
1092# CONFIG_USB_CYTHERM is not set
1093# CONFIG_USB_IDMOUSE is not set
1094# CONFIG_USB_FTDI_ELAN is not set
1095# CONFIG_USB_APPLEDISPLAY is not set
1096# CONFIG_USB_SISUSBVGA is not set
1097# CONFIG_USB_LD is not set
1098# CONFIG_USB_TRANCEVIBRATOR is not set
1099# CONFIG_USB_IOWARRIOR is not set
1100# CONFIG_USB_TEST is not set
1101# CONFIG_USB_ISIGHTFW is not set
1102# CONFIG_USB_VST is not set
1103CONFIG_USB_GADGET=y
1104CONFIG_USB_GADGET_DEBUG=y
1105CONFIG_USB_GADGET_DEBUG_FILES=y
1106CONFIG_USB_GADGET_VBUS_DRAW=2
1107CONFIG_USB_GADGET_SELECTED=y
1108# CONFIG_USB_GADGET_AT91 is not set
1109# CONFIG_USB_GADGET_ATMEL_USBA is not set
1110# CONFIG_USB_GADGET_FSL_USB2 is not set
1111# CONFIG_USB_GADGET_LH7A40X is not set
1112CONFIG_USB_GADGET_OMAP=y
1113CONFIG_USB_OMAP=y
1114# CONFIG_USB_GADGET_PXA25X is not set
1115# CONFIG_USB_GADGET_R8A66597 is not set
1116# CONFIG_USB_GADGET_PXA27X is not set
1117# CONFIG_USB_GADGET_S3C_HSOTG is not set
1118# CONFIG_USB_GADGET_IMX is not set
1119# CONFIG_USB_GADGET_S3C2410 is not set
1120# CONFIG_USB_GADGET_M66592 is not set
1121# CONFIG_USB_GADGET_AMD5536UDC is not set
1122# CONFIG_USB_GADGET_FSL_QE is not set
1123# CONFIG_USB_GADGET_CI13XXX is not set
1124# CONFIG_USB_GADGET_NET2280 is not set
1125# CONFIG_USB_GADGET_GOKU is not set
1126# CONFIG_USB_GADGET_LANGWELL is not set
1127# CONFIG_USB_GADGET_DUMMY_HCD is not set
1128# CONFIG_USB_GADGET_DUALSPEED is not set
1129CONFIG_USB_ZERO=m
1130# CONFIG_USB_AUDIO is not set
1131# CONFIG_USB_ETH is not set
1132# CONFIG_USB_GADGETFS is not set
1133# CONFIG_USB_FILE_STORAGE is not set
1134# CONFIG_USB_G_SERIAL is not set
1135# CONFIG_USB_MIDI_GADGET is not set
1136# CONFIG_USB_G_PRINTER is not set
1137# CONFIG_USB_CDC_COMPOSITE is not set
1138
1139#
1140# OTG and related infrastructure
1141#
1142CONFIG_USB_OTG_UTILS=y
1143# CONFIG_USB_GPIO_VBUS is not set
1144# CONFIG_ISP1301_OMAP is not set
1145CONFIG_TWL4030_USB=y
1146# CONFIG_NOP_USB_XCEIV is not set
1147CONFIG_MMC=y
1148# CONFIG_MMC_DEBUG is not set
1149# CONFIG_MMC_UNSAFE_RESUME is not set
1150
1151#
1152# MMC/SD/SDIO Card Drivers
1153#
1154CONFIG_MMC_BLOCK=y
1155CONFIG_MMC_BLOCK_BOUNCE=y
1156# CONFIG_SDIO_UART is not set
1157# CONFIG_MMC_TEST is not set
1158
1159#
1160# MMC/SD/SDIO Host Controller Drivers
1161#
1162# CONFIG_MMC_SDHCI is not set
1163# CONFIG_MMC_OMAP is not set
1164CONFIG_MMC_OMAP_HS=y
1165# CONFIG_MMC_AT91 is not set
1166# CONFIG_MMC_ATMELMCI is not set
1167# CONFIG_MMC_SPI is not set
1168# CONFIG_MEMSTICK is not set
1169# CONFIG_NEW_LEDS is not set
1170# CONFIG_ACCESSIBILITY is not set
1171CONFIG_RTC_LIB=y
1172# CONFIG_RTC_CLASS is not set
1173# CONFIG_DMADEVICES is not set
1174# CONFIG_AUXDISPLAY is not set
1175# CONFIG_UIO is not set
1176
1177#
1178# TI VLYNQ
1179#
1180# CONFIG_STAGING is not set
1181
1182#
1183# File systems
1184#
1185CONFIG_EXT2_FS=y
1186# CONFIG_EXT2_FS_XATTR is not set
1187# CONFIG_EXT2_FS_XIP is not set
1188CONFIG_EXT3_FS=y
1189# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1190# CONFIG_EXT3_FS_XATTR is not set
1191# CONFIG_EXT4_FS is not set
1192CONFIG_JBD=y
1193# CONFIG_REISERFS_FS is not set
1194# CONFIG_JFS_FS is not set
1195CONFIG_FS_POSIX_ACL=y
1196# CONFIG_XFS_FS is not set
1197# CONFIG_GFS2_FS is not set
1198# CONFIG_OCFS2_FS is not set
1199# CONFIG_BTRFS_FS is not set
1200# CONFIG_NILFS2_FS is not set
1201CONFIG_FILE_LOCKING=y
1202CONFIG_FSNOTIFY=y
1203CONFIG_DNOTIFY=y
1204CONFIG_INOTIFY=y
1205CONFIG_INOTIFY_USER=y
1206CONFIG_QUOTA=y
1207# CONFIG_QUOTA_NETLINK_INTERFACE is not set
1208CONFIG_PRINT_QUOTA_WARNING=y
1209CONFIG_QUOTA_TREE=y
1210# CONFIG_QFMT_V1 is not set
1211CONFIG_QFMT_V2=y
1212CONFIG_QUOTACTL=y
1213# CONFIG_AUTOFS_FS is not set
1214# CONFIG_AUTOFS4_FS is not set
1215# CONFIG_FUSE_FS is not set
1216
1217#
1218# Caches
1219#
1220# CONFIG_FSCACHE is not set
1221
1222#
1223# CD-ROM/DVD Filesystems
1224#
1225# CONFIG_ISO9660_FS is not set
1226# CONFIG_UDF_FS is not set
1227
1228#
1229# DOS/FAT/NT Filesystems
1230#
1231CONFIG_FAT_FS=y
1232CONFIG_MSDOS_FS=y
1233CONFIG_VFAT_FS=y
1234CONFIG_FAT_DEFAULT_CODEPAGE=437
1235CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1236# CONFIG_NTFS_FS is not set
1237
1238#
1239# Pseudo filesystems
1240#
1241CONFIG_PROC_FS=y
1242CONFIG_PROC_SYSCTL=y
1243CONFIG_PROC_PAGE_MONITOR=y
1244CONFIG_SYSFS=y
1245CONFIG_TMPFS=y
1246# CONFIG_TMPFS_POSIX_ACL is not set
1247# CONFIG_HUGETLB_PAGE is not set
1248# CONFIG_CONFIGFS_FS is not set
1249CONFIG_MISC_FILESYSTEMS=y
1250# CONFIG_ADFS_FS is not set
1251# CONFIG_AFFS_FS is not set
1252# CONFIG_HFS_FS is not set
1253# CONFIG_HFSPLUS_FS is not set
1254# CONFIG_BEFS_FS is not set
1255# CONFIG_BFS_FS is not set
1256# CONFIG_EFS_FS is not set
1257# CONFIG_CRAMFS is not set
1258# CONFIG_SQUASHFS is not set
1259# CONFIG_VXFS_FS is not set
1260# CONFIG_MINIX_FS is not set
1261# CONFIG_OMFS_FS is not set
1262# CONFIG_HPFS_FS is not set
1263# CONFIG_QNX4FS_FS is not set
1264# CONFIG_ROMFS_FS is not set
1265# CONFIG_SYSV_FS is not set
1266# CONFIG_UFS_FS is not set
1267CONFIG_NETWORK_FILESYSTEMS=y
1268CONFIG_NFS_FS=y
1269CONFIG_NFS_V3=y
1270CONFIG_NFS_V3_ACL=y
1271CONFIG_NFS_V4=y
1272# CONFIG_NFS_V4_1 is not set
1273CONFIG_ROOT_NFS=y
1274# CONFIG_NFSD is not set
1275CONFIG_LOCKD=y
1276CONFIG_LOCKD_V4=y
1277CONFIG_NFS_ACL_SUPPORT=y
1278CONFIG_NFS_COMMON=y
1279CONFIG_SUNRPC=y
1280CONFIG_SUNRPC_GSS=y
1281CONFIG_RPCSEC_GSS_KRB5=y
1282# CONFIG_RPCSEC_GSS_SPKM3 is not set
1283# CONFIG_SMB_FS is not set
1284# CONFIG_CIFS is not set
1285# CONFIG_NCP_FS is not set
1286# CONFIG_CODA_FS is not set
1287# CONFIG_AFS_FS is not set
1288
1289#
1290# Partition Types
1291#
1292CONFIG_PARTITION_ADVANCED=y
1293# CONFIG_ACORN_PARTITION is not set
1294# CONFIG_OSF_PARTITION is not set
1295# CONFIG_AMIGA_PARTITION is not set
1296# CONFIG_ATARI_PARTITION is not set
1297# CONFIG_MAC_PARTITION is not set
1298CONFIG_MSDOS_PARTITION=y
1299# CONFIG_BSD_DISKLABEL is not set
1300# CONFIG_MINIX_SUBPARTITION is not set
1301# CONFIG_SOLARIS_X86_PARTITION is not set
1302# CONFIG_UNIXWARE_DISKLABEL is not set
1303# CONFIG_LDM_PARTITION is not set
1304# CONFIG_SGI_PARTITION is not set
1305# CONFIG_ULTRIX_PARTITION is not set
1306# CONFIG_SUN_PARTITION is not set
1307# CONFIG_KARMA_PARTITION is not set
1308# CONFIG_EFI_PARTITION is not set
1309# CONFIG_SYSV68_PARTITION is not set
1310CONFIG_NLS=y
1311CONFIG_NLS_DEFAULT="iso8859-1"
1312CONFIG_NLS_CODEPAGE_437=y
1313# CONFIG_NLS_CODEPAGE_737 is not set
1314# CONFIG_NLS_CODEPAGE_775 is not set
1315# CONFIG_NLS_CODEPAGE_850 is not set
1316# CONFIG_NLS_CODEPAGE_852 is not set
1317# CONFIG_NLS_CODEPAGE_855 is not set
1318# CONFIG_NLS_CODEPAGE_857 is not set
1319# CONFIG_NLS_CODEPAGE_860 is not set
1320# CONFIG_NLS_CODEPAGE_861 is not set
1321# CONFIG_NLS_CODEPAGE_862 is not set
1322# CONFIG_NLS_CODEPAGE_863 is not set
1323# CONFIG_NLS_CODEPAGE_864 is not set
1324# CONFIG_NLS_CODEPAGE_865 is not set
1325# CONFIG_NLS_CODEPAGE_866 is not set
1326# CONFIG_NLS_CODEPAGE_869 is not set
1327# CONFIG_NLS_CODEPAGE_936 is not set
1328# CONFIG_NLS_CODEPAGE_950 is not set
1329# CONFIG_NLS_CODEPAGE_932 is not set
1330# CONFIG_NLS_CODEPAGE_949 is not set
1331# CONFIG_NLS_CODEPAGE_874 is not set
1332# CONFIG_NLS_ISO8859_8 is not set
1333# CONFIG_NLS_CODEPAGE_1250 is not set
1334# CONFIG_NLS_CODEPAGE_1251 is not set
1335# CONFIG_NLS_ASCII is not set
1336CONFIG_NLS_ISO8859_1=y
1337# CONFIG_NLS_ISO8859_2 is not set
1338# CONFIG_NLS_ISO8859_3 is not set
1339# CONFIG_NLS_ISO8859_4 is not set
1340# CONFIG_NLS_ISO8859_5 is not set
1341# CONFIG_NLS_ISO8859_6 is not set
1342# CONFIG_NLS_ISO8859_7 is not set
1343# CONFIG_NLS_ISO8859_9 is not set
1344# CONFIG_NLS_ISO8859_13 is not set
1345# CONFIG_NLS_ISO8859_14 is not set
1346# CONFIG_NLS_ISO8859_15 is not set
1347# CONFIG_NLS_KOI8_R is not set
1348# CONFIG_NLS_KOI8_U is not set
1349# CONFIG_NLS_UTF8 is not set
1350# CONFIG_DLM is not set
1351
1352#
1353# Kernel hacking
1354#
1355CONFIG_PRINTK_TIME=y
1356CONFIG_ENABLE_WARN_DEPRECATED=y
1357CONFIG_ENABLE_MUST_CHECK=y
1358CONFIG_FRAME_WARN=1024
1359CONFIG_MAGIC_SYSRQ=y
1360# CONFIG_STRIP_ASM_SYMS is not set
1361# CONFIG_UNUSED_SYMBOLS is not set
1362# CONFIG_DEBUG_FS is not set
1363# CONFIG_HEADERS_CHECK is not set
1364CONFIG_DEBUG_KERNEL=y
1365# CONFIG_DEBUG_SHIRQ is not set
1366CONFIG_DETECT_SOFTLOCKUP=y
1367# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1368CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1369CONFIG_DETECT_HUNG_TASK=y
1370# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1371CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1372CONFIG_SCHED_DEBUG=y
1373# CONFIG_SCHEDSTATS is not set
1374# CONFIG_TIMER_STATS is not set
1375# CONFIG_DEBUG_OBJECTS is not set
1376# CONFIG_DEBUG_SLAB is not set
1377# CONFIG_DEBUG_KMEMLEAK is not set
1378# CONFIG_DEBUG_RT_MUTEXES is not set
1379# CONFIG_RT_MUTEX_TESTER is not set
1380# CONFIG_DEBUG_SPINLOCK is not set
1381CONFIG_DEBUG_MUTEXES=y
1382# CONFIG_DEBUG_LOCK_ALLOC is not set
1383# CONFIG_PROVE_LOCKING is not set
1384# CONFIG_LOCK_STAT is not set
1385# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1386# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1387# CONFIG_DEBUG_KOBJECT is not set
1388# CONFIG_DEBUG_BUGVERBOSE is not set
1389CONFIG_DEBUG_INFO=y
1390# CONFIG_DEBUG_VM is not set
1391# CONFIG_DEBUG_WRITECOUNT is not set
1392# CONFIG_DEBUG_MEMORY_INIT is not set
1393# CONFIG_DEBUG_LIST is not set
1394# CONFIG_DEBUG_SG is not set
1395# CONFIG_DEBUG_NOTIFIERS is not set
1396# CONFIG_DEBUG_CREDENTIALS is not set
1397# CONFIG_BOOT_PRINTK_DELAY is not set
1398# CONFIG_RCU_TORTURE_TEST is not set
1399# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1400# CONFIG_BACKTRACE_SELF_TEST is not set
1401# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1402# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1403# CONFIG_FAULT_INJECTION is not set
1404# CONFIG_LATENCYTOP is not set
1405# CONFIG_PAGE_POISONING is not set
1406CONFIG_HAVE_FUNCTION_TRACER=y
1407CONFIG_TRACING_SUPPORT=y
1408CONFIG_FTRACE=y
1409# CONFIG_FUNCTION_TRACER is not set
1410# CONFIG_IRQSOFF_TRACER is not set
1411# CONFIG_SCHED_TRACER is not set
1412# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1413# CONFIG_BOOT_TRACER is not set
1414CONFIG_BRANCH_PROFILE_NONE=y
1415# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1416# CONFIG_PROFILE_ALL_BRANCHES is not set
1417# CONFIG_STACK_TRACER is not set
1418# CONFIG_KMEMTRACE is not set
1419# CONFIG_WORKQUEUE_TRACER is not set
1420# CONFIG_BLK_DEV_IO_TRACE is not set
1421# CONFIG_SAMPLES is not set
1422CONFIG_HAVE_ARCH_KGDB=y
1423# CONFIG_KGDB is not set
1424CONFIG_ARM_UNWIND=y
1425# CONFIG_DEBUG_USER is not set
1426# CONFIG_DEBUG_ERRORS is not set
1427# CONFIG_DEBUG_STACK_USAGE is not set
1428CONFIG_DEBUG_LL=y
1429# CONFIG_DEBUG_ICEDCC is not set
1430
1431#
1432# Security options
1433#
1434# CONFIG_KEYS is not set
1435# CONFIG_SECURITY is not set
1436# CONFIG_SECURITYFS is not set
1437# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1438CONFIG_CRYPTO=y
1439
1440#
1441# Crypto core or helper
1442#
1443CONFIG_CRYPTO_ALGAPI=y
1444CONFIG_CRYPTO_ALGAPI2=y
1445CONFIG_CRYPTO_AEAD2=y
1446CONFIG_CRYPTO_BLKCIPHER=y
1447CONFIG_CRYPTO_BLKCIPHER2=y
1448CONFIG_CRYPTO_HASH=y
1449CONFIG_CRYPTO_HASH2=y
1450CONFIG_CRYPTO_RNG2=y
1451CONFIG_CRYPTO_PCOMP=y
1452CONFIG_CRYPTO_MANAGER=y
1453CONFIG_CRYPTO_MANAGER2=y
1454# CONFIG_CRYPTO_GF128MUL is not set
1455# CONFIG_CRYPTO_NULL is not set
1456CONFIG_CRYPTO_WORKQUEUE=y
1457# CONFIG_CRYPTO_CRYPTD is not set
1458# CONFIG_CRYPTO_AUTHENC is not set
1459# CONFIG_CRYPTO_TEST is not set
1460
1461#
1462# Authenticated Encryption with Associated Data
1463#
1464# CONFIG_CRYPTO_CCM is not set
1465# CONFIG_CRYPTO_GCM is not set
1466# CONFIG_CRYPTO_SEQIV is not set
1467
1468#
1469# Block modes
1470#
1471CONFIG_CRYPTO_CBC=y
1472# CONFIG_CRYPTO_CTR is not set
1473# CONFIG_CRYPTO_CTS is not set
1474CONFIG_CRYPTO_ECB=y
1475# CONFIG_CRYPTO_LRW is not set
1476CONFIG_CRYPTO_PCBC=m
1477# CONFIG_CRYPTO_XTS is not set
1478
1479#
1480# Hash modes
1481#
1482# CONFIG_CRYPTO_HMAC is not set
1483# CONFIG_CRYPTO_XCBC is not set
1484# CONFIG_CRYPTO_VMAC is not set
1485
1486#
1487# Digest
1488#
1489CONFIG_CRYPTO_CRC32C=y
1490# CONFIG_CRYPTO_GHASH is not set
1491# CONFIG_CRYPTO_MD4 is not set
1492CONFIG_CRYPTO_MD5=y
1493CONFIG_CRYPTO_MICHAEL_MIC=m
1494# CONFIG_CRYPTO_RMD128 is not set
1495# CONFIG_CRYPTO_RMD160 is not set
1496# CONFIG_CRYPTO_RMD256 is not set
1497# CONFIG_CRYPTO_RMD320 is not set
1498# CONFIG_CRYPTO_SHA1 is not set
1499# CONFIG_CRYPTO_SHA256 is not set
1500# CONFIG_CRYPTO_SHA512 is not set
1501# CONFIG_CRYPTO_TGR192 is not set
1502# CONFIG_CRYPTO_WP512 is not set
1503
1504#
1505# Ciphers
1506#
1507CONFIG_CRYPTO_AES=y
1508# CONFIG_CRYPTO_ANUBIS is not set
1509CONFIG_CRYPTO_ARC4=y
1510# CONFIG_CRYPTO_BLOWFISH is not set
1511# CONFIG_CRYPTO_CAMELLIA is not set
1512# CONFIG_CRYPTO_CAST5 is not set
1513# CONFIG_CRYPTO_CAST6 is not set
1514CONFIG_CRYPTO_DES=y
1515# CONFIG_CRYPTO_FCRYPT is not set
1516# CONFIG_CRYPTO_KHAZAD is not set
1517# CONFIG_CRYPTO_SALSA20 is not set
1518# CONFIG_CRYPTO_SEED is not set
1519# CONFIG_CRYPTO_SERPENT is not set
1520# CONFIG_CRYPTO_TEA is not set
1521# CONFIG_CRYPTO_TWOFISH is not set
1522
1523#
1524# Compression
1525#
1526# CONFIG_CRYPTO_DEFLATE is not set
1527# CONFIG_CRYPTO_ZLIB is not set
1528# CONFIG_CRYPTO_LZO is not set
1529
1530#
1531# Random Number Generation
1532#
1533# CONFIG_CRYPTO_ANSI_CPRNG is not set
1534CONFIG_CRYPTO_HW=y
1535# CONFIG_BINARY_PRINTF is not set
1536
1537#
1538# Library routines
1539#
1540CONFIG_BITREVERSE=y
1541CONFIG_GENERIC_FIND_LAST_BIT=y
1542CONFIG_CRC_CCITT=y
1543CONFIG_CRC16=m
1544CONFIG_CRC_T10DIF=y
1545CONFIG_CRC_ITU_T=m
1546CONFIG_CRC32=y
1547# CONFIG_CRC7 is not set
1548CONFIG_LIBCRC32C=y
1549CONFIG_ZLIB_INFLATE=y
1550CONFIG_DECOMPRESS_GZIP=y
1551CONFIG_HAS_IOMEM=y
1552CONFIG_HAS_IOPORT=y
1553CONFIG_HAS_DMA=y
1554CONFIG_NLATTR=y
diff --git a/arch/arm/configs/omap3_beagle_defconfig b/arch/arm/configs/omap3_beagle_defconfig
index b3c8cce0f8fb..9cfae374e041 100644
--- a/arch/arm/configs/omap3_beagle_defconfig
+++ b/arch/arm/configs/omap3_beagle_defconfig
@@ -52,8 +52,8 @@ CONFIG_FAIR_GROUP_SCHED=y
52# CONFIG_RT_GROUP_SCHED is not set 52# CONFIG_RT_GROUP_SCHED is not set
53CONFIG_USER_SCHED=y 53CONFIG_USER_SCHED=y
54# CONFIG_CGROUP_SCHED is not set 54# CONFIG_CGROUP_SCHED is not set
55CONFIG_SYSFS_DEPRECATED=y 55# CONFIG_SYSFS_DEPRECATED=y is not set
56CONFIG_SYSFS_DEPRECATED_V2=y 56# CONFIG_SYSFS_DEPRECATED_V2=y is not set
57# CONFIG_RELAY is not set 57# CONFIG_RELAY is not set
58# CONFIG_NAMESPACES is not set 58# CONFIG_NAMESPACES is not set
59CONFIG_BLK_DEV_INITRD=y 59CONFIG_BLK_DEV_INITRD=y
diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig
new file mode 100644
index 000000000000..2af28eab9060
--- /dev/null
+++ b/arch/arm/configs/omap3_defconfig
@@ -0,0 +1,2119 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.32-rc8
4# Tue Dec 1 14:04:02 2009
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_GENERIC_HARDIRQS=y
12CONFIG_STACKTRACE_SUPPORT=y
13CONFIG_HAVE_LATENCYTOP_SUPPORT=y
14CONFIG_LOCKDEP_SUPPORT=y
15CONFIG_TRACE_IRQFLAGS_SUPPORT=y
16CONFIG_HARDIRQS_SW_RESEND=y
17CONFIG_GENERIC_IRQ_PROBE=y
18CONFIG_RWSEM_GENERIC_SPINLOCK=y
19CONFIG_ARCH_HAS_CPUFREQ=y
20CONFIG_GENERIC_HWEIGHT=y
21CONFIG_GENERIC_CALIBRATE_DELAY=y
22CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
23CONFIG_OPROFILE_ARMV7=y
24CONFIG_VECTORS_BASE=0xffff0000
25CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
26CONFIG_CONSTRUCTORS=y
27
28#
29# General setup
30#
31CONFIG_EXPERIMENTAL=y
32CONFIG_BROKEN_ON_SMP=y
33CONFIG_INIT_ENV_ARG_LIMIT=32
34CONFIG_LOCALVERSION=""
35CONFIG_LOCALVERSION_AUTO=y
36CONFIG_SWAP=y
37CONFIG_SYSVIPC=y
38CONFIG_SYSVIPC_SYSCTL=y
39CONFIG_POSIX_MQUEUE=y
40CONFIG_POSIX_MQUEUE_SYSCTL=y
41CONFIG_BSD_PROCESS_ACCT=y
42# CONFIG_BSD_PROCESS_ACCT_V3 is not set
43# CONFIG_TASKSTATS is not set
44# CONFIG_AUDIT is not set
45
46#
47# RCU Subsystem
48#
49CONFIG_TREE_RCU=y
50# CONFIG_TREE_PREEMPT_RCU is not set
51# CONFIG_RCU_TRACE is not set
52CONFIG_RCU_FANOUT=32
53# CONFIG_RCU_FANOUT_EXACT is not set
54# CONFIG_TREE_RCU_TRACE is not set
55CONFIG_IKCONFIG=y
56CONFIG_IKCONFIG_PROC=y
57CONFIG_LOG_BUF_SHIFT=14
58CONFIG_GROUP_SCHED=y
59CONFIG_FAIR_GROUP_SCHED=y
60# CONFIG_RT_GROUP_SCHED is not set
61CONFIG_USER_SCHED=y
62# CONFIG_CGROUP_SCHED is not set
63# CONFIG_CGROUPS is not set
64# CONFIG_SYSFS_DEPRECATED_V2 is not set
65# CONFIG_RELAY is not set
66# CONFIG_NAMESPACES is not set
67CONFIG_BLK_DEV_INITRD=y
68CONFIG_INITRAMFS_SOURCE=""
69CONFIG_RD_GZIP=y
70# CONFIG_RD_BZIP2 is not set
71# CONFIG_RD_LZMA is not set
72CONFIG_CC_OPTIMIZE_FOR_SIZE=y
73CONFIG_SYSCTL=y
74CONFIG_ANON_INODES=y
75CONFIG_EMBEDDED=y
76CONFIG_UID16=y
77# CONFIG_SYSCTL_SYSCALL is not set
78CONFIG_KALLSYMS=y
79CONFIG_KALLSYMS_ALL=y
80CONFIG_KALLSYMS_EXTRA_PASS=y
81CONFIG_HOTPLUG=y
82CONFIG_PRINTK=y
83CONFIG_BUG=y
84CONFIG_ELF_CORE=y
85CONFIG_BASE_FULL=y
86CONFIG_FUTEX=y
87CONFIG_EPOLL=y
88CONFIG_SIGNALFD=y
89CONFIG_TIMERFD=y
90CONFIG_EVENTFD=y
91CONFIG_SHMEM=y
92CONFIG_AIO=y
93
94#
95# Kernel Performance Events And Counters
96#
97CONFIG_VM_EVENT_COUNTERS=y
98CONFIG_COMPAT_BRK=y
99CONFIG_SLAB=y
100# CONFIG_SLUB is not set
101# CONFIG_SLOB is not set
102CONFIG_PROFILING=y
103CONFIG_TRACEPOINTS=y
104CONFIG_OPROFILE=y
105CONFIG_HAVE_OPROFILE=y
106CONFIG_KPROBES=y
107CONFIG_KRETPROBES=y
108CONFIG_HAVE_KPROBES=y
109CONFIG_HAVE_KRETPROBES=y
110CONFIG_HAVE_CLK=y
111
112#
113# GCOV-based kernel profiling
114#
115# CONFIG_GCOV_KERNEL is not set
116# CONFIG_SLOW_WORK is not set
117CONFIG_HAVE_GENERIC_DMA_COHERENT=y
118CONFIG_SLABINFO=y
119CONFIG_RT_MUTEXES=y
120CONFIG_BASE_SMALL=0
121CONFIG_MODULES=y
122CONFIG_MODULE_FORCE_LOAD=y
123CONFIG_MODULE_UNLOAD=y
124CONFIG_MODULE_FORCE_UNLOAD=y
125CONFIG_MODVERSIONS=y
126CONFIG_MODULE_SRCVERSION_ALL=y
127CONFIG_BLOCK=y
128CONFIG_LBDAF=y
129# CONFIG_BLK_DEV_BSG is not set
130# CONFIG_BLK_DEV_INTEGRITY is not set
131
132#
133# IO Schedulers
134#
135CONFIG_IOSCHED_NOOP=y
136CONFIG_IOSCHED_AS=y
137CONFIG_IOSCHED_DEADLINE=y
138CONFIG_IOSCHED_CFQ=y
139# CONFIG_DEFAULT_AS is not set
140# CONFIG_DEFAULT_DEADLINE is not set
141CONFIG_DEFAULT_CFQ=y
142# CONFIG_DEFAULT_NOOP is not set
143CONFIG_DEFAULT_IOSCHED="cfq"
144CONFIG_FREEZER=y
145
146#
147# System Type
148#
149CONFIG_MMU=y
150# CONFIG_ARCH_AAEC2000 is not set
151# CONFIG_ARCH_INTEGRATOR is not set
152# CONFIG_ARCH_REALVIEW is not set
153# CONFIG_ARCH_VERSATILE is not set
154# CONFIG_ARCH_AT91 is not set
155# CONFIG_ARCH_CLPS711X is not set
156# CONFIG_ARCH_GEMINI is not set
157# CONFIG_ARCH_EBSA110 is not set
158# CONFIG_ARCH_EP93XX is not set
159# CONFIG_ARCH_FOOTBRIDGE is not set
160# CONFIG_ARCH_MXC is not set
161# CONFIG_ARCH_STMP3XXX is not set
162# CONFIG_ARCH_NETX is not set
163# CONFIG_ARCH_H720X is not set
164# CONFIG_ARCH_NOMADIK is not set
165# CONFIG_ARCH_IOP13XX is not set
166# CONFIG_ARCH_IOP32X is not set
167# CONFIG_ARCH_IOP33X is not set
168# CONFIG_ARCH_IXP23XX is not set
169# CONFIG_ARCH_IXP2000 is not set
170# CONFIG_ARCH_IXP4XX is not set
171# CONFIG_ARCH_L7200 is not set
172# CONFIG_ARCH_KIRKWOOD is not set
173# CONFIG_ARCH_LOKI is not set
174# CONFIG_ARCH_MV78XX0 is not set
175# CONFIG_ARCH_ORION5X is not set
176# CONFIG_ARCH_MMP is not set
177# CONFIG_ARCH_KS8695 is not set
178# CONFIG_ARCH_NS9XXX is not set
179# CONFIG_ARCH_W90X900 is not set
180# CONFIG_ARCH_PNX4008 is not set
181# CONFIG_ARCH_PXA is not set
182# CONFIG_ARCH_MSM is not set
183# CONFIG_ARCH_RPC is not set
184# CONFIG_ARCH_SA1100 is not set
185# CONFIG_ARCH_S3C2410 is not set
186# CONFIG_ARCH_S3C64XX is not set
187# CONFIG_ARCH_S5PC1XX is not set
188# CONFIG_ARCH_SHARK is not set
189# CONFIG_ARCH_LH7A40X is not set
190# CONFIG_ARCH_U300 is not set
191# CONFIG_ARCH_DAVINCI is not set
192CONFIG_ARCH_OMAP=y
193# CONFIG_ARCH_BCMRING is not set
194
195#
196# TI OMAP Implementations
197#
198CONFIG_ARCH_OMAP_OTG=y
199# CONFIG_ARCH_OMAP1 is not set
200# CONFIG_ARCH_OMAP2 is not set
201CONFIG_ARCH_OMAP3=y
202# CONFIG_ARCH_OMAP4 is not set
203
204#
205# OMAP Feature Selections
206#
207# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
208# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
209CONFIG_OMAP_RESET_CLOCKS=y
210CONFIG_OMAP_MUX=y
211CONFIG_OMAP_MUX_DEBUG=y
212CONFIG_OMAP_MUX_WARNINGS=y
213CONFIG_OMAP_MCBSP=y
214# CONFIG_OMAP_MBOX_FWK is not set
215# CONFIG_OMAP_MPU_TIMER is not set
216CONFIG_OMAP_32K_TIMER=y
217CONFIG_OMAP_32K_TIMER_HZ=128
218CONFIG_OMAP_DM_TIMER=y
219# CONFIG_OMAP_LL_DEBUG_UART1 is not set
220# CONFIG_OMAP_LL_DEBUG_UART2 is not set
221# CONFIG_OMAP_LL_DEBUG_UART3 is not set
222CONFIG_OMAP_LL_DEBUG_NONE=y
223# CONFIG_OMAP_PM_NONE is not set
224CONFIG_OMAP_PM_NOOP=y
225CONFIG_ARCH_OMAP34XX=y
226CONFIG_ARCH_OMAP3430=y
227
228#
229# OMAP Board Type
230#
231CONFIG_MACH_OMAP3_BEAGLE=y
232CONFIG_MACH_OMAP_LDP=y
233CONFIG_MACH_OVERO=y
234CONFIG_MACH_OMAP3EVM=y
235CONFIG_MACH_OMAP3517EVM=y
236CONFIG_MACH_OMAP3_PANDORA=y
237CONFIG_MACH_OMAP_3430SDP=y
238CONFIG_MACH_NOKIA_RX51=y
239CONFIG_MACH_OMAP_ZOOM2=y
240CONFIG_MACH_OMAP_ZOOM3=y
241CONFIG_MACH_CM_T35=y
242CONFIG_MACH_IGEP0020=y
243CONFIG_MACH_OMAP_3630SDP=y
244
245#
246# Processor Type
247#
248CONFIG_CPU_32=y
249CONFIG_CPU_32v6K=y
250CONFIG_CPU_V7=y
251CONFIG_CPU_32v7=y
252CONFIG_CPU_ABRT_EV7=y
253CONFIG_CPU_PABRT_V7=y
254CONFIG_CPU_CACHE_V7=y
255CONFIG_CPU_CACHE_VIPT=y
256CONFIG_CPU_COPY_V6=y
257CONFIG_CPU_TLB_V7=y
258CONFIG_CPU_HAS_ASID=y
259CONFIG_CPU_CP15=y
260CONFIG_CPU_CP15_MMU=y
261
262#
263# Processor Features
264#
265CONFIG_ARM_THUMB=y
266CONFIG_ARM_THUMBEE=y
267# CONFIG_CPU_ICACHE_DISABLE is not set
268# CONFIG_CPU_DCACHE_DISABLE is not set
269# CONFIG_CPU_BPREDICT_DISABLE is not set
270CONFIG_HAS_TLS_REG=y
271CONFIG_ARM_L1_CACHE_SHIFT=6
272# CONFIG_ARM_ERRATA_430973 is not set
273# CONFIG_ARM_ERRATA_458693 is not set
274# CONFIG_ARM_ERRATA_460075 is not set
275CONFIG_COMMON_CLKDEV=y
276
277#
278# Bus support
279#
280# CONFIG_PCI_SYSCALL is not set
281# CONFIG_ARCH_SUPPORTS_MSI is not set
282# CONFIG_PCCARD is not set
283
284#
285# Kernel Features
286#
287CONFIG_TICK_ONESHOT=y
288CONFIG_NO_HZ=y
289CONFIG_HIGH_RES_TIMERS=y
290CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
291CONFIG_VMSPLIT_3G=y
292# CONFIG_VMSPLIT_2G is not set
293# CONFIG_VMSPLIT_1G is not set
294CONFIG_PAGE_OFFSET=0xC0000000
295CONFIG_PREEMPT_NONE=y
296# CONFIG_PREEMPT_VOLUNTARY is not set
297# CONFIG_PREEMPT is not set
298CONFIG_HZ=128
299# CONFIG_THUMB2_KERNEL is not set
300CONFIG_AEABI=y
301CONFIG_OABI_COMPAT=y
302# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
303# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
304# CONFIG_HIGHMEM is not set
305CONFIG_SELECT_MEMORY_MODEL=y
306CONFIG_FLATMEM_MANUAL=y
307# CONFIG_DISCONTIGMEM_MANUAL is not set
308# CONFIG_SPARSEMEM_MANUAL is not set
309CONFIG_FLATMEM=y
310CONFIG_FLAT_NODE_MEM_MAP=y
311CONFIG_PAGEFLAGS_EXTENDED=y
312CONFIG_SPLIT_PTLOCK_CPUS=4
313# CONFIG_PHYS_ADDR_T_64BIT is not set
314CONFIG_ZONE_DMA_FLAG=0
315CONFIG_VIRT_TO_BUS=y
316CONFIG_HAVE_MLOCK=y
317CONFIG_HAVE_MLOCKED_PAGE_BIT=y
318# CONFIG_KSM is not set
319CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
320CONFIG_LEDS=y
321CONFIG_ALIGNMENT_TRAP=y
322# CONFIG_UACCESS_WITH_MEMCPY is not set
323
324#
325# Boot options
326#
327CONFIG_ZBOOT_ROM_TEXT=0x0
328CONFIG_ZBOOT_ROM_BSS=0x0
329CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
330# CONFIG_XIP_KERNEL is not set
331CONFIG_KEXEC=y
332CONFIG_ATAGS_PROC=y
333
334#
335# CPU Power Management
336#
337CONFIG_CPU_FREQ=y
338CONFIG_CPU_FREQ_TABLE=y
339# CONFIG_CPU_FREQ_DEBUG is not set
340CONFIG_CPU_FREQ_STAT=y
341CONFIG_CPU_FREQ_STAT_DETAILS=y
342CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
343# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
344# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
345# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
346# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
347CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
348# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
349CONFIG_CPU_FREQ_GOV_USERSPACE=y
350CONFIG_CPU_FREQ_GOV_ONDEMAND=y
351# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
352# CONFIG_CPU_IDLE is not set
353
354#
355# Floating point emulation
356#
357
358#
359# At least one emulation must be selected
360#
361CONFIG_FPE_NWFPE=y
362# CONFIG_FPE_NWFPE_XP is not set
363# CONFIG_FPE_FASTFPE is not set
364CONFIG_VFP=y
365CONFIG_VFPv3=y
366CONFIG_NEON=y
367
368#
369# Userspace binary formats
370#
371CONFIG_BINFMT_ELF=y
372# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
373CONFIG_HAVE_AOUT=y
374# CONFIG_BINFMT_AOUT is not set
375CONFIG_BINFMT_MISC=y
376
377#
378# Power management options
379#
380CONFIG_PM=y
381CONFIG_PM_DEBUG=y
382CONFIG_PM_VERBOSE=y
383CONFIG_CAN_PM_TRACE=y
384CONFIG_PM_SLEEP=y
385CONFIG_SUSPEND=y
386# CONFIG_PM_TEST_SUSPEND is not set
387CONFIG_SUSPEND_FREEZER=y
388# CONFIG_APM_EMULATION is not set
389# CONFIG_PM_RUNTIME is not set
390CONFIG_ARCH_SUSPEND_POSSIBLE=y
391CONFIG_NET=y
392
393#
394# Networking options
395#
396CONFIG_PACKET=y
397CONFIG_PACKET_MMAP=y
398CONFIG_UNIX=y
399CONFIG_XFRM=y
400CONFIG_XFRM_USER=y
401# CONFIG_XFRM_SUB_POLICY is not set
402CONFIG_XFRM_MIGRATE=y
403# CONFIG_XFRM_STATISTICS is not set
404CONFIG_NET_KEY=y
405CONFIG_NET_KEY_MIGRATE=y
406CONFIG_INET=y
407CONFIG_IP_MULTICAST=y
408# CONFIG_IP_ADVANCED_ROUTER is not set
409CONFIG_IP_FIB_HASH=y
410CONFIG_IP_PNP=y
411CONFIG_IP_PNP_DHCP=y
412CONFIG_IP_PNP_BOOTP=y
413CONFIG_IP_PNP_RARP=y
414# CONFIG_NET_IPIP is not set
415# CONFIG_NET_IPGRE is not set
416# CONFIG_IP_MROUTE is not set
417# CONFIG_ARPD is not set
418# CONFIG_SYN_COOKIES is not set
419# CONFIG_INET_AH is not set
420# CONFIG_INET_ESP is not set
421# CONFIG_INET_IPCOMP is not set
422# CONFIG_INET_XFRM_TUNNEL is not set
423# CONFIG_INET_TUNNEL is not set
424CONFIG_INET_XFRM_MODE_TRANSPORT=y
425CONFIG_INET_XFRM_MODE_TUNNEL=y
426CONFIG_INET_XFRM_MODE_BEET=y
427# CONFIG_INET_LRO is not set
428CONFIG_INET_DIAG=y
429CONFIG_INET_TCP_DIAG=y
430# CONFIG_TCP_CONG_ADVANCED is not set
431CONFIG_TCP_CONG_CUBIC=y
432CONFIG_DEFAULT_TCP_CONG="cubic"
433# CONFIG_TCP_MD5SIG is not set
434# CONFIG_IPV6 is not set
435# CONFIG_NETLABEL is not set
436# CONFIG_NETWORK_SECMARK is not set
437CONFIG_NETFILTER=y
438# CONFIG_NETFILTER_DEBUG is not set
439CONFIG_NETFILTER_ADVANCED=y
440
441#
442# Core Netfilter Configuration
443#
444# CONFIG_NETFILTER_NETLINK_QUEUE is not set
445# CONFIG_NETFILTER_NETLINK_LOG is not set
446# CONFIG_NF_CONNTRACK is not set
447# CONFIG_NETFILTER_XTABLES is not set
448# CONFIG_IP_VS is not set
449
450#
451# IP: Netfilter Configuration
452#
453# CONFIG_NF_DEFRAG_IPV4 is not set
454# CONFIG_IP_NF_QUEUE is not set
455# CONFIG_IP_NF_IPTABLES is not set
456# CONFIG_IP_NF_ARPTABLES is not set
457# CONFIG_IP_DCCP is not set
458# CONFIG_IP_SCTP is not set
459# CONFIG_RDS is not set
460# CONFIG_TIPC is not set
461# CONFIG_ATM is not set
462# CONFIG_BRIDGE is not set
463# CONFIG_NET_DSA is not set
464# CONFIG_VLAN_8021Q is not set
465# CONFIG_DECNET is not set
466# CONFIG_LLC2 is not set
467# CONFIG_IPX is not set
468# CONFIG_ATALK is not set
469# CONFIG_X25 is not set
470# CONFIG_LAPB is not set
471# CONFIG_ECONET is not set
472# CONFIG_WAN_ROUTER is not set
473# CONFIG_PHONET is not set
474# CONFIG_IEEE802154 is not set
475# CONFIG_NET_SCHED is not set
476# CONFIG_DCB is not set
477
478#
479# Network testing
480#
481# CONFIG_NET_PKTGEN is not set
482# CONFIG_NET_TCPPROBE is not set
483# CONFIG_NET_DROP_MONITOR is not set
484# CONFIG_HAMRADIO is not set
485# CONFIG_CAN is not set
486# CONFIG_IRDA is not set
487CONFIG_BT=y
488CONFIG_BT_L2CAP=y
489CONFIG_BT_SCO=y
490CONFIG_BT_RFCOMM=y
491CONFIG_BT_RFCOMM_TTY=y
492CONFIG_BT_BNEP=y
493CONFIG_BT_BNEP_MC_FILTER=y
494CONFIG_BT_BNEP_PROTO_FILTER=y
495CONFIG_BT_HIDP=y
496
497#
498# Bluetooth device drivers
499#
500# CONFIG_BT_HCIBTUSB is not set
501# CONFIG_BT_HCIBTSDIO is not set
502CONFIG_BT_HCIUART=y
503CONFIG_BT_HCIUART_H4=y
504CONFIG_BT_HCIUART_BCSP=y
505CONFIG_BT_HCIUART_LL=y
506CONFIG_BT_HCIBCM203X=y
507CONFIG_BT_HCIBPA10X=y
508# CONFIG_BT_HCIBFUSB is not set
509# CONFIG_BT_HCIVHCI is not set
510# CONFIG_BT_MRVL is not set
511# CONFIG_AF_RXRPC is not set
512CONFIG_WIRELESS=y
513CONFIG_CFG80211=y
514# CONFIG_NL80211_TESTMODE is not set
515# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
516# CONFIG_CFG80211_REG_DEBUG is not set
517CONFIG_CFG80211_DEFAULT_PS=y
518CONFIG_CFG80211_DEFAULT_PS_VALUE=1
519# CONFIG_CFG80211_DEBUGFS is not set
520CONFIG_WIRELESS_OLD_REGULATORY=y
521CONFIG_WIRELESS_EXT=y
522CONFIG_WIRELESS_EXT_SYSFS=y
523CONFIG_LIB80211=y
524# CONFIG_LIB80211_DEBUG is not set
525CONFIG_MAC80211=y
526CONFIG_MAC80211_RC_PID=y
527CONFIG_MAC80211_RC_MINSTREL=y
528CONFIG_MAC80211_RC_DEFAULT_PID=y
529# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
530CONFIG_MAC80211_RC_DEFAULT="pid"
531# CONFIG_MAC80211_MESH is not set
532CONFIG_MAC80211_LEDS=y
533# CONFIG_MAC80211_DEBUGFS is not set
534# CONFIG_MAC80211_DEBUG_MENU is not set
535# CONFIG_WIMAX is not set
536# CONFIG_RFKILL is not set
537# CONFIG_NET_9P is not set
538
539#
540# Device Drivers
541#
542
543#
544# Generic Driver Options
545#
546CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
547# CONFIG_DEVTMPFS is not set
548CONFIG_STANDALONE=y
549CONFIG_PREVENT_FIRMWARE_BUILD=y
550CONFIG_FW_LOADER=y
551CONFIG_FIRMWARE_IN_KERNEL=y
552CONFIG_EXTRA_FIRMWARE=""
553# CONFIG_DEBUG_DRIVER is not set
554# CONFIG_DEBUG_DEVRES is not set
555# CONFIG_SYS_HYPERVISOR is not set
556CONFIG_CONNECTOR=y
557CONFIG_PROC_EVENTS=y
558CONFIG_MTD=y
559# CONFIG_MTD_DEBUG is not set
560# CONFIG_MTD_TESTS is not set
561CONFIG_MTD_CONCAT=y
562CONFIG_MTD_PARTITIONS=y
563# CONFIG_MTD_REDBOOT_PARTS is not set
564CONFIG_MTD_CMDLINE_PARTS=y
565# CONFIG_MTD_AFS_PARTS is not set
566# CONFIG_MTD_AR7_PARTS is not set
567
568#
569# User Modules And Translation Layers
570#
571CONFIG_MTD_CHAR=y
572CONFIG_MTD_BLKDEVS=y
573CONFIG_MTD_BLOCK=y
574# CONFIG_FTL is not set
575# CONFIG_NFTL is not set
576# CONFIG_INFTL is not set
577# CONFIG_RFD_FTL is not set
578# CONFIG_SSFDC is not set
579CONFIG_MTD_OOPS=y
580
581#
582# RAM/ROM/Flash chip drivers
583#
584CONFIG_MTD_CFI=y
585# CONFIG_MTD_JEDECPROBE is not set
586CONFIG_MTD_GEN_PROBE=y
587# CONFIG_MTD_CFI_ADV_OPTIONS is not set
588CONFIG_MTD_MAP_BANK_WIDTH_1=y
589CONFIG_MTD_MAP_BANK_WIDTH_2=y
590CONFIG_MTD_MAP_BANK_WIDTH_4=y
591# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
592# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
593# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
594CONFIG_MTD_CFI_I1=y
595CONFIG_MTD_CFI_I2=y
596# CONFIG_MTD_CFI_I4 is not set
597# CONFIG_MTD_CFI_I8 is not set
598CONFIG_MTD_CFI_INTELEXT=y
599# CONFIG_MTD_CFI_AMDSTD is not set
600# CONFIG_MTD_CFI_STAA is not set
601CONFIG_MTD_CFI_UTIL=y
602# CONFIG_MTD_RAM is not set
603# CONFIG_MTD_ROM is not set
604# CONFIG_MTD_ABSENT is not set
605
606#
607# Mapping drivers for chip access
608#
609# CONFIG_MTD_COMPLEX_MAPPINGS is not set
610# CONFIG_MTD_PHYSMAP is not set
611# CONFIG_MTD_ARM_INTEGRATOR is not set
612CONFIG_MTD_OMAP_NOR=y
613# CONFIG_MTD_PLATRAM is not set
614
615#
616# Self-contained MTD device drivers
617#
618# CONFIG_MTD_DATAFLASH is not set
619# CONFIG_MTD_M25P80 is not set
620# CONFIG_MTD_SST25L is not set
621# CONFIG_MTD_SLRAM is not set
622# CONFIG_MTD_PHRAM is not set
623# CONFIG_MTD_MTDRAM is not set
624# CONFIG_MTD_BLOCK2MTD is not set
625
626#
627# Disk-On-Chip Device Drivers
628#
629# CONFIG_MTD_DOC2000 is not set
630# CONFIG_MTD_DOC2001 is not set
631# CONFIG_MTD_DOC2001PLUS is not set
632CONFIG_MTD_NAND=y
633# CONFIG_MTD_NAND_VERIFY_WRITE is not set
634# CONFIG_MTD_NAND_ECC_SMC is not set
635# CONFIG_MTD_NAND_MUSEUM_IDS is not set
636# CONFIG_MTD_NAND_GPIO is not set
637CONFIG_MTD_NAND_OMAP2=y
638CONFIG_MTD_NAND_OMAP_PREFETCH=y
639# CONFIG_MTD_NAND_OMAP_PREFETCH_DMA is not set
640CONFIG_MTD_NAND_IDS=y
641# CONFIG_MTD_NAND_DISKONCHIP is not set
642# CONFIG_MTD_NAND_NANDSIM is not set
643# CONFIG_MTD_NAND_PLATFORM is not set
644# CONFIG_MTD_ALAUDA is not set
645CONFIG_MTD_ONENAND=y
646CONFIG_MTD_ONENAND_VERIFY_WRITE=y
647# CONFIG_MTD_ONENAND_GENERIC is not set
648CONFIG_MTD_ONENAND_OMAP2=y
649# CONFIG_MTD_ONENAND_OTP is not set
650# CONFIG_MTD_ONENAND_2X_PROGRAM is not set
651# CONFIG_MTD_ONENAND_SIM is not set
652
653#
654# LPDDR flash memory drivers
655#
656# CONFIG_MTD_LPDDR is not set
657
658#
659# UBI - Unsorted block images
660#
661CONFIG_MTD_UBI=y
662CONFIG_MTD_UBI_WL_THRESHOLD=4096
663CONFIG_MTD_UBI_BEB_RESERVE=1
664# CONFIG_MTD_UBI_GLUEBI is not set
665
666#
667# UBI debugging options
668#
669# CONFIG_MTD_UBI_DEBUG is not set
670# CONFIG_PARPORT is not set
671CONFIG_BLK_DEV=y
672# CONFIG_BLK_DEV_COW_COMMON is not set
673CONFIG_BLK_DEV_LOOP=y
674# CONFIG_BLK_DEV_CRYPTOLOOP is not set
675# CONFIG_BLK_DEV_NBD is not set
676# CONFIG_BLK_DEV_UB is not set
677CONFIG_BLK_DEV_RAM=y
678CONFIG_BLK_DEV_RAM_COUNT=16
679CONFIG_BLK_DEV_RAM_SIZE=16384
680# CONFIG_BLK_DEV_XIP is not set
681# CONFIG_CDROM_PKTCDVD is not set
682# CONFIG_ATA_OVER_ETH is not set
683# CONFIG_MG_DISK is not set
684CONFIG_MISC_DEVICES=y
685# CONFIG_ICS932S401 is not set
686# CONFIG_ENCLOSURE_SERVICES is not set
687# CONFIG_ISL29003 is not set
688# CONFIG_C2PORT is not set
689
690#
691# EEPROM support
692#
693# CONFIG_EEPROM_AT24 is not set
694# CONFIG_EEPROM_AT25 is not set
695CONFIG_EEPROM_LEGACY=y
696# CONFIG_EEPROM_MAX6875 is not set
697# CONFIG_EEPROM_93CX6 is not set
698CONFIG_HAVE_IDE=y
699# CONFIG_IDE is not set
700
701#
702# SCSI device support
703#
704# CONFIG_RAID_ATTRS is not set
705CONFIG_SCSI=y
706CONFIG_SCSI_DMA=y
707# CONFIG_SCSI_TGT is not set
708# CONFIG_SCSI_NETLINK is not set
709CONFIG_SCSI_PROC_FS=y
710
711#
712# SCSI support type (disk, tape, CD-ROM)
713#
714CONFIG_BLK_DEV_SD=y
715# CONFIG_CHR_DEV_ST is not set
716# CONFIG_CHR_DEV_OSST is not set
717# CONFIG_BLK_DEV_SR is not set
718# CONFIG_CHR_DEV_SG is not set
719# CONFIG_CHR_DEV_SCH is not set
720CONFIG_SCSI_MULTI_LUN=y
721# CONFIG_SCSI_CONSTANTS is not set
722# CONFIG_SCSI_LOGGING is not set
723CONFIG_SCSI_SCAN_ASYNC=y
724CONFIG_SCSI_WAIT_SCAN=m
725
726#
727# SCSI Transports
728#
729# CONFIG_SCSI_SPI_ATTRS is not set
730# CONFIG_SCSI_FC_ATTRS is not set
731# CONFIG_SCSI_ISCSI_ATTRS is not set
732# CONFIG_SCSI_SAS_LIBSAS is not set
733# CONFIG_SCSI_SRP_ATTRS is not set
734CONFIG_SCSI_LOWLEVEL=y
735# CONFIG_ISCSI_TCP is not set
736# CONFIG_LIBFC is not set
737# CONFIG_LIBFCOE is not set
738# CONFIG_SCSI_DEBUG is not set
739# CONFIG_SCSI_DH is not set
740# CONFIG_SCSI_OSD_INITIATOR is not set
741# CONFIG_ATA is not set
742CONFIG_MD=y
743# CONFIG_BLK_DEV_MD is not set
744# CONFIG_BLK_DEV_DM is not set
745CONFIG_NETDEVICES=y
746# CONFIG_DUMMY is not set
747# CONFIG_BONDING is not set
748# CONFIG_MACVLAN is not set
749# CONFIG_EQUALIZER is not set
750# CONFIG_TUN is not set
751# CONFIG_VETH is not set
752CONFIG_PHYLIB=y
753
754#
755# MII PHY device drivers
756#
757# CONFIG_MARVELL_PHY is not set
758# CONFIG_DAVICOM_PHY is not set
759# CONFIG_QSEMI_PHY is not set
760# CONFIG_LXT_PHY is not set
761# CONFIG_CICADA_PHY is not set
762# CONFIG_VITESSE_PHY is not set
763CONFIG_SMSC_PHY=y
764# CONFIG_BROADCOM_PHY is not set
765# CONFIG_ICPLUS_PHY is not set
766# CONFIG_REALTEK_PHY is not set
767# CONFIG_NATIONAL_PHY is not set
768# CONFIG_STE10XP is not set
769# CONFIG_LSI_ET1011C_PHY is not set
770# CONFIG_FIXED_PHY is not set
771# CONFIG_MDIO_BITBANG is not set
772CONFIG_NET_ETHERNET=y
773CONFIG_MII=y
774# CONFIG_AX88796 is not set
775CONFIG_SMC91X=y
776# CONFIG_DM9000 is not set
777# CONFIG_ENC28J60 is not set
778# CONFIG_ETHOC is not set
779# CONFIG_SMC911X is not set
780CONFIG_SMSC911X=y
781# CONFIG_DNET is not set
782# CONFIG_IBM_NEW_EMAC_ZMII is not set
783# CONFIG_IBM_NEW_EMAC_RGMII is not set
784# CONFIG_IBM_NEW_EMAC_TAH is not set
785# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
786# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
787# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
788# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
789# CONFIG_B44 is not set
790# CONFIG_KS8842 is not set
791# CONFIG_KS8851 is not set
792# CONFIG_KS8851_MLL is not set
793CONFIG_NETDEV_1000=y
794CONFIG_NETDEV_10000=y
795CONFIG_WLAN=y
796# CONFIG_WLAN_PRE80211 is not set
797CONFIG_WLAN_80211=y
798CONFIG_LIBERTAS=y
799CONFIG_LIBERTAS_USB=y
800CONFIG_LIBERTAS_SDIO=y
801# CONFIG_LIBERTAS_SPI is not set
802CONFIG_LIBERTAS_DEBUG=y
803# CONFIG_LIBERTAS_THINFIRM is not set
804# CONFIG_AT76C50X_USB is not set
805# CONFIG_USB_ZD1201 is not set
806# CONFIG_USB_NET_RNDIS_WLAN is not set
807# CONFIG_RTL8187 is not set
808# CONFIG_MAC80211_HWSIM is not set
809# CONFIG_P54_COMMON is not set
810# CONFIG_ATH_COMMON is not set
811# CONFIG_HOSTAP is not set
812# CONFIG_B43 is not set
813# CONFIG_B43LEGACY is not set
814# CONFIG_ZD1211RW is not set
815# CONFIG_RT2X00 is not set
816# CONFIG_WL12XX is not set
817# CONFIG_IWM is not set
818
819#
820# Enable WiMAX (Networking options) to see the WiMAX drivers
821#
822
823#
824# USB Network Adapters
825#
826# CONFIG_USB_CATC is not set
827# CONFIG_USB_KAWETH is not set
828# CONFIG_USB_PEGASUS is not set
829# CONFIG_USB_RTL8150 is not set
830CONFIG_USB_USBNET=y
831CONFIG_USB_NET_AX8817X=y
832CONFIG_USB_NET_CDCETHER=y
833# CONFIG_USB_NET_CDC_EEM is not set
834# CONFIG_USB_NET_DM9601 is not set
835# CONFIG_USB_NET_SMSC95XX is not set
836# CONFIG_USB_NET_GL620A is not set
837CONFIG_USB_NET_NET1080=y
838# CONFIG_USB_NET_PLUSB is not set
839# CONFIG_USB_NET_MCS7830 is not set
840# CONFIG_USB_NET_RNDIS_HOST is not set
841CONFIG_USB_NET_CDC_SUBSET=y
842CONFIG_USB_ALI_M5632=y
843CONFIG_USB_AN2720=y
844CONFIG_USB_BELKIN=y
845CONFIG_USB_ARMLINUX=y
846CONFIG_USB_EPSON2888=y
847CONFIG_USB_KC2190=y
848CONFIG_USB_NET_ZAURUS=y
849# CONFIG_USB_NET_INT51X1 is not set
850# CONFIG_WAN is not set
851# CONFIG_PPP is not set
852# CONFIG_SLIP is not set
853# CONFIG_NETCONSOLE is not set
854# CONFIG_NETPOLL is not set
855# CONFIG_NET_POLL_CONTROLLER is not set
856# CONFIG_ISDN is not set
857# CONFIG_PHONE is not set
858
859#
860# Input device support
861#
862CONFIG_INPUT=y
863# CONFIG_INPUT_FF_MEMLESS is not set
864# CONFIG_INPUT_POLLDEV is not set
865
866#
867# Userland interfaces
868#
869CONFIG_INPUT_MOUSEDEV=y
870CONFIG_INPUT_MOUSEDEV_PSAUX=y
871CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
872CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
873CONFIG_INPUT_JOYDEV=y
874CONFIG_INPUT_EVDEV=y
875# CONFIG_INPUT_EVBUG is not set
876
877#
878# Input Device Drivers
879#
880CONFIG_INPUT_KEYBOARD=y
881# CONFIG_KEYBOARD_ADP5588 is not set
882CONFIG_KEYBOARD_ATKBD=y
883# CONFIG_QT2160 is not set
884# CONFIG_KEYBOARD_LKKBD is not set
885CONFIG_KEYBOARD_GPIO=y
886# CONFIG_KEYBOARD_MATRIX is not set
887# CONFIG_KEYBOARD_LM8323 is not set
888# CONFIG_KEYBOARD_MAX7359 is not set
889# CONFIG_KEYBOARD_NEWTON is not set
890# CONFIG_KEYBOARD_OPENCORES is not set
891# CONFIG_KEYBOARD_STOWAWAY is not set
892# CONFIG_KEYBOARD_SUNKBD is not set
893CONFIG_KEYBOARD_TWL4030=y
894# CONFIG_KEYBOARD_XTKBD is not set
895CONFIG_INPUT_MOUSE=y
896CONFIG_MOUSE_PS2=y
897CONFIG_MOUSE_PS2_ALPS=y
898CONFIG_MOUSE_PS2_LOGIPS2PP=y
899CONFIG_MOUSE_PS2_SYNAPTICS=y
900CONFIG_MOUSE_PS2_TRACKPOINT=y
901# CONFIG_MOUSE_PS2_ELANTECH is not set
902# CONFIG_MOUSE_PS2_SENTELIC is not set
903# CONFIG_MOUSE_PS2_TOUCHKIT is not set
904# CONFIG_MOUSE_SERIAL is not set
905# CONFIG_MOUSE_APPLETOUCH is not set
906# CONFIG_MOUSE_BCM5974 is not set
907# CONFIG_MOUSE_VSXXXAA is not set
908# CONFIG_MOUSE_GPIO is not set
909# CONFIG_MOUSE_SYNAPTICS_I2C is not set
910# CONFIG_INPUT_JOYSTICK is not set
911# CONFIG_INPUT_TABLET is not set
912CONFIG_INPUT_TOUCHSCREEN=y
913CONFIG_TOUCHSCREEN_ADS7846=y
914# CONFIG_TOUCHSCREEN_AD7877 is not set
915# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
916# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
917# CONFIG_TOUCHSCREEN_AD7879 is not set
918# CONFIG_TOUCHSCREEN_EETI is not set
919# CONFIG_TOUCHSCREEN_FUJITSU is not set
920# CONFIG_TOUCHSCREEN_GUNZE is not set
921# CONFIG_TOUCHSCREEN_ELO is not set
922# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
923# CONFIG_TOUCHSCREEN_MCS5000 is not set
924# CONFIG_TOUCHSCREEN_MTOUCH is not set
925# CONFIG_TOUCHSCREEN_INEXIO is not set
926# CONFIG_TOUCHSCREEN_MK712 is not set
927# CONFIG_TOUCHSCREEN_PENMOUNT is not set
928# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
929# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
930# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
931# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
932# CONFIG_TOUCHSCREEN_TSC2007 is not set
933# CONFIG_TOUCHSCREEN_W90X900 is not set
934CONFIG_INPUT_MISC=y
935# CONFIG_INPUT_ATI_REMOTE is not set
936# CONFIG_INPUT_ATI_REMOTE2 is not set
937# CONFIG_INPUT_KEYSPAN_REMOTE is not set
938# CONFIG_INPUT_POWERMATE is not set
939# CONFIG_INPUT_YEALINK is not set
940# CONFIG_INPUT_CM109 is not set
941CONFIG_INPUT_TWL4030_PWRBUTTON=y
942# CONFIG_INPUT_UINPUT is not set
943# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
944
945#
946# Hardware I/O ports
947#
948CONFIG_SERIO=y
949CONFIG_SERIO_SERPORT=y
950CONFIG_SERIO_LIBPS2=y
951# CONFIG_SERIO_RAW is not set
952# CONFIG_GAMEPORT is not set
953
954#
955# Character devices
956#
957CONFIG_VT=y
958CONFIG_CONSOLE_TRANSLATIONS=y
959CONFIG_VT_CONSOLE=y
960CONFIG_HW_CONSOLE=y
961CONFIG_VT_HW_CONSOLE_BINDING=y
962CONFIG_DEVKMEM=y
963# CONFIG_SERIAL_NONSTANDARD is not set
964
965#
966# Serial drivers
967#
968CONFIG_SERIAL_8250=y
969CONFIG_SERIAL_8250_CONSOLE=y
970CONFIG_SERIAL_8250_NR_UARTS=32
971CONFIG_SERIAL_8250_RUNTIME_UARTS=4
972CONFIG_SERIAL_8250_EXTENDED=y
973CONFIG_SERIAL_8250_MANY_PORTS=y
974CONFIG_SERIAL_8250_SHARE_IRQ=y
975CONFIG_SERIAL_8250_DETECT_IRQ=y
976CONFIG_SERIAL_8250_RSA=y
977
978#
979# Non-8250 serial port support
980#
981# CONFIG_SERIAL_MAX3100 is not set
982CONFIG_SERIAL_CORE=y
983CONFIG_SERIAL_CORE_CONSOLE=y
984CONFIG_UNIX98_PTYS=y
985# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
986# CONFIG_LEGACY_PTYS is not set
987# CONFIG_IPMI_HANDLER is not set
988CONFIG_HW_RANDOM=y
989# CONFIG_HW_RANDOM_TIMERIOMEM is not set
990# CONFIG_R3964 is not set
991# CONFIG_RAW_DRIVER is not set
992# CONFIG_TCG_TPM is not set
993CONFIG_I2C=y
994CONFIG_I2C_BOARDINFO=y
995CONFIG_I2C_COMPAT=y
996CONFIG_I2C_CHARDEV=y
997CONFIG_I2C_HELPER_AUTO=y
998
999#
1000# I2C Hardware Bus support
1001#
1002
1003#
1004# I2C system bus drivers (mostly embedded / system-on-chip)
1005#
1006# CONFIG_I2C_DESIGNWARE is not set
1007# CONFIG_I2C_GPIO is not set
1008# CONFIG_I2C_OCORES is not set
1009CONFIG_I2C_OMAP=y
1010# CONFIG_I2C_SIMTEC is not set
1011
1012#
1013# External I2C/SMBus adapter drivers
1014#
1015# CONFIG_I2C_PARPORT_LIGHT is not set
1016# CONFIG_I2C_TAOS_EVM is not set
1017# CONFIG_I2C_TINY_USB is not set
1018
1019#
1020# Other I2C/SMBus bus drivers
1021#
1022# CONFIG_I2C_PCA_PLATFORM is not set
1023# CONFIG_I2C_STUB is not set
1024
1025#
1026# Miscellaneous I2C Chip support
1027#
1028# CONFIG_DS1682 is not set
1029# CONFIG_SENSORS_TSL2550 is not set
1030# CONFIG_I2C_DEBUG_CORE is not set
1031# CONFIG_I2C_DEBUG_ALGO is not set
1032# CONFIG_I2C_DEBUG_BUS is not set
1033# CONFIG_I2C_DEBUG_CHIP is not set
1034CONFIG_SPI=y
1035# CONFIG_SPI_DEBUG is not set
1036CONFIG_SPI_MASTER=y
1037
1038#
1039# SPI Master Controller Drivers
1040#
1041# CONFIG_SPI_BITBANG is not set
1042# CONFIG_SPI_GPIO is not set
1043CONFIG_SPI_OMAP24XX=y
1044
1045#
1046# SPI Protocol Masters
1047#
1048# CONFIG_SPI_SPIDEV is not set
1049# CONFIG_SPI_TLE62X0 is not set
1050
1051#
1052# PPS support
1053#
1054# CONFIG_PPS is not set
1055CONFIG_ARCH_REQUIRE_GPIOLIB=y
1056CONFIG_GPIOLIB=y
1057CONFIG_DEBUG_GPIO=y
1058CONFIG_GPIO_SYSFS=y
1059
1060#
1061# Memory mapped GPIO expanders:
1062#
1063
1064#
1065# I2C GPIO expanders:
1066#
1067# CONFIG_GPIO_MAX732X is not set
1068# CONFIG_GPIO_PCA953X is not set
1069# CONFIG_GPIO_PCF857X is not set
1070CONFIG_GPIO_TWL4030=y
1071
1072#
1073# PCI GPIO expanders:
1074#
1075
1076#
1077# SPI GPIO expanders:
1078#
1079# CONFIG_GPIO_MAX7301 is not set
1080# CONFIG_GPIO_MCP23S08 is not set
1081# CONFIG_GPIO_MC33880 is not set
1082
1083#
1084# AC97 GPIO expanders:
1085#
1086CONFIG_W1=y
1087CONFIG_W1_CON=y
1088
1089#
1090# 1-wire Bus Masters
1091#
1092# CONFIG_W1_MASTER_DS2490 is not set
1093# CONFIG_W1_MASTER_DS2482 is not set
1094# CONFIG_W1_MASTER_DS1WM is not set
1095# CONFIG_W1_MASTER_GPIO is not set
1096# CONFIG_HDQ_MASTER_OMAP is not set
1097
1098#
1099# 1-wire Slaves
1100#
1101# CONFIG_W1_SLAVE_THERM is not set
1102# CONFIG_W1_SLAVE_SMEM is not set
1103# CONFIG_W1_SLAVE_DS2431 is not set
1104# CONFIG_W1_SLAVE_DS2433 is not set
1105# CONFIG_W1_SLAVE_DS2760 is not set
1106# CONFIG_W1_SLAVE_BQ27000 is not set
1107CONFIG_POWER_SUPPLY=y
1108# CONFIG_POWER_SUPPLY_DEBUG is not set
1109# CONFIG_PDA_POWER is not set
1110# CONFIG_BATTERY_DS2760 is not set
1111# CONFIG_BATTERY_DS2782 is not set
1112# CONFIG_BATTERY_BQ27x00 is not set
1113# CONFIG_BATTERY_MAX17040 is not set
1114CONFIG_HWMON=y
1115# CONFIG_HWMON_VID is not set
1116# CONFIG_HWMON_DEBUG_CHIP is not set
1117
1118#
1119# Native drivers
1120#
1121# CONFIG_SENSORS_AD7414 is not set
1122# CONFIG_SENSORS_AD7418 is not set
1123# CONFIG_SENSORS_ADCXX is not set
1124# CONFIG_SENSORS_ADM1021 is not set
1125# CONFIG_SENSORS_ADM1025 is not set
1126# CONFIG_SENSORS_ADM1026 is not set
1127# CONFIG_SENSORS_ADM1029 is not set
1128# CONFIG_SENSORS_ADM1031 is not set
1129# CONFIG_SENSORS_ADM9240 is not set
1130# CONFIG_SENSORS_ADT7462 is not set
1131# CONFIG_SENSORS_ADT7470 is not set
1132# CONFIG_SENSORS_ADT7473 is not set
1133# CONFIG_SENSORS_ADT7475 is not set
1134# CONFIG_SENSORS_ATXP1 is not set
1135# CONFIG_SENSORS_DS1621 is not set
1136# CONFIG_SENSORS_F71805F is not set
1137# CONFIG_SENSORS_F71882FG is not set
1138# CONFIG_SENSORS_F75375S is not set
1139# CONFIG_SENSORS_G760A is not set
1140# CONFIG_SENSORS_GL518SM is not set
1141# CONFIG_SENSORS_GL520SM is not set
1142# CONFIG_SENSORS_IT87 is not set
1143# CONFIG_SENSORS_LM63 is not set
1144# CONFIG_SENSORS_LM70 is not set
1145# CONFIG_SENSORS_LM75 is not set
1146# CONFIG_SENSORS_LM77 is not set
1147# CONFIG_SENSORS_LM78 is not set
1148# CONFIG_SENSORS_LM80 is not set
1149# CONFIG_SENSORS_LM83 is not set
1150# CONFIG_SENSORS_LM85 is not set
1151# CONFIG_SENSORS_LM87 is not set
1152# CONFIG_SENSORS_LM90 is not set
1153# CONFIG_SENSORS_LM92 is not set
1154# CONFIG_SENSORS_LM93 is not set
1155# CONFIG_SENSORS_LTC4215 is not set
1156# CONFIG_SENSORS_LTC4245 is not set
1157# CONFIG_SENSORS_LM95241 is not set
1158# CONFIG_SENSORS_MAX1111 is not set
1159# CONFIG_SENSORS_MAX1619 is not set
1160# CONFIG_SENSORS_MAX6650 is not set
1161# CONFIG_SENSORS_PC87360 is not set
1162# CONFIG_SENSORS_PC87427 is not set
1163# CONFIG_SENSORS_PCF8591 is not set
1164# CONFIG_SENSORS_SHT15 is not set
1165# CONFIG_SENSORS_DME1737 is not set
1166# CONFIG_SENSORS_SMSC47M1 is not set
1167# CONFIG_SENSORS_SMSC47M192 is not set
1168# CONFIG_SENSORS_SMSC47B397 is not set
1169# CONFIG_SENSORS_ADS7828 is not set
1170# CONFIG_SENSORS_THMC50 is not set
1171# CONFIG_SENSORS_TMP401 is not set
1172# CONFIG_SENSORS_TMP421 is not set
1173# CONFIG_SENSORS_VT1211 is not set
1174# CONFIG_SENSORS_W83781D is not set
1175# CONFIG_SENSORS_W83791D is not set
1176# CONFIG_SENSORS_W83792D is not set
1177# CONFIG_SENSORS_W83793 is not set
1178# CONFIG_SENSORS_W83L785TS is not set
1179# CONFIG_SENSORS_W83L786NG is not set
1180# CONFIG_SENSORS_W83627HF is not set
1181# CONFIG_SENSORS_W83627EHF is not set
1182# CONFIG_SENSORS_LIS3_SPI is not set
1183# CONFIG_THERMAL is not set
1184CONFIG_WATCHDOG=y
1185CONFIG_WATCHDOG_NOWAYOUT=y
1186
1187#
1188# Watchdog Device Drivers
1189#
1190# CONFIG_SOFT_WATCHDOG is not set
1191CONFIG_OMAP_WATCHDOG=y
1192CONFIG_TWL4030_WATCHDOG=y
1193
1194#
1195# USB-based Watchdog Cards
1196#
1197# CONFIG_USBPCWATCHDOG is not set
1198CONFIG_SSB_POSSIBLE=y
1199
1200#
1201# Sonics Silicon Backplane
1202#
1203# CONFIG_SSB is not set
1204
1205#
1206# Multifunction device drivers
1207#
1208# CONFIG_MFD_CORE is not set
1209# CONFIG_MFD_SM501 is not set
1210# CONFIG_MFD_ASIC3 is not set
1211# CONFIG_HTC_EGPIO is not set
1212# CONFIG_HTC_PASIC3 is not set
1213# CONFIG_TPS65010 is not set
1214CONFIG_TWL4030_CORE=y
1215# CONFIG_TWL4030_POWER is not set
1216# CONFIG_TWL4030_CODEC is not set
1217# CONFIG_MFD_TMIO is not set
1218# CONFIG_MFD_T7L66XB is not set
1219# CONFIG_MFD_TC6387XB is not set
1220# CONFIG_MFD_TC6393XB is not set
1221# CONFIG_PMIC_DA903X is not set
1222# CONFIG_MFD_WM8400 is not set
1223# CONFIG_MFD_WM831X is not set
1224# CONFIG_MFD_WM8350_I2C is not set
1225# CONFIG_MFD_PCF50633 is not set
1226# CONFIG_MFD_MC13783 is not set
1227# CONFIG_AB3100_CORE is not set
1228# CONFIG_EZX_PCAP is not set
1229CONFIG_REGULATOR=y
1230# CONFIG_REGULATOR_DEBUG is not set
1231CONFIG_REGULATOR_FIXED_VOLTAGE=y
1232# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1233# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
1234# CONFIG_REGULATOR_BQ24022 is not set
1235# CONFIG_REGULATOR_MAX1586 is not set
1236CONFIG_REGULATOR_TWL4030=y
1237# CONFIG_REGULATOR_LP3971 is not set
1238# CONFIG_REGULATOR_TPS65023 is not set
1239# CONFIG_REGULATOR_TPS6507X is not set
1240# CONFIG_MEDIA_SUPPORT is not set
1241
1242#
1243# Graphics support
1244#
1245# CONFIG_VGASTATE is not set
1246# CONFIG_VIDEO_OUTPUT_CONTROL is not set
1247CONFIG_FB=y
1248CONFIG_FIRMWARE_EDID=y
1249# CONFIG_FB_DDC is not set
1250# CONFIG_FB_BOOT_VESA_SUPPORT is not set
1251CONFIG_FB_CFB_FILLRECT=y
1252CONFIG_FB_CFB_COPYAREA=y
1253CONFIG_FB_CFB_IMAGEBLIT=y
1254# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
1255# CONFIG_FB_SYS_FILLRECT is not set
1256# CONFIG_FB_SYS_COPYAREA is not set
1257# CONFIG_FB_SYS_IMAGEBLIT is not set
1258# CONFIG_FB_FOREIGN_ENDIAN is not set
1259# CONFIG_FB_SYS_FOPS is not set
1260# CONFIG_FB_SVGALIB is not set
1261# CONFIG_FB_MACMODES is not set
1262# CONFIG_FB_BACKLIGHT is not set
1263CONFIG_FB_MODE_HELPERS=y
1264CONFIG_FB_TILEBLITTING=y
1265
1266#
1267# Frame buffer hardware drivers
1268#
1269# CONFIG_FB_UVESA is not set
1270# CONFIG_FB_S1D13XXX is not set
1271# CONFIG_FB_VIRTUAL is not set
1272# CONFIG_FB_METRONOME is not set
1273# CONFIG_FB_MB862XX is not set
1274# CONFIG_FB_BROADSHEET is not set
1275CONFIG_FB_OMAP=y
1276CONFIG_FB_OMAP_LCD_VGA=y
1277# CONFIG_FB_OMAP_031M3R is not set
1278# CONFIG_FB_OMAP_048M3R is not set
1279CONFIG_FB_OMAP_079M3R=y
1280# CONFIG_FB_OMAP_092M9R is not set
1281# CONFIG_FB_OMAP_LCDC_EXTERNAL is not set
1282# CONFIG_FB_OMAP_LCD_MIPID is not set
1283# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
1284CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
1285CONFIG_BACKLIGHT_LCD_SUPPORT=y
1286CONFIG_LCD_CLASS_DEVICE=y
1287# CONFIG_LCD_LMS283GF05 is not set
1288# CONFIG_LCD_LTV350QV is not set
1289# CONFIG_LCD_ILI9320 is not set
1290# CONFIG_LCD_TDO24M is not set
1291# CONFIG_LCD_VGG2432A4 is not set
1292CONFIG_LCD_PLATFORM=y
1293CONFIG_BACKLIGHT_CLASS_DEVICE=y
1294CONFIG_BACKLIGHT_GENERIC=y
1295
1296#
1297# Display device support
1298#
1299CONFIG_DISPLAY_SUPPORT=y
1300
1301#
1302# Display hardware drivers
1303#
1304
1305#
1306# Console display driver support
1307#
1308# CONFIG_VGA_CONSOLE is not set
1309CONFIG_DUMMY_CONSOLE=y
1310CONFIG_FRAMEBUFFER_CONSOLE=y
1311# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
1312CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
1313CONFIG_FONTS=y
1314CONFIG_FONT_8x8=y
1315CONFIG_FONT_8x16=y
1316# CONFIG_FONT_6x11 is not set
1317# CONFIG_FONT_7x14 is not set
1318# CONFIG_FONT_PEARL_8x8 is not set
1319# CONFIG_FONT_ACORN_8x8 is not set
1320# CONFIG_FONT_MINI_4x6 is not set
1321# CONFIG_FONT_SUN8x16 is not set
1322# CONFIG_FONT_SUN12x22 is not set
1323# CONFIG_FONT_10x18 is not set
1324CONFIG_LOGO=y
1325CONFIG_LOGO_LINUX_MONO=y
1326CONFIG_LOGO_LINUX_VGA16=y
1327CONFIG_LOGO_LINUX_CLUT224=y
1328CONFIG_SOUND=y
1329CONFIG_SOUND_OSS_CORE=y
1330CONFIG_SOUND_OSS_CORE_PRECLAIM=y
1331CONFIG_SND=y
1332CONFIG_SND_TIMER=y
1333CONFIG_SND_PCM=y
1334CONFIG_SND_HWDEP=y
1335CONFIG_SND_RAWMIDI=y
1336CONFIG_SND_JACK=y
1337# CONFIG_SND_SEQUENCER is not set
1338CONFIG_SND_OSSEMUL=y
1339CONFIG_SND_MIXER_OSS=y
1340CONFIG_SND_PCM_OSS=y
1341CONFIG_SND_PCM_OSS_PLUGINS=y
1342# CONFIG_SND_HRTIMER is not set
1343# CONFIG_SND_DYNAMIC_MINORS is not set
1344CONFIG_SND_SUPPORT_OLD_API=y
1345CONFIG_SND_VERBOSE_PROCFS=y
1346CONFIG_SND_VERBOSE_PRINTK=y
1347CONFIG_SND_DEBUG=y
1348# CONFIG_SND_DEBUG_VERBOSE is not set
1349# CONFIG_SND_PCM_XRUN_DEBUG is not set
1350# CONFIG_SND_RAWMIDI_SEQ is not set
1351# CONFIG_SND_OPL3_LIB_SEQ is not set
1352# CONFIG_SND_OPL4_LIB_SEQ is not set
1353# CONFIG_SND_SBAWE_SEQ is not set
1354# CONFIG_SND_EMU10K1_SEQ is not set
1355CONFIG_SND_DRIVERS=y
1356# CONFIG_SND_DUMMY is not set
1357# CONFIG_SND_MTPAV is not set
1358# CONFIG_SND_SERIAL_U16550 is not set
1359# CONFIG_SND_MPU401 is not set
1360CONFIG_SND_ARM=y
1361CONFIG_SND_SPI=y
1362CONFIG_SND_USB=y
1363CONFIG_SND_USB_AUDIO=y
1364# CONFIG_SND_USB_CAIAQ is not set
1365CONFIG_SND_SOC=y
1366CONFIG_SND_OMAP_SOC=y
1367CONFIG_SND_OMAP_SOC_MCBSP=y
1368# CONFIG_SND_OMAP_SOC_OVERO is not set
1369# CONFIG_SND_OMAP_SOC_OMAP3EVM is not set
1370# CONFIG_SND_OMAP_SOC_SDP3430 is not set
1371CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=y
1372# CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE is not set
1373# CONFIG_SND_OMAP_SOC_ZOOM2 is not set
1374CONFIG_SND_SOC_I2C_AND_SPI=y
1375# CONFIG_SND_SOC_ALL_CODECS is not set
1376CONFIG_SND_SOC_TWL4030=y
1377# CONFIG_SOUND_PRIME is not set
1378CONFIG_HID_SUPPORT=y
1379CONFIG_HID=y
1380# CONFIG_HIDRAW is not set
1381
1382#
1383# USB Input Devices
1384#
1385CONFIG_USB_HID=y
1386# CONFIG_HID_PID is not set
1387# CONFIG_USB_HIDDEV is not set
1388
1389#
1390# Special HID drivers
1391#
1392# CONFIG_HID_A4TECH is not set
1393# CONFIG_HID_APPLE is not set
1394# CONFIG_HID_BELKIN is not set
1395# CONFIG_HID_CHERRY is not set
1396# CONFIG_HID_CHICONY is not set
1397# CONFIG_HID_CYPRESS is not set
1398# CONFIG_HID_DRAGONRISE is not set
1399# CONFIG_HID_EZKEY is not set
1400# CONFIG_HID_KYE is not set
1401# CONFIG_HID_GYRATION is not set
1402# CONFIG_HID_TWINHAN is not set
1403# CONFIG_HID_KENSINGTON is not set
1404# CONFIG_HID_LOGITECH is not set
1405# CONFIG_HID_MICROSOFT is not set
1406# CONFIG_HID_MONTEREY is not set
1407# CONFIG_HID_NTRIG is not set
1408# CONFIG_HID_PANTHERLORD is not set
1409# CONFIG_HID_PETALYNX is not set
1410# CONFIG_HID_SAMSUNG is not set
1411# CONFIG_HID_SONY is not set
1412# CONFIG_HID_SUNPLUS is not set
1413# CONFIG_HID_GREENASIA is not set
1414# CONFIG_HID_SMARTJOYPLUS is not set
1415# CONFIG_HID_TOPSEED is not set
1416# CONFIG_HID_THRUSTMASTER is not set
1417# CONFIG_HID_WACOM is not set
1418# CONFIG_HID_ZEROPLUS is not set
1419CONFIG_USB_SUPPORT=y
1420CONFIG_USB_ARCH_HAS_HCD=y
1421CONFIG_USB_ARCH_HAS_OHCI=y
1422# CONFIG_USB_ARCH_HAS_EHCI is not set
1423CONFIG_USB=y
1424CONFIG_USB_DEBUG=y
1425CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
1426
1427#
1428# Miscellaneous USB options
1429#
1430CONFIG_USB_DEVICEFS=y
1431CONFIG_USB_DEVICE_CLASS=y
1432# CONFIG_USB_DYNAMIC_MINORS is not set
1433CONFIG_USB_SUSPEND=y
1434CONFIG_USB_OTG=y
1435# CONFIG_USB_OTG_WHITELIST is not set
1436# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1437CONFIG_USB_MON=y
1438# CONFIG_USB_WUSB is not set
1439# CONFIG_USB_WUSB_CBAF is not set
1440
1441#
1442# USB Host Controller Drivers
1443#
1444# CONFIG_USB_C67X00_HCD is not set
1445# CONFIG_USB_OXU210HP_HCD is not set
1446# CONFIG_USB_ISP116X_HCD is not set
1447# CONFIG_USB_ISP1760_HCD is not set
1448# CONFIG_USB_ISP1362_HCD is not set
1449# CONFIG_USB_OHCI_HCD is not set
1450# CONFIG_USB_SL811_HCD is not set
1451# CONFIG_USB_R8A66597_HCD is not set
1452# CONFIG_USB_HWA_HCD is not set
1453CONFIG_USB_MUSB_HDRC=y
1454CONFIG_USB_MUSB_SOC=y
1455
1456#
1457# OMAP 343x high speed USB support
1458#
1459# CONFIG_USB_MUSB_HOST is not set
1460# CONFIG_USB_MUSB_PERIPHERAL is not set
1461CONFIG_USB_MUSB_OTG=y
1462CONFIG_USB_GADGET_MUSB_HDRC=y
1463CONFIG_USB_MUSB_HDRC_HCD=y
1464# CONFIG_MUSB_PIO_ONLY is not set
1465CONFIG_USB_INVENTRA_DMA=y
1466# CONFIG_USB_TI_CPPI_DMA is not set
1467CONFIG_USB_MUSB_DEBUG=y
1468
1469#
1470# USB Device Class drivers
1471#
1472# CONFIG_USB_ACM is not set
1473# CONFIG_USB_PRINTER is not set
1474CONFIG_USB_WDM=y
1475# CONFIG_USB_TMC is not set
1476
1477#
1478# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1479#
1480
1481#
1482# also be needed; see USB_STORAGE Help for more info
1483#
1484CONFIG_USB_STORAGE=y
1485# CONFIG_USB_STORAGE_DEBUG is not set
1486# CONFIG_USB_STORAGE_DATAFAB is not set
1487# CONFIG_USB_STORAGE_FREECOM is not set
1488# CONFIG_USB_STORAGE_ISD200 is not set
1489# CONFIG_USB_STORAGE_USBAT is not set
1490# CONFIG_USB_STORAGE_SDDR09 is not set
1491# CONFIG_USB_STORAGE_SDDR55 is not set
1492# CONFIG_USB_STORAGE_JUMPSHOT is not set
1493# CONFIG_USB_STORAGE_ALAUDA is not set
1494# CONFIG_USB_STORAGE_ONETOUCH is not set
1495# CONFIG_USB_STORAGE_KARMA is not set
1496# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1497CONFIG_USB_LIBUSUAL=y
1498
1499#
1500# USB Imaging devices
1501#
1502# CONFIG_USB_MDC800 is not set
1503# CONFIG_USB_MICROTEK is not set
1504
1505#
1506# USB port drivers
1507#
1508# CONFIG_USB_SERIAL is not set
1509
1510#
1511# USB Miscellaneous drivers
1512#
1513# CONFIG_USB_EMI62 is not set
1514# CONFIG_USB_EMI26 is not set
1515# CONFIG_USB_ADUTUX is not set
1516# CONFIG_USB_SEVSEG is not set
1517# CONFIG_USB_RIO500 is not set
1518# CONFIG_USB_LEGOTOWER is not set
1519# CONFIG_USB_LCD is not set
1520# CONFIG_USB_BERRY_CHARGE is not set
1521# CONFIG_USB_LED is not set
1522# CONFIG_USB_CYPRESS_CY7C63 is not set
1523# CONFIG_USB_CYTHERM is not set
1524# CONFIG_USB_IDMOUSE is not set
1525# CONFIG_USB_FTDI_ELAN is not set
1526# CONFIG_USB_APPLEDISPLAY is not set
1527# CONFIG_USB_SISUSBVGA is not set
1528# CONFIG_USB_LD is not set
1529# CONFIG_USB_TRANCEVIBRATOR is not set
1530# CONFIG_USB_IOWARRIOR is not set
1531CONFIG_USB_TEST=y
1532# CONFIG_USB_ISIGHTFW is not set
1533# CONFIG_USB_VST is not set
1534CONFIG_USB_GADGET=y
1535CONFIG_USB_GADGET_DEBUG=y
1536CONFIG_USB_GADGET_DEBUG_FILES=y
1537CONFIG_USB_GADGET_DEBUG_FS=y
1538CONFIG_USB_GADGET_VBUS_DRAW=2
1539CONFIG_USB_GADGET_SELECTED=y
1540# CONFIG_USB_GADGET_AT91 is not set
1541# CONFIG_USB_GADGET_ATMEL_USBA is not set
1542# CONFIG_USB_GADGET_FSL_USB2 is not set
1543# CONFIG_USB_GADGET_LH7A40X is not set
1544# CONFIG_USB_GADGET_OMAP is not set
1545# CONFIG_USB_GADGET_PXA25X is not set
1546# CONFIG_USB_GADGET_R8A66597 is not set
1547# CONFIG_USB_GADGET_PXA27X is not set
1548# CONFIG_USB_GADGET_S3C_HSOTG is not set
1549# CONFIG_USB_GADGET_IMX is not set
1550# CONFIG_USB_GADGET_S3C2410 is not set
1551# CONFIG_USB_GADGET_M66592 is not set
1552# CONFIG_USB_GADGET_AMD5536UDC is not set
1553# CONFIG_USB_GADGET_FSL_QE is not set
1554# CONFIG_USB_GADGET_CI13XXX is not set
1555# CONFIG_USB_GADGET_NET2280 is not set
1556# CONFIG_USB_GADGET_GOKU is not set
1557# CONFIG_USB_GADGET_LANGWELL is not set
1558# CONFIG_USB_GADGET_DUMMY_HCD is not set
1559CONFIG_USB_GADGET_DUALSPEED=y
1560CONFIG_USB_ZERO=y
1561# CONFIG_USB_ZERO_HNPTEST is not set
1562# CONFIG_USB_AUDIO is not set
1563# CONFIG_USB_ETH is not set
1564# CONFIG_USB_GADGETFS is not set
1565# CONFIG_USB_FILE_STORAGE is not set
1566# CONFIG_USB_G_SERIAL is not set
1567# CONFIG_USB_MIDI_GADGET is not set
1568# CONFIG_USB_G_PRINTER is not set
1569# CONFIG_USB_CDC_COMPOSITE is not set
1570
1571#
1572# OTG and related infrastructure
1573#
1574CONFIG_USB_OTG_UTILS=y
1575# CONFIG_USB_GPIO_VBUS is not set
1576# CONFIG_ISP1301_OMAP is not set
1577CONFIG_TWL4030_USB=y
1578CONFIG_NOP_USB_XCEIV=y
1579CONFIG_MMC=y
1580# CONFIG_MMC_DEBUG is not set
1581CONFIG_MMC_UNSAFE_RESUME=y
1582
1583#
1584# MMC/SD/SDIO Card Drivers
1585#
1586CONFIG_MMC_BLOCK=y
1587CONFIG_MMC_BLOCK_BOUNCE=y
1588CONFIG_SDIO_UART=y
1589# CONFIG_MMC_TEST is not set
1590
1591#
1592# MMC/SD/SDIO Host Controller Drivers
1593#
1594# CONFIG_MMC_SDHCI is not set
1595# CONFIG_MMC_OMAP is not set
1596CONFIG_MMC_OMAP_HS=y
1597# CONFIG_MMC_AT91 is not set
1598# CONFIG_MMC_ATMELMCI is not set
1599# CONFIG_MMC_SPI is not set
1600# CONFIG_MEMSTICK is not set
1601CONFIG_NEW_LEDS=y
1602CONFIG_LEDS_CLASS=y
1603
1604#
1605# LED drivers
1606#
1607# CONFIG_LEDS_PCA9532 is not set
1608CONFIG_LEDS_GPIO=y
1609CONFIG_LEDS_GPIO_PLATFORM=y
1610# CONFIG_LEDS_LP3944 is not set
1611# CONFIG_LEDS_PCA955X is not set
1612# CONFIG_LEDS_DAC124S085 is not set
1613# CONFIG_LEDS_BD2802 is not set
1614
1615#
1616# LED Triggers
1617#
1618CONFIG_LEDS_TRIGGERS=y
1619CONFIG_LEDS_TRIGGER_TIMER=y
1620CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1621# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
1622# CONFIG_LEDS_TRIGGER_GPIO is not set
1623CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
1624
1625#
1626# iptables trigger is under Netfilter config (LED target)
1627#
1628# CONFIG_ACCESSIBILITY is not set
1629CONFIG_RTC_LIB=y
1630CONFIG_RTC_CLASS=y
1631CONFIG_RTC_HCTOSYS=y
1632CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1633# CONFIG_RTC_DEBUG is not set
1634
1635#
1636# RTC interfaces
1637#
1638CONFIG_RTC_INTF_SYSFS=y
1639CONFIG_RTC_INTF_PROC=y
1640CONFIG_RTC_INTF_DEV=y
1641# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1642# CONFIG_RTC_DRV_TEST is not set
1643
1644#
1645# I2C RTC drivers
1646#
1647# CONFIG_RTC_DRV_DS1307 is not set
1648# CONFIG_RTC_DRV_DS1374 is not set
1649# CONFIG_RTC_DRV_DS1672 is not set
1650# CONFIG_RTC_DRV_MAX6900 is not set
1651# CONFIG_RTC_DRV_RS5C372 is not set
1652# CONFIG_RTC_DRV_ISL1208 is not set
1653# CONFIG_RTC_DRV_X1205 is not set
1654# CONFIG_RTC_DRV_PCF8563 is not set
1655# CONFIG_RTC_DRV_PCF8583 is not set
1656# CONFIG_RTC_DRV_M41T80 is not set
1657CONFIG_RTC_DRV_TWL4030=y
1658# CONFIG_RTC_DRV_S35390A is not set
1659# CONFIG_RTC_DRV_FM3130 is not set
1660# CONFIG_RTC_DRV_RX8581 is not set
1661# CONFIG_RTC_DRV_RX8025 is not set
1662
1663#
1664# SPI RTC drivers
1665#
1666# CONFIG_RTC_DRV_M41T94 is not set
1667# CONFIG_RTC_DRV_DS1305 is not set
1668# CONFIG_RTC_DRV_DS1390 is not set
1669# CONFIG_RTC_DRV_MAX6902 is not set
1670# CONFIG_RTC_DRV_R9701 is not set
1671# CONFIG_RTC_DRV_RS5C348 is not set
1672# CONFIG_RTC_DRV_DS3234 is not set
1673# CONFIG_RTC_DRV_PCF2123 is not set
1674
1675#
1676# Platform RTC drivers
1677#
1678# CONFIG_RTC_DRV_CMOS is not set
1679# CONFIG_RTC_DRV_DS1286 is not set
1680# CONFIG_RTC_DRV_DS1511 is not set
1681# CONFIG_RTC_DRV_DS1553 is not set
1682# CONFIG_RTC_DRV_DS1742 is not set
1683# CONFIG_RTC_DRV_STK17TA8 is not set
1684# CONFIG_RTC_DRV_M48T86 is not set
1685# CONFIG_RTC_DRV_M48T35 is not set
1686# CONFIG_RTC_DRV_M48T59 is not set
1687# CONFIG_RTC_DRV_BQ4802 is not set
1688# CONFIG_RTC_DRV_V3020 is not set
1689
1690#
1691# on-CPU RTC drivers
1692#
1693# CONFIG_DMADEVICES is not set
1694# CONFIG_AUXDISPLAY is not set
1695# CONFIG_UIO is not set
1696
1697#
1698# TI VLYNQ
1699#
1700# CONFIG_STAGING is not set
1701
1702#
1703# File systems
1704#
1705CONFIG_EXT2_FS=y
1706# CONFIG_EXT2_FS_XATTR is not set
1707# CONFIG_EXT2_FS_XIP is not set
1708CONFIG_EXT3_FS=y
1709# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1710# CONFIG_EXT3_FS_XATTR is not set
1711# CONFIG_EXT4_FS is not set
1712CONFIG_JBD=y
1713# CONFIG_JBD_DEBUG is not set
1714# CONFIG_REISERFS_FS is not set
1715# CONFIG_JFS_FS is not set
1716CONFIG_FS_POSIX_ACL=y
1717# CONFIG_XFS_FS is not set
1718# CONFIG_GFS2_FS is not set
1719# CONFIG_OCFS2_FS is not set
1720# CONFIG_BTRFS_FS is not set
1721# CONFIG_NILFS2_FS is not set
1722CONFIG_FILE_LOCKING=y
1723CONFIG_FSNOTIFY=y
1724CONFIG_DNOTIFY=y
1725CONFIG_INOTIFY=y
1726CONFIG_INOTIFY_USER=y
1727CONFIG_QUOTA=y
1728# CONFIG_QUOTA_NETLINK_INTERFACE is not set
1729CONFIG_PRINT_QUOTA_WARNING=y
1730CONFIG_QUOTA_TREE=y
1731# CONFIG_QFMT_V1 is not set
1732CONFIG_QFMT_V2=y
1733CONFIG_QUOTACTL=y
1734# CONFIG_AUTOFS_FS is not set
1735# CONFIG_AUTOFS4_FS is not set
1736# CONFIG_FUSE_FS is not set
1737
1738#
1739# Caches
1740#
1741# CONFIG_FSCACHE is not set
1742
1743#
1744# CD-ROM/DVD Filesystems
1745#
1746# CONFIG_ISO9660_FS is not set
1747# CONFIG_UDF_FS is not set
1748
1749#
1750# DOS/FAT/NT Filesystems
1751#
1752CONFIG_FAT_FS=y
1753CONFIG_MSDOS_FS=y
1754CONFIG_VFAT_FS=y
1755CONFIG_FAT_DEFAULT_CODEPAGE=437
1756CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1757# CONFIG_NTFS_FS is not set
1758
1759#
1760# Pseudo filesystems
1761#
1762CONFIG_PROC_FS=y
1763CONFIG_PROC_SYSCTL=y
1764CONFIG_PROC_PAGE_MONITOR=y
1765CONFIG_SYSFS=y
1766CONFIG_TMPFS=y
1767# CONFIG_TMPFS_POSIX_ACL is not set
1768# CONFIG_HUGETLB_PAGE is not set
1769# CONFIG_CONFIGFS_FS is not set
1770CONFIG_MISC_FILESYSTEMS=y
1771# CONFIG_ADFS_FS is not set
1772# CONFIG_AFFS_FS is not set
1773# CONFIG_HFS_FS is not set
1774# CONFIG_HFSPLUS_FS is not set
1775# CONFIG_BEFS_FS is not set
1776# CONFIG_BFS_FS is not set
1777# CONFIG_EFS_FS is not set
1778CONFIG_JFFS2_FS=y
1779CONFIG_JFFS2_FS_DEBUG=0
1780CONFIG_JFFS2_FS_WRITEBUFFER=y
1781# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1782CONFIG_JFFS2_SUMMARY=y
1783CONFIG_JFFS2_FS_XATTR=y
1784CONFIG_JFFS2_FS_POSIX_ACL=y
1785CONFIG_JFFS2_FS_SECURITY=y
1786CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1787CONFIG_JFFS2_ZLIB=y
1788CONFIG_JFFS2_LZO=y
1789CONFIG_JFFS2_RTIME=y
1790CONFIG_JFFS2_RUBIN=y
1791# CONFIG_JFFS2_CMODE_NONE is not set
1792CONFIG_JFFS2_CMODE_PRIORITY=y
1793# CONFIG_JFFS2_CMODE_SIZE is not set
1794# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
1795CONFIG_UBIFS_FS=y
1796# CONFIG_UBIFS_FS_XATTR is not set
1797# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
1798CONFIG_UBIFS_FS_LZO=y
1799CONFIG_UBIFS_FS_ZLIB=y
1800# CONFIG_UBIFS_FS_DEBUG is not set
1801CONFIG_CRAMFS=y
1802# CONFIG_SQUASHFS is not set
1803# CONFIG_VXFS_FS is not set
1804# CONFIG_MINIX_FS is not set
1805# CONFIG_OMFS_FS is not set
1806# CONFIG_HPFS_FS is not set
1807# CONFIG_QNX4FS_FS is not set
1808# CONFIG_ROMFS_FS is not set
1809# CONFIG_SYSV_FS is not set
1810# CONFIG_UFS_FS is not set
1811CONFIG_NETWORK_FILESYSTEMS=y
1812CONFIG_NFS_FS=y
1813CONFIG_NFS_V3=y
1814CONFIG_NFS_V3_ACL=y
1815CONFIG_NFS_V4=y
1816# CONFIG_NFS_V4_1 is not set
1817CONFIG_ROOT_NFS=y
1818# CONFIG_NFSD is not set
1819CONFIG_LOCKD=y
1820CONFIG_LOCKD_V4=y
1821CONFIG_NFS_ACL_SUPPORT=y
1822CONFIG_NFS_COMMON=y
1823CONFIG_SUNRPC=y
1824CONFIG_SUNRPC_GSS=y
1825CONFIG_RPCSEC_GSS_KRB5=y
1826# CONFIG_RPCSEC_GSS_SPKM3 is not set
1827# CONFIG_SMB_FS is not set
1828# CONFIG_CIFS is not set
1829# CONFIG_NCP_FS is not set
1830# CONFIG_CODA_FS is not set
1831# CONFIG_AFS_FS is not set
1832
1833#
1834# Partition Types
1835#
1836CONFIG_PARTITION_ADVANCED=y
1837# CONFIG_ACORN_PARTITION is not set
1838# CONFIG_OSF_PARTITION is not set
1839# CONFIG_AMIGA_PARTITION is not set
1840# CONFIG_ATARI_PARTITION is not set
1841# CONFIG_MAC_PARTITION is not set
1842CONFIG_MSDOS_PARTITION=y
1843# CONFIG_BSD_DISKLABEL is not set
1844# CONFIG_MINIX_SUBPARTITION is not set
1845# CONFIG_SOLARIS_X86_PARTITION is not set
1846# CONFIG_UNIXWARE_DISKLABEL is not set
1847# CONFIG_LDM_PARTITION is not set
1848# CONFIG_SGI_PARTITION is not set
1849# CONFIG_ULTRIX_PARTITION is not set
1850# CONFIG_SUN_PARTITION is not set
1851# CONFIG_KARMA_PARTITION is not set
1852# CONFIG_EFI_PARTITION is not set
1853# CONFIG_SYSV68_PARTITION is not set
1854CONFIG_NLS=y
1855CONFIG_NLS_DEFAULT="iso8859-1"
1856CONFIG_NLS_CODEPAGE_437=y
1857# CONFIG_NLS_CODEPAGE_737 is not set
1858# CONFIG_NLS_CODEPAGE_775 is not set
1859# CONFIG_NLS_CODEPAGE_850 is not set
1860# CONFIG_NLS_CODEPAGE_852 is not set
1861# CONFIG_NLS_CODEPAGE_855 is not set
1862# CONFIG_NLS_CODEPAGE_857 is not set
1863# CONFIG_NLS_CODEPAGE_860 is not set
1864# CONFIG_NLS_CODEPAGE_861 is not set
1865# CONFIG_NLS_CODEPAGE_862 is not set
1866# CONFIG_NLS_CODEPAGE_863 is not set
1867# CONFIG_NLS_CODEPAGE_864 is not set
1868# CONFIG_NLS_CODEPAGE_865 is not set
1869# CONFIG_NLS_CODEPAGE_866 is not set
1870# CONFIG_NLS_CODEPAGE_869 is not set
1871# CONFIG_NLS_CODEPAGE_936 is not set
1872# CONFIG_NLS_CODEPAGE_950 is not set
1873# CONFIG_NLS_CODEPAGE_932 is not set
1874# CONFIG_NLS_CODEPAGE_949 is not set
1875# CONFIG_NLS_CODEPAGE_874 is not set
1876# CONFIG_NLS_ISO8859_8 is not set
1877# CONFIG_NLS_CODEPAGE_1250 is not set
1878# CONFIG_NLS_CODEPAGE_1251 is not set
1879# CONFIG_NLS_ASCII is not set
1880CONFIG_NLS_ISO8859_1=y
1881# CONFIG_NLS_ISO8859_2 is not set
1882# CONFIG_NLS_ISO8859_3 is not set
1883# CONFIG_NLS_ISO8859_4 is not set
1884# CONFIG_NLS_ISO8859_5 is not set
1885# CONFIG_NLS_ISO8859_6 is not set
1886# CONFIG_NLS_ISO8859_7 is not set
1887# CONFIG_NLS_ISO8859_9 is not set
1888# CONFIG_NLS_ISO8859_13 is not set
1889# CONFIG_NLS_ISO8859_14 is not set
1890# CONFIG_NLS_ISO8859_15 is not set
1891# CONFIG_NLS_KOI8_R is not set
1892# CONFIG_NLS_KOI8_U is not set
1893# CONFIG_NLS_UTF8 is not set
1894# CONFIG_DLM is not set
1895
1896#
1897# Kernel hacking
1898#
1899CONFIG_PRINTK_TIME=y
1900CONFIG_ENABLE_WARN_DEPRECATED=y
1901CONFIG_ENABLE_MUST_CHECK=y
1902CONFIG_FRAME_WARN=1024
1903CONFIG_MAGIC_SYSRQ=y
1904# CONFIG_STRIP_ASM_SYMS is not set
1905# CONFIG_UNUSED_SYMBOLS is not set
1906CONFIG_DEBUG_FS=y
1907# CONFIG_HEADERS_CHECK is not set
1908CONFIG_DEBUG_KERNEL=y
1909# CONFIG_DEBUG_SHIRQ is not set
1910CONFIG_DETECT_SOFTLOCKUP=y
1911# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1912CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1913CONFIG_DETECT_HUNG_TASK=y
1914# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1915CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1916CONFIG_SCHED_DEBUG=y
1917CONFIG_SCHEDSTATS=y
1918CONFIG_TIMER_STATS=y
1919# CONFIG_DEBUG_OBJECTS is not set
1920# CONFIG_DEBUG_SLAB is not set
1921# CONFIG_DEBUG_KMEMLEAK is not set
1922# CONFIG_DEBUG_RT_MUTEXES is not set
1923# CONFIG_RT_MUTEX_TESTER is not set
1924CONFIG_DEBUG_SPINLOCK=y
1925CONFIG_DEBUG_MUTEXES=y
1926CONFIG_DEBUG_LOCK_ALLOC=y
1927CONFIG_PROVE_LOCKING=y
1928CONFIG_LOCKDEP=y
1929CONFIG_LOCK_STAT=y
1930# CONFIG_DEBUG_LOCKDEP is not set
1931CONFIG_TRACE_IRQFLAGS=y
1932CONFIG_DEBUG_SPINLOCK_SLEEP=y
1933# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1934CONFIG_STACKTRACE=y
1935# CONFIG_DEBUG_KOBJECT is not set
1936# CONFIG_DEBUG_BUGVERBOSE is not set
1937CONFIG_DEBUG_INFO=y
1938# CONFIG_DEBUG_VM is not set
1939# CONFIG_DEBUG_WRITECOUNT is not set
1940# CONFIG_DEBUG_MEMORY_INIT is not set
1941# CONFIG_DEBUG_LIST is not set
1942# CONFIG_DEBUG_SG is not set
1943# CONFIG_DEBUG_NOTIFIERS is not set
1944# CONFIG_DEBUG_CREDENTIALS is not set
1945# CONFIG_BOOT_PRINTK_DELAY is not set
1946# CONFIG_RCU_TORTURE_TEST is not set
1947# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1948# CONFIG_KPROBES_SANITY_TEST is not set
1949# CONFIG_BACKTRACE_SELF_TEST is not set
1950# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1951# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1952# CONFIG_LKDTM is not set
1953# CONFIG_FAULT_INJECTION is not set
1954# CONFIG_LATENCYTOP is not set
1955# CONFIG_PAGE_POISONING is not set
1956CONFIG_NOP_TRACER=y
1957CONFIG_HAVE_FUNCTION_TRACER=y
1958CONFIG_RING_BUFFER=y
1959CONFIG_EVENT_TRACING=y
1960CONFIG_CONTEXT_SWITCH_TRACER=y
1961CONFIG_RING_BUFFER_ALLOW_SWAP=y
1962CONFIG_TRACING=y
1963CONFIG_TRACING_SUPPORT=y
1964CONFIG_FTRACE=y
1965# CONFIG_FUNCTION_TRACER is not set
1966# CONFIG_IRQSOFF_TRACER is not set
1967# CONFIG_SCHED_TRACER is not set
1968# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1969# CONFIG_BOOT_TRACER is not set
1970CONFIG_BRANCH_PROFILE_NONE=y
1971# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1972# CONFIG_PROFILE_ALL_BRANCHES is not set
1973# CONFIG_STACK_TRACER is not set
1974# CONFIG_KMEMTRACE is not set
1975# CONFIG_WORKQUEUE_TRACER is not set
1976# CONFIG_BLK_DEV_IO_TRACE is not set
1977# CONFIG_RING_BUFFER_BENCHMARK is not set
1978# CONFIG_DYNAMIC_DEBUG is not set
1979# CONFIG_SAMPLES is not set
1980CONFIG_HAVE_ARCH_KGDB=y
1981# CONFIG_KGDB is not set
1982CONFIG_ARM_UNWIND=y
1983# CONFIG_DEBUG_USER is not set
1984# CONFIG_DEBUG_ERRORS is not set
1985# CONFIG_DEBUG_STACK_USAGE is not set
1986CONFIG_DEBUG_LL=y
1987# CONFIG_DEBUG_ICEDCC is not set
1988
1989#
1990# Security options
1991#
1992# CONFIG_KEYS is not set
1993CONFIG_SECURITY=y
1994# CONFIG_SECURITYFS is not set
1995# CONFIG_SECURITY_NETWORK is not set
1996# CONFIG_SECURITY_PATH is not set
1997# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1998# CONFIG_SECURITY_ROOTPLUG is not set
1999# CONFIG_SECURITY_TOMOYO is not set
2000CONFIG_CRYPTO=y
2001
2002#
2003# Crypto core or helper
2004#
2005CONFIG_CRYPTO_ALGAPI=y
2006CONFIG_CRYPTO_ALGAPI2=y
2007CONFIG_CRYPTO_AEAD2=y
2008CONFIG_CRYPTO_BLKCIPHER=y
2009CONFIG_CRYPTO_BLKCIPHER2=y
2010CONFIG_CRYPTO_HASH=y
2011CONFIG_CRYPTO_HASH2=y
2012CONFIG_CRYPTO_RNG2=y
2013CONFIG_CRYPTO_PCOMP=y
2014CONFIG_CRYPTO_MANAGER=y
2015CONFIG_CRYPTO_MANAGER2=y
2016# CONFIG_CRYPTO_GF128MUL is not set
2017# CONFIG_CRYPTO_NULL is not set
2018CONFIG_CRYPTO_WORKQUEUE=y
2019# CONFIG_CRYPTO_CRYPTD is not set
2020# CONFIG_CRYPTO_AUTHENC is not set
2021# CONFIG_CRYPTO_TEST is not set
2022
2023#
2024# Authenticated Encryption with Associated Data
2025#
2026# CONFIG_CRYPTO_CCM is not set
2027# CONFIG_CRYPTO_GCM is not set
2028# CONFIG_CRYPTO_SEQIV is not set
2029
2030#
2031# Block modes
2032#
2033CONFIG_CRYPTO_CBC=y
2034# CONFIG_CRYPTO_CTR is not set
2035# CONFIG_CRYPTO_CTS is not set
2036CONFIG_CRYPTO_ECB=y
2037# CONFIG_CRYPTO_LRW is not set
2038# CONFIG_CRYPTO_PCBC is not set
2039# CONFIG_CRYPTO_XTS is not set
2040
2041#
2042# Hash modes
2043#
2044# CONFIG_CRYPTO_HMAC is not set
2045# CONFIG_CRYPTO_XCBC is not set
2046# CONFIG_CRYPTO_VMAC is not set
2047
2048#
2049# Digest
2050#
2051CONFIG_CRYPTO_CRC32C=y
2052# CONFIG_CRYPTO_GHASH is not set
2053# CONFIG_CRYPTO_MD4 is not set
2054CONFIG_CRYPTO_MD5=y
2055CONFIG_CRYPTO_MICHAEL_MIC=y
2056# CONFIG_CRYPTO_RMD128 is not set
2057# CONFIG_CRYPTO_RMD160 is not set
2058# CONFIG_CRYPTO_RMD256 is not set
2059# CONFIG_CRYPTO_RMD320 is not set
2060# CONFIG_CRYPTO_SHA1 is not set
2061# CONFIG_CRYPTO_SHA256 is not set
2062# CONFIG_CRYPTO_SHA512 is not set
2063# CONFIG_CRYPTO_TGR192 is not set
2064# CONFIG_CRYPTO_WP512 is not set
2065
2066#
2067# Ciphers
2068#
2069CONFIG_CRYPTO_AES=y
2070# CONFIG_CRYPTO_ANUBIS is not set
2071CONFIG_CRYPTO_ARC4=y
2072# CONFIG_CRYPTO_BLOWFISH is not set
2073# CONFIG_CRYPTO_CAMELLIA is not set
2074# CONFIG_CRYPTO_CAST5 is not set
2075# CONFIG_CRYPTO_CAST6 is not set
2076CONFIG_CRYPTO_DES=y
2077# CONFIG_CRYPTO_FCRYPT is not set
2078# CONFIG_CRYPTO_KHAZAD is not set
2079# CONFIG_CRYPTO_SALSA20 is not set
2080# CONFIG_CRYPTO_SEED is not set
2081# CONFIG_CRYPTO_SERPENT is not set
2082# CONFIG_CRYPTO_TEA is not set
2083# CONFIG_CRYPTO_TWOFISH is not set
2084
2085#
2086# Compression
2087#
2088CONFIG_CRYPTO_DEFLATE=y
2089# CONFIG_CRYPTO_ZLIB is not set
2090CONFIG_CRYPTO_LZO=y
2091
2092#
2093# Random Number Generation
2094#
2095# CONFIG_CRYPTO_ANSI_CPRNG is not set
2096CONFIG_CRYPTO_HW=y
2097CONFIG_BINARY_PRINTF=y
2098
2099#
2100# Library routines
2101#
2102CONFIG_BITREVERSE=y
2103CONFIG_GENERIC_FIND_LAST_BIT=y
2104CONFIG_CRC_CCITT=y
2105CONFIG_CRC16=y
2106CONFIG_CRC_T10DIF=y
2107CONFIG_CRC_ITU_T=y
2108CONFIG_CRC32=y
2109CONFIG_CRC7=y
2110CONFIG_LIBCRC32C=y
2111CONFIG_ZLIB_INFLATE=y
2112CONFIG_ZLIB_DEFLATE=y
2113CONFIG_LZO_COMPRESS=y
2114CONFIG_LZO_DECOMPRESS=y
2115CONFIG_DECOMPRESS_GZIP=y
2116CONFIG_HAS_IOMEM=y
2117CONFIG_HAS_IOPORT=y
2118CONFIG_HAS_DMA=y
2119CONFIG_NLATTR=y
diff --git a/arch/arm/configs/omap3_evm_defconfig b/arch/arm/configs/omap3_evm_defconfig
index d5ff4776cd0a..e190fc8b9a7c 100644
--- a/arch/arm/configs/omap3_evm_defconfig
+++ b/arch/arm/configs/omap3_evm_defconfig
@@ -59,8 +59,8 @@ CONFIG_FAIR_GROUP_SCHED=y
59CONFIG_USER_SCHED=y 59CONFIG_USER_SCHED=y
60# CONFIG_CGROUP_SCHED is not set 60# CONFIG_CGROUP_SCHED is not set
61# CONFIG_CGROUPS is not set 61# CONFIG_CGROUPS is not set
62CONFIG_SYSFS_DEPRECATED=y 62# CONFIG_SYSFS_DEPRECATED=y is not set
63CONFIG_SYSFS_DEPRECATED_V2=y 63# CONFIG_SYSFS_DEPRECATED_V2=y is not set
64# CONFIG_RELAY is not set 64# CONFIG_RELAY is not set
65# CONFIG_NAMESPACES is not set 65# CONFIG_NAMESPACES is not set
66CONFIG_BLK_DEV_INITRD=y 66CONFIG_BLK_DEV_INITRD=y
@@ -617,8 +617,8 @@ CONFIG_MII=y
617# CONFIG_DM9000 is not set 617# CONFIG_DM9000 is not set
618# CONFIG_ENC28J60 is not set 618# CONFIG_ENC28J60 is not set
619# CONFIG_ETHOC is not set 619# CONFIG_ETHOC is not set
620CONFIG_SMC911X=y 620# CONFIG_SMC911X is not set
621# CONFIG_SMSC911X is not set 621CONFIG_SMSC911X=y
622# CONFIG_DNET is not set 622# CONFIG_DNET is not set
623# CONFIG_IBM_NEW_EMAC_ZMII is not set 623# CONFIG_IBM_NEW_EMAC_ZMII is not set
624# CONFIG_IBM_NEW_EMAC_RGMII is not set 624# CONFIG_IBM_NEW_EMAC_RGMII is not set
@@ -676,13 +676,19 @@ CONFIG_INPUT_EVDEV=y
676# Input Device Drivers 676# Input Device Drivers
677# 677#
678CONFIG_INPUT_KEYBOARD=y 678CONFIG_INPUT_KEYBOARD=y
679# CONFIG_KEYBOARD_ADP5588 is not set
679# CONFIG_KEYBOARD_ATKBD is not set 680# CONFIG_KEYBOARD_ATKBD is not set
680# CONFIG_KEYBOARD_SUNKBD is not set 681# CONFIG_QT2160 is not set
681# CONFIG_KEYBOARD_LKKBD is not set 682# CONFIG_KEYBOARD_LKKBD is not set
682# CONFIG_KEYBOARD_XTKBD is not set 683# CONFIG_KEYBOARD_GPIO is not set
684# CONFIG_KEYBOARD_MATRIX is not set
685# CONFIG_KEYBOARD_MAX7359 is not set
683# CONFIG_KEYBOARD_NEWTON is not set 686# CONFIG_KEYBOARD_NEWTON is not set
687# CONFIG_KEYBOARD_OPENCORES is not set
684# CONFIG_KEYBOARD_STOWAWAY is not set 688# CONFIG_KEYBOARD_STOWAWAY is not set
685# CONFIG_KEYBOARD_GPIO is not set 689# CONFIG_KEYBOARD_SUNKBD is not set
690CONFIG_KEYBOARD_TWL4030=y
691# CONFIG_KEYBOARD_XTKBD is not set
686# CONFIG_INPUT_MOUSE is not set 692# CONFIG_INPUT_MOUSE is not set
687# CONFIG_INPUT_JOYSTICK is not set 693# CONFIG_INPUT_JOYSTICK is not set
688# CONFIG_INPUT_TABLET is not set 694# CONFIG_INPUT_TABLET is not set
@@ -1126,7 +1132,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y
1126# 1132#
1127# CONFIG_MMC_SDHCI is not set 1133# CONFIG_MMC_SDHCI is not set
1128# CONFIG_MMC_OMAP is not set 1134# CONFIG_MMC_OMAP is not set
1129CONFIG_MMC_OMAP_HS=m 1135CONFIG_MMC_OMAP_HS=y
1130# CONFIG_MMC_SPI is not set 1136# CONFIG_MMC_SPI is not set
1131# CONFIG_MEMSTICK is not set 1137# CONFIG_MEMSTICK is not set
1132# CONFIG_ACCESSIBILITY is not set 1138# CONFIG_ACCESSIBILITY is not set
diff --git a/arch/arm/configs/omap3_pandora_defconfig b/arch/arm/configs/omap3_pandora_defconfig
index 150deafb0a6a..b7a8d9fa49db 100644
--- a/arch/arm/configs/omap3_pandora_defconfig
+++ b/arch/arm/configs/omap3_pandora_defconfig
@@ -51,8 +51,9 @@ CONFIG_FAIR_GROUP_SCHED=y
51# CONFIG_RT_GROUP_SCHED is not set 51# CONFIG_RT_GROUP_SCHED is not set
52CONFIG_USER_SCHED=y 52CONFIG_USER_SCHED=y
53# CONFIG_CGROUP_SCHED is not set 53# CONFIG_CGROUP_SCHED is not set
54CONFIG_SYSFS_DEPRECATED=y 54# CONFIG_SYSFS_DEPRECATED=y is not set
55CONFIG_SYSFS_DEPRECATED_V2=y 55# CONFIG_SYSFS_DEPRECATED_V2=y is not set
56
56# CONFIG_RELAY is not set 57# CONFIG_RELAY is not set
57# CONFIG_NAMESPACES is not set 58# CONFIG_NAMESPACES is not set
58CONFIG_BLK_DEV_INITRD=y 59CONFIG_BLK_DEV_INITRD=y
diff --git a/arch/arm/configs/omap_3430sdp_defconfig b/arch/arm/configs/omap_3430sdp_defconfig
index 5a305f015307..84829587d55a 100644
--- a/arch/arm/configs/omap_3430sdp_defconfig
+++ b/arch/arm/configs/omap_3430sdp_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.30-omap1 3# Linux kernel version: 2.6.31-rc9-omap1
4# Tue Jun 23 10:36:45 2009 4# Tue Sep 15 16:48:34 2009
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -9,7 +9,6 @@ CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y 9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y 10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y 11CONFIG_MMU=y
12# CONFIG_NO_IOPORT is not set
13CONFIG_GENERIC_HARDIRQS=y 12CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y 13CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y 14CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -18,14 +17,12 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
18CONFIG_HARDIRQS_SW_RESEND=y 17CONFIG_HARDIRQS_SW_RESEND=y
19CONFIG_GENERIC_IRQ_PROBE=y 18CONFIG_GENERIC_IRQ_PROBE=y
20CONFIG_RWSEM_GENERIC_SPINLOCK=y 19CONFIG_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 20CONFIG_GENERIC_HWEIGHT=y
24CONFIG_GENERIC_CALIBRATE_DELAY=y 21CONFIG_GENERIC_CALIBRATE_DELAY=y
25CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 22CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
26CONFIG_OPROFILE_ARMV7=y
27CONFIG_VECTORS_BASE=0xffff0000 23CONFIG_VECTORS_BASE=0xffff0000
28CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 24CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
25CONFIG_CONSTRUCTORS=y
29 26
30# 27#
31# General setup 28# General setup
@@ -61,12 +58,15 @@ CONFIG_FAIR_GROUP_SCHED=y
61CONFIG_USER_SCHED=y 58CONFIG_USER_SCHED=y
62# CONFIG_CGROUP_SCHED is not set 59# CONFIG_CGROUP_SCHED is not set
63# CONFIG_CGROUPS is not set 60# CONFIG_CGROUPS is not set
64CONFIG_SYSFS_DEPRECATED=y 61# CONFIG_SYSFS_DEPRECATED=y is not set
65CONFIG_SYSFS_DEPRECATED_V2=y 62# CONFIG_SYSFS_DEPRECATED_V2=y is not set
66# CONFIG_RELAY is not set 63# CONFIG_RELAY is not set
67# CONFIG_NAMESPACES is not set 64# CONFIG_NAMESPACES is not set
68CONFIG_BLK_DEV_INITRD=y 65CONFIG_BLK_DEV_INITRD=y
69CONFIG_INITRAMFS_SOURCE="" 66CONFIG_INITRAMFS_SOURCE=""
67CONFIG_RD_GZIP=y
68# CONFIG_RD_BZIP2 is not set
69# CONFIG_RD_LZMA is not set
70CONFIG_CC_OPTIMIZE_FOR_SIZE=y 70CONFIG_CC_OPTIMIZE_FOR_SIZE=y
71CONFIG_SYSCTL=y 71CONFIG_SYSCTL=y
72CONFIG_ANON_INODES=y 72CONFIG_ANON_INODES=y
@@ -79,7 +79,7 @@ CONFIG_KALLSYMS=y
79CONFIG_HOTPLUG=y 79CONFIG_HOTPLUG=y
80CONFIG_PRINTK=y 80CONFIG_PRINTK=y
81CONFIG_BUG=y 81CONFIG_BUG=y
82# CONFIG_ELF_CORE is not set 82CONFIG_ELF_CORE=y
83CONFIG_BASE_FULL=y 83CONFIG_BASE_FULL=y
84CONFIG_FUTEX=y 84CONFIG_FUTEX=y
85CONFIG_EPOLL=y 85CONFIG_EPOLL=y
@@ -88,21 +88,29 @@ CONFIG_TIMERFD=y
88CONFIG_EVENTFD=y 88CONFIG_EVENTFD=y
89CONFIG_SHMEM=y 89CONFIG_SHMEM=y
90CONFIG_AIO=y 90CONFIG_AIO=y
91
92#
93# Performance Counters
94#
91CONFIG_VM_EVENT_COUNTERS=y 95CONFIG_VM_EVENT_COUNTERS=y
92CONFIG_SLUB_DEBUG=y 96# CONFIG_STRIP_ASM_SYMS is not set
93# CONFIG_COMPAT_BRK is not set 97CONFIG_COMPAT_BRK=y
94# CONFIG_SLAB is not set 98CONFIG_SLAB=y
95CONFIG_SLUB=y 99# CONFIG_SLUB is not set
96# CONFIG_SLOB is not set 100# CONFIG_SLOB is not set
97CONFIG_PROFILING=y 101# CONFIG_PROFILING is not set
98CONFIG_TRACEPOINTS=y
99# CONFIG_MARKERS is not set 102# CONFIG_MARKERS is not set
100CONFIG_OPROFILE=y
101CONFIG_HAVE_OPROFILE=y 103CONFIG_HAVE_OPROFILE=y
102# CONFIG_KPROBES is not set 104# CONFIG_KPROBES is not set
103CONFIG_HAVE_KPROBES=y 105CONFIG_HAVE_KPROBES=y
104CONFIG_HAVE_KRETPROBES=y 106CONFIG_HAVE_KRETPROBES=y
105CONFIG_HAVE_CLK=y 107CONFIG_HAVE_CLK=y
108
109#
110# GCOV-based kernel profiling
111#
112# CONFIG_GCOV_KERNEL is not set
113# CONFIG_SLOW_WORK is not set
106CONFIG_HAVE_GENERIC_DMA_COHERENT=y 114CONFIG_HAVE_GENERIC_DMA_COHERENT=y
107CONFIG_SLABINFO=y 115CONFIG_SLABINFO=y
108CONFIG_RT_MUTEXES=y 116CONFIG_RT_MUTEXES=y
@@ -110,12 +118,11 @@ CONFIG_BASE_SMALL=0
110CONFIG_MODULES=y 118CONFIG_MODULES=y
111# CONFIG_MODULE_FORCE_LOAD is not set 119# CONFIG_MODULE_FORCE_LOAD is not set
112CONFIG_MODULE_UNLOAD=y 120CONFIG_MODULE_UNLOAD=y
113CONFIG_MODULE_FORCE_UNLOAD=y 121# CONFIG_MODULE_FORCE_UNLOAD is not set
114CONFIG_MODVERSIONS=y 122CONFIG_MODVERSIONS=y
115CONFIG_MODULE_SRCVERSION_ALL=y 123CONFIG_MODULE_SRCVERSION_ALL=y
116CONFIG_BLOCK=y 124CONFIG_BLOCK=y
117CONFIG_LBD=y 125CONFIG_LBDAF=y
118# CONFIG_BLK_DEV_IO_TRACE is not set
119# CONFIG_BLK_DEV_BSG is not set 126# CONFIG_BLK_DEV_BSG is not set
120# CONFIG_BLK_DEV_INTEGRITY is not set 127# CONFIG_BLK_DEV_INTEGRITY is not set
121 128
@@ -126,11 +133,11 @@ CONFIG_IOSCHED_NOOP=y
126CONFIG_IOSCHED_AS=y 133CONFIG_IOSCHED_AS=y
127CONFIG_IOSCHED_DEADLINE=y 134CONFIG_IOSCHED_DEADLINE=y
128CONFIG_IOSCHED_CFQ=y 135CONFIG_IOSCHED_CFQ=y
129# CONFIG_DEFAULT_AS is not set 136CONFIG_DEFAULT_AS=y
130# CONFIG_DEFAULT_DEADLINE is not set 137# CONFIG_DEFAULT_DEADLINE is not set
131CONFIG_DEFAULT_CFQ=y 138# CONFIG_DEFAULT_CFQ is not set
132# CONFIG_DEFAULT_NOOP is not set 139# CONFIG_DEFAULT_NOOP is not set
133CONFIG_DEFAULT_IOSCHED="cfq" 140CONFIG_DEFAULT_IOSCHED="anticipatory"
134CONFIG_FREEZER=y 141CONFIG_FREEZER=y
135 142
136# 143#
@@ -142,12 +149,14 @@ CONFIG_FREEZER=y
142# CONFIG_ARCH_VERSATILE is not set 149# CONFIG_ARCH_VERSATILE is not set
143# CONFIG_ARCH_AT91 is not set 150# CONFIG_ARCH_AT91 is not set
144# CONFIG_ARCH_CLPS711X is not set 151# CONFIG_ARCH_CLPS711X is not set
152# CONFIG_ARCH_GEMINI is not set
145# CONFIG_ARCH_EBSA110 is not set 153# CONFIG_ARCH_EBSA110 is not set
146# CONFIG_ARCH_EP93XX is not set 154# CONFIG_ARCH_EP93XX is not set
147# CONFIG_ARCH_FOOTBRIDGE is not set 155# CONFIG_ARCH_FOOTBRIDGE is not set
156# CONFIG_ARCH_MXC is not set
157# CONFIG_ARCH_STMP3XXX is not set
148# CONFIG_ARCH_NETX is not set 158# CONFIG_ARCH_NETX is not set
149# CONFIG_ARCH_H720X is not set 159# CONFIG_ARCH_H720X is not set
150# CONFIG_ARCH_IMX is not set
151# CONFIG_ARCH_IOP13XX is not set 160# CONFIG_ARCH_IOP13XX is not set
152# CONFIG_ARCH_IOP32X is not set 161# CONFIG_ARCH_IOP32X is not set
153# CONFIG_ARCH_IOP33X is not set 162# CONFIG_ARCH_IOP33X is not set
@@ -156,24 +165,25 @@ CONFIG_FREEZER=y
156# CONFIG_ARCH_IXP4XX is not set 165# CONFIG_ARCH_IXP4XX is not set
157# CONFIG_ARCH_L7200 is not set 166# CONFIG_ARCH_L7200 is not set
158# CONFIG_ARCH_KIRKWOOD is not set 167# CONFIG_ARCH_KIRKWOOD is not set
159# CONFIG_ARCH_KS8695 is not set
160# CONFIG_ARCH_NS9XXX is not set
161# CONFIG_ARCH_LOKI is not set 168# CONFIG_ARCH_LOKI is not set
162# CONFIG_ARCH_MV78XX0 is not set 169# CONFIG_ARCH_MV78XX0 is not set
163# CONFIG_ARCH_MXC is not set
164# CONFIG_ARCH_ORION5X is not set 170# CONFIG_ARCH_ORION5X is not set
171# CONFIG_ARCH_MMP is not set
172# CONFIG_ARCH_KS8695 is not set
173# CONFIG_ARCH_NS9XXX is not set
174# CONFIG_ARCH_W90X900 is not set
165# CONFIG_ARCH_PNX4008 is not set 175# CONFIG_ARCH_PNX4008 is not set
166# CONFIG_ARCH_PXA is not set 176# CONFIG_ARCH_PXA is not set
177# CONFIG_ARCH_MSM is not set
167# CONFIG_ARCH_RPC is not set 178# CONFIG_ARCH_RPC is not set
168# CONFIG_ARCH_SA1100 is not set 179# CONFIG_ARCH_SA1100 is not set
169# CONFIG_ARCH_S3C2410 is not set 180# CONFIG_ARCH_S3C2410 is not set
170# CONFIG_ARCH_S3C64XX is not set 181# CONFIG_ARCH_S3C64XX is not set
171# CONFIG_ARCH_SHARK is not set 182# CONFIG_ARCH_SHARK is not set
172# CONFIG_ARCH_LH7A40X is not set 183# CONFIG_ARCH_LH7A40X is not set
184# CONFIG_ARCH_U300 is not set
173# CONFIG_ARCH_DAVINCI is not set 185# CONFIG_ARCH_DAVINCI is not set
174CONFIG_ARCH_OMAP=y 186CONFIG_ARCH_OMAP=y
175# CONFIG_ARCH_MSM is not set
176# CONFIG_ARCH_W90X900 is not set
177 187
178# 188#
179# TI OMAP Implementations 189# TI OMAP Implementations
@@ -182,17 +192,19 @@ CONFIG_ARCH_OMAP_OTG=y
182# CONFIG_ARCH_OMAP1 is not set 192# CONFIG_ARCH_OMAP1 is not set
183# CONFIG_ARCH_OMAP2 is not set 193# CONFIG_ARCH_OMAP2 is not set
184CONFIG_ARCH_OMAP3=y 194CONFIG_ARCH_OMAP3=y
195# CONFIG_ARCH_OMAP4 is not set
185 196
186# 197#
187# OMAP Feature Selections 198# OMAP Feature Selections
188# 199#
189# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set 200# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
190# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set 201# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
191# CONFIG_OMAP_RESET_CLOCKS is not set 202CONFIG_OMAP_RESET_CLOCKS=y
192CONFIG_OMAP_MUX=y 203CONFIG_OMAP_MUX=y
193CONFIG_OMAP_MUX_DEBUG=y 204CONFIG_OMAP_MUX_DEBUG=y
194CONFIG_OMAP_MUX_WARNINGS=y 205CONFIG_OMAP_MUX_WARNINGS=y
195CONFIG_OMAP_MCBSP=y 206CONFIG_OMAP_MCBSP=y
207# CONFIG_OMAP_MBOX_FWK is not set
196# CONFIG_OMAP_MPU_TIMER is not set 208# CONFIG_OMAP_MPU_TIMER is not set
197CONFIG_OMAP_32K_TIMER=y 209CONFIG_OMAP_32K_TIMER=y
198CONFIG_OMAP_32K_TIMER_HZ=128 210CONFIG_OMAP_32K_TIMER_HZ=128
@@ -200,7 +212,8 @@ CONFIG_OMAP_DM_TIMER=y
200CONFIG_OMAP_LL_DEBUG_UART1=y 212CONFIG_OMAP_LL_DEBUG_UART1=y
201# CONFIG_OMAP_LL_DEBUG_UART2 is not set 213# CONFIG_OMAP_LL_DEBUG_UART2 is not set
202# CONFIG_OMAP_LL_DEBUG_UART3 is not set 214# CONFIG_OMAP_LL_DEBUG_UART3 is not set
203CONFIG_OMAP_SERIAL_WAKE=y 215# CONFIG_OMAP_PM_NONE is not set
216CONFIG_OMAP_PM_NOOP=y
204CONFIG_ARCH_OMAP34XX=y 217CONFIG_ARCH_OMAP34XX=y
205CONFIG_ARCH_OMAP3430=y 218CONFIG_ARCH_OMAP3430=y
206 219
@@ -210,8 +223,11 @@ CONFIG_ARCH_OMAP3430=y
210# CONFIG_MACH_OMAP3_BEAGLE is not set 223# CONFIG_MACH_OMAP3_BEAGLE is not set
211# CONFIG_MACH_OMAP_LDP is not set 224# CONFIG_MACH_OMAP_LDP is not set
212# CONFIG_MACH_OVERO is not set 225# CONFIG_MACH_OVERO is not set
226# CONFIG_MACH_OMAP3EVM is not set
213# CONFIG_MACH_OMAP3_PANDORA is not set 227# CONFIG_MACH_OMAP3_PANDORA is not set
214CONFIG_MACH_OMAP_3430SDP=y 228CONFIG_MACH_OMAP_3430SDP=y
229# CONFIG_MACH_NOKIA_RX51 is not set
230# CONFIG_MACH_OMAP_ZOOM2 is not set
215 231
216# 232#
217# Processor Type 233# Processor Type
@@ -234,12 +250,15 @@ CONFIG_CPU_CP15_MMU=y
234# Processor Features 250# Processor Features
235# 251#
236CONFIG_ARM_THUMB=y 252CONFIG_ARM_THUMB=y
237CONFIG_ARM_THUMBEE=y 253# CONFIG_ARM_THUMBEE is not set
238# CONFIG_CPU_ICACHE_DISABLE is not set 254# CONFIG_CPU_ICACHE_DISABLE is not set
239# CONFIG_CPU_DCACHE_DISABLE is not set 255# CONFIG_CPU_DCACHE_DISABLE is not set
240# CONFIG_CPU_BPREDICT_DISABLE is not set 256# CONFIG_CPU_BPREDICT_DISABLE is not set
241CONFIG_HAS_TLS_REG=y 257CONFIG_HAS_TLS_REG=y
242# CONFIG_OUTER_CACHE is not set 258# CONFIG_ARM_ERRATA_430973 is not set
259# CONFIG_ARM_ERRATA_458693 is not set
260# CONFIG_ARM_ERRATA_460075 is not set
261CONFIG_COMMON_CLKDEV=y
243 262
244# 263#
245# Bus support 264# Bus support
@@ -262,10 +281,10 @@ CONFIG_PAGE_OFFSET=0xC0000000
262# CONFIG_PREEMPT is not set 281# CONFIG_PREEMPT is not set
263CONFIG_HZ=128 282CONFIG_HZ=128
264CONFIG_AEABI=y 283CONFIG_AEABI=y
265# CONFIG_OABI_COMPAT is not set 284CONFIG_OABI_COMPAT=y
266CONFIG_ARCH_FLATMEM_HAS_HOLES=y
267# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set 285# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
268# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set 286# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
287# CONFIG_HIGHMEM is not set
269CONFIG_SELECT_MEMORY_MODEL=y 288CONFIG_SELECT_MEMORY_MODEL=y
270CONFIG_FLATMEM_MANUAL=y 289CONFIG_FLATMEM_MANUAL=y
271# CONFIG_DISCONTIGMEM_MANUAL is not set 290# CONFIG_DISCONTIGMEM_MANUAL is not set
@@ -277,9 +296,12 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
277# CONFIG_PHYS_ADDR_T_64BIT is not set 296# CONFIG_PHYS_ADDR_T_64BIT is not set
278CONFIG_ZONE_DMA_FLAG=0 297CONFIG_ZONE_DMA_FLAG=0
279CONFIG_VIRT_TO_BUS=y 298CONFIG_VIRT_TO_BUS=y
280CONFIG_UNEVICTABLE_LRU=y 299CONFIG_HAVE_MLOCK=y
281CONFIG_LEDS=y 300CONFIG_HAVE_MLOCKED_PAGE_BIT=y
301CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
302# CONFIG_LEDS is not set
282CONFIG_ALIGNMENT_TRAP=y 303CONFIG_ALIGNMENT_TRAP=y
304# CONFIG_UACCESS_WITH_MEMCPY is not set
283 305
284# 306#
285# Boot options 307# Boot options
@@ -288,8 +310,7 @@ CONFIG_ZBOOT_ROM_TEXT=0x0
288CONFIG_ZBOOT_ROM_BSS=0x0 310CONFIG_ZBOOT_ROM_BSS=0x0
289CONFIG_CMDLINE="console=ttyS2,115200 root=/dev/mmcblk0p3 rootwait debug" 311CONFIG_CMDLINE="console=ttyS2,115200 root=/dev/mmcblk0p3 rootwait debug"
290# CONFIG_XIP_KERNEL is not set 312# CONFIG_XIP_KERNEL is not set
291CONFIG_KEXEC=y 313# CONFIG_KEXEC is not set
292CONFIG_ATAGS_PROC=y
293 314
294# 315#
295# CPU Power Management 316# CPU Power Management
@@ -318,6 +339,9 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y
318# 339#
319# At least one emulation must be selected 340# At least one emulation must be selected
320# 341#
342CONFIG_FPE_NWFPE=y
343# CONFIG_FPE_NWFPE_XP is not set
344# CONFIG_FPE_FASTFPE is not set
321CONFIG_VFP=y 345CONFIG_VFP=y
322CONFIG_VFPv3=y 346CONFIG_VFPv3=y
323CONFIG_NEON=y 347CONFIG_NEON=y
@@ -326,8 +350,9 @@ CONFIG_NEON=y
326# Userspace binary formats 350# Userspace binary formats
327# 351#
328CONFIG_BINFMT_ELF=y 352CONFIG_BINFMT_ELF=y
353# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
329CONFIG_HAVE_AOUT=y 354CONFIG_HAVE_AOUT=y
330CONFIG_BINFMT_AOUT=m 355# CONFIG_BINFMT_AOUT is not set
331CONFIG_BINFMT_MISC=y 356CONFIG_BINFMT_MISC=y
332 357
333# 358#
@@ -345,9 +370,8 @@ CONFIG_NET=y
345# 370#
346# Networking options 371# Networking options
347# 372#
348CONFIG_COMPAT_NET_DEV_OPS=y
349CONFIG_PACKET=y 373CONFIG_PACKET=y
350CONFIG_PACKET_MMAP=y 374# CONFIG_PACKET_MMAP is not set
351CONFIG_UNIX=y 375CONFIG_UNIX=y
352CONFIG_XFRM=y 376CONFIG_XFRM=y
353# CONFIG_XFRM_USER is not set 377# CONFIG_XFRM_USER is not set
@@ -372,7 +396,7 @@ CONFIG_IP_PNP_RARP=y
372# CONFIG_INET_ESP is not set 396# CONFIG_INET_ESP is not set
373# CONFIG_INET_IPCOMP is not set 397# CONFIG_INET_IPCOMP is not set
374# CONFIG_INET_XFRM_TUNNEL is not set 398# CONFIG_INET_XFRM_TUNNEL is not set
375CONFIG_INET_TUNNEL=m 399# CONFIG_INET_TUNNEL is not set
376CONFIG_INET_XFRM_MODE_TRANSPORT=y 400CONFIG_INET_XFRM_MODE_TRANSPORT=y
377CONFIG_INET_XFRM_MODE_TUNNEL=y 401CONFIG_INET_XFRM_MODE_TUNNEL=y
378CONFIG_INET_XFRM_MODE_BEET=y 402CONFIG_INET_XFRM_MODE_BEET=y
@@ -383,25 +407,7 @@ CONFIG_INET_TCP_DIAG=y
383CONFIG_TCP_CONG_CUBIC=y 407CONFIG_TCP_CONG_CUBIC=y
384CONFIG_DEFAULT_TCP_CONG="cubic" 408CONFIG_DEFAULT_TCP_CONG="cubic"
385# CONFIG_TCP_MD5SIG is not set 409# CONFIG_TCP_MD5SIG is not set
386CONFIG_IPV6=m 410# CONFIG_IPV6 is not set
387# CONFIG_IPV6_PRIVACY is not set
388# CONFIG_IPV6_ROUTER_PREF is not set
389# CONFIG_IPV6_OPTIMISTIC_DAD is not set
390# CONFIG_INET6_AH is not set
391# CONFIG_INET6_ESP is not set
392# CONFIG_INET6_IPCOMP is not set
393# CONFIG_IPV6_MIP6 is not set
394# CONFIG_INET6_XFRM_TUNNEL is not set
395# CONFIG_INET6_TUNNEL is not set
396CONFIG_INET6_XFRM_MODE_TRANSPORT=m
397CONFIG_INET6_XFRM_MODE_TUNNEL=m
398CONFIG_INET6_XFRM_MODE_BEET=m
399# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
400CONFIG_IPV6_SIT=m
401CONFIG_IPV6_NDISC_NODETYPE=y
402# CONFIG_IPV6_TUNNEL is not set
403# CONFIG_IPV6_MULTIPLE_TABLES is not set
404# CONFIG_IPV6_MROUTE is not set
405# CONFIG_NETWORK_SECMARK is not set 411# CONFIG_NETWORK_SECMARK is not set
406# CONFIG_NETFILTER is not set 412# CONFIG_NETFILTER is not set
407# CONFIG_IP_DCCP is not set 413# CONFIG_IP_DCCP is not set
@@ -419,6 +425,8 @@ CONFIG_IPV6_NDISC_NODETYPE=y
419# CONFIG_LAPB is not set 425# CONFIG_LAPB is not set
420# CONFIG_ECONET is not set 426# CONFIG_ECONET is not set
421# CONFIG_WAN_ROUTER is not set 427# CONFIG_WAN_ROUTER is not set
428# CONFIG_PHONET is not set
429# CONFIG_IEEE802154 is not set
422# CONFIG_NET_SCHED is not set 430# CONFIG_NET_SCHED is not set
423# CONFIG_DCB is not set 431# CONFIG_DCB is not set
424 432
@@ -429,56 +437,9 @@ CONFIG_IPV6_NDISC_NODETYPE=y
429# CONFIG_HAMRADIO is not set 437# CONFIG_HAMRADIO is not set
430# CONFIG_CAN is not set 438# CONFIG_CAN is not set
431# CONFIG_IRDA is not set 439# CONFIG_IRDA is not set
432CONFIG_BT=y 440# CONFIG_BT is not set
433CONFIG_BT_L2CAP=y
434CONFIG_BT_SCO=y
435CONFIG_BT_RFCOMM=y
436CONFIG_BT_RFCOMM_TTY=y
437CONFIG_BT_BNEP=y
438CONFIG_BT_BNEP_MC_FILTER=y
439CONFIG_BT_BNEP_PROTO_FILTER=y
440CONFIG_BT_HIDP=y
441
442#
443# Bluetooth device drivers
444#
445# CONFIG_BT_HCIBTUSB is not set
446# CONFIG_BT_HCIBTSDIO is not set
447CONFIG_BT_HCIUART=y
448CONFIG_BT_HCIUART_H4=y
449CONFIG_BT_HCIUART_BCSP=y
450# CONFIG_BT_HCIUART_LL is not set
451CONFIG_BT_HCIBCM203X=y
452CONFIG_BT_HCIBPA10X=y
453# CONFIG_BT_HCIBFUSB is not set
454# CONFIG_BT_HCIVHCI is not set
455# CONFIG_AF_RXRPC is not set 441# CONFIG_AF_RXRPC is not set
456# CONFIG_PHONET is not set 442# CONFIG_WIRELESS is not set
457CONFIG_WIRELESS=y
458CONFIG_CFG80211=y
459# CONFIG_CFG80211_REG_DEBUG is not set
460CONFIG_NL80211=y
461CONFIG_WIRELESS_OLD_REGULATORY=y
462CONFIG_WIRELESS_EXT=y
463CONFIG_WIRELESS_EXT_SYSFS=y
464CONFIG_LIB80211=y
465CONFIG_LIB80211_CRYPT_WEP=m
466CONFIG_LIB80211_CRYPT_CCMP=m
467CONFIG_LIB80211_CRYPT_TKIP=m
468CONFIG_MAC80211=y
469
470#
471# Rate control algorithm selection
472#
473CONFIG_MAC80211_RC_PID=y
474# CONFIG_MAC80211_RC_MINSTREL is not set
475CONFIG_MAC80211_RC_DEFAULT_PID=y
476# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
477CONFIG_MAC80211_RC_DEFAULT="pid"
478# CONFIG_MAC80211_MESH is not set
479CONFIG_MAC80211_LEDS=y
480# CONFIG_MAC80211_DEBUGFS is not set
481# CONFIG_MAC80211_DEBUG_MENU is not set
482# CONFIG_WIMAX is not set 443# CONFIG_WIMAX is not set
483# CONFIG_RFKILL is not set 444# CONFIG_RFKILL is not set
484# CONFIG_NET_9P is not set 445# CONFIG_NET_9P is not set
@@ -493,9 +454,7 @@ CONFIG_MAC80211_LEDS=y
493CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 454CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
494CONFIG_STANDALONE=y 455CONFIG_STANDALONE=y
495CONFIG_PREVENT_FIRMWARE_BUILD=y 456CONFIG_PREVENT_FIRMWARE_BUILD=y
496CONFIG_FW_LOADER=y 457# CONFIG_FW_LOADER is not set
497CONFIG_FIRMWARE_IN_KERNEL=y
498CONFIG_EXTRA_FIRMWARE=""
499# CONFIG_DEBUG_DRIVER is not set 458# CONFIG_DEBUG_DRIVER is not set
500# CONFIG_DEBUG_DEVRES is not set 459# CONFIG_DEBUG_DEVRES is not set
501# CONFIG_SYS_HYPERVISOR is not set 460# CONFIG_SYS_HYPERVISOR is not set
@@ -506,7 +465,7 @@ CONFIG_MTD_CONCAT=y
506CONFIG_MTD_PARTITIONS=y 465CONFIG_MTD_PARTITIONS=y
507# CONFIG_MTD_TESTS is not set 466# CONFIG_MTD_TESTS is not set
508# CONFIG_MTD_REDBOOT_PARTS is not set 467# CONFIG_MTD_REDBOOT_PARTS is not set
509# CONFIG_MTD_CMDLINE_PARTS is not set 468CONFIG_MTD_CMDLINE_PARTS=y
510# CONFIG_MTD_AFS_PARTS is not set 469# CONFIG_MTD_AFS_PARTS is not set
511# CONFIG_MTD_AR7_PARTS is not set 470# CONFIG_MTD_AR7_PARTS is not set
512 471
@@ -526,8 +485,10 @@ CONFIG_MTD_BLOCK=y
526# 485#
527# RAM/ROM/Flash chip drivers 486# RAM/ROM/Flash chip drivers
528# 487#
529# CONFIG_MTD_CFI is not set 488CONFIG_MTD_CFI=y
530# CONFIG_MTD_JEDECPROBE is not set 489# CONFIG_MTD_JEDECPROBE is not set
490CONFIG_MTD_GEN_PROBE=y
491# CONFIG_MTD_CFI_ADV_OPTIONS is not set
531CONFIG_MTD_MAP_BANK_WIDTH_1=y 492CONFIG_MTD_MAP_BANK_WIDTH_1=y
532CONFIG_MTD_MAP_BANK_WIDTH_2=y 493CONFIG_MTD_MAP_BANK_WIDTH_2=y
533CONFIG_MTD_MAP_BANK_WIDTH_4=y 494CONFIG_MTD_MAP_BANK_WIDTH_4=y
@@ -538,6 +499,10 @@ CONFIG_MTD_CFI_I1=y
538CONFIG_MTD_CFI_I2=y 499CONFIG_MTD_CFI_I2=y
539# CONFIG_MTD_CFI_I4 is not set 500# CONFIG_MTD_CFI_I4 is not set
540# CONFIG_MTD_CFI_I8 is not set 501# CONFIG_MTD_CFI_I8 is not set
502CONFIG_MTD_CFI_INTELEXT=y
503# CONFIG_MTD_CFI_AMDSTD is not set
504# CONFIG_MTD_CFI_STAA is not set
505CONFIG_MTD_CFI_UTIL=y
541# CONFIG_MTD_RAM is not set 506# CONFIG_MTD_RAM is not set
542# CONFIG_MTD_ROM is not set 507# CONFIG_MTD_ROM is not set
543# CONFIG_MTD_ABSENT is not set 508# CONFIG_MTD_ABSENT is not set
@@ -546,6 +511,9 @@ CONFIG_MTD_CFI_I2=y
546# Mapping drivers for chip access 511# Mapping drivers for chip access
547# 512#
548# CONFIG_MTD_COMPLEX_MAPPINGS is not set 513# CONFIG_MTD_COMPLEX_MAPPINGS is not set
514# CONFIG_MTD_PHYSMAP is not set
515# CONFIG_MTD_ARM_INTEGRATOR is not set
516CONFIG_MTD_OMAP_NOR=y
549# CONFIG_MTD_PLATRAM is not set 517# CONFIG_MTD_PLATRAM is not set
550 518
551# 519#
@@ -569,6 +537,7 @@ CONFIG_MTD_NAND=y
569# CONFIG_MTD_NAND_ECC_SMC is not set 537# CONFIG_MTD_NAND_ECC_SMC is not set
570# CONFIG_MTD_NAND_MUSEUM_IDS is not set 538# CONFIG_MTD_NAND_MUSEUM_IDS is not set
571# CONFIG_MTD_NAND_GPIO is not set 539# CONFIG_MTD_NAND_GPIO is not set
540# CONFIG_MTD_NAND_OMAP2 is not set
572CONFIG_MTD_NAND_IDS=y 541CONFIG_MTD_NAND_IDS=y
573# CONFIG_MTD_NAND_DISKONCHIP is not set 542# CONFIG_MTD_NAND_DISKONCHIP is not set
574# CONFIG_MTD_NAND_NANDSIM is not set 543# CONFIG_MTD_NAND_NANDSIM is not set
@@ -589,20 +558,21 @@ CONFIG_MTD_NAND_IDS=y
589CONFIG_BLK_DEV=y 558CONFIG_BLK_DEV=y
590# CONFIG_BLK_DEV_COW_COMMON is not set 559# CONFIG_BLK_DEV_COW_COMMON is not set
591CONFIG_BLK_DEV_LOOP=y 560CONFIG_BLK_DEV_LOOP=y
592CONFIG_BLK_DEV_CRYPTOLOOP=m 561# CONFIG_BLK_DEV_CRYPTOLOOP is not set
593# CONFIG_BLK_DEV_NBD is not set 562# CONFIG_BLK_DEV_NBD is not set
594# CONFIG_BLK_DEV_UB is not set 563# CONFIG_BLK_DEV_UB is not set
595CONFIG_BLK_DEV_RAM=y 564CONFIG_BLK_DEV_RAM=y
596CONFIG_BLK_DEV_RAM_COUNT=16 565CONFIG_BLK_DEV_RAM_COUNT=16
597CONFIG_BLK_DEV_RAM_SIZE=16384 566CONFIG_BLK_DEV_RAM_SIZE=16384
598# CONFIG_BLK_DEV_XIP is not set 567# CONFIG_BLK_DEV_XIP is not set
599CONFIG_CDROM_PKTCDVD=m 568# CONFIG_CDROM_PKTCDVD is not set
600CONFIG_CDROM_PKTCDVD_BUFFERS=8
601# CONFIG_CDROM_PKTCDVD_WCACHE is not set
602# CONFIG_ATA_OVER_ETH is not set 569# CONFIG_ATA_OVER_ETH is not set
570# CONFIG_MG_DISK is not set
603CONFIG_MISC_DEVICES=y 571CONFIG_MISC_DEVICES=y
604# CONFIG_ICS932S401 is not set 572# CONFIG_ICS932S401 is not set
573# CONFIG_OMAP_STI is not set
605# CONFIG_ENCLOSURE_SERVICES is not set 574# CONFIG_ENCLOSURE_SERVICES is not set
575# CONFIG_ISL29003 is not set
606# CONFIG_C2PORT is not set 576# CONFIG_C2PORT is not set
607 577
608# 578#
@@ -611,14 +581,15 @@ CONFIG_MISC_DEVICES=y
611# CONFIG_EEPROM_AT24 is not set 581# CONFIG_EEPROM_AT24 is not set
612# CONFIG_EEPROM_AT25 is not set 582# CONFIG_EEPROM_AT25 is not set
613# CONFIG_EEPROM_LEGACY is not set 583# CONFIG_EEPROM_LEGACY is not set
614CONFIG_EEPROM_93CX6=m 584# CONFIG_EEPROM_MAX6875 is not set
585# CONFIG_EEPROM_93CX6 is not set
615CONFIG_HAVE_IDE=y 586CONFIG_HAVE_IDE=y
616# CONFIG_IDE is not set 587# CONFIG_IDE is not set
617 588
618# 589#
619# SCSI device support 590# SCSI device support
620# 591#
621CONFIG_RAID_ATTRS=m 592# CONFIG_RAID_ATTRS is not set
622CONFIG_SCSI=y 593CONFIG_SCSI=y
623CONFIG_SCSI_DMA=y 594CONFIG_SCSI_DMA=y
624# CONFIG_SCSI_TGT is not set 595# CONFIG_SCSI_TGT is not set
@@ -632,12 +603,8 @@ CONFIG_BLK_DEV_SD=y
632# CONFIG_CHR_DEV_ST is not set 603# CONFIG_CHR_DEV_ST is not set
633# CONFIG_CHR_DEV_OSST is not set 604# CONFIG_CHR_DEV_OSST is not set
634# CONFIG_BLK_DEV_SR is not set 605# CONFIG_BLK_DEV_SR is not set
635CONFIG_CHR_DEV_SG=m 606# CONFIG_CHR_DEV_SG is not set
636# CONFIG_CHR_DEV_SCH is not set 607# CONFIG_CHR_DEV_SCH is not set
637
638#
639# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
640#
641CONFIG_SCSI_MULTI_LUN=y 608CONFIG_SCSI_MULTI_LUN=y
642# CONFIG_SCSI_CONSTANTS is not set 609# CONFIG_SCSI_CONSTANTS is not set
643# CONFIG_SCSI_LOGGING is not set 610# CONFIG_SCSI_LOGGING is not set
@@ -655,34 +622,18 @@ CONFIG_SCSI_WAIT_SCAN=m
655CONFIG_SCSI_LOWLEVEL=y 622CONFIG_SCSI_LOWLEVEL=y
656# CONFIG_ISCSI_TCP is not set 623# CONFIG_ISCSI_TCP is not set
657# CONFIG_LIBFC is not set 624# CONFIG_LIBFC is not set
625# CONFIG_LIBFCOE is not set
658# CONFIG_SCSI_DEBUG is not set 626# CONFIG_SCSI_DEBUG is not set
659# CONFIG_SCSI_DH is not set 627# CONFIG_SCSI_DH is not set
628# CONFIG_SCSI_OSD_INITIATOR is not set
660# CONFIG_ATA is not set 629# CONFIG_ATA is not set
661CONFIG_MD=y 630# CONFIG_MD is not set
662CONFIG_BLK_DEV_MD=m
663CONFIG_MD_LINEAR=m
664CONFIG_MD_RAID0=m
665CONFIG_MD_RAID1=m
666CONFIG_MD_RAID10=m
667CONFIG_MD_RAID456=m
668CONFIG_MD_RAID5_RESHAPE=y
669CONFIG_MD_MULTIPATH=m
670CONFIG_MD_FAULTY=m
671CONFIG_BLK_DEV_DM=m
672# CONFIG_DM_DEBUG is not set
673CONFIG_DM_CRYPT=m
674CONFIG_DM_SNAPSHOT=m
675CONFIG_DM_MIRROR=m
676CONFIG_DM_ZERO=m
677CONFIG_DM_MULTIPATH=m
678CONFIG_DM_DELAY=m
679# CONFIG_DM_UEVENT is not set
680CONFIG_NETDEVICES=y 631CONFIG_NETDEVICES=y
681CONFIG_DUMMY=m 632# CONFIG_DUMMY is not set
682# CONFIG_BONDING is not set 633# CONFIG_BONDING is not set
683# CONFIG_MACVLAN is not set 634# CONFIG_MACVLAN is not set
684# CONFIG_EQUALIZER is not set 635# CONFIG_EQUALIZER is not set
685CONFIG_TUN=m 636# CONFIG_TUN is not set
686# CONFIG_VETH is not set 637# CONFIG_VETH is not set
687CONFIG_PHYLIB=y 638CONFIG_PHYLIB=y
688 639
@@ -695,7 +646,7 @@ CONFIG_PHYLIB=y
695# CONFIG_LXT_PHY is not set 646# CONFIG_LXT_PHY is not set
696# CONFIG_CICADA_PHY is not set 647# CONFIG_CICADA_PHY is not set
697# CONFIG_VITESSE_PHY is not set 648# CONFIG_VITESSE_PHY is not set
698CONFIG_SMSC_PHY=y 649# CONFIG_SMSC_PHY is not set
699# CONFIG_BROADCOM_PHY is not set 650# CONFIG_BROADCOM_PHY is not set
700# CONFIG_ICPLUS_PHY is not set 651# CONFIG_ICPLUS_PHY is not set
701# CONFIG_REALTEK_PHY is not set 652# CONFIG_REALTEK_PHY is not set
@@ -710,8 +661,10 @@ CONFIG_MII=y
710CONFIG_SMC91X=y 661CONFIG_SMC91X=y
711# CONFIG_DM9000 is not set 662# CONFIG_DM9000 is not set
712# CONFIG_ENC28J60 is not set 663# CONFIG_ENC28J60 is not set
713CONFIG_SMC911X=m 664# CONFIG_ETHOC is not set
714CONFIG_SMSC911X=m 665# CONFIG_SMC911X is not set
666# CONFIG_SMSC911X is not set
667# CONFIG_DNET is not set
715# CONFIG_IBM_NEW_EMAC_ZMII is not set 668# CONFIG_IBM_NEW_EMAC_ZMII is not set
716# CONFIG_IBM_NEW_EMAC_RGMII is not set 669# CONFIG_IBM_NEW_EMAC_RGMII is not set
717# CONFIG_IBM_NEW_EMAC_TAH is not set 670# CONFIG_IBM_NEW_EMAC_TAH is not set
@@ -720,33 +673,16 @@ CONFIG_SMSC911X=m
720# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set 673# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
721# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set 674# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
722# CONFIG_B44 is not set 675# CONFIG_B44 is not set
723# CONFIG_NETDEV_1000 is not set 676# CONFIG_KS8842 is not set
724# CONFIG_NETDEV_10000 is not set 677# CONFIG_KS8851 is not set
678CONFIG_NETDEV_1000=y
679CONFIG_NETDEV_10000=y
725 680
726# 681#
727# Wireless LAN 682# Wireless LAN
728# 683#
729# CONFIG_WLAN_PRE80211 is not set 684# CONFIG_WLAN_PRE80211 is not set
730CONFIG_WLAN_80211=y 685# CONFIG_WLAN_80211 is not set
731CONFIG_LIBERTAS=y
732CONFIG_LIBERTAS_USB=y
733CONFIG_LIBERTAS_SDIO=y
734CONFIG_LIBERTAS_DEBUG=y
735# CONFIG_LIBERTAS_THINFIRM is not set
736CONFIG_USB_ZD1201=m
737# CONFIG_USB_NET_RNDIS_WLAN is not set
738CONFIG_RTL8187=m
739# CONFIG_MAC80211_HWSIM is not set
740CONFIG_P54_COMMON=m
741CONFIG_P54_USB=m
742# CONFIG_IWLWIFI_LEDS is not set
743CONFIG_HOSTAP=m
744CONFIG_HOSTAP_FIRMWARE=y
745CONFIG_HOSTAP_FIRMWARE_NVRAM=y
746# CONFIG_B43 is not set
747# CONFIG_B43LEGACY is not set
748# CONFIG_ZD1211RW is not set
749# CONFIG_RT2X00 is not set
750 686
751# 687#
752# Enable WiMAX (Networking options) to see the WiMAX drivers 688# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -755,41 +691,14 @@ CONFIG_HOSTAP_FIRMWARE_NVRAM=y
755# 691#
756# USB Network Adapters 692# USB Network Adapters
757# 693#
758CONFIG_USB_CATC=m 694# CONFIG_USB_CATC is not set
759CONFIG_USB_KAWETH=m 695# CONFIG_USB_KAWETH is not set
760CONFIG_USB_PEGASUS=m 696# CONFIG_USB_PEGASUS is not set
761CONFIG_USB_RTL8150=m 697# CONFIG_USB_RTL8150 is not set
762CONFIG_USB_USBNET=y 698# CONFIG_USB_USBNET is not set
763CONFIG_USB_NET_AX8817X=y
764CONFIG_USB_NET_CDCETHER=y
765CONFIG_USB_NET_DM9601=m
766# CONFIG_USB_NET_SMSC95XX is not set
767CONFIG_USB_NET_GL620A=m
768CONFIG_USB_NET_NET1080=m
769CONFIG_USB_NET_PLUSB=m
770CONFIG_USB_NET_MCS7830=m
771CONFIG_USB_NET_RNDIS_HOST=m
772CONFIG_USB_NET_CDC_SUBSET=m
773CONFIG_USB_ALI_M5632=y
774CONFIG_USB_AN2720=y
775CONFIG_USB_BELKIN=y
776CONFIG_USB_ARMLINUX=y
777CONFIG_USB_EPSON2888=y
778CONFIG_USB_KC2190=y
779CONFIG_USB_NET_ZAURUS=m
780# CONFIG_WAN is not set 699# CONFIG_WAN is not set
781CONFIG_PPP=m 700# CONFIG_PPP is not set
782# CONFIG_PPP_MULTILINK is not set
783# CONFIG_PPP_FILTER is not set
784CONFIG_PPP_ASYNC=m
785CONFIG_PPP_SYNC_TTY=m
786CONFIG_PPP_DEFLATE=m
787CONFIG_PPP_BSDCOMP=m
788CONFIG_PPP_MPPE=m
789CONFIG_PPPOE=m
790# CONFIG_PPPOL2TP is not set
791# CONFIG_SLIP is not set 701# CONFIG_SLIP is not set
792CONFIG_SLHC=m
793# CONFIG_NETCONSOLE is not set 702# CONFIG_NETCONSOLE is not set
794# CONFIG_NETPOLL is not set 703# CONFIG_NETPOLL is not set
795# CONFIG_NET_POLL_CONTROLLER is not set 704# CONFIG_NET_POLL_CONTROLLER is not set
@@ -805,10 +714,7 @@ CONFIG_INPUT=y
805# 714#
806# Userland interfaces 715# Userland interfaces
807# 716#
808CONFIG_INPUT_MOUSEDEV=y 717# CONFIG_INPUT_MOUSEDEV is not set
809CONFIG_INPUT_MOUSEDEV_PSAUX=y
810CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
811CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
812# CONFIG_INPUT_JOYDEV is not set 718# CONFIG_INPUT_JOYDEV is not set
813CONFIG_INPUT_EVDEV=y 719CONFIG_INPUT_EVDEV=y
814# CONFIG_INPUT_EVBUG is not set 720# CONFIG_INPUT_EVBUG is not set
@@ -818,47 +724,54 @@ CONFIG_INPUT_EVDEV=y
818# 724#
819CONFIG_INPUT_KEYBOARD=y 725CONFIG_INPUT_KEYBOARD=y
820# CONFIG_KEYBOARD_ATKBD is not set 726# CONFIG_KEYBOARD_ATKBD is not set
821# CONFIG_KEYBOARD_SUNKBD is not set
822# CONFIG_KEYBOARD_LKKBD is not set 727# CONFIG_KEYBOARD_LKKBD is not set
823# CONFIG_KEYBOARD_XTKBD is not set 728# CONFIG_KEYBOARD_GPIO is not set
729# CONFIG_KEYBOARD_MATRIX is not set
730# CONFIG_KEYBOARD_LM8323 is not set
824# CONFIG_KEYBOARD_NEWTON is not set 731# CONFIG_KEYBOARD_NEWTON is not set
825# CONFIG_KEYBOARD_STOWAWAY is not set 732# CONFIG_KEYBOARD_STOWAWAY is not set
826# CONFIG_KEYBOARD_GPIO is not set 733# CONFIG_KEYBOARD_SUNKBD is not set
827CONFIG_INPUT_MOUSE=y 734# CONFIG_KEYBOARD_XTKBD is not set
828CONFIG_MOUSE_PS2=y 735# CONFIG_INPUT_MOUSE is not set
829CONFIG_MOUSE_PS2_ALPS=y
830CONFIG_MOUSE_PS2_LOGIPS2PP=y
831CONFIG_MOUSE_PS2_SYNAPTICS=y
832CONFIG_MOUSE_PS2_TRACKPOINT=y
833# CONFIG_MOUSE_PS2_ELANTECH is not set
834# CONFIG_MOUSE_PS2_TOUCHKIT is not set
835# CONFIG_MOUSE_SERIAL is not set
836# CONFIG_MOUSE_APPLETOUCH is not set
837# CONFIG_MOUSE_BCM5974 is not set
838# CONFIG_MOUSE_VSXXXAA is not set
839# CONFIG_MOUSE_GPIO is not set
840# CONFIG_INPUT_JOYSTICK is not set 736# CONFIG_INPUT_JOYSTICK is not set
841# CONFIG_INPUT_TABLET is not set 737# CONFIG_INPUT_TABLET is not set
842# CONFIG_INPUT_TOUCHSCREEN is not set 738CONFIG_INPUT_TOUCHSCREEN=y
739CONFIG_TOUCHSCREEN_ADS7846=y
740# CONFIG_TOUCHSCREEN_AD7877 is not set
741# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
742# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
743# CONFIG_TOUCHSCREEN_AD7879 is not set
744# CONFIG_TOUCHSCREEN_EETI is not set
745# CONFIG_TOUCHSCREEN_FUJITSU is not set
746# CONFIG_TOUCHSCREEN_GUNZE is not set
747# CONFIG_TOUCHSCREEN_ELO is not set
748# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
749# CONFIG_TOUCHSCREEN_MTOUCH is not set
750# CONFIG_TOUCHSCREEN_INEXIO is not set
751# CONFIG_TOUCHSCREEN_MK712 is not set
752# CONFIG_TOUCHSCREEN_PENMOUNT is not set
753# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
754# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
755# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
756# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
757# CONFIG_TOUCHSCREEN_TSC2007 is not set
758# CONFIG_TOUCHSCREEN_W90X900 is not set
843# CONFIG_INPUT_MISC is not set 759# CONFIG_INPUT_MISC is not set
844 760
845# 761#
846# Hardware I/O ports 762# Hardware I/O ports
847# 763#
848CONFIG_SERIO=y 764# CONFIG_SERIO is not set
849CONFIG_SERIO_SERPORT=y
850CONFIG_SERIO_LIBPS2=y
851# CONFIG_SERIO_RAW is not set
852# CONFIG_GAMEPORT is not set 765# CONFIG_GAMEPORT is not set
853 766
854# 767#
855# Character devices 768# Character devices
856# 769#
857CONFIG_VT=y 770CONFIG_VT=y
858CONFIG_CONSOLE_TRANSLATIONS=y 771# CONFIG_CONSOLE_TRANSLATIONS is not set
859CONFIG_VT_CONSOLE=y 772CONFIG_VT_CONSOLE=y
860CONFIG_HW_CONSOLE=y 773CONFIG_HW_CONSOLE=y
861CONFIG_VT_HW_CONSOLE_BINDING=y 774# CONFIG_VT_HW_CONSOLE_BINDING is not set
862CONFIG_DEVKMEM=y 775CONFIG_DEVKMEM=y
863# CONFIG_SERIAL_NONSTANDARD is not set 776# CONFIG_SERIAL_NONSTANDARD is not set
864 777
@@ -878,6 +791,7 @@ CONFIG_SERIAL_8250_RSA=y
878# 791#
879# Non-8250 serial port support 792# Non-8250 serial port support
880# 793#
794# CONFIG_SERIAL_MAX3100 is not set
881CONFIG_SERIAL_CORE=y 795CONFIG_SERIAL_CORE=y
882CONFIG_SERIAL_CORE_CONSOLE=y 796CONFIG_SERIAL_CORE_CONSOLE=y
883CONFIG_UNIX98_PTYS=y 797CONFIG_UNIX98_PTYS=y
@@ -885,6 +799,7 @@ CONFIG_UNIX98_PTYS=y
885# CONFIG_LEGACY_PTYS is not set 799# CONFIG_LEGACY_PTYS is not set
886# CONFIG_IPMI_HANDLER is not set 800# CONFIG_IPMI_HANDLER is not set
887CONFIG_HW_RANDOM=y 801CONFIG_HW_RANDOM=y
802# CONFIG_HW_RANDOM_TIMERIOMEM is not set
888# CONFIG_R3964 is not set 803# CONFIG_R3964 is not set
889# CONFIG_RAW_DRIVER is not set 804# CONFIG_RAW_DRIVER is not set
890# CONFIG_TCG_TPM is not set 805# CONFIG_TCG_TPM is not set
@@ -900,6 +815,7 @@ CONFIG_I2C_HELPER_AUTO=y
900# 815#
901# I2C system bus drivers (mostly embedded / system-on-chip) 816# I2C system bus drivers (mostly embedded / system-on-chip)
902# 817#
818# CONFIG_I2C_DESIGNWARE is not set
903# CONFIG_I2C_GPIO is not set 819# CONFIG_I2C_GPIO is not set
904# CONFIG_I2C_OCORES is not set 820# CONFIG_I2C_OCORES is not set
905CONFIG_I2C_OMAP=y 821CONFIG_I2C_OMAP=y
@@ -925,8 +841,6 @@ CONFIG_I2C_OMAP=y
925# CONFIG_SENSORS_PCF8574 is not set 841# CONFIG_SENSORS_PCF8574 is not set
926# CONFIG_PCF8575 is not set 842# CONFIG_PCF8575 is not set
927# CONFIG_SENSORS_PCA9539 is not set 843# CONFIG_SENSORS_PCA9539 is not set
928# CONFIG_SENSORS_PCF8591 is not set
929# CONFIG_SENSORS_MAX6875 is not set
930# CONFIG_SENSORS_TSL2550 is not set 844# CONFIG_SENSORS_TSL2550 is not set
931# CONFIG_I2C_DEBUG_CORE is not set 845# CONFIG_I2C_DEBUG_CORE is not set
932# CONFIG_I2C_DEBUG_ALGO is not set 846# CONFIG_I2C_DEBUG_ALGO is not set
@@ -975,68 +889,8 @@ CONFIG_GPIO_TWL4030=y
975# CONFIG_GPIO_MAX7301 is not set 889# CONFIG_GPIO_MAX7301 is not set
976# CONFIG_GPIO_MCP23S08 is not set 890# CONFIG_GPIO_MCP23S08 is not set
977# CONFIG_W1 is not set 891# CONFIG_W1 is not set
978CONFIG_POWER_SUPPLY=m 892# CONFIG_POWER_SUPPLY is not set
979# CONFIG_POWER_SUPPLY_DEBUG is not set 893# CONFIG_HWMON is not set
980# CONFIG_PDA_POWER is not set
981# CONFIG_BATTERY_DS2760 is not set
982# CONFIG_BATTERY_BQ27x00 is not set
983CONFIG_HWMON=y
984# CONFIG_HWMON_VID is not set
985# CONFIG_SENSORS_AD7414 is not set
986# CONFIG_SENSORS_AD7418 is not set
987# CONFIG_SENSORS_ADCXX is not set
988# CONFIG_SENSORS_ADM1021 is not set
989# CONFIG_SENSORS_ADM1025 is not set
990# CONFIG_SENSORS_ADM1026 is not set
991# CONFIG_SENSORS_ADM1029 is not set
992# CONFIG_SENSORS_ADM1031 is not set
993# CONFIG_SENSORS_ADM9240 is not set
994# CONFIG_SENSORS_ADT7462 is not set
995# CONFIG_SENSORS_ADT7470 is not set
996# CONFIG_SENSORS_ADT7473 is not set
997# CONFIG_SENSORS_ADT7475 is not set
998# CONFIG_SENSORS_ATXP1 is not set
999# CONFIG_SENSORS_DS1621 is not set
1000# CONFIG_SENSORS_F71805F is not set
1001# CONFIG_SENSORS_F71882FG is not set
1002# CONFIG_SENSORS_F75375S is not set
1003# CONFIG_SENSORS_GL518SM is not set
1004# CONFIG_SENSORS_GL520SM is not set
1005# CONFIG_SENSORS_IT87 is not set
1006# CONFIG_SENSORS_LM63 is not set
1007# CONFIG_SENSORS_LM70 is not set
1008# CONFIG_SENSORS_LM75 is not set
1009# CONFIG_SENSORS_LM77 is not set
1010# CONFIG_SENSORS_LM78 is not set
1011# CONFIG_SENSORS_LM80 is not set
1012# CONFIG_SENSORS_LM83 is not set
1013# CONFIG_SENSORS_LM85 is not set
1014# CONFIG_SENSORS_LM87 is not set
1015# CONFIG_SENSORS_LM90 is not set
1016# CONFIG_SENSORS_LM92 is not set
1017# CONFIG_SENSORS_LM93 is not set
1018# CONFIG_SENSORS_LTC4245 is not set
1019# CONFIG_SENSORS_MAX1111 is not set
1020# CONFIG_SENSORS_MAX1619 is not set
1021# CONFIG_SENSORS_MAX6650 is not set
1022# CONFIG_SENSORS_PC87360 is not set
1023# CONFIG_SENSORS_PC87427 is not set
1024# CONFIG_SENSORS_DME1737 is not set
1025# CONFIG_SENSORS_SMSC47M1 is not set
1026# CONFIG_SENSORS_SMSC47M192 is not set
1027# CONFIG_SENSORS_SMSC47B397 is not set
1028# CONFIG_SENSORS_ADS7828 is not set
1029# CONFIG_SENSORS_THMC50 is not set
1030# CONFIG_SENSORS_VT1211 is not set
1031# CONFIG_SENSORS_W83781D is not set
1032# CONFIG_SENSORS_W83791D is not set
1033# CONFIG_SENSORS_W83792D is not set
1034# CONFIG_SENSORS_W83793 is not set
1035# CONFIG_SENSORS_W83L785TS is not set
1036# CONFIG_SENSORS_W83L786NG is not set
1037# CONFIG_SENSORS_W83627HF is not set
1038# CONFIG_SENSORS_W83627EHF is not set
1039# CONFIG_HWMON_DEBUG_CHIP is not set
1040# CONFIG_THERMAL is not set 894# CONFIG_THERMAL is not set
1041# CONFIG_THERMAL_HWMON is not set 895# CONFIG_THERMAL_HWMON is not set
1042CONFIG_WATCHDOG=y 896CONFIG_WATCHDOG=y
@@ -1046,7 +900,8 @@ CONFIG_WATCHDOG_NOWAYOUT=y
1046# Watchdog Device Drivers 900# Watchdog Device Drivers
1047# 901#
1048# CONFIG_SOFT_WATCHDOG is not set 902# CONFIG_SOFT_WATCHDOG is not set
1049# CONFIG_OMAP_WATCHDOG is not set 903CONFIG_OMAP_WATCHDOG=y
904CONFIG_TWL4030_WATCHDOG=y
1050 905
1051# 906#
1052# USB-based Watchdog Cards 907# USB-based Watchdog Cards
@@ -1077,237 +932,9 @@ CONFIG_TWL4030_CORE=y
1077# CONFIG_MFD_WM8400 is not set 932# CONFIG_MFD_WM8400 is not set
1078# CONFIG_MFD_WM8350_I2C is not set 933# CONFIG_MFD_WM8350_I2C is not set
1079# CONFIG_MFD_PCF50633 is not set 934# CONFIG_MFD_PCF50633 is not set
1080 935# CONFIG_AB3100_CORE is not set
1081# 936# CONFIG_EZX_PCAP is not set
1082# Multimedia devices 937# CONFIG_MEDIA_SUPPORT is not set
1083#
1084
1085#
1086# Multimedia core support
1087#
1088CONFIG_VIDEO_DEV=m
1089CONFIG_VIDEO_V4L2_COMMON=m
1090CONFIG_VIDEO_ALLOW_V4L1=y
1091CONFIG_VIDEO_V4L1_COMPAT=y
1092CONFIG_DVB_CORE=m
1093CONFIG_VIDEO_MEDIA=m
1094
1095#
1096# Multimedia drivers
1097#
1098CONFIG_MEDIA_ATTACH=y
1099CONFIG_MEDIA_TUNER=m
1100# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
1101CONFIG_MEDIA_TUNER_SIMPLE=m
1102CONFIG_MEDIA_TUNER_TDA8290=m
1103CONFIG_MEDIA_TUNER_TDA827X=m
1104CONFIG_MEDIA_TUNER_TDA18271=m
1105CONFIG_MEDIA_TUNER_TDA9887=m
1106CONFIG_MEDIA_TUNER_TEA5761=m
1107CONFIG_MEDIA_TUNER_TEA5767=m
1108CONFIG_MEDIA_TUNER_MT20XX=m
1109CONFIG_MEDIA_TUNER_MT2060=m
1110CONFIG_MEDIA_TUNER_MT2266=m
1111CONFIG_MEDIA_TUNER_QT1010=m
1112CONFIG_MEDIA_TUNER_XC2028=m
1113CONFIG_MEDIA_TUNER_XC5000=m
1114CONFIG_MEDIA_TUNER_MXL5005S=m
1115CONFIG_VIDEO_V4L2=m
1116CONFIG_VIDEO_V4L1=m
1117CONFIG_VIDEO_TVEEPROM=m
1118CONFIG_VIDEO_TUNER=m
1119CONFIG_VIDEO_CAPTURE_DRIVERS=y
1120# CONFIG_VIDEO_ADV_DEBUG is not set
1121# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
1122CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
1123CONFIG_VIDEO_MSP3400=m
1124CONFIG_VIDEO_CS53L32A=m
1125CONFIG_VIDEO_WM8775=m
1126CONFIG_VIDEO_SAA711X=m
1127CONFIG_VIDEO_CX25840=m
1128CONFIG_VIDEO_CX2341X=m
1129# CONFIG_VIDEO_VIVI is not set
1130# CONFIG_VIDEO_CPIA is not set
1131# CONFIG_VIDEO_CPIA2 is not set
1132# CONFIG_VIDEO_SAA5246A is not set
1133# CONFIG_VIDEO_SAA5249 is not set
1134# CONFIG_VIDEO_AU0828 is not set
1135# CONFIG_SOC_CAMERA is not set
1136CONFIG_V4L_USB_DRIVERS=y
1137CONFIG_USB_VIDEO_CLASS=m
1138CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
1139# CONFIG_USB_GSPCA is not set
1140CONFIG_VIDEO_PVRUSB2=m
1141CONFIG_VIDEO_PVRUSB2_SYSFS=y
1142CONFIG_VIDEO_PVRUSB2_DVB=y
1143# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
1144# CONFIG_VIDEO_EM28XX is not set
1145CONFIG_VIDEO_USBVISION=m
1146CONFIG_VIDEO_USBVIDEO=m
1147CONFIG_USB_VICAM=m
1148CONFIG_USB_IBMCAM=m
1149CONFIG_USB_KONICAWC=m
1150CONFIG_USB_QUICKCAM_MESSENGER=m
1151# CONFIG_USB_ET61X251 is not set
1152CONFIG_VIDEO_OVCAMCHIP=m
1153CONFIG_USB_W9968CF=m
1154CONFIG_USB_OV511=m
1155CONFIG_USB_SE401=m
1156CONFIG_USB_SN9C102=m
1157CONFIG_USB_STV680=m
1158# CONFIG_USB_ZC0301 is not set
1159CONFIG_USB_PWC=m
1160# CONFIG_USB_PWC_DEBUG is not set
1161CONFIG_USB_ZR364XX=m
1162# CONFIG_USB_STKWEBCAM is not set
1163# CONFIG_USB_S2255 is not set
1164CONFIG_RADIO_ADAPTERS=y
1165# CONFIG_USB_DSBR is not set
1166# CONFIG_USB_SI470X is not set
1167# CONFIG_USB_MR800 is not set
1168# CONFIG_RADIO_TEA5764 is not set
1169# CONFIG_DVB_DYNAMIC_MINORS is not set
1170CONFIG_DVB_CAPTURE_DRIVERS=y
1171# CONFIG_TTPCI_EEPROM is not set
1172
1173#
1174# Supported USB Adapters
1175#
1176CONFIG_DVB_USB=m
1177# CONFIG_DVB_USB_DEBUG is not set
1178CONFIG_DVB_USB_A800=m
1179CONFIG_DVB_USB_DIBUSB_MB=m
1180# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
1181CONFIG_DVB_USB_DIBUSB_MC=m
1182CONFIG_DVB_USB_DIB0700=m
1183CONFIG_DVB_USB_UMT_010=m
1184CONFIG_DVB_USB_CXUSB=m
1185CONFIG_DVB_USB_M920X=m
1186CONFIG_DVB_USB_GL861=m
1187CONFIG_DVB_USB_AU6610=m
1188CONFIG_DVB_USB_DIGITV=m
1189CONFIG_DVB_USB_VP7045=m
1190CONFIG_DVB_USB_VP702X=m
1191CONFIG_DVB_USB_GP8PSK=m
1192CONFIG_DVB_USB_NOVA_T_USB2=m
1193CONFIG_DVB_USB_TTUSB2=m
1194CONFIG_DVB_USB_DTT200U=m
1195CONFIG_DVB_USB_OPERA1=m
1196CONFIG_DVB_USB_AF9005=m
1197CONFIG_DVB_USB_AF9005_REMOTE=m
1198# CONFIG_DVB_USB_DW2102 is not set
1199# CONFIG_DVB_USB_CINERGY_T2 is not set
1200# CONFIG_DVB_USB_ANYSEE is not set
1201# CONFIG_DVB_USB_DTV5100 is not set
1202# CONFIG_DVB_USB_AF9015 is not set
1203# CONFIG_DVB_SIANO_SMS1XXX is not set
1204
1205#
1206# Supported FlexCopII (B2C2) Adapters
1207#
1208# CONFIG_DVB_B2C2_FLEXCOP is not set
1209
1210#
1211# Supported DVB Frontends
1212#
1213
1214#
1215# Customise DVB Frontends
1216#
1217# CONFIG_DVB_FE_CUSTOMISE is not set
1218
1219#
1220# Multistandard (satellite) frontends
1221#
1222# CONFIG_DVB_STB0899 is not set
1223# CONFIG_DVB_STB6100 is not set
1224
1225#
1226# DVB-S (satellite) frontends
1227#
1228CONFIG_DVB_CX24110=m
1229CONFIG_DVB_CX24123=m
1230CONFIG_DVB_MT312=m
1231CONFIG_DVB_S5H1420=m
1232# CONFIG_DVB_STV0288 is not set
1233# CONFIG_DVB_STB6000 is not set
1234CONFIG_DVB_STV0299=m
1235CONFIG_DVB_TDA8083=m
1236CONFIG_DVB_TDA10086=m
1237# CONFIG_DVB_TDA8261 is not set
1238CONFIG_DVB_VES1X93=m
1239CONFIG_DVB_TUNER_ITD1000=m
1240# CONFIG_DVB_TUNER_CX24113 is not set
1241CONFIG_DVB_TDA826X=m
1242CONFIG_DVB_TUA6100=m
1243# CONFIG_DVB_CX24116 is not set
1244# CONFIG_DVB_SI21XX is not set
1245
1246#
1247# DVB-T (terrestrial) frontends
1248#
1249CONFIG_DVB_SP8870=m
1250CONFIG_DVB_SP887X=m
1251CONFIG_DVB_CX22700=m
1252CONFIG_DVB_CX22702=m
1253# CONFIG_DVB_DRX397XD is not set
1254CONFIG_DVB_L64781=m
1255CONFIG_DVB_TDA1004X=m
1256CONFIG_DVB_NXT6000=m
1257CONFIG_DVB_MT352=m
1258CONFIG_DVB_ZL10353=m
1259CONFIG_DVB_DIB3000MB=m
1260CONFIG_DVB_DIB3000MC=m
1261CONFIG_DVB_DIB7000M=m
1262CONFIG_DVB_DIB7000P=m
1263CONFIG_DVB_TDA10048=m
1264
1265#
1266# DVB-C (cable) frontends
1267#
1268CONFIG_DVB_VES1820=m
1269CONFIG_DVB_TDA10021=m
1270CONFIG_DVB_TDA10023=m
1271CONFIG_DVB_STV0297=m
1272
1273#
1274# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
1275#
1276CONFIG_DVB_NXT200X=m
1277# CONFIG_DVB_OR51211 is not set
1278# CONFIG_DVB_OR51132 is not set
1279CONFIG_DVB_BCM3510=m
1280CONFIG_DVB_LGDT330X=m
1281# CONFIG_DVB_LGDT3304 is not set
1282CONFIG_DVB_S5H1409=m
1283CONFIG_DVB_AU8522=m
1284CONFIG_DVB_S5H1411=m
1285
1286#
1287# ISDB-T (terrestrial) frontends
1288#
1289# CONFIG_DVB_S921 is not set
1290
1291#
1292# Digital terrestrial only tuners/PLL
1293#
1294CONFIG_DVB_PLL=m
1295CONFIG_DVB_TUNER_DIB0070=m
1296
1297#
1298# SEC control devices for DVB-S
1299#
1300CONFIG_DVB_LNBP21=m
1301# CONFIG_DVB_ISL6405 is not set
1302CONFIG_DVB_ISL6421=m
1303# CONFIG_DVB_LGS8GL5 is not set
1304
1305#
1306# Tools to develop new frontends
1307#
1308# CONFIG_DVB_DUMMY_FE is not set
1309# CONFIG_DVB_AF9013 is not set
1310# CONFIG_DAB is not set
1311 938
1312# 939#
1313# Graphics support 940# Graphics support
@@ -1366,53 +993,10 @@ CONFIG_LOGO=y
1366CONFIG_LOGO_LINUX_MONO=y 993CONFIG_LOGO_LINUX_MONO=y
1367CONFIG_LOGO_LINUX_VGA16=y 994CONFIG_LOGO_LINUX_VGA16=y
1368CONFIG_LOGO_LINUX_CLUT224=y 995CONFIG_LOGO_LINUX_CLUT224=y
1369CONFIG_SOUND=y 996# CONFIG_SOUND is not set
1370CONFIG_SOUND_OSS_CORE=y
1371CONFIG_SND=y
1372CONFIG_SND_TIMER=y
1373CONFIG_SND_PCM=y
1374CONFIG_SND_HWDEP=y
1375CONFIG_SND_RAWMIDI=y
1376CONFIG_SND_SEQUENCER=m
1377# CONFIG_SND_SEQ_DUMMY is not set
1378CONFIG_SND_OSSEMUL=y
1379CONFIG_SND_MIXER_OSS=y
1380CONFIG_SND_PCM_OSS=y
1381CONFIG_SND_PCM_OSS_PLUGINS=y
1382CONFIG_SND_SEQUENCER_OSS=y
1383# CONFIG_SND_HRTIMER is not set
1384# CONFIG_SND_DYNAMIC_MINORS is not set
1385CONFIG_SND_SUPPORT_OLD_API=y
1386CONFIG_SND_VERBOSE_PROCFS=y
1387CONFIG_SND_VERBOSE_PRINTK=y
1388CONFIG_SND_DEBUG=y
1389# CONFIG_SND_DEBUG_VERBOSE is not set
1390# CONFIG_SND_PCM_XRUN_DEBUG is not set
1391CONFIG_SND_DRIVERS=y
1392# CONFIG_SND_DUMMY is not set
1393# CONFIG_SND_VIRMIDI is not set
1394# CONFIG_SND_MTPAV is not set
1395# CONFIG_SND_SERIAL_U16550 is not set
1396# CONFIG_SND_MPU401 is not set
1397CONFIG_SND_ARM=y
1398CONFIG_SND_SPI=y
1399CONFIG_SND_USB=y
1400CONFIG_SND_USB_AUDIO=y
1401CONFIG_SND_USB_CAIAQ=m
1402CONFIG_SND_USB_CAIAQ_INPUT=y
1403CONFIG_SND_SOC=y
1404CONFIG_SND_OMAP_SOC=y
1405CONFIG_SND_OMAP_SOC_MCBSP=y
1406# CONFIG_SND_OMAP_SOC_OVERO is not set
1407CONFIG_SND_OMAP_SOC_SDP3430=y
1408# CONFIG_SND_OMAP_SOC_OMAP3_PANDORA is not set
1409CONFIG_SND_SOC_I2C_AND_SPI=y
1410# CONFIG_SND_SOC_ALL_CODECS is not set
1411CONFIG_SND_SOC_TWL4030=y
1412# CONFIG_SOUND_PRIME is not set
1413CONFIG_HID_SUPPORT=y 997CONFIG_HID_SUPPORT=y
1414CONFIG_HID=y 998CONFIG_HID=y
1415CONFIG_HID_DEBUG=y 999# CONFIG_HID_DEBUG is not set
1416# CONFIG_HIDRAW is not set 1000# CONFIG_HIDRAW is not set
1417 1001
1418# 1002#
@@ -1425,35 +1009,35 @@ CONFIG_USB_HID=y
1425# 1009#
1426# Special HID drivers 1010# Special HID drivers
1427# 1011#
1428CONFIG_HID_COMPAT=y 1012# CONFIG_HID_A4TECH is not set
1429CONFIG_HID_A4TECH=y 1013# CONFIG_HID_APPLE is not set
1430CONFIG_HID_APPLE=y 1014# CONFIG_HID_BELKIN is not set
1431CONFIG_HID_BELKIN=y 1015# CONFIG_HID_CHERRY is not set
1432CONFIG_HID_CHERRY=y 1016# CONFIG_HID_CHICONY is not set
1433CONFIG_HID_CHICONY=y 1017# CONFIG_HID_CYPRESS is not set
1434CONFIG_HID_CYPRESS=y 1018# CONFIG_HID_DRAGONRISE is not set
1435CONFIG_HID_EZKEY=y 1019# CONFIG_HID_EZKEY is not set
1436CONFIG_HID_GYRATION=y 1020# CONFIG_HID_KYE is not set
1437CONFIG_HID_LOGITECH=y 1021# CONFIG_HID_GYRATION is not set
1438# CONFIG_LOGITECH_FF is not set 1022# CONFIG_HID_KENSINGTON is not set
1439# CONFIG_LOGIRUMBLEPAD2_FF is not set 1023# CONFIG_HID_LOGITECH is not set
1440CONFIG_HID_MICROSOFT=y 1024# CONFIG_HID_MICROSOFT is not set
1441CONFIG_HID_MONTEREY=y 1025# CONFIG_HID_MONTEREY is not set
1442# CONFIG_HID_NTRIG is not set 1026# CONFIG_HID_NTRIG is not set
1443CONFIG_HID_PANTHERLORD=y 1027# CONFIG_HID_PANTHERLORD is not set
1444# CONFIG_PANTHERLORD_FF is not set 1028# CONFIG_HID_PETALYNX is not set
1445CONFIG_HID_PETALYNX=y 1029# CONFIG_HID_SAMSUNG is not set
1446CONFIG_HID_SAMSUNG=y 1030# CONFIG_HID_SONY is not set
1447CONFIG_HID_SONY=y 1031# CONFIG_HID_SUNPLUS is not set
1448CONFIG_HID_SUNPLUS=y 1032# CONFIG_HID_GREENASIA is not set
1449# CONFIG_GREENASIA_FF is not set 1033# CONFIG_HID_SMARTJOYPLUS is not set
1450# CONFIG_HID_TOPSEED is not set 1034# CONFIG_HID_TOPSEED is not set
1451# CONFIG_THRUSTMASTER_FF is not set 1035# CONFIG_HID_THRUSTMASTER is not set
1452# CONFIG_ZEROPLUS_FF is not set 1036# CONFIG_HID_ZEROPLUS is not set
1453CONFIG_USB_SUPPORT=y 1037CONFIG_USB_SUPPORT=y
1454CONFIG_USB_ARCH_HAS_HCD=y 1038CONFIG_USB_ARCH_HAS_HCD=y
1455CONFIG_USB_ARCH_HAS_OHCI=y 1039CONFIG_USB_ARCH_HAS_OHCI=y
1456# CONFIG_USB_ARCH_HAS_EHCI is not set 1040CONFIG_USB_ARCH_HAS_EHCI=y
1457CONFIG_USB=y 1041CONFIG_USB=y
1458CONFIG_USB_DEBUG=y 1042CONFIG_USB_DEBUG=y
1459CONFIG_USB_ANNOUNCE_NEW_DEVICES=y 1043CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
@@ -1461,9 +1045,9 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
1461# 1045#
1462# Miscellaneous USB options 1046# Miscellaneous USB options
1463# 1047#
1464CONFIG_USB_DEVICEFS=y 1048# CONFIG_USB_DEVICEFS is not set
1465CONFIG_USB_DEVICE_CLASS=y 1049# CONFIG_USB_DEVICE_CLASS is not set
1466CONFIG_USB_DYNAMIC_MINORS=y 1050# CONFIG_USB_DYNAMIC_MINORS is not set
1467CONFIG_USB_SUSPEND=y 1051CONFIG_USB_SUSPEND=y
1468CONFIG_USB_OTG=y 1052CONFIG_USB_OTG=y
1469# CONFIG_USB_OTG_WHITELIST is not set 1053# CONFIG_USB_OTG_WHITELIST is not set
@@ -1476,8 +1060,12 @@ CONFIG_USB_MON=y
1476# USB Host Controller Drivers 1060# USB Host Controller Drivers
1477# 1061#
1478# CONFIG_USB_C67X00_HCD is not set 1062# CONFIG_USB_C67X00_HCD is not set
1063CONFIG_USB_EHCI_HCD=m
1064# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1065# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1479# CONFIG_USB_OXU210HP_HCD is not set 1066# CONFIG_USB_OXU210HP_HCD is not set
1480# CONFIG_USB_ISP116X_HCD is not set 1067# CONFIG_USB_ISP116X_HCD is not set
1068# CONFIG_USB_ISP1760_HCD is not set
1481# CONFIG_USB_OHCI_HCD is not set 1069# CONFIG_USB_OHCI_HCD is not set
1482# CONFIG_USB_SL811_HCD is not set 1070# CONFIG_USB_SL811_HCD is not set
1483# CONFIG_USB_R8A66597_HCD is not set 1071# CONFIG_USB_R8A66597_HCD is not set
@@ -1493,23 +1081,25 @@ CONFIG_USB_MUSB_SOC=y
1493CONFIG_USB_MUSB_OTG=y 1081CONFIG_USB_MUSB_OTG=y
1494CONFIG_USB_GADGET_MUSB_HDRC=y 1082CONFIG_USB_GADGET_MUSB_HDRC=y
1495CONFIG_USB_MUSB_HDRC_HCD=y 1083CONFIG_USB_MUSB_HDRC_HCD=y
1496CONFIG_MUSB_PIO_ONLY=y 1084# CONFIG_MUSB_PIO_ONLY is not set
1085CONFIG_USB_INVENTRA_DMA=y
1086# CONFIG_USB_TI_CPPI_DMA is not set
1497# CONFIG_USB_MUSB_DEBUG is not set 1087# CONFIG_USB_MUSB_DEBUG is not set
1498 1088
1499# 1089#
1500# USB Device Class drivers 1090# USB Device Class drivers
1501# 1091#
1502# CONFIG_USB_ACM is not set 1092# CONFIG_USB_ACM is not set
1503CONFIG_USB_PRINTER=y 1093# CONFIG_USB_PRINTER is not set
1504CONFIG_USB_WDM=y 1094# CONFIG_USB_WDM is not set
1505# CONFIG_USB_TMC is not set 1095# CONFIG_USB_TMC is not set
1506 1096
1507# 1097#
1508# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; 1098# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1509# 1099#
1510 1100
1511# 1101#
1512# see USB_STORAGE Help for more information 1102# also be needed; see USB_STORAGE Help for more info
1513# 1103#
1514CONFIG_USB_STORAGE=y 1104CONFIG_USB_STORAGE=y
1515# CONFIG_USB_STORAGE_DEBUG is not set 1105# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1551,14 +1141,14 @@ CONFIG_USB_STORAGE=y
1551# CONFIG_USB_LED is not set 1141# CONFIG_USB_LED is not set
1552# CONFIG_USB_CYPRESS_CY7C63 is not set 1142# CONFIG_USB_CYPRESS_CY7C63 is not set
1553# CONFIG_USB_CYTHERM is not set 1143# CONFIG_USB_CYTHERM is not set
1554# CONFIG_USB_PHIDGET is not set
1555# CONFIG_USB_IDMOUSE is not set 1144# CONFIG_USB_IDMOUSE is not set
1556# CONFIG_USB_FTDI_ELAN is not set 1145# CONFIG_USB_FTDI_ELAN is not set
1557# CONFIG_USB_APPLEDISPLAY is not set 1146# CONFIG_USB_APPLEDISPLAY is not set
1147# CONFIG_USB_SISUSBVGA is not set
1558# CONFIG_USB_LD is not set 1148# CONFIG_USB_LD is not set
1559# CONFIG_USB_TRANCEVIBRATOR is not set 1149# CONFIG_USB_TRANCEVIBRATOR is not set
1560# CONFIG_USB_IOWARRIOR is not set 1150# CONFIG_USB_IOWARRIOR is not set
1561# CONFIG_USB_TEST is not set 1151CONFIG_USB_TEST=y
1562# CONFIG_USB_ISIGHTFW is not set 1152# CONFIG_USB_ISIGHTFW is not set
1563# CONFIG_USB_VST is not set 1153# CONFIG_USB_VST is not set
1564CONFIG_USB_GADGET=y 1154CONFIG_USB_GADGET=y
@@ -1574,25 +1164,29 @@ CONFIG_USB_GADGET_SELECTED=y
1574# CONFIG_USB_GADGET_OMAP is not set 1164# CONFIG_USB_GADGET_OMAP is not set
1575# CONFIG_USB_GADGET_PXA25X is not set 1165# CONFIG_USB_GADGET_PXA25X is not set
1576# CONFIG_USB_GADGET_PXA27X is not set 1166# CONFIG_USB_GADGET_PXA27X is not set
1577# CONFIG_USB_GADGET_S3C2410 is not set 1167# CONFIG_USB_GADGET_S3C_HSOTG is not set
1578# CONFIG_USB_GADGET_IMX is not set 1168# CONFIG_USB_GADGET_IMX is not set
1169# CONFIG_USB_GADGET_S3C2410 is not set
1579# CONFIG_USB_GADGET_M66592 is not set 1170# CONFIG_USB_GADGET_M66592 is not set
1580# CONFIG_USB_GADGET_AMD5536UDC is not set 1171# CONFIG_USB_GADGET_AMD5536UDC is not set
1581# CONFIG_USB_GADGET_FSL_QE is not set 1172# CONFIG_USB_GADGET_FSL_QE is not set
1582# CONFIG_USB_GADGET_CI13XXX is not set 1173# CONFIG_USB_GADGET_CI13XXX is not set
1583# CONFIG_USB_GADGET_NET2280 is not set 1174# CONFIG_USB_GADGET_NET2280 is not set
1584# CONFIG_USB_GADGET_GOKU is not set 1175# CONFIG_USB_GADGET_GOKU is not set
1176# CONFIG_USB_GADGET_LANGWELL is not set
1585# CONFIG_USB_GADGET_DUMMY_HCD is not set 1177# CONFIG_USB_GADGET_DUMMY_HCD is not set
1586CONFIG_USB_GADGET_DUALSPEED=y 1178CONFIG_USB_GADGET_DUALSPEED=y
1587# CONFIG_USB_ZERO is not set 1179# CONFIG_USB_ZERO is not set
1588CONFIG_USB_ETH=y 1180# CONFIG_USB_AUDIO is not set
1181CONFIG_USB_ETH=m
1589CONFIG_USB_ETH_RNDIS=y 1182CONFIG_USB_ETH_RNDIS=y
1590# CONFIG_USB_GADGETFS is not set 1183CONFIG_USB_GADGETFS=m
1591# CONFIG_USB_FILE_STORAGE is not set 1184CONFIG_USB_FILE_STORAGE=m
1592# CONFIG_USB_G_SERIAL is not set 1185# CONFIG_USB_FILE_STORAGE_TEST is not set
1186CONFIG_USB_G_SERIAL=m
1593# CONFIG_USB_MIDI_GADGET is not set 1187# CONFIG_USB_MIDI_GADGET is not set
1594# CONFIG_USB_G_PRINTER is not set 1188# CONFIG_USB_G_PRINTER is not set
1595# CONFIG_USB_CDC_COMPOSITE is not set 1189CONFIG_USB_CDC_COMPOSITE=m
1596 1190
1597# 1191#
1598# OTG and related infrastructure 1192# OTG and related infrastructure
@@ -1601,6 +1195,7 @@ CONFIG_USB_OTG_UTILS=y
1601# CONFIG_USB_GPIO_VBUS is not set 1195# CONFIG_USB_GPIO_VBUS is not set
1602# CONFIG_ISP1301_OMAP is not set 1196# CONFIG_ISP1301_OMAP is not set
1603CONFIG_TWL4030_USB=y 1197CONFIG_TWL4030_USB=y
1198# CONFIG_NOP_USB_XCEIV is not set
1604CONFIG_MMC=y 1199CONFIG_MMC=y
1605# CONFIG_MMC_DEBUG is not set 1200# CONFIG_MMC_DEBUG is not set
1606CONFIG_MMC_UNSAFE_RESUME=y 1201CONFIG_MMC_UNSAFE_RESUME=y
@@ -1617,7 +1212,6 @@ CONFIG_SDIO_UART=y
1617# MMC/SD/SDIO Host Controller Drivers 1212# MMC/SD/SDIO Host Controller Drivers
1618# 1213#
1619# CONFIG_MMC_SDHCI is not set 1214# CONFIG_MMC_SDHCI is not set
1620# CONFIG_MMC_OMAP is not set
1621CONFIG_MMC_OMAP_HS=y 1215CONFIG_MMC_OMAP_HS=y
1622# CONFIG_MMC_SPI is not set 1216# CONFIG_MMC_SPI is not set
1623# CONFIG_MEMSTICK is not set 1217# CONFIG_MEMSTICK is not set
@@ -1628,9 +1222,16 @@ CONFIG_LEDS_CLASS=y
1628# 1222#
1629# LED drivers 1223# LED drivers
1630# 1224#
1225# CONFIG_LEDS_OMAP_DEBUG is not set
1226# CONFIG_LEDS_OMAP is not set
1227# CONFIG_LEDS_OMAP_PWM is not set
1631# CONFIG_LEDS_PCA9532 is not set 1228# CONFIG_LEDS_PCA9532 is not set
1632CONFIG_LEDS_GPIO=y 1229CONFIG_LEDS_GPIO=y
1230CONFIG_LEDS_GPIO_PLATFORM=y
1231# CONFIG_LEDS_LP3944 is not set
1633# CONFIG_LEDS_PCA955X is not set 1232# CONFIG_LEDS_PCA955X is not set
1233# CONFIG_LEDS_DAC124S085 is not set
1234# CONFIG_LEDS_BD2802 is not set
1634 1235
1635# 1236#
1636# LED Triggers 1237# LED Triggers
@@ -1639,7 +1240,12 @@ CONFIG_LEDS_TRIGGERS=y
1639CONFIG_LEDS_TRIGGER_TIMER=y 1240CONFIG_LEDS_TRIGGER_TIMER=y
1640CONFIG_LEDS_TRIGGER_HEARTBEAT=y 1241CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1641# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set 1242# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
1243# CONFIG_LEDS_TRIGGER_GPIO is not set
1642# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set 1244# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
1245
1246#
1247# iptables trigger is under Netfilter config (LED target)
1248#
1643CONFIG_RTC_LIB=y 1249CONFIG_RTC_LIB=y
1644CONFIG_RTC_CLASS=y 1250CONFIG_RTC_CLASS=y
1645CONFIG_RTC_HCTOSYS=y 1251CONFIG_RTC_HCTOSYS=y
@@ -1672,6 +1278,7 @@ CONFIG_RTC_DRV_TWL4030=y
1672# CONFIG_RTC_DRV_S35390A is not set 1278# CONFIG_RTC_DRV_S35390A is not set
1673# CONFIG_RTC_DRV_FM3130 is not set 1279# CONFIG_RTC_DRV_FM3130 is not set
1674# CONFIG_RTC_DRV_RX8581 is not set 1280# CONFIG_RTC_DRV_RX8581 is not set
1281# CONFIG_RTC_DRV_RX8025 is not set
1675 1282
1676# 1283#
1677# SPI RTC drivers 1284# SPI RTC drivers
@@ -1703,6 +1310,7 @@ CONFIG_RTC_DRV_TWL4030=y
1703# on-CPU RTC drivers 1310# on-CPU RTC drivers
1704# 1311#
1705# CONFIG_DMADEVICES is not set 1312# CONFIG_DMADEVICES is not set
1313# CONFIG_AUXDISPLAY is not set
1706CONFIG_REGULATOR=y 1314CONFIG_REGULATOR=y
1707# CONFIG_REGULATOR_DEBUG is not set 1315# CONFIG_REGULATOR_DEBUG is not set
1708# CONFIG_REGULATOR_FIXED_VOLTAGE is not set 1316# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
@@ -1711,32 +1319,36 @@ CONFIG_REGULATOR=y
1711# CONFIG_REGULATOR_BQ24022 is not set 1319# CONFIG_REGULATOR_BQ24022 is not set
1712# CONFIG_REGULATOR_MAX1586 is not set 1320# CONFIG_REGULATOR_MAX1586 is not set
1713CONFIG_REGULATOR_TWL4030=y 1321CONFIG_REGULATOR_TWL4030=y
1322# CONFIG_REGULATOR_LP3971 is not set
1714# CONFIG_UIO is not set 1323# CONFIG_UIO is not set
1715# CONFIG_STAGING is not set 1324# CONFIG_STAGING is not set
1716 1325
1717# 1326#
1327# CBUS support
1328#
1329# CONFIG_CBUS is not set
1330
1331#
1718# File systems 1332# File systems
1719# 1333#
1720CONFIG_EXT2_FS=y 1334CONFIG_EXT2_FS=y
1721# CONFIG_EXT2_FS_XATTR is not set 1335# CONFIG_EXT2_FS_XATTR is not set
1722# CONFIG_EXT2_FS_XIP is not set 1336# CONFIG_EXT2_FS_XIP is not set
1723CONFIG_EXT3_FS=y 1337CONFIG_EXT3_FS=y
1338# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1724# CONFIG_EXT3_FS_XATTR is not set 1339# CONFIG_EXT3_FS_XATTR is not set
1725# CONFIG_EXT4_FS is not set 1340# CONFIG_EXT4_FS is not set
1726CONFIG_JBD=y 1341CONFIG_JBD=y
1727# CONFIG_JBD_DEBUG is not set 1342# CONFIG_JBD_DEBUG is not set
1728# CONFIG_REISERFS_FS is not set 1343# CONFIG_REISERFS_FS is not set
1729# CONFIG_JFS_FS is not set 1344# CONFIG_JFS_FS is not set
1730CONFIG_FS_POSIX_ACL=y 1345# CONFIG_FS_POSIX_ACL is not set
1731CONFIG_FILE_LOCKING=y 1346# CONFIG_XFS_FS is not set
1732CONFIG_XFS_FS=m
1733# CONFIG_XFS_QUOTA is not set
1734# CONFIG_XFS_POSIX_ACL is not set
1735# CONFIG_XFS_RT is not set
1736# CONFIG_XFS_DEBUG is not set
1737# CONFIG_GFS2_FS is not set 1347# CONFIG_GFS2_FS is not set
1738# CONFIG_OCFS2_FS is not set 1348# CONFIG_OCFS2_FS is not set
1739# CONFIG_BTRFS_FS is not set 1349# CONFIG_BTRFS_FS is not set
1350CONFIG_FILE_LOCKING=y
1351CONFIG_FSNOTIFY=y
1740CONFIG_DNOTIFY=y 1352CONFIG_DNOTIFY=y
1741CONFIG_INOTIFY=y 1353CONFIG_INOTIFY=y
1742CONFIG_INOTIFY_USER=y 1354CONFIG_INOTIFY_USER=y
@@ -1749,16 +1361,18 @@ CONFIG_QFMT_V2=y
1749CONFIG_QUOTACTL=y 1361CONFIG_QUOTACTL=y
1750# CONFIG_AUTOFS_FS is not set 1362# CONFIG_AUTOFS_FS is not set
1751# CONFIG_AUTOFS4_FS is not set 1363# CONFIG_AUTOFS4_FS is not set
1752CONFIG_FUSE_FS=m 1364# CONFIG_FUSE_FS is not set
1365
1366#
1367# Caches
1368#
1369# CONFIG_FSCACHE is not set
1753 1370
1754# 1371#
1755# CD-ROM/DVD Filesystems 1372# CD-ROM/DVD Filesystems
1756# 1373#
1757CONFIG_ISO9660_FS=m 1374# CONFIG_ISO9660_FS is not set
1758CONFIG_JOLIET=y 1375# CONFIG_UDF_FS is not set
1759CONFIG_ZISOFS=y
1760CONFIG_UDF_FS=m
1761CONFIG_UDF_NLS=y
1762 1376
1763# 1377#
1764# DOS/FAT/NT Filesystems 1378# DOS/FAT/NT Filesystems
@@ -1793,15 +1407,13 @@ CONFIG_JFFS2_FS=y
1793CONFIG_JFFS2_FS_DEBUG=0 1407CONFIG_JFFS2_FS_DEBUG=0
1794CONFIG_JFFS2_FS_WRITEBUFFER=y 1408CONFIG_JFFS2_FS_WRITEBUFFER=y
1795# CONFIG_JFFS2_FS_WBUF_VERIFY is not set 1409# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1796CONFIG_JFFS2_SUMMARY=y 1410# CONFIG_JFFS2_SUMMARY is not set
1797CONFIG_JFFS2_FS_XATTR=y 1411# CONFIG_JFFS2_FS_XATTR is not set
1798CONFIG_JFFS2_FS_POSIX_ACL=y
1799CONFIG_JFFS2_FS_SECURITY=y
1800CONFIG_JFFS2_COMPRESSION_OPTIONS=y 1412CONFIG_JFFS2_COMPRESSION_OPTIONS=y
1801CONFIG_JFFS2_ZLIB=y 1413CONFIG_JFFS2_ZLIB=y
1802CONFIG_JFFS2_LZO=y 1414# CONFIG_JFFS2_LZO is not set
1803CONFIG_JFFS2_RTIME=y 1415CONFIG_JFFS2_RTIME=y
1804CONFIG_JFFS2_RUBIN=y 1416# CONFIG_JFFS2_RUBIN is not set
1805# CONFIG_JFFS2_CMODE_NONE is not set 1417# CONFIG_JFFS2_CMODE_NONE is not set
1806CONFIG_JFFS2_CMODE_PRIORITY=y 1418CONFIG_JFFS2_CMODE_PRIORITY=y
1807# CONFIG_JFFS2_CMODE_SIZE is not set 1419# CONFIG_JFFS2_CMODE_SIZE is not set
@@ -1816,20 +1428,20 @@ CONFIG_JFFS2_CMODE_PRIORITY=y
1816# CONFIG_ROMFS_FS is not set 1428# CONFIG_ROMFS_FS is not set
1817# CONFIG_SYSV_FS is not set 1429# CONFIG_SYSV_FS is not set
1818# CONFIG_UFS_FS is not set 1430# CONFIG_UFS_FS is not set
1431# CONFIG_NILFS2_FS is not set
1819CONFIG_NETWORK_FILESYSTEMS=y 1432CONFIG_NETWORK_FILESYSTEMS=y
1820CONFIG_NFS_FS=y 1433CONFIG_NFS_FS=y
1821CONFIG_NFS_V3=y 1434CONFIG_NFS_V3=y
1822# CONFIG_NFS_V3_ACL is not set 1435# CONFIG_NFS_V3_ACL is not set
1823CONFIG_NFS_V4=y 1436CONFIG_NFS_V4=y
1437# CONFIG_NFS_V4_1 is not set
1824CONFIG_ROOT_NFS=y 1438CONFIG_ROOT_NFS=y
1825# CONFIG_NFSD is not set 1439# CONFIG_NFSD is not set
1826CONFIG_LOCKD=y 1440CONFIG_LOCKD=y
1827CONFIG_LOCKD_V4=y 1441CONFIG_LOCKD_V4=y
1828CONFIG_EXPORTFS=m
1829CONFIG_NFS_COMMON=y 1442CONFIG_NFS_COMMON=y
1830CONFIG_SUNRPC=y 1443CONFIG_SUNRPC=y
1831CONFIG_SUNRPC_GSS=y 1444CONFIG_SUNRPC_GSS=y
1832# CONFIG_SUNRPC_REGISTER_V4 is not set
1833CONFIG_RPCSEC_GSS_KRB5=y 1445CONFIG_RPCSEC_GSS_KRB5=y
1834# CONFIG_RPCSEC_GSS_SPKM3 is not set 1446# CONFIG_RPCSEC_GSS_SPKM3 is not set
1835# CONFIG_SMB_FS is not set 1447# CONFIG_SMB_FS is not set
@@ -1917,12 +1529,15 @@ CONFIG_DEBUG_KERNEL=y
1917CONFIG_DETECT_SOFTLOCKUP=y 1529CONFIG_DETECT_SOFTLOCKUP=y
1918# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set 1530# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1919CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 1531CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1532CONFIG_DETECT_HUNG_TASK=y
1533# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1534CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1920CONFIG_SCHED_DEBUG=y 1535CONFIG_SCHED_DEBUG=y
1921CONFIG_SCHEDSTATS=y 1536# CONFIG_SCHEDSTATS is not set
1922CONFIG_TIMER_STATS=y 1537# CONFIG_TIMER_STATS is not set
1923# CONFIG_DEBUG_OBJECTS is not set 1538# CONFIG_DEBUG_OBJECTS is not set
1924# CONFIG_SLUB_DEBUG_ON is not set 1539# CONFIG_DEBUG_SLAB is not set
1925# CONFIG_SLUB_STATS is not set 1540# CONFIG_DEBUG_KMEMLEAK is not set
1926# CONFIG_DEBUG_RT_MUTEXES is not set 1541# CONFIG_DEBUG_RT_MUTEXES is not set
1927# CONFIG_RT_MUTEX_TESTER is not set 1542# CONFIG_RT_MUTEX_TESTER is not set
1928# CONFIG_DEBUG_SPINLOCK is not set 1543# CONFIG_DEBUG_SPINLOCK is not set
@@ -1932,10 +1547,9 @@ CONFIG_DEBUG_MUTEXES=y
1932# CONFIG_LOCK_STAT is not set 1547# CONFIG_LOCK_STAT is not set
1933# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1548# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1934# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1549# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1935CONFIG_STACKTRACE=y
1936# CONFIG_DEBUG_KOBJECT is not set 1550# CONFIG_DEBUG_KOBJECT is not set
1937# CONFIG_DEBUG_BUGVERBOSE is not set 1551# CONFIG_DEBUG_BUGVERBOSE is not set
1938# CONFIG_DEBUG_INFO is not set 1552CONFIG_DEBUG_INFO=y
1939# CONFIG_DEBUG_VM is not set 1553# CONFIG_DEBUG_VM is not set
1940# CONFIG_DEBUG_WRITECOUNT is not set 1554# CONFIG_DEBUG_WRITECOUNT is not set
1941# CONFIG_DEBUG_MEMORY_INIT is not set 1555# CONFIG_DEBUG_MEMORY_INIT is not set
@@ -1950,30 +1564,20 @@ CONFIG_FRAME_POINTER=y
1950# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set 1564# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1951# CONFIG_FAULT_INJECTION is not set 1565# CONFIG_FAULT_INJECTION is not set
1952# CONFIG_LATENCYTOP is not set 1566# CONFIG_LATENCYTOP is not set
1953CONFIG_NOP_TRACER=y 1567# CONFIG_PAGE_POISONING is not set
1954CONFIG_HAVE_FUNCTION_TRACER=y 1568CONFIG_HAVE_FUNCTION_TRACER=y
1955CONFIG_RING_BUFFER=y 1569CONFIG_TRACING_SUPPORT=y
1956CONFIG_TRACING=y 1570# CONFIG_FTRACE is not set
1957 1571# CONFIG_DYNAMIC_DEBUG is not set
1958#
1959# Tracers
1960#
1961# CONFIG_FUNCTION_TRACER is not set
1962# CONFIG_IRQSOFF_TRACER is not set
1963# CONFIG_SCHED_TRACER is not set
1964# CONFIG_CONTEXT_SWITCH_TRACER is not set
1965# CONFIG_BOOT_TRACER is not set
1966# CONFIG_TRACE_BRANCH_PROFILING is not set
1967# CONFIG_STACK_TRACER is not set
1968# CONFIG_FTRACE_STARTUP_TEST is not set
1969# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1970# CONFIG_SAMPLES is not set 1572# CONFIG_SAMPLES is not set
1971CONFIG_HAVE_ARCH_KGDB=y 1573CONFIG_HAVE_ARCH_KGDB=y
1972# CONFIG_KGDB is not set 1574# CONFIG_KGDB is not set
1575# CONFIG_ARM_UNWIND is not set
1973# CONFIG_DEBUG_USER is not set 1576# CONFIG_DEBUG_USER is not set
1974# CONFIG_DEBUG_ERRORS is not set 1577# CONFIG_DEBUG_ERRORS is not set
1975# CONFIG_DEBUG_STACK_USAGE is not set 1578# CONFIG_DEBUG_STACK_USAGE is not set
1976# CONFIG_DEBUG_LL is not set 1579CONFIG_DEBUG_LL=y
1580# CONFIG_DEBUG_ICEDCC is not set
1977 1581
1978# 1582#
1979# Security options 1583# Security options
@@ -1982,10 +1586,6 @@ CONFIG_HAVE_ARCH_KGDB=y
1982# CONFIG_SECURITY is not set 1586# CONFIG_SECURITY is not set
1983# CONFIG_SECURITYFS is not set 1587# CONFIG_SECURITYFS is not set
1984# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1588# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1985CONFIG_XOR_BLOCKS=m
1986CONFIG_ASYNC_CORE=m
1987CONFIG_ASYNC_MEMCPY=m
1988CONFIG_ASYNC_XOR=m
1989CONFIG_CRYPTO=y 1589CONFIG_CRYPTO=y
1990 1590
1991# 1591#
@@ -2000,13 +1600,15 @@ CONFIG_CRYPTO_BLKCIPHER2=y
2000CONFIG_CRYPTO_HASH=y 1600CONFIG_CRYPTO_HASH=y
2001CONFIG_CRYPTO_HASH2=y 1601CONFIG_CRYPTO_HASH2=y
2002CONFIG_CRYPTO_RNG2=y 1602CONFIG_CRYPTO_RNG2=y
1603CONFIG_CRYPTO_PCOMP=y
2003CONFIG_CRYPTO_MANAGER=y 1604CONFIG_CRYPTO_MANAGER=y
2004CONFIG_CRYPTO_MANAGER2=y 1605CONFIG_CRYPTO_MANAGER2=y
2005CONFIG_CRYPTO_GF128MUL=m 1606# CONFIG_CRYPTO_GF128MUL is not set
2006CONFIG_CRYPTO_NULL=m 1607# CONFIG_CRYPTO_NULL is not set
2007CONFIG_CRYPTO_CRYPTD=m 1608CONFIG_CRYPTO_WORKQUEUE=y
1609# CONFIG_CRYPTO_CRYPTD is not set
2008# CONFIG_CRYPTO_AUTHENC is not set 1610# CONFIG_CRYPTO_AUTHENC is not set
2009CONFIG_CRYPTO_TEST=m 1611# CONFIG_CRYPTO_TEST is not set
2010 1612
2011# 1613#
2012# Authenticated Encryption with Associated Data 1614# Authenticated Encryption with Associated Data
@@ -2021,58 +1623,58 @@ CONFIG_CRYPTO_TEST=m
2021CONFIG_CRYPTO_CBC=y 1623CONFIG_CRYPTO_CBC=y
2022# CONFIG_CRYPTO_CTR is not set 1624# CONFIG_CRYPTO_CTR is not set
2023# CONFIG_CRYPTO_CTS is not set 1625# CONFIG_CRYPTO_CTS is not set
2024CONFIG_CRYPTO_ECB=y 1626CONFIG_CRYPTO_ECB=m
2025CONFIG_CRYPTO_LRW=m 1627# CONFIG_CRYPTO_LRW is not set
2026CONFIG_CRYPTO_PCBC=m 1628CONFIG_CRYPTO_PCBC=m
2027# CONFIG_CRYPTO_XTS is not set 1629# CONFIG_CRYPTO_XTS is not set
2028 1630
2029# 1631#
2030# Hash modes 1632# Hash modes
2031# 1633#
2032CONFIG_CRYPTO_HMAC=m 1634# CONFIG_CRYPTO_HMAC is not set
2033CONFIG_CRYPTO_XCBC=m 1635# CONFIG_CRYPTO_XCBC is not set
2034 1636
2035# 1637#
2036# Digest 1638# Digest
2037# 1639#
2038CONFIG_CRYPTO_CRC32C=y 1640CONFIG_CRYPTO_CRC32C=y
2039CONFIG_CRYPTO_MD4=m 1641# CONFIG_CRYPTO_MD4 is not set
2040CONFIG_CRYPTO_MD5=y 1642CONFIG_CRYPTO_MD5=y
2041CONFIG_CRYPTO_MICHAEL_MIC=y 1643# CONFIG_CRYPTO_MICHAEL_MIC is not set
2042# CONFIG_CRYPTO_RMD128 is not set 1644# CONFIG_CRYPTO_RMD128 is not set
2043# CONFIG_CRYPTO_RMD160 is not set 1645# CONFIG_CRYPTO_RMD160 is not set
2044# CONFIG_CRYPTO_RMD256 is not set 1646# CONFIG_CRYPTO_RMD256 is not set
2045# CONFIG_CRYPTO_RMD320 is not set 1647# CONFIG_CRYPTO_RMD320 is not set
2046CONFIG_CRYPTO_SHA1=m 1648# CONFIG_CRYPTO_SHA1 is not set
2047CONFIG_CRYPTO_SHA256=m 1649# CONFIG_CRYPTO_SHA256 is not set
2048CONFIG_CRYPTO_SHA512=m 1650# CONFIG_CRYPTO_SHA512 is not set
2049CONFIG_CRYPTO_TGR192=m 1651# CONFIG_CRYPTO_TGR192 is not set
2050CONFIG_CRYPTO_WP512=m 1652# CONFIG_CRYPTO_WP512 is not set
2051 1653
2052# 1654#
2053# Ciphers 1655# Ciphers
2054# 1656#
2055CONFIG_CRYPTO_AES=y 1657# CONFIG_CRYPTO_AES is not set
2056CONFIG_CRYPTO_ANUBIS=m 1658# CONFIG_CRYPTO_ANUBIS is not set
2057CONFIG_CRYPTO_ARC4=y 1659# CONFIG_CRYPTO_ARC4 is not set
2058CONFIG_CRYPTO_BLOWFISH=m 1660# CONFIG_CRYPTO_BLOWFISH is not set
2059CONFIG_CRYPTO_CAMELLIA=m 1661# CONFIG_CRYPTO_CAMELLIA is not set
2060CONFIG_CRYPTO_CAST5=m 1662# CONFIG_CRYPTO_CAST5 is not set
2061CONFIG_CRYPTO_CAST6=m 1663# CONFIG_CRYPTO_CAST6 is not set
2062CONFIG_CRYPTO_DES=y 1664CONFIG_CRYPTO_DES=y
2063CONFIG_CRYPTO_FCRYPT=m 1665# CONFIG_CRYPTO_FCRYPT is not set
2064CONFIG_CRYPTO_KHAZAD=m 1666# CONFIG_CRYPTO_KHAZAD is not set
2065# CONFIG_CRYPTO_SALSA20 is not set 1667# CONFIG_CRYPTO_SALSA20 is not set
2066# CONFIG_CRYPTO_SEED is not set 1668# CONFIG_CRYPTO_SEED is not set
2067CONFIG_CRYPTO_SERPENT=m 1669# CONFIG_CRYPTO_SERPENT is not set
2068CONFIG_CRYPTO_TEA=m 1670# CONFIG_CRYPTO_TEA is not set
2069CONFIG_CRYPTO_TWOFISH=m 1671# CONFIG_CRYPTO_TWOFISH is not set
2070CONFIG_CRYPTO_TWOFISH_COMMON=m
2071 1672
2072# 1673#
2073# Compression 1674# Compression
2074# 1675#
2075CONFIG_CRYPTO_DEFLATE=m 1676# CONFIG_CRYPTO_DEFLATE is not set
1677# CONFIG_CRYPTO_ZLIB is not set
2076# CONFIG_CRYPTO_LZO is not set 1678# CONFIG_CRYPTO_LZO is not set
2077 1679
2078# 1680#
@@ -2080,6 +1682,7 @@ CONFIG_CRYPTO_DEFLATE=m
2080# 1682#
2081# CONFIG_CRYPTO_ANSI_CPRNG is not set 1683# CONFIG_CRYPTO_ANSI_CPRNG is not set
2082CONFIG_CRYPTO_HW=y 1684CONFIG_CRYPTO_HW=y
1685# CONFIG_BINARY_PRINTF is not set
2083 1686
2084# 1687#
2085# Library routines 1688# Library routines
@@ -2087,17 +1690,16 @@ CONFIG_CRYPTO_HW=y
2087CONFIG_BITREVERSE=y 1690CONFIG_BITREVERSE=y
2088CONFIG_GENERIC_FIND_LAST_BIT=y 1691CONFIG_GENERIC_FIND_LAST_BIT=y
2089CONFIG_CRC_CCITT=y 1692CONFIG_CRC_CCITT=y
2090CONFIG_CRC16=m 1693# CONFIG_CRC16 is not set
2091CONFIG_CRC_T10DIF=y 1694# CONFIG_CRC_T10DIF is not set
2092CONFIG_CRC_ITU_T=y 1695# CONFIG_CRC_ITU_T is not set
2093CONFIG_CRC32=y 1696CONFIG_CRC32=y
2094CONFIG_CRC7=y 1697# CONFIG_CRC7 is not set
2095CONFIG_LIBCRC32C=y 1698CONFIG_LIBCRC32C=y
2096CONFIG_ZLIB_INFLATE=y 1699CONFIG_ZLIB_INFLATE=y
2097CONFIG_ZLIB_DEFLATE=y 1700CONFIG_ZLIB_DEFLATE=y
2098CONFIG_LZO_COMPRESS=y 1701CONFIG_DECOMPRESS_GZIP=y
2099CONFIG_LZO_DECOMPRESS=y
2100CONFIG_PLIST=y
2101CONFIG_HAS_IOMEM=y 1702CONFIG_HAS_IOMEM=y
2102CONFIG_HAS_IOPORT=y 1703CONFIG_HAS_IOPORT=y
2103CONFIG_HAS_DMA=y 1704CONFIG_HAS_DMA=y
1705CONFIG_NLATTR=y
diff --git a/arch/arm/configs/omap_3630sdp_defconfig b/arch/arm/configs/omap_3630sdp_defconfig
new file mode 100644
index 000000000000..e836c8a00148
--- /dev/null
+++ b/arch/arm/configs/omap_3630sdp_defconfig
@@ -0,0 +1,1611 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.32-rc6
4# Thu Nov 12 12:21:37 2009
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_GENERIC_HARDIRQS=y
12CONFIG_STACKTRACE_SUPPORT=y
13CONFIG_HAVE_LATENCYTOP_SUPPORT=y
14CONFIG_LOCKDEP_SUPPORT=y
15CONFIG_TRACE_IRQFLAGS_SUPPORT=y
16CONFIG_HARDIRQS_SW_RESEND=y
17CONFIG_GENERIC_IRQ_PROBE=y
18CONFIG_RWSEM_GENERIC_SPINLOCK=y
19CONFIG_ARCH_HAS_CPUFREQ=y
20CONFIG_GENERIC_HWEIGHT=y
21CONFIG_GENERIC_CALIBRATE_DELAY=y
22CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
23CONFIG_VECTORS_BASE=0xffff0000
24CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
25CONFIG_CONSTRUCTORS=y
26
27#
28# General setup
29#
30CONFIG_EXPERIMENTAL=y
31CONFIG_BROKEN_ON_SMP=y
32CONFIG_INIT_ENV_ARG_LIMIT=32
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35CONFIG_SWAP=y
36CONFIG_SYSVIPC=y
37CONFIG_SYSVIPC_SYSCTL=y
38# CONFIG_POSIX_MQUEUE is not set
39CONFIG_BSD_PROCESS_ACCT=y
40# CONFIG_BSD_PROCESS_ACCT_V3 is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_AUDIT is not set
43
44#
45# RCU Subsystem
46#
47CONFIG_TREE_RCU=y
48# CONFIG_TREE_PREEMPT_RCU is not set
49# CONFIG_RCU_TRACE is not set
50CONFIG_RCU_FANOUT=32
51# CONFIG_RCU_FANOUT_EXACT is not set
52# CONFIG_TREE_RCU_TRACE is not set
53# CONFIG_IKCONFIG is not set
54CONFIG_LOG_BUF_SHIFT=14
55CONFIG_GROUP_SCHED=y
56CONFIG_FAIR_GROUP_SCHED=y
57# CONFIG_RT_GROUP_SCHED is not set
58CONFIG_USER_SCHED=y
59# CONFIG_CGROUP_SCHED is not set
60# CONFIG_CGROUPS is not set
61# CONFIG_SYSFS_DEPRECATED_V2 is not set
62# CONFIG_RELAY is not set
63# CONFIG_NAMESPACES is not set
64CONFIG_BLK_DEV_INITRD=y
65CONFIG_INITRAMFS_SOURCE=""
66CONFIG_RD_GZIP=y
67# CONFIG_RD_BZIP2 is not set
68# CONFIG_RD_LZMA is not set
69CONFIG_CC_OPTIMIZE_FOR_SIZE=y
70CONFIG_SYSCTL=y
71CONFIG_ANON_INODES=y
72CONFIG_EMBEDDED=y
73CONFIG_UID16=y
74# CONFIG_SYSCTL_SYSCALL is not set
75CONFIG_KALLSYMS=y
76# CONFIG_KALLSYMS_ALL is not set
77CONFIG_KALLSYMS_EXTRA_PASS=y
78CONFIG_HOTPLUG=y
79CONFIG_PRINTK=y
80CONFIG_BUG=y
81CONFIG_ELF_CORE=y
82CONFIG_BASE_FULL=y
83CONFIG_FUTEX=y
84CONFIG_EPOLL=y
85CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y
88CONFIG_SHMEM=y
89CONFIG_AIO=y
90
91#
92# Kernel Performance Events And Counters
93#
94CONFIG_VM_EVENT_COUNTERS=y
95CONFIG_COMPAT_BRK=y
96CONFIG_SLAB=y
97# CONFIG_SLUB is not set
98# CONFIG_SLOB is not set
99# CONFIG_PROFILING is not set
100CONFIG_HAVE_OPROFILE=y
101# CONFIG_KPROBES is not set
102CONFIG_HAVE_KPROBES=y
103CONFIG_HAVE_KRETPROBES=y
104CONFIG_HAVE_CLK=y
105
106#
107# GCOV-based kernel profiling
108#
109# CONFIG_SLOW_WORK is not set
110CONFIG_HAVE_GENERIC_DMA_COHERENT=y
111CONFIG_SLABINFO=y
112CONFIG_RT_MUTEXES=y
113CONFIG_BASE_SMALL=0
114CONFIG_MODULES=y
115# CONFIG_MODULE_FORCE_LOAD is not set
116CONFIG_MODULE_UNLOAD=y
117# CONFIG_MODULE_FORCE_UNLOAD is not set
118CONFIG_MODVERSIONS=y
119CONFIG_MODULE_SRCVERSION_ALL=y
120CONFIG_BLOCK=y
121CONFIG_LBDAF=y
122# CONFIG_BLK_DEV_BSG is not set
123# CONFIG_BLK_DEV_INTEGRITY is not set
124
125#
126# IO Schedulers
127#
128CONFIG_IOSCHED_NOOP=y
129CONFIG_IOSCHED_AS=y
130CONFIG_IOSCHED_DEADLINE=y
131CONFIG_IOSCHED_CFQ=y
132CONFIG_DEFAULT_AS=y
133# CONFIG_DEFAULT_DEADLINE is not set
134# CONFIG_DEFAULT_CFQ is not set
135# CONFIG_DEFAULT_NOOP is not set
136CONFIG_DEFAULT_IOSCHED="anticipatory"
137CONFIG_FREEZER=y
138
139#
140# System Type
141#
142CONFIG_MMU=y
143# CONFIG_ARCH_AAEC2000 is not set
144# CONFIG_ARCH_INTEGRATOR is not set
145# CONFIG_ARCH_REALVIEW is not set
146# CONFIG_ARCH_VERSATILE is not set
147# CONFIG_ARCH_AT91 is not set
148# CONFIG_ARCH_CLPS711X is not set
149# CONFIG_ARCH_GEMINI is not set
150# CONFIG_ARCH_EBSA110 is not set
151# CONFIG_ARCH_EP93XX is not set
152# CONFIG_ARCH_FOOTBRIDGE is not set
153# CONFIG_ARCH_MXC is not set
154# CONFIG_ARCH_STMP3XXX is not set
155# CONFIG_ARCH_NETX is not set
156# CONFIG_ARCH_H720X is not set
157# CONFIG_ARCH_NOMADIK is not set
158# CONFIG_ARCH_IOP13XX is not set
159# CONFIG_ARCH_IOP32X is not set
160# CONFIG_ARCH_IOP33X is not set
161# CONFIG_ARCH_IXP23XX is not set
162# CONFIG_ARCH_IXP2000 is not set
163# CONFIG_ARCH_IXP4XX is not set
164# CONFIG_ARCH_L7200 is not set
165# CONFIG_ARCH_KIRKWOOD is not set
166# CONFIG_ARCH_LOKI is not set
167# CONFIG_ARCH_MV78XX0 is not set
168# CONFIG_ARCH_ORION5X is not set
169# CONFIG_ARCH_MMP is not set
170# CONFIG_ARCH_KS8695 is not set
171# CONFIG_ARCH_NS9XXX is not set
172# CONFIG_ARCH_W90X900 is not set
173# CONFIG_ARCH_PNX4008 is not set
174# CONFIG_ARCH_PXA is not set
175# CONFIG_ARCH_MSM is not set
176# CONFIG_ARCH_RPC is not set
177# CONFIG_ARCH_SA1100 is not set
178# CONFIG_ARCH_S3C2410 is not set
179# CONFIG_ARCH_S3C64XX is not set
180# CONFIG_ARCH_S5PC1XX is not set
181# CONFIG_ARCH_SHARK is not set
182# CONFIG_ARCH_LH7A40X is not set
183# CONFIG_ARCH_U300 is not set
184# CONFIG_ARCH_DAVINCI is not set
185CONFIG_ARCH_OMAP=y
186# CONFIG_ARCH_BCMRING is not set
187
188#
189# TI OMAP Implementations
190#
191CONFIG_ARCH_OMAP_OTG=y
192# CONFIG_ARCH_OMAP1 is not set
193# CONFIG_ARCH_OMAP2 is not set
194CONFIG_ARCH_OMAP3=y
195# CONFIG_ARCH_OMAP4 is not set
196
197#
198# OMAP Feature Selections
199#
200# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
201# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
202# CONFIG_OMAP_RESET_CLOCKS is not set
203CONFIG_OMAP_MUX=y
204CONFIG_OMAP_MUX_DEBUG=y
205CONFIG_OMAP_MUX_WARNINGS=y
206CONFIG_OMAP_MCBSP=y
207# CONFIG_OMAP_MBOX_FWK is not set
208# CONFIG_OMAP_MPU_TIMER is not set
209CONFIG_OMAP_32K_TIMER=y
210CONFIG_OMAP_32K_TIMER_HZ=128
211CONFIG_OMAP_DM_TIMER=y
212CONFIG_OMAP_LL_DEBUG_UART1=y
213# CONFIG_OMAP_LL_DEBUG_UART2 is not set
214# CONFIG_OMAP_LL_DEBUG_UART3 is not set
215# CONFIG_OMAP_LL_DEBUG_NONE is not set
216# CONFIG_OMAP_PM_NONE is not set
217CONFIG_OMAP_PM_NOOP=y
218CONFIG_ARCH_OMAP34XX=y
219CONFIG_ARCH_OMAP3430=y
220
221#
222# OMAP Board Type
223#
224# CONFIG_MACH_OMAP3_BEAGLE is not set
225# CONFIG_MACH_OMAP_LDP is not set
226# CONFIG_MACH_OVERO is not set
227# CONFIG_MACH_OMAP3EVM is not set
228# CONFIG_MACH_OMAP3_PANDORA is not set
229# CONFIG_MACH_OMAP_3430SDP is not set
230# CONFIG_MACH_NOKIA_RX51 is not set
231# CONFIG_MACH_OMAP_ZOOM2 is not set
232# CONFIG_MACH_CM_T35 is not set
233# CONFIG_MACH_OMAP_ZOOM3 is not set
234CONFIG_MACH_OMAP_3630SDP=y
235
236#
237# Processor Type
238#
239CONFIG_CPU_32=y
240CONFIG_CPU_32v6K=y
241CONFIG_CPU_V7=y
242CONFIG_CPU_32v7=y
243CONFIG_CPU_ABRT_EV7=y
244CONFIG_CPU_PABRT_V7=y
245CONFIG_CPU_CACHE_V7=y
246CONFIG_CPU_CACHE_VIPT=y
247CONFIG_CPU_COPY_V6=y
248CONFIG_CPU_TLB_V7=y
249CONFIG_CPU_HAS_ASID=y
250CONFIG_CPU_CP15=y
251CONFIG_CPU_CP15_MMU=y
252
253#
254# Processor Features
255#
256CONFIG_ARM_THUMB=y
257# CONFIG_ARM_THUMBEE is not set
258# CONFIG_CPU_ICACHE_DISABLE is not set
259# CONFIG_CPU_DCACHE_DISABLE is not set
260# CONFIG_CPU_BPREDICT_DISABLE is not set
261CONFIG_HAS_TLS_REG=y
262CONFIG_ARM_L1_CACHE_SHIFT=6
263# CONFIG_ARM_ERRATA_430973 is not set
264# CONFIG_ARM_ERRATA_458693 is not set
265# CONFIG_ARM_ERRATA_460075 is not set
266CONFIG_COMMON_CLKDEV=y
267
268#
269# Bus support
270#
271# CONFIG_PCI_SYSCALL is not set
272# CONFIG_ARCH_SUPPORTS_MSI is not set
273# CONFIG_PCCARD is not set
274
275#
276# Kernel Features
277#
278CONFIG_TICK_ONESHOT=y
279CONFIG_NO_HZ=y
280CONFIG_HIGH_RES_TIMERS=y
281CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
282CONFIG_VMSPLIT_3G=y
283# CONFIG_VMSPLIT_2G is not set
284# CONFIG_VMSPLIT_1G is not set
285CONFIG_PAGE_OFFSET=0xC0000000
286CONFIG_PREEMPT_NONE=y
287# CONFIG_PREEMPT_VOLUNTARY is not set
288# CONFIG_PREEMPT is not set
289CONFIG_HZ=128
290# CONFIG_THUMB2_KERNEL is not set
291CONFIG_AEABI=y
292CONFIG_OABI_COMPAT=y
293# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
294# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
295# CONFIG_HIGHMEM is not set
296CONFIG_SELECT_MEMORY_MODEL=y
297CONFIG_FLATMEM_MANUAL=y
298# CONFIG_DISCONTIGMEM_MANUAL is not set
299# CONFIG_SPARSEMEM_MANUAL is not set
300CONFIG_FLATMEM=y
301CONFIG_FLAT_NODE_MEM_MAP=y
302CONFIG_PAGEFLAGS_EXTENDED=y
303CONFIG_SPLIT_PTLOCK_CPUS=4
304# CONFIG_PHYS_ADDR_T_64BIT is not set
305CONFIG_ZONE_DMA_FLAG=0
306CONFIG_VIRT_TO_BUS=y
307CONFIG_HAVE_MLOCK=y
308CONFIG_HAVE_MLOCKED_PAGE_BIT=y
309# CONFIG_KSM is not set
310CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
311# CONFIG_LEDS is not set
312CONFIG_ALIGNMENT_TRAP=y
313# CONFIG_UACCESS_WITH_MEMCPY is not set
314
315#
316# Boot options
317#
318CONFIG_ZBOOT_ROM_TEXT=0x0
319CONFIG_ZBOOT_ROM_BSS=0x0
320CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
321# CONFIG_XIP_KERNEL is not set
322# CONFIG_KEXEC is not set
323
324#
325# CPU Power Management
326#
327# CONFIG_CPU_FREQ is not set
328# CONFIG_CPU_IDLE is not set
329
330#
331# Floating point emulation
332#
333
334#
335# At least one emulation must be selected
336#
337CONFIG_FPE_NWFPE=y
338# CONFIG_FPE_NWFPE_XP is not set
339# CONFIG_FPE_FASTFPE is not set
340CONFIG_VFP=y
341CONFIG_VFPv3=y
342# CONFIG_NEON is not set
343
344#
345# Userspace binary formats
346#
347CONFIG_BINFMT_ELF=y
348# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
349CONFIG_HAVE_AOUT=y
350# CONFIG_BINFMT_AOUT is not set
351CONFIG_BINFMT_MISC=y
352
353#
354# Power management options
355#
356CONFIG_PM=y
357CONFIG_PM_DEBUG=y
358CONFIG_PM_VERBOSE=y
359CONFIG_CAN_PM_TRACE=y
360CONFIG_PM_SLEEP=y
361CONFIG_SUSPEND=y
362# CONFIG_PM_TEST_SUSPEND is not set
363CONFIG_SUSPEND_FREEZER=y
364# CONFIG_APM_EMULATION is not set
365# CONFIG_PM_RUNTIME is not set
366CONFIG_ARCH_SUSPEND_POSSIBLE=y
367CONFIG_NET=y
368
369#
370# Networking options
371#
372CONFIG_PACKET=y
373# CONFIG_PACKET_MMAP is not set
374CONFIG_UNIX=y
375CONFIG_XFRM=y
376CONFIG_XFRM_USER=y
377# CONFIG_XFRM_SUB_POLICY is not set
378CONFIG_XFRM_MIGRATE=y
379# CONFIG_XFRM_STATISTICS is not set
380CONFIG_NET_KEY=y
381CONFIG_NET_KEY_MIGRATE=y
382CONFIG_INET=y
383CONFIG_IP_MULTICAST=y
384# CONFIG_IP_ADVANCED_ROUTER is not set
385CONFIG_IP_FIB_HASH=y
386CONFIG_IP_PNP=y
387CONFIG_IP_PNP_DHCP=y
388CONFIG_IP_PNP_BOOTP=y
389CONFIG_IP_PNP_RARP=y
390# CONFIG_NET_IPIP is not set
391# CONFIG_NET_IPGRE is not set
392# CONFIG_IP_MROUTE is not set
393# CONFIG_ARPD is not set
394# CONFIG_SYN_COOKIES is not set
395# CONFIG_INET_AH is not set
396# CONFIG_INET_ESP is not set
397# CONFIG_INET_IPCOMP is not set
398# CONFIG_INET_XFRM_TUNNEL is not set
399# CONFIG_INET_TUNNEL is not set
400CONFIG_INET_XFRM_MODE_TRANSPORT=y
401CONFIG_INET_XFRM_MODE_TUNNEL=y
402CONFIG_INET_XFRM_MODE_BEET=y
403# CONFIG_INET_LRO is not set
404CONFIG_INET_DIAG=y
405CONFIG_INET_TCP_DIAG=y
406# CONFIG_TCP_CONG_ADVANCED is not set
407CONFIG_TCP_CONG_CUBIC=y
408CONFIG_DEFAULT_TCP_CONG="cubic"
409# CONFIG_TCP_MD5SIG is not set
410# CONFIG_IPV6 is not set
411# CONFIG_NETWORK_SECMARK is not set
412# CONFIG_NETFILTER is not set
413# CONFIG_IP_DCCP is not set
414# CONFIG_IP_SCTP is not set
415# CONFIG_RDS is not set
416# CONFIG_TIPC is not set
417# CONFIG_ATM is not set
418# CONFIG_BRIDGE is not set
419# CONFIG_NET_DSA is not set
420# CONFIG_VLAN_8021Q is not set
421# CONFIG_DECNET is not set
422# CONFIG_LLC2 is not set
423# CONFIG_IPX is not set
424# CONFIG_ATALK is not set
425# CONFIG_X25 is not set
426# CONFIG_LAPB is not set
427# CONFIG_ECONET is not set
428# CONFIG_WAN_ROUTER is not set
429# CONFIG_PHONET is not set
430# CONFIG_IEEE802154 is not set
431# CONFIG_NET_SCHED is not set
432# CONFIG_DCB is not set
433
434#
435# Network testing
436#
437# CONFIG_NET_PKTGEN is not set
438# CONFIG_HAMRADIO is not set
439# CONFIG_CAN is not set
440# CONFIG_IRDA is not set
441# CONFIG_BT is not set
442# CONFIG_AF_RXRPC is not set
443# CONFIG_WIRELESS is not set
444# CONFIG_WIMAX is not set
445# CONFIG_RFKILL is not set
446# CONFIG_NET_9P is not set
447
448#
449# Device Drivers
450#
451
452#
453# Generic Driver Options
454#
455CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
456# CONFIG_DEVTMPFS is not set
457CONFIG_STANDALONE=y
458CONFIG_PREVENT_FIRMWARE_BUILD=y
459# CONFIG_FW_LOADER is not set
460# CONFIG_DEBUG_DRIVER is not set
461# CONFIG_DEBUG_DEVRES is not set
462# CONFIG_SYS_HYPERVISOR is not set
463CONFIG_CONNECTOR=y
464CONFIG_PROC_EVENTS=y
465# CONFIG_MTD is not set
466# CONFIG_PARPORT is not set
467CONFIG_BLK_DEV=y
468# CONFIG_BLK_DEV_COW_COMMON is not set
469CONFIG_BLK_DEV_LOOP=y
470# CONFIG_BLK_DEV_CRYPTOLOOP is not set
471# CONFIG_BLK_DEV_NBD is not set
472# CONFIG_BLK_DEV_UB is not set
473CONFIG_BLK_DEV_RAM=y
474CONFIG_BLK_DEV_RAM_COUNT=16
475CONFIG_BLK_DEV_RAM_SIZE=16384
476# CONFIG_BLK_DEV_XIP is not set
477# CONFIG_CDROM_PKTCDVD is not set
478# CONFIG_ATA_OVER_ETH is not set
479# CONFIG_MG_DISK is not set
480CONFIG_MISC_DEVICES=y
481# CONFIG_ICS932S401 is not set
482# CONFIG_ENCLOSURE_SERVICES is not set
483# CONFIG_ISL29003 is not set
484# CONFIG_C2PORT is not set
485
486#
487# EEPROM support
488#
489# CONFIG_EEPROM_AT24 is not set
490# CONFIG_EEPROM_AT25 is not set
491# CONFIG_EEPROM_LEGACY is not set
492# CONFIG_EEPROM_MAX6875 is not set
493# CONFIG_EEPROM_93CX6 is not set
494CONFIG_HAVE_IDE=y
495# CONFIG_IDE is not set
496
497#
498# SCSI device support
499#
500# CONFIG_RAID_ATTRS is not set
501CONFIG_SCSI=y
502CONFIG_SCSI_DMA=y
503# CONFIG_SCSI_TGT is not set
504# CONFIG_SCSI_NETLINK is not set
505CONFIG_SCSI_PROC_FS=y
506
507#
508# SCSI support type (disk, tape, CD-ROM)
509#
510CONFIG_BLK_DEV_SD=y
511# CONFIG_CHR_DEV_ST is not set
512# CONFIG_CHR_DEV_OSST is not set
513# CONFIG_BLK_DEV_SR is not set
514# CONFIG_CHR_DEV_SG is not set
515# CONFIG_CHR_DEV_SCH is not set
516# CONFIG_SCSI_MULTI_LUN is not set
517# CONFIG_SCSI_CONSTANTS is not set
518# CONFIG_SCSI_LOGGING is not set
519# CONFIG_SCSI_SCAN_ASYNC is not set
520CONFIG_SCSI_WAIT_SCAN=m
521
522#
523# SCSI Transports
524#
525# CONFIG_SCSI_SPI_ATTRS is not set
526# CONFIG_SCSI_FC_ATTRS is not set
527# CONFIG_SCSI_ISCSI_ATTRS is not set
528# CONFIG_SCSI_SAS_LIBSAS is not set
529# CONFIG_SCSI_SRP_ATTRS is not set
530CONFIG_SCSI_LOWLEVEL=y
531# CONFIG_ISCSI_TCP is not set
532# CONFIG_LIBFC is not set
533# CONFIG_LIBFCOE is not set
534# CONFIG_SCSI_DEBUG is not set
535# CONFIG_SCSI_DH is not set
536# CONFIG_SCSI_OSD_INITIATOR is not set
537# CONFIG_ATA is not set
538# CONFIG_MD is not set
539CONFIG_NETDEVICES=y
540# CONFIG_DUMMY is not set
541# CONFIG_BONDING is not set
542# CONFIG_MACVLAN is not set
543# CONFIG_EQUALIZER is not set
544# CONFIG_TUN is not set
545# CONFIG_VETH is not set
546CONFIG_PHYLIB=y
547
548#
549# MII PHY device drivers
550#
551# CONFIG_MARVELL_PHY is not set
552# CONFIG_DAVICOM_PHY is not set
553# CONFIG_QSEMI_PHY is not set
554# CONFIG_LXT_PHY is not set
555# CONFIG_CICADA_PHY is not set
556# CONFIG_VITESSE_PHY is not set
557CONFIG_SMSC_PHY=y
558# CONFIG_BROADCOM_PHY is not set
559# CONFIG_ICPLUS_PHY is not set
560# CONFIG_REALTEK_PHY is not set
561# CONFIG_NATIONAL_PHY is not set
562# CONFIG_STE10XP is not set
563# CONFIG_LSI_ET1011C_PHY is not set
564# CONFIG_FIXED_PHY is not set
565# CONFIG_MDIO_BITBANG is not set
566CONFIG_NET_ETHERNET=y
567CONFIG_MII=y
568# CONFIG_AX88796 is not set
569CONFIG_SMC91X=y
570# CONFIG_DM9000 is not set
571# CONFIG_ENC28J60 is not set
572# CONFIG_ETHOC is not set
573# CONFIG_SMC911X is not set
574# CONFIG_SMSC911X is not set
575# CONFIG_DNET is not set
576# CONFIG_IBM_NEW_EMAC_ZMII is not set
577# CONFIG_IBM_NEW_EMAC_RGMII is not set
578# CONFIG_IBM_NEW_EMAC_TAH is not set
579# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
580# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
581# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
582# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
583# CONFIG_B44 is not set
584# CONFIG_KS8842 is not set
585# CONFIG_KS8851 is not set
586# CONFIG_KS8851_MLL is not set
587CONFIG_NETDEV_1000=y
588CONFIG_NETDEV_10000=y
589CONFIG_WLAN=y
590# CONFIG_WLAN_PRE80211 is not set
591# CONFIG_WLAN_80211 is not set
592
593#
594# Enable WiMAX (Networking options) to see the WiMAX drivers
595#
596
597#
598# USB Network Adapters
599#
600# CONFIG_USB_CATC is not set
601# CONFIG_USB_KAWETH is not set
602# CONFIG_USB_PEGASUS is not set
603# CONFIG_USB_RTL8150 is not set
604# CONFIG_USB_USBNET is not set
605# CONFIG_WAN is not set
606# CONFIG_PPP is not set
607# CONFIG_SLIP is not set
608# CONFIG_NETCONSOLE is not set
609# CONFIG_NETPOLL is not set
610# CONFIG_NET_POLL_CONTROLLER is not set
611# CONFIG_ISDN is not set
612# CONFIG_PHONE is not set
613
614#
615# Input device support
616#
617CONFIG_INPUT=y
618# CONFIG_INPUT_FF_MEMLESS is not set
619# CONFIG_INPUT_POLLDEV is not set
620
621#
622# Userland interfaces
623#
624# CONFIG_INPUT_MOUSEDEV is not set
625# CONFIG_INPUT_JOYDEV is not set
626CONFIG_INPUT_EVDEV=y
627# CONFIG_INPUT_EVBUG is not set
628
629#
630# Input Device Drivers
631#
632# CONFIG_INPUT_KEYBOARD is not set
633# CONFIG_INPUT_MOUSE is not set
634# CONFIG_INPUT_JOYSTICK is not set
635# CONFIG_INPUT_TABLET is not set
636CONFIG_INPUT_TOUCHSCREEN=y
637CONFIG_TOUCHSCREEN_ADS7846=y
638# CONFIG_TOUCHSCREEN_AD7877 is not set
639# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
640# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
641# CONFIG_TOUCHSCREEN_AD7879 is not set
642# CONFIG_TOUCHSCREEN_EETI is not set
643# CONFIG_TOUCHSCREEN_FUJITSU is not set
644# CONFIG_TOUCHSCREEN_GUNZE is not set
645# CONFIG_TOUCHSCREEN_ELO is not set
646# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
647# CONFIG_TOUCHSCREEN_MCS5000 is not set
648# CONFIG_TOUCHSCREEN_MTOUCH is not set
649# CONFIG_TOUCHSCREEN_INEXIO is not set
650# CONFIG_TOUCHSCREEN_MK712 is not set
651# CONFIG_TOUCHSCREEN_PENMOUNT is not set
652# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
653# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
654# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
655# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
656# CONFIG_TOUCHSCREEN_TSC2007 is not set
657# CONFIG_TOUCHSCREEN_W90X900 is not set
658# CONFIG_INPUT_MISC is not set
659
660#
661# Hardware I/O ports
662#
663# CONFIG_SERIO is not set
664# CONFIG_GAMEPORT is not set
665
666#
667# Character devices
668#
669CONFIG_VT=y
670CONFIG_CONSOLE_TRANSLATIONS=y
671CONFIG_VT_CONSOLE=y
672CONFIG_HW_CONSOLE=y
673# CONFIG_VT_HW_CONSOLE_BINDING is not set
674CONFIG_DEVKMEM=y
675# CONFIG_SERIAL_NONSTANDARD is not set
676
677#
678# Serial drivers
679#
680CONFIG_SERIAL_8250=y
681CONFIG_SERIAL_8250_CONSOLE=y
682CONFIG_SERIAL_8250_NR_UARTS=32
683CONFIG_SERIAL_8250_RUNTIME_UARTS=4
684CONFIG_SERIAL_8250_EXTENDED=y
685CONFIG_SERIAL_8250_MANY_PORTS=y
686CONFIG_SERIAL_8250_SHARE_IRQ=y
687CONFIG_SERIAL_8250_DETECT_IRQ=y
688CONFIG_SERIAL_8250_RSA=y
689
690#
691# Non-8250 serial port support
692#
693# CONFIG_SERIAL_MAX3100 is not set
694CONFIG_SERIAL_CORE=y
695CONFIG_SERIAL_CORE_CONSOLE=y
696CONFIG_UNIX98_PTYS=y
697# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
698# CONFIG_LEGACY_PTYS is not set
699# CONFIG_IPMI_HANDLER is not set
700CONFIG_HW_RANDOM=y
701# CONFIG_HW_RANDOM_TIMERIOMEM is not set
702# CONFIG_R3964 is not set
703# CONFIG_RAW_DRIVER is not set
704# CONFIG_TCG_TPM is not set
705CONFIG_I2C=y
706CONFIG_I2C_BOARDINFO=y
707CONFIG_I2C_COMPAT=y
708CONFIG_I2C_CHARDEV=y
709CONFIG_I2C_HELPER_AUTO=y
710
711#
712# I2C Hardware Bus support
713#
714
715#
716# I2C system bus drivers (mostly embedded / system-on-chip)
717#
718# CONFIG_I2C_DESIGNWARE is not set
719# CONFIG_I2C_GPIO is not set
720# CONFIG_I2C_OCORES is not set
721CONFIG_I2C_OMAP=y
722# CONFIG_I2C_SIMTEC is not set
723
724#
725# External I2C/SMBus adapter drivers
726#
727# CONFIG_I2C_PARPORT_LIGHT is not set
728# CONFIG_I2C_TAOS_EVM is not set
729# CONFIG_I2C_TINY_USB is not set
730
731#
732# Other I2C/SMBus bus drivers
733#
734# CONFIG_I2C_PCA_PLATFORM is not set
735# CONFIG_I2C_STUB is not set
736
737#
738# Miscellaneous I2C Chip support
739#
740# CONFIG_DS1682 is not set
741# CONFIG_SENSORS_TSL2550 is not set
742# CONFIG_I2C_DEBUG_CORE is not set
743# CONFIG_I2C_DEBUG_ALGO is not set
744# CONFIG_I2C_DEBUG_BUS is not set
745# CONFIG_I2C_DEBUG_CHIP is not set
746CONFIG_SPI=y
747# CONFIG_SPI_DEBUG is not set
748CONFIG_SPI_MASTER=y
749
750#
751# SPI Master Controller Drivers
752#
753# CONFIG_SPI_BITBANG is not set
754# CONFIG_SPI_GPIO is not set
755CONFIG_SPI_OMAP24XX=y
756
757#
758# SPI Protocol Masters
759#
760# CONFIG_SPI_SPIDEV is not set
761# CONFIG_SPI_TLE62X0 is not set
762
763#
764# PPS support
765#
766# CONFIG_PPS is not set
767CONFIG_ARCH_REQUIRE_GPIOLIB=y
768CONFIG_GPIOLIB=y
769# CONFIG_DEBUG_GPIO is not set
770# CONFIG_GPIO_SYSFS is not set
771
772#
773# Memory mapped GPIO expanders:
774#
775
776#
777# I2C GPIO expanders:
778#
779# CONFIG_GPIO_MAX732X is not set
780# CONFIG_GPIO_PCA953X is not set
781# CONFIG_GPIO_PCF857X is not set
782CONFIG_GPIO_TWL4030=y
783
784#
785# PCI GPIO expanders:
786#
787
788#
789# SPI GPIO expanders:
790#
791# CONFIG_GPIO_MAX7301 is not set
792# CONFIG_GPIO_MCP23S08 is not set
793# CONFIG_GPIO_MC33880 is not set
794
795#
796# AC97 GPIO expanders:
797#
798CONFIG_W1=y
799CONFIG_W1_CON=y
800
801#
802# 1-wire Bus Masters
803#
804# CONFIG_W1_MASTER_DS2490 is not set
805# CONFIG_W1_MASTER_DS2482 is not set
806# CONFIG_W1_MASTER_DS1WM is not set
807# CONFIG_W1_MASTER_GPIO is not set
808# CONFIG_HDQ_MASTER_OMAP is not set
809
810#
811# 1-wire Slaves
812#
813# CONFIG_W1_SLAVE_THERM is not set
814# CONFIG_W1_SLAVE_SMEM is not set
815# CONFIG_W1_SLAVE_DS2431 is not set
816# CONFIG_W1_SLAVE_DS2433 is not set
817# CONFIG_W1_SLAVE_DS2760 is not set
818# CONFIG_W1_SLAVE_BQ27000 is not set
819CONFIG_POWER_SUPPLY=y
820# CONFIG_POWER_SUPPLY_DEBUG is not set
821# CONFIG_PDA_POWER is not set
822# CONFIG_BATTERY_DS2760 is not set
823# CONFIG_BATTERY_DS2782 is not set
824# CONFIG_BATTERY_BQ27x00 is not set
825# CONFIG_BATTERY_MAX17040 is not set
826# CONFIG_HWMON is not set
827# CONFIG_THERMAL is not set
828CONFIG_WATCHDOG=y
829CONFIG_WATCHDOG_NOWAYOUT=y
830
831#
832# Watchdog Device Drivers
833#
834# CONFIG_SOFT_WATCHDOG is not set
835# CONFIG_OMAP_WATCHDOG is not set
836# CONFIG_TWL4030_WATCHDOG is not set
837
838#
839# USB-based Watchdog Cards
840#
841# CONFIG_USBPCWATCHDOG is not set
842CONFIG_SSB_POSSIBLE=y
843
844#
845# Sonics Silicon Backplane
846#
847# CONFIG_SSB is not set
848
849#
850# Multifunction device drivers
851#
852# CONFIG_MFD_CORE is not set
853# CONFIG_MFD_SM501 is not set
854# CONFIG_MFD_ASIC3 is not set
855# CONFIG_HTC_EGPIO is not set
856# CONFIG_HTC_PASIC3 is not set
857# CONFIG_TPS65010 is not set
858CONFIG_TWL4030_CORE=y
859# CONFIG_TWL4030_POWER is not set
860# CONFIG_MFD_TMIO is not set
861# CONFIG_MFD_T7L66XB is not set
862# CONFIG_MFD_TC6387XB is not set
863# CONFIG_MFD_TC6393XB is not set
864# CONFIG_PMIC_DA903X is not set
865# CONFIG_MFD_WM8400 is not set
866# CONFIG_MFD_WM831X is not set
867# CONFIG_MFD_WM8350_I2C is not set
868# CONFIG_MFD_PCF50633 is not set
869# CONFIG_MFD_MC13783 is not set
870# CONFIG_AB3100_CORE is not set
871# CONFIG_EZX_PCAP is not set
872CONFIG_REGULATOR=y
873# CONFIG_REGULATOR_DEBUG is not set
874# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
875# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
876# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
877# CONFIG_REGULATOR_BQ24022 is not set
878# CONFIG_REGULATOR_MAX1586 is not set
879CONFIG_REGULATOR_TWL4030=y
880# CONFIG_REGULATOR_LP3971 is not set
881# CONFIG_REGULATOR_TPS65023 is not set
882# CONFIG_REGULATOR_TPS6507X is not set
883# CONFIG_MEDIA_SUPPORT is not set
884
885#
886# Graphics support
887#
888# CONFIG_VGASTATE is not set
889CONFIG_VIDEO_OUTPUT_CONTROL=m
890# CONFIG_FB is not set
891# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
892
893#
894# Display device support
895#
896# CONFIG_DISPLAY_SUPPORT is not set
897
898#
899# Console display driver support
900#
901# CONFIG_VGA_CONSOLE is not set
902CONFIG_DUMMY_CONSOLE=y
903CONFIG_SOUND=y
904# CONFIG_SOUND_OSS_CORE is not set
905CONFIG_SND=y
906CONFIG_SND_TIMER=m
907CONFIG_SND_PCM=m
908# CONFIG_SND_SEQUENCER is not set
909# CONFIG_SND_MIXER_OSS is not set
910# CONFIG_SND_PCM_OSS is not set
911# CONFIG_SND_HRTIMER is not set
912# CONFIG_SND_DYNAMIC_MINORS is not set
913CONFIG_SND_SUPPORT_OLD_API=y
914CONFIG_SND_VERBOSE_PROCFS=y
915# CONFIG_SND_VERBOSE_PRINTK is not set
916# CONFIG_SND_DEBUG is not set
917# CONFIG_SND_RAWMIDI_SEQ is not set
918# CONFIG_SND_OPL3_LIB_SEQ is not set
919# CONFIG_SND_OPL4_LIB_SEQ is not set
920# CONFIG_SND_SBAWE_SEQ is not set
921# CONFIG_SND_EMU10K1_SEQ is not set
922CONFIG_SND_DRIVERS=y
923# CONFIG_SND_DUMMY is not set
924# CONFIG_SND_MTPAV is not set
925# CONFIG_SND_SERIAL_U16550 is not set
926# CONFIG_SND_MPU401 is not set
927CONFIG_SND_ARM=y
928CONFIG_SND_SPI=y
929CONFIG_SND_USB=y
930# CONFIG_SND_USB_AUDIO is not set
931# CONFIG_SND_USB_CAIAQ is not set
932# CONFIG_SND_SOC is not set
933# CONFIG_SOUND_PRIME is not set
934CONFIG_HID_SUPPORT=y
935CONFIG_HID=y
936# CONFIG_HIDRAW is not set
937
938#
939# USB Input Devices
940#
941CONFIG_USB_HID=y
942# CONFIG_HID_PID is not set
943# CONFIG_USB_HIDDEV is not set
944
945#
946# Special HID drivers
947#
948# CONFIG_HID_A4TECH is not set
949# CONFIG_HID_APPLE is not set
950# CONFIG_HID_BELKIN is not set
951# CONFIG_HID_CHERRY is not set
952# CONFIG_HID_CHICONY is not set
953# CONFIG_HID_CYPRESS is not set
954# CONFIG_HID_DRAGONRISE is not set
955# CONFIG_HID_EZKEY is not set
956# CONFIG_HID_KYE is not set
957# CONFIG_HID_GYRATION is not set
958# CONFIG_HID_TWINHAN is not set
959# CONFIG_HID_KENSINGTON is not set
960# CONFIG_HID_LOGITECH is not set
961# CONFIG_HID_MICROSOFT is not set
962# CONFIG_HID_MONTEREY is not set
963# CONFIG_HID_NTRIG is not set
964# CONFIG_HID_PANTHERLORD is not set
965# CONFIG_HID_PETALYNX is not set
966# CONFIG_HID_SAMSUNG is not set
967# CONFIG_HID_SONY is not set
968# CONFIG_HID_SUNPLUS is not set
969# CONFIG_HID_GREENASIA is not set
970# CONFIG_HID_SMARTJOYPLUS is not set
971# CONFIG_HID_TOPSEED is not set
972# CONFIG_HID_THRUSTMASTER is not set
973# CONFIG_HID_ZEROPLUS is not set
974CONFIG_USB_SUPPORT=y
975CONFIG_USB_ARCH_HAS_HCD=y
976CONFIG_USB_ARCH_HAS_OHCI=y
977CONFIG_USB_ARCH_HAS_EHCI=y
978CONFIG_USB=y
979CONFIG_USB_DEBUG=y
980CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
981
982#
983# Miscellaneous USB options
984#
985CONFIG_USB_DEVICEFS=y
986# CONFIG_USB_DEVICE_CLASS is not set
987# CONFIG_USB_DYNAMIC_MINORS is not set
988CONFIG_USB_SUSPEND=y
989CONFIG_USB_OTG=y
990# CONFIG_USB_OTG_WHITELIST is not set
991# CONFIG_USB_OTG_BLACKLIST_HUB is not set
992CONFIG_USB_MON=y
993# CONFIG_USB_WUSB is not set
994# CONFIG_USB_WUSB_CBAF is not set
995
996#
997# USB Host Controller Drivers
998#
999# CONFIG_USB_C67X00_HCD is not set
1000# CONFIG_USB_EHCI_HCD is not set
1001# CONFIG_USB_OXU210HP_HCD is not set
1002# CONFIG_USB_ISP116X_HCD is not set
1003# CONFIG_USB_ISP1760_HCD is not set
1004# CONFIG_USB_ISP1362_HCD is not set
1005# CONFIG_USB_OHCI_HCD is not set
1006# CONFIG_USB_SL811_HCD is not set
1007# CONFIG_USB_R8A66597_HCD is not set
1008# CONFIG_USB_HWA_HCD is not set
1009CONFIG_USB_MUSB_HDRC=y
1010CONFIG_USB_MUSB_SOC=y
1011
1012#
1013# OMAP 343x high speed USB support
1014#
1015# CONFIG_USB_MUSB_HOST is not set
1016# CONFIG_USB_MUSB_PERIPHERAL is not set
1017CONFIG_USB_MUSB_OTG=y
1018CONFIG_USB_GADGET_MUSB_HDRC=y
1019CONFIG_USB_MUSB_HDRC_HCD=y
1020# CONFIG_MUSB_PIO_ONLY is not set
1021CONFIG_USB_INVENTRA_DMA=y
1022# CONFIG_USB_TI_CPPI_DMA is not set
1023CONFIG_USB_MUSB_DEBUG=y
1024
1025#
1026# USB Device Class drivers
1027#
1028# CONFIG_USB_ACM is not set
1029# CONFIG_USB_PRINTER is not set
1030# CONFIG_USB_WDM is not set
1031# CONFIG_USB_TMC is not set
1032
1033#
1034# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1035#
1036
1037#
1038# also be needed; see USB_STORAGE Help for more info
1039#
1040CONFIG_USB_STORAGE=y
1041# CONFIG_USB_STORAGE_DEBUG is not set
1042# CONFIG_USB_STORAGE_DATAFAB is not set
1043# CONFIG_USB_STORAGE_FREECOM is not set
1044# CONFIG_USB_STORAGE_ISD200 is not set
1045# CONFIG_USB_STORAGE_USBAT is not set
1046# CONFIG_USB_STORAGE_SDDR09 is not set
1047# CONFIG_USB_STORAGE_SDDR55 is not set
1048# CONFIG_USB_STORAGE_JUMPSHOT is not set
1049# CONFIG_USB_STORAGE_ALAUDA is not set
1050# CONFIG_USB_STORAGE_ONETOUCH is not set
1051# CONFIG_USB_STORAGE_KARMA is not set
1052# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1053# CONFIG_USB_LIBUSUAL is not set
1054
1055#
1056# USB Imaging devices
1057#
1058# CONFIG_USB_MDC800 is not set
1059# CONFIG_USB_MICROTEK is not set
1060
1061#
1062# USB port drivers
1063#
1064# CONFIG_USB_SERIAL is not set
1065
1066#
1067# USB Miscellaneous drivers
1068#
1069# CONFIG_USB_EMI62 is not set
1070# CONFIG_USB_EMI26 is not set
1071# CONFIG_USB_ADUTUX is not set
1072# CONFIG_USB_SEVSEG is not set
1073# CONFIG_USB_RIO500 is not set
1074# CONFIG_USB_LEGOTOWER is not set
1075# CONFIG_USB_LCD is not set
1076# CONFIG_USB_BERRY_CHARGE is not set
1077# CONFIG_USB_LED is not set
1078# CONFIG_USB_CYPRESS_CY7C63 is not set
1079# CONFIG_USB_CYTHERM is not set
1080# CONFIG_USB_IDMOUSE is not set
1081# CONFIG_USB_FTDI_ELAN is not set
1082# CONFIG_USB_APPLEDISPLAY is not set
1083# CONFIG_USB_SISUSBVGA is not set
1084# CONFIG_USB_LD is not set
1085# CONFIG_USB_TRANCEVIBRATOR is not set
1086# CONFIG_USB_IOWARRIOR is not set
1087CONFIG_USB_TEST=m
1088# CONFIG_USB_ISIGHTFW is not set
1089# CONFIG_USB_VST is not set
1090CONFIG_USB_GADGET=m
1091CONFIG_USB_GADGET_DEBUG=y
1092CONFIG_USB_GADGET_DEBUG_FILES=y
1093CONFIG_USB_GADGET_VBUS_DRAW=2
1094CONFIG_USB_GADGET_SELECTED=y
1095# CONFIG_USB_GADGET_AT91 is not set
1096# CONFIG_USB_GADGET_ATMEL_USBA is not set
1097# CONFIG_USB_GADGET_FSL_USB2 is not set
1098# CONFIG_USB_GADGET_LH7A40X is not set
1099# CONFIG_USB_GADGET_OMAP is not set
1100# CONFIG_USB_GADGET_PXA25X is not set
1101# CONFIG_USB_GADGET_R8A66597 is not set
1102# CONFIG_USB_GADGET_PXA27X is not set
1103# CONFIG_USB_GADGET_S3C_HSOTG is not set
1104# CONFIG_USB_GADGET_IMX is not set
1105# CONFIG_USB_GADGET_S3C2410 is not set
1106# CONFIG_USB_GADGET_M66592 is not set
1107# CONFIG_USB_GADGET_AMD5536UDC is not set
1108# CONFIG_USB_GADGET_FSL_QE is not set
1109# CONFIG_USB_GADGET_CI13XXX is not set
1110# CONFIG_USB_GADGET_NET2280 is not set
1111# CONFIG_USB_GADGET_GOKU is not set
1112# CONFIG_USB_GADGET_LANGWELL is not set
1113# CONFIG_USB_GADGET_DUMMY_HCD is not set
1114CONFIG_USB_GADGET_DUALSPEED=y
1115CONFIG_USB_ZERO=m
1116# CONFIG_USB_ZERO_HNPTEST is not set
1117CONFIG_USB_AUDIO=m
1118CONFIG_USB_ETH=m
1119CONFIG_USB_ETH_RNDIS=y
1120# CONFIG_USB_ETH_EEM is not set
1121CONFIG_USB_GADGETFS=m
1122CONFIG_USB_FILE_STORAGE=m
1123# CONFIG_USB_FILE_STORAGE_TEST is not set
1124CONFIG_USB_G_SERIAL=m
1125# CONFIG_USB_MIDI_GADGET is not set
1126# CONFIG_USB_G_PRINTER is not set
1127CONFIG_USB_CDC_COMPOSITE=m
1128
1129#
1130# OTG and related infrastructure
1131#
1132CONFIG_USB_OTG_UTILS=y
1133# CONFIG_USB_GPIO_VBUS is not set
1134# CONFIG_ISP1301_OMAP is not set
1135CONFIG_TWL4030_USB=y
1136# CONFIG_NOP_USB_XCEIV is not set
1137CONFIG_MMC=y
1138# CONFIG_MMC_DEBUG is not set
1139# CONFIG_MMC_UNSAFE_RESUME is not set
1140
1141#
1142# MMC/SD/SDIO Card Drivers
1143#
1144CONFIG_MMC_BLOCK=y
1145CONFIG_MMC_BLOCK_BOUNCE=y
1146# CONFIG_SDIO_UART is not set
1147# CONFIG_MMC_TEST is not set
1148
1149#
1150# MMC/SD/SDIO Host Controller Drivers
1151#
1152# CONFIG_MMC_SDHCI is not set
1153# CONFIG_MMC_OMAP is not set
1154CONFIG_MMC_OMAP_HS=y
1155# CONFIG_MMC_AT91 is not set
1156# CONFIG_MMC_ATMELMCI is not set
1157# CONFIG_MMC_SPI is not set
1158# CONFIG_MEMSTICK is not set
1159# CONFIG_NEW_LEDS is not set
1160# CONFIG_ACCESSIBILITY is not set
1161CONFIG_RTC_LIB=y
1162CONFIG_RTC_CLASS=y
1163CONFIG_RTC_HCTOSYS=y
1164CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1165# CONFIG_RTC_DEBUG is not set
1166
1167#
1168# RTC interfaces
1169#
1170CONFIG_RTC_INTF_SYSFS=y
1171CONFIG_RTC_INTF_PROC=y
1172CONFIG_RTC_INTF_DEV=y
1173# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1174# CONFIG_RTC_DRV_TEST is not set
1175
1176#
1177# I2C RTC drivers
1178#
1179# CONFIG_RTC_DRV_DS1307 is not set
1180# CONFIG_RTC_DRV_DS1374 is not set
1181# CONFIG_RTC_DRV_DS1672 is not set
1182# CONFIG_RTC_DRV_MAX6900 is not set
1183# CONFIG_RTC_DRV_RS5C372 is not set
1184# CONFIG_RTC_DRV_ISL1208 is not set
1185# CONFIG_RTC_DRV_X1205 is not set
1186# CONFIG_RTC_DRV_PCF8563 is not set
1187# CONFIG_RTC_DRV_PCF8583 is not set
1188# CONFIG_RTC_DRV_M41T80 is not set
1189# CONFIG_RTC_DRV_TWL4030 is not set
1190# CONFIG_RTC_DRV_S35390A is not set
1191# CONFIG_RTC_DRV_FM3130 is not set
1192# CONFIG_RTC_DRV_RX8581 is not set
1193# CONFIG_RTC_DRV_RX8025 is not set
1194
1195#
1196# SPI RTC drivers
1197#
1198# CONFIG_RTC_DRV_M41T94 is not set
1199# CONFIG_RTC_DRV_DS1305 is not set
1200# CONFIG_RTC_DRV_DS1390 is not set
1201# CONFIG_RTC_DRV_MAX6902 is not set
1202# CONFIG_RTC_DRV_R9701 is not set
1203# CONFIG_RTC_DRV_RS5C348 is not set
1204# CONFIG_RTC_DRV_DS3234 is not set
1205# CONFIG_RTC_DRV_PCF2123 is not set
1206
1207#
1208# Platform RTC drivers
1209#
1210# CONFIG_RTC_DRV_CMOS is not set
1211# CONFIG_RTC_DRV_DS1286 is not set
1212# CONFIG_RTC_DRV_DS1511 is not set
1213# CONFIG_RTC_DRV_DS1553 is not set
1214# CONFIG_RTC_DRV_DS1742 is not set
1215# CONFIG_RTC_DRV_STK17TA8 is not set
1216# CONFIG_RTC_DRV_M48T86 is not set
1217# CONFIG_RTC_DRV_M48T35 is not set
1218# CONFIG_RTC_DRV_M48T59 is not set
1219# CONFIG_RTC_DRV_BQ4802 is not set
1220# CONFIG_RTC_DRV_V3020 is not set
1221
1222#
1223# on-CPU RTC drivers
1224#
1225# CONFIG_DMADEVICES is not set
1226# CONFIG_AUXDISPLAY is not set
1227# CONFIG_UIO is not set
1228
1229#
1230# TI VLYNQ
1231#
1232# CONFIG_STAGING is not set
1233
1234#
1235# CBUS support
1236#
1237# CONFIG_CBUS is not set
1238
1239#
1240# File systems
1241#
1242CONFIG_EXT2_FS=y
1243# CONFIG_EXT2_FS_XATTR is not set
1244# CONFIG_EXT2_FS_XIP is not set
1245CONFIG_EXT3_FS=y
1246# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1247# CONFIG_EXT3_FS_XATTR is not set
1248# CONFIG_EXT4_FS is not set
1249CONFIG_JBD=y
1250# CONFIG_REISERFS_FS is not set
1251# CONFIG_JFS_FS is not set
1252CONFIG_FS_POSIX_ACL=y
1253# CONFIG_XFS_FS is not set
1254# CONFIG_GFS2_FS is not set
1255# CONFIG_OCFS2_FS is not set
1256# CONFIG_BTRFS_FS is not set
1257# CONFIG_NILFS2_FS is not set
1258CONFIG_FILE_LOCKING=y
1259CONFIG_FSNOTIFY=y
1260CONFIG_DNOTIFY=y
1261CONFIG_INOTIFY=y
1262CONFIG_INOTIFY_USER=y
1263CONFIG_QUOTA=y
1264# CONFIG_QUOTA_NETLINK_INTERFACE is not set
1265CONFIG_PRINT_QUOTA_WARNING=y
1266CONFIG_QUOTA_TREE=y
1267# CONFIG_QFMT_V1 is not set
1268CONFIG_QFMT_V2=y
1269CONFIG_QUOTACTL=y
1270# CONFIG_AUTOFS_FS is not set
1271# CONFIG_AUTOFS4_FS is not set
1272# CONFIG_FUSE_FS is not set
1273
1274#
1275# Caches
1276#
1277# CONFIG_FSCACHE is not set
1278
1279#
1280# CD-ROM/DVD Filesystems
1281#
1282# CONFIG_ISO9660_FS is not set
1283# CONFIG_UDF_FS is not set
1284
1285#
1286# DOS/FAT/NT Filesystems
1287#
1288CONFIG_FAT_FS=y
1289CONFIG_MSDOS_FS=y
1290CONFIG_VFAT_FS=y
1291CONFIG_FAT_DEFAULT_CODEPAGE=437
1292CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1293# CONFIG_NTFS_FS is not set
1294
1295#
1296# Pseudo filesystems
1297#
1298CONFIG_PROC_FS=y
1299CONFIG_PROC_SYSCTL=y
1300CONFIG_PROC_PAGE_MONITOR=y
1301CONFIG_SYSFS=y
1302CONFIG_TMPFS=y
1303# CONFIG_TMPFS_POSIX_ACL is not set
1304# CONFIG_HUGETLB_PAGE is not set
1305# CONFIG_CONFIGFS_FS is not set
1306CONFIG_MISC_FILESYSTEMS=y
1307# CONFIG_ADFS_FS is not set
1308# CONFIG_AFFS_FS is not set
1309# CONFIG_HFS_FS is not set
1310# CONFIG_HFSPLUS_FS is not set
1311# CONFIG_BEFS_FS is not set
1312# CONFIG_BFS_FS is not set
1313# CONFIG_EFS_FS is not set
1314# CONFIG_CRAMFS is not set
1315# CONFIG_SQUASHFS is not set
1316# CONFIG_VXFS_FS is not set
1317# CONFIG_MINIX_FS is not set
1318# CONFIG_OMFS_FS is not set
1319# CONFIG_HPFS_FS is not set
1320# CONFIG_QNX4FS_FS is not set
1321# CONFIG_ROMFS_FS is not set
1322# CONFIG_SYSV_FS is not set
1323# CONFIG_UFS_FS is not set
1324CONFIG_NETWORK_FILESYSTEMS=y
1325CONFIG_NFS_FS=y
1326CONFIG_NFS_V3=y
1327CONFIG_NFS_V3_ACL=y
1328CONFIG_NFS_V4=y
1329# CONFIG_NFS_V4_1 is not set
1330CONFIG_ROOT_NFS=y
1331# CONFIG_NFSD is not set
1332CONFIG_LOCKD=y
1333CONFIG_LOCKD_V4=y
1334CONFIG_NFS_ACL_SUPPORT=y
1335CONFIG_NFS_COMMON=y
1336CONFIG_SUNRPC=y
1337CONFIG_SUNRPC_GSS=y
1338CONFIG_RPCSEC_GSS_KRB5=y
1339# CONFIG_RPCSEC_GSS_SPKM3 is not set
1340# CONFIG_SMB_FS is not set
1341# CONFIG_CIFS is not set
1342# CONFIG_NCP_FS is not set
1343# CONFIG_CODA_FS is not set
1344# CONFIG_AFS_FS is not set
1345
1346#
1347# Partition Types
1348#
1349CONFIG_PARTITION_ADVANCED=y
1350# CONFIG_ACORN_PARTITION is not set
1351# CONFIG_OSF_PARTITION is not set
1352# CONFIG_AMIGA_PARTITION is not set
1353# CONFIG_ATARI_PARTITION is not set
1354# CONFIG_MAC_PARTITION is not set
1355CONFIG_MSDOS_PARTITION=y
1356# CONFIG_BSD_DISKLABEL is not set
1357# CONFIG_MINIX_SUBPARTITION is not set
1358# CONFIG_SOLARIS_X86_PARTITION is not set
1359# CONFIG_UNIXWARE_DISKLABEL is not set
1360# CONFIG_LDM_PARTITION is not set
1361# CONFIG_SGI_PARTITION is not set
1362# CONFIG_ULTRIX_PARTITION is not set
1363# CONFIG_SUN_PARTITION is not set
1364# CONFIG_KARMA_PARTITION is not set
1365# CONFIG_EFI_PARTITION is not set
1366# CONFIG_SYSV68_PARTITION is not set
1367CONFIG_NLS=y
1368CONFIG_NLS_DEFAULT="iso8859-1"
1369CONFIG_NLS_CODEPAGE_437=y
1370# CONFIG_NLS_CODEPAGE_737 is not set
1371# CONFIG_NLS_CODEPAGE_775 is not set
1372# CONFIG_NLS_CODEPAGE_850 is not set
1373# CONFIG_NLS_CODEPAGE_852 is not set
1374# CONFIG_NLS_CODEPAGE_855 is not set
1375# CONFIG_NLS_CODEPAGE_857 is not set
1376# CONFIG_NLS_CODEPAGE_860 is not set
1377# CONFIG_NLS_CODEPAGE_861 is not set
1378# CONFIG_NLS_CODEPAGE_862 is not set
1379# CONFIG_NLS_CODEPAGE_863 is not set
1380# CONFIG_NLS_CODEPAGE_864 is not set
1381# CONFIG_NLS_CODEPAGE_865 is not set
1382# CONFIG_NLS_CODEPAGE_866 is not set
1383# CONFIG_NLS_CODEPAGE_869 is not set
1384# CONFIG_NLS_CODEPAGE_936 is not set
1385# CONFIG_NLS_CODEPAGE_950 is not set
1386# CONFIG_NLS_CODEPAGE_932 is not set
1387# CONFIG_NLS_CODEPAGE_949 is not set
1388# CONFIG_NLS_CODEPAGE_874 is not set
1389# CONFIG_NLS_ISO8859_8 is not set
1390# CONFIG_NLS_CODEPAGE_1250 is not set
1391# CONFIG_NLS_CODEPAGE_1251 is not set
1392# CONFIG_NLS_ASCII is not set
1393CONFIG_NLS_ISO8859_1=y
1394# CONFIG_NLS_ISO8859_2 is not set
1395# CONFIG_NLS_ISO8859_3 is not set
1396# CONFIG_NLS_ISO8859_4 is not set
1397# CONFIG_NLS_ISO8859_5 is not set
1398# CONFIG_NLS_ISO8859_6 is not set
1399# CONFIG_NLS_ISO8859_7 is not set
1400# CONFIG_NLS_ISO8859_9 is not set
1401# CONFIG_NLS_ISO8859_13 is not set
1402# CONFIG_NLS_ISO8859_14 is not set
1403# CONFIG_NLS_ISO8859_15 is not set
1404# CONFIG_NLS_KOI8_R is not set
1405# CONFIG_NLS_KOI8_U is not set
1406# CONFIG_NLS_UTF8 is not set
1407# CONFIG_DLM is not set
1408
1409#
1410# Kernel hacking
1411#
1412# CONFIG_PRINTK_TIME is not set
1413CONFIG_ENABLE_WARN_DEPRECATED=y
1414CONFIG_ENABLE_MUST_CHECK=y
1415CONFIG_FRAME_WARN=1024
1416CONFIG_MAGIC_SYSRQ=y
1417# CONFIG_STRIP_ASM_SYMS is not set
1418# CONFIG_UNUSED_SYMBOLS is not set
1419# CONFIG_DEBUG_FS is not set
1420# CONFIG_HEADERS_CHECK is not set
1421CONFIG_DEBUG_KERNEL=y
1422# CONFIG_DEBUG_SHIRQ is not set
1423CONFIG_DETECT_SOFTLOCKUP=y
1424# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1425CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1426CONFIG_DETECT_HUNG_TASK=y
1427# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1428CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1429CONFIG_SCHED_DEBUG=y
1430# CONFIG_SCHEDSTATS is not set
1431# CONFIG_TIMER_STATS is not set
1432# CONFIG_DEBUG_OBJECTS is not set
1433# CONFIG_DEBUG_SLAB is not set
1434# CONFIG_DEBUG_KMEMLEAK is not set
1435# CONFIG_DEBUG_RT_MUTEXES is not set
1436# CONFIG_RT_MUTEX_TESTER is not set
1437# CONFIG_DEBUG_SPINLOCK is not set
1438CONFIG_DEBUG_MUTEXES=y
1439# CONFIG_DEBUG_LOCK_ALLOC is not set
1440# CONFIG_PROVE_LOCKING is not set
1441# CONFIG_LOCK_STAT is not set
1442# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1443# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1444# CONFIG_DEBUG_KOBJECT is not set
1445# CONFIG_DEBUG_BUGVERBOSE is not set
1446CONFIG_DEBUG_INFO=y
1447# CONFIG_DEBUG_VM is not set
1448# CONFIG_DEBUG_WRITECOUNT is not set
1449# CONFIG_DEBUG_MEMORY_INIT is not set
1450# CONFIG_DEBUG_LIST is not set
1451# CONFIG_DEBUG_SG is not set
1452# CONFIG_DEBUG_NOTIFIERS is not set
1453# CONFIG_DEBUG_CREDENTIALS is not set
1454# CONFIG_BOOT_PRINTK_DELAY is not set
1455# CONFIG_RCU_TORTURE_TEST is not set
1456# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1457# CONFIG_BACKTRACE_SELF_TEST is not set
1458# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1459# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1460# CONFIG_FAULT_INJECTION is not set
1461# CONFIG_LATENCYTOP is not set
1462# CONFIG_PAGE_POISONING is not set
1463CONFIG_HAVE_FUNCTION_TRACER=y
1464CONFIG_TRACING_SUPPORT=y
1465CONFIG_FTRACE=y
1466# CONFIG_FUNCTION_TRACER is not set
1467# CONFIG_IRQSOFF_TRACER is not set
1468# CONFIG_SCHED_TRACER is not set
1469# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1470# CONFIG_BOOT_TRACER is not set
1471CONFIG_BRANCH_PROFILE_NONE=y
1472# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1473# CONFIG_PROFILE_ALL_BRANCHES is not set
1474# CONFIG_STACK_TRACER is not set
1475# CONFIG_KMEMTRACE is not set
1476# CONFIG_WORKQUEUE_TRACER is not set
1477# CONFIG_BLK_DEV_IO_TRACE is not set
1478# CONFIG_SAMPLES is not set
1479CONFIG_HAVE_ARCH_KGDB=y
1480# CONFIG_KGDB is not set
1481CONFIG_ARM_UNWIND=y
1482# CONFIG_DEBUG_USER is not set
1483# CONFIG_DEBUG_ERRORS is not set
1484# CONFIG_DEBUG_STACK_USAGE is not set
1485CONFIG_DEBUG_LL=y
1486# CONFIG_DEBUG_ICEDCC is not set
1487
1488#
1489# Security options
1490#
1491# CONFIG_KEYS is not set
1492# CONFIG_SECURITY is not set
1493# CONFIG_SECURITYFS is not set
1494# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1495CONFIG_CRYPTO=y
1496
1497#
1498# Crypto core or helper
1499#
1500CONFIG_CRYPTO_ALGAPI=y
1501CONFIG_CRYPTO_ALGAPI2=y
1502CONFIG_CRYPTO_AEAD2=y
1503CONFIG_CRYPTO_BLKCIPHER=y
1504CONFIG_CRYPTO_BLKCIPHER2=y
1505CONFIG_CRYPTO_HASH=y
1506CONFIG_CRYPTO_HASH2=y
1507CONFIG_CRYPTO_RNG2=y
1508CONFIG_CRYPTO_PCOMP=y
1509CONFIG_CRYPTO_MANAGER=y
1510CONFIG_CRYPTO_MANAGER2=y
1511# CONFIG_CRYPTO_GF128MUL is not set
1512# CONFIG_CRYPTO_NULL is not set
1513CONFIG_CRYPTO_WORKQUEUE=y
1514# CONFIG_CRYPTO_CRYPTD is not set
1515# CONFIG_CRYPTO_AUTHENC is not set
1516# CONFIG_CRYPTO_TEST is not set
1517
1518#
1519# Authenticated Encryption with Associated Data
1520#
1521# CONFIG_CRYPTO_CCM is not set
1522# CONFIG_CRYPTO_GCM is not set
1523# CONFIG_CRYPTO_SEQIV is not set
1524
1525#
1526# Block modes
1527#
1528CONFIG_CRYPTO_CBC=y
1529# CONFIG_CRYPTO_CTR is not set
1530# CONFIG_CRYPTO_CTS is not set
1531CONFIG_CRYPTO_ECB=m
1532# CONFIG_CRYPTO_LRW is not set
1533CONFIG_CRYPTO_PCBC=m
1534# CONFIG_CRYPTO_XTS is not set
1535
1536#
1537# Hash modes
1538#
1539# CONFIG_CRYPTO_HMAC is not set
1540# CONFIG_CRYPTO_XCBC is not set
1541# CONFIG_CRYPTO_VMAC is not set
1542
1543#
1544# Digest
1545#
1546CONFIG_CRYPTO_CRC32C=y
1547# CONFIG_CRYPTO_GHASH is not set
1548# CONFIG_CRYPTO_MD4 is not set
1549CONFIG_CRYPTO_MD5=y
1550# CONFIG_CRYPTO_MICHAEL_MIC is not set
1551# CONFIG_CRYPTO_RMD128 is not set
1552# CONFIG_CRYPTO_RMD160 is not set
1553# CONFIG_CRYPTO_RMD256 is not set
1554# CONFIG_CRYPTO_RMD320 is not set
1555# CONFIG_CRYPTO_SHA1 is not set
1556# CONFIG_CRYPTO_SHA256 is not set
1557# CONFIG_CRYPTO_SHA512 is not set
1558# CONFIG_CRYPTO_TGR192 is not set
1559# CONFIG_CRYPTO_WP512 is not set
1560
1561#
1562# Ciphers
1563#
1564# CONFIG_CRYPTO_AES is not set
1565# CONFIG_CRYPTO_ANUBIS is not set
1566# CONFIG_CRYPTO_ARC4 is not set
1567# CONFIG_CRYPTO_BLOWFISH is not set
1568# CONFIG_CRYPTO_CAMELLIA is not set
1569# CONFIG_CRYPTO_CAST5 is not set
1570# CONFIG_CRYPTO_CAST6 is not set
1571CONFIG_CRYPTO_DES=y
1572# CONFIG_CRYPTO_FCRYPT is not set
1573# CONFIG_CRYPTO_KHAZAD is not set
1574# CONFIG_CRYPTO_SALSA20 is not set
1575# CONFIG_CRYPTO_SEED is not set
1576# CONFIG_CRYPTO_SERPENT is not set
1577# CONFIG_CRYPTO_TEA is not set
1578# CONFIG_CRYPTO_TWOFISH is not set
1579
1580#
1581# Compression
1582#
1583# CONFIG_CRYPTO_DEFLATE is not set
1584# CONFIG_CRYPTO_ZLIB is not set
1585# CONFIG_CRYPTO_LZO is not set
1586
1587#
1588# Random Number Generation
1589#
1590# CONFIG_CRYPTO_ANSI_CPRNG is not set
1591CONFIG_CRYPTO_HW=y
1592# CONFIG_BINARY_PRINTF is not set
1593
1594#
1595# Library routines
1596#
1597CONFIG_BITREVERSE=y
1598CONFIG_GENERIC_FIND_LAST_BIT=y
1599CONFIG_CRC_CCITT=y
1600# CONFIG_CRC16 is not set
1601CONFIG_CRC_T10DIF=y
1602# CONFIG_CRC_ITU_T is not set
1603CONFIG_CRC32=y
1604# CONFIG_CRC7 is not set
1605CONFIG_LIBCRC32C=y
1606CONFIG_ZLIB_INFLATE=y
1607CONFIG_DECOMPRESS_GZIP=y
1608CONFIG_HAS_IOMEM=y
1609CONFIG_HAS_IOPORT=y
1610CONFIG_HAS_DMA=y
1611CONFIG_NLATTR=y
diff --git a/arch/arm/configs/omap_4430sdp_defconfig b/arch/arm/configs/omap_4430sdp_defconfig
index 23e43ea4efa1..a464ca332a23 100644
--- a/arch/arm/configs/omap_4430sdp_defconfig
+++ b/arch/arm/configs/omap_4430sdp_defconfig
@@ -52,8 +52,8 @@ CONFIG_FAIR_GROUP_SCHED=y
52CONFIG_USER_SCHED=y 52CONFIG_USER_SCHED=y
53# CONFIG_CGROUP_SCHED is not set 53# CONFIG_CGROUP_SCHED is not set
54# CONFIG_CGROUPS is not set 54# CONFIG_CGROUPS is not set
55CONFIG_SYSFS_DEPRECATED=y 55# CONFIG_SYSFS_DEPRECATED=y is not set
56CONFIG_SYSFS_DEPRECATED_V2=y 56# CONFIG_SYSFS_DEPRECATED_V2=y is not set
57# CONFIG_RELAY is not set 57# CONFIG_RELAY is not set
58# CONFIG_NAMESPACES is not set 58# CONFIG_NAMESPACES is not set
59CONFIG_BLK_DEV_INITRD=y 59CONFIG_BLK_DEV_INITRD=y
diff --git a/arch/arm/configs/omap_ldp_defconfig b/arch/arm/configs/omap_ldp_defconfig
index b9c48919a68c..9139532c3be7 100644
--- a/arch/arm/configs/omap_ldp_defconfig
+++ b/arch/arm/configs/omap_ldp_defconfig
@@ -49,8 +49,8 @@ CONFIG_FAIR_GROUP_SCHED=y
49# CONFIG_RT_GROUP_SCHED is not set 49# CONFIG_RT_GROUP_SCHED is not set
50CONFIG_USER_SCHED=y 50CONFIG_USER_SCHED=y
51# CONFIG_CGROUP_SCHED is not set 51# CONFIG_CGROUP_SCHED is not set
52CONFIG_SYSFS_DEPRECATED=y 52# CONFIG_SYSFS_DEPRECATED=y is not set
53CONFIG_SYSFS_DEPRECATED_V2=y 53# CONFIG_SYSFS_DEPRECATED_V2=y is not set
54# CONFIG_RELAY is not set 54# CONFIG_RELAY is not set
55# CONFIG_NAMESPACES is not set 55# CONFIG_NAMESPACES is not set
56CONFIG_BLK_DEV_INITRD=y 56CONFIG_BLK_DEV_INITRD=y
diff --git a/arch/arm/configs/omap_zoom2_defconfig b/arch/arm/configs/omap_zoom2_defconfig
index f1739fae7ed4..eef93627fb13 100644
--- a/arch/arm/configs/omap_zoom2_defconfig
+++ b/arch/arm/configs/omap_zoom2_defconfig
@@ -59,8 +59,8 @@ CONFIG_FAIR_GROUP_SCHED=y
59CONFIG_USER_SCHED=y 59CONFIG_USER_SCHED=y
60# CONFIG_CGROUP_SCHED is not set 60# CONFIG_CGROUP_SCHED is not set
61# CONFIG_CGROUPS is not set 61# CONFIG_CGROUPS is not set
62CONFIG_SYSFS_DEPRECATED=y 62# CONFIG_SYSFS_DEPRECATED=y is not set
63CONFIG_SYSFS_DEPRECATED_V2=y 63# CONFIG_SYSFS_DEPRECATED_V2=y is not set
64# CONFIG_RELAY is not set 64# CONFIG_RELAY is not set
65# CONFIG_NAMESPACES is not set 65# CONFIG_NAMESPACES is not set
66CONFIG_BLK_DEV_INITRD=y 66CONFIG_BLK_DEV_INITRD=y
@@ -202,7 +202,8 @@ CONFIG_OMAP_32K_TIMER_HZ=128
202CONFIG_OMAP_DM_TIMER=y 202CONFIG_OMAP_DM_TIMER=y
203# CONFIG_OMAP_LL_DEBUG_UART1 is not set 203# CONFIG_OMAP_LL_DEBUG_UART1 is not set
204# CONFIG_OMAP_LL_DEBUG_UART2 is not set 204# CONFIG_OMAP_LL_DEBUG_UART2 is not set
205CONFIG_OMAP_LL_DEBUG_UART3=y 205# CONFIG_OMAP_LL_DEBUG_UART3 is not set
206CONFIG_OMAP_LL_DEBUG_NONE=y
206CONFIG_ARCH_OMAP34XX=y 207CONFIG_ARCH_OMAP34XX=y
207CONFIG_ARCH_OMAP3430=y 208CONFIG_ARCH_OMAP3430=y
208 209
diff --git a/arch/arm/configs/omap_zoom3_defconfig b/arch/arm/configs/omap_zoom3_defconfig
new file mode 100644
index 000000000000..f0e7d0f85582
--- /dev/null
+++ b/arch/arm/configs/omap_zoom3_defconfig
@@ -0,0 +1,1610 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.32-rc6
4# Thu Nov 12 13:04:07 2009
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_GENERIC_HARDIRQS=y
12CONFIG_STACKTRACE_SUPPORT=y
13CONFIG_HAVE_LATENCYTOP_SUPPORT=y
14CONFIG_LOCKDEP_SUPPORT=y
15CONFIG_TRACE_IRQFLAGS_SUPPORT=y
16CONFIG_HARDIRQS_SW_RESEND=y
17CONFIG_GENERIC_IRQ_PROBE=y
18CONFIG_RWSEM_GENERIC_SPINLOCK=y
19CONFIG_ARCH_HAS_CPUFREQ=y
20CONFIG_GENERIC_HWEIGHT=y
21CONFIG_GENERIC_CALIBRATE_DELAY=y
22CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
23CONFIG_VECTORS_BASE=0xffff0000
24CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
25CONFIG_CONSTRUCTORS=y
26
27#
28# General setup
29#
30CONFIG_EXPERIMENTAL=y
31CONFIG_BROKEN_ON_SMP=y
32CONFIG_INIT_ENV_ARG_LIMIT=32
33CONFIG_LOCALVERSION=""
34CONFIG_LOCALVERSION_AUTO=y
35CONFIG_SWAP=y
36CONFIG_SYSVIPC=y
37CONFIG_SYSVIPC_SYSCTL=y
38# CONFIG_POSIX_MQUEUE is not set
39CONFIG_BSD_PROCESS_ACCT=y
40# CONFIG_BSD_PROCESS_ACCT_V3 is not set
41# CONFIG_TASKSTATS is not set
42# CONFIG_AUDIT is not set
43
44#
45# RCU Subsystem
46#
47CONFIG_TREE_RCU=y
48# CONFIG_TREE_PREEMPT_RCU is not set
49# CONFIG_RCU_TRACE is not set
50CONFIG_RCU_FANOUT=32
51# CONFIG_RCU_FANOUT_EXACT is not set
52# CONFIG_TREE_RCU_TRACE is not set
53# CONFIG_IKCONFIG is not set
54CONFIG_LOG_BUF_SHIFT=14
55CONFIG_GROUP_SCHED=y
56CONFIG_FAIR_GROUP_SCHED=y
57# CONFIG_RT_GROUP_SCHED is not set
58CONFIG_USER_SCHED=y
59# CONFIG_CGROUP_SCHED is not set
60# CONFIG_CGROUPS is not set
61# CONFIG_SYSFS_DEPRECATED_V2 is not set
62# CONFIG_RELAY is not set
63# CONFIG_NAMESPACES is not set
64CONFIG_BLK_DEV_INITRD=y
65CONFIG_INITRAMFS_SOURCE=""
66CONFIG_RD_GZIP=y
67# CONFIG_RD_BZIP2 is not set
68# CONFIG_RD_LZMA is not set
69CONFIG_CC_OPTIMIZE_FOR_SIZE=y
70CONFIG_SYSCTL=y
71CONFIG_ANON_INODES=y
72CONFIG_EMBEDDED=y
73CONFIG_UID16=y
74# CONFIG_SYSCTL_SYSCALL is not set
75CONFIG_KALLSYMS=y
76# CONFIG_KALLSYMS_ALL is not set
77CONFIG_KALLSYMS_EXTRA_PASS=y
78CONFIG_HOTPLUG=y
79CONFIG_PRINTK=y
80CONFIG_BUG=y
81CONFIG_ELF_CORE=y
82CONFIG_BASE_FULL=y
83CONFIG_FUTEX=y
84CONFIG_EPOLL=y
85CONFIG_SIGNALFD=y
86CONFIG_TIMERFD=y
87CONFIG_EVENTFD=y
88CONFIG_SHMEM=y
89CONFIG_AIO=y
90
91#
92# Kernel Performance Events And Counters
93#
94CONFIG_VM_EVENT_COUNTERS=y
95CONFIG_COMPAT_BRK=y
96CONFIG_SLAB=y
97# CONFIG_SLUB is not set
98# CONFIG_SLOB is not set
99# CONFIG_PROFILING is not set
100CONFIG_HAVE_OPROFILE=y
101# CONFIG_KPROBES is not set
102CONFIG_HAVE_KPROBES=y
103CONFIG_HAVE_KRETPROBES=y
104CONFIG_HAVE_CLK=y
105
106#
107# GCOV-based kernel profiling
108#
109# CONFIG_SLOW_WORK is not set
110CONFIG_HAVE_GENERIC_DMA_COHERENT=y
111CONFIG_SLABINFO=y
112CONFIG_RT_MUTEXES=y
113CONFIG_BASE_SMALL=0
114CONFIG_MODULES=y
115# CONFIG_MODULE_FORCE_LOAD is not set
116CONFIG_MODULE_UNLOAD=y
117# CONFIG_MODULE_FORCE_UNLOAD is not set
118CONFIG_MODVERSIONS=y
119CONFIG_MODULE_SRCVERSION_ALL=y
120CONFIG_BLOCK=y
121CONFIG_LBDAF=y
122# CONFIG_BLK_DEV_BSG is not set
123# CONFIG_BLK_DEV_INTEGRITY is not set
124
125#
126# IO Schedulers
127#
128CONFIG_IOSCHED_NOOP=y
129CONFIG_IOSCHED_AS=y
130CONFIG_IOSCHED_DEADLINE=y
131CONFIG_IOSCHED_CFQ=y
132CONFIG_DEFAULT_AS=y
133# CONFIG_DEFAULT_DEADLINE is not set
134# CONFIG_DEFAULT_CFQ is not set
135# CONFIG_DEFAULT_NOOP is not set
136CONFIG_DEFAULT_IOSCHED="anticipatory"
137CONFIG_FREEZER=y
138
139#
140# System Type
141#
142CONFIG_MMU=y
143# CONFIG_ARCH_AAEC2000 is not set
144# CONFIG_ARCH_INTEGRATOR is not set
145# CONFIG_ARCH_REALVIEW is not set
146# CONFIG_ARCH_VERSATILE is not set
147# CONFIG_ARCH_AT91 is not set
148# CONFIG_ARCH_CLPS711X is not set
149# CONFIG_ARCH_GEMINI is not set
150# CONFIG_ARCH_EBSA110 is not set
151# CONFIG_ARCH_EP93XX is not set
152# CONFIG_ARCH_FOOTBRIDGE is not set
153# CONFIG_ARCH_MXC is not set
154# CONFIG_ARCH_STMP3XXX is not set
155# CONFIG_ARCH_NETX is not set
156# CONFIG_ARCH_H720X is not set
157# CONFIG_ARCH_NOMADIK is not set
158# CONFIG_ARCH_IOP13XX is not set
159# CONFIG_ARCH_IOP32X is not set
160# CONFIG_ARCH_IOP33X is not set
161# CONFIG_ARCH_IXP23XX is not set
162# CONFIG_ARCH_IXP2000 is not set
163# CONFIG_ARCH_IXP4XX is not set
164# CONFIG_ARCH_L7200 is not set
165# CONFIG_ARCH_KIRKWOOD is not set
166# CONFIG_ARCH_LOKI is not set
167# CONFIG_ARCH_MV78XX0 is not set
168# CONFIG_ARCH_ORION5X is not set
169# CONFIG_ARCH_MMP is not set
170# CONFIG_ARCH_KS8695 is not set
171# CONFIG_ARCH_NS9XXX is not set
172# CONFIG_ARCH_W90X900 is not set
173# CONFIG_ARCH_PNX4008 is not set
174# CONFIG_ARCH_PXA is not set
175# CONFIG_ARCH_MSM is not set
176# CONFIG_ARCH_RPC is not set
177# CONFIG_ARCH_SA1100 is not set
178# CONFIG_ARCH_S3C2410 is not set
179# CONFIG_ARCH_S3C64XX is not set
180# CONFIG_ARCH_S5PC1XX is not set
181# CONFIG_ARCH_SHARK is not set
182# CONFIG_ARCH_LH7A40X is not set
183# CONFIG_ARCH_U300 is not set
184# CONFIG_ARCH_DAVINCI is not set
185CONFIG_ARCH_OMAP=y
186# CONFIG_ARCH_BCMRING is not set
187
188#
189# TI OMAP Implementations
190#
191CONFIG_ARCH_OMAP_OTG=y
192# CONFIG_ARCH_OMAP1 is not set
193# CONFIG_ARCH_OMAP2 is not set
194CONFIG_ARCH_OMAP3=y
195# CONFIG_ARCH_OMAP4 is not set
196
197#
198# OMAP Feature Selections
199#
200# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
201# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
202# CONFIG_OMAP_RESET_CLOCKS is not set
203CONFIG_OMAP_MUX=y
204CONFIG_OMAP_MUX_DEBUG=y
205CONFIG_OMAP_MUX_WARNINGS=y
206CONFIG_OMAP_MCBSP=y
207# CONFIG_OMAP_MBOX_FWK is not set
208# CONFIG_OMAP_MPU_TIMER is not set
209CONFIG_OMAP_32K_TIMER=y
210CONFIG_OMAP_32K_TIMER_HZ=128
211CONFIG_OMAP_DM_TIMER=y
212# CONFIG_OMAP_LL_DEBUG_UART1 is not set
213# CONFIG_OMAP_LL_DEBUG_UART2 is not set
214# CONFIG_OMAP_LL_DEBUG_UART3 is not set
215CONFIG_OMAP_LL_DEBUG_NONE=y
216# CONFIG_OMAP_PM_NONE is not set
217CONFIG_OMAP_PM_NOOP=y
218CONFIG_ARCH_OMAP34XX=y
219CONFIG_ARCH_OMAP3430=y
220
221#
222# OMAP Board Type
223#
224# CONFIG_MACH_OMAP3_BEAGLE is not set
225# CONFIG_MACH_OMAP_LDP is not set
226# CONFIG_MACH_OVERO is not set
227# CONFIG_MACH_OMAP3EVM is not set
228# CONFIG_MACH_OMAP3_PANDORA is not set
229# CONFIG_MACH_OMAP_3430SDP is not set
230# CONFIG_MACH_NOKIA_RX51 is not set
231# CONFIG_MACH_OMAP_ZOOM2 is not set
232# CONFIG_MACH_CM_T35 is not set
233CONFIG_MACH_OMAP_ZOOM3=y
234# CONFIG_MACH_OMAP_3630SDP is not set
235
236#
237# Processor Type
238#
239CONFIG_CPU_32=y
240CONFIG_CPU_32v6K=y
241CONFIG_CPU_V7=y
242CONFIG_CPU_32v7=y
243CONFIG_CPU_ABRT_EV7=y
244CONFIG_CPU_PABRT_V7=y
245CONFIG_CPU_CACHE_V7=y
246CONFIG_CPU_CACHE_VIPT=y
247CONFIG_CPU_COPY_V6=y
248CONFIG_CPU_TLB_V7=y
249CONFIG_CPU_HAS_ASID=y
250CONFIG_CPU_CP15=y
251CONFIG_CPU_CP15_MMU=y
252
253#
254# Processor Features
255#
256CONFIG_ARM_THUMB=y
257# CONFIG_ARM_THUMBEE is not set
258# CONFIG_CPU_ICACHE_DISABLE is not set
259# CONFIG_CPU_DCACHE_DISABLE is not set
260# CONFIG_CPU_BPREDICT_DISABLE is not set
261CONFIG_HAS_TLS_REG=y
262CONFIG_ARM_L1_CACHE_SHIFT=6
263# CONFIG_ARM_ERRATA_430973 is not set
264# CONFIG_ARM_ERRATA_458693 is not set
265# CONFIG_ARM_ERRATA_460075 is not set
266CONFIG_COMMON_CLKDEV=y
267
268#
269# Bus support
270#
271# CONFIG_PCI_SYSCALL is not set
272# CONFIG_ARCH_SUPPORTS_MSI is not set
273# CONFIG_PCCARD is not set
274
275#
276# Kernel Features
277#
278CONFIG_TICK_ONESHOT=y
279CONFIG_NO_HZ=y
280CONFIG_HIGH_RES_TIMERS=y
281CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
282CONFIG_VMSPLIT_3G=y
283# CONFIG_VMSPLIT_2G is not set
284# CONFIG_VMSPLIT_1G is not set
285CONFIG_PAGE_OFFSET=0xC0000000
286CONFIG_PREEMPT_NONE=y
287# CONFIG_PREEMPT_VOLUNTARY is not set
288# CONFIG_PREEMPT is not set
289CONFIG_HZ=128
290# CONFIG_THUMB2_KERNEL is not set
291CONFIG_AEABI=y
292CONFIG_OABI_COMPAT=y
293# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
294# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
295# CONFIG_HIGHMEM is not set
296CONFIG_SELECT_MEMORY_MODEL=y
297CONFIG_FLATMEM_MANUAL=y
298# CONFIG_DISCONTIGMEM_MANUAL is not set
299# CONFIG_SPARSEMEM_MANUAL is not set
300CONFIG_FLATMEM=y
301CONFIG_FLAT_NODE_MEM_MAP=y
302CONFIG_PAGEFLAGS_EXTENDED=y
303CONFIG_SPLIT_PTLOCK_CPUS=4
304# CONFIG_PHYS_ADDR_T_64BIT is not set
305CONFIG_ZONE_DMA_FLAG=0
306CONFIG_VIRT_TO_BUS=y
307CONFIG_HAVE_MLOCK=y
308CONFIG_HAVE_MLOCKED_PAGE_BIT=y
309# CONFIG_KSM is not set
310CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
311# CONFIG_LEDS is not set
312CONFIG_ALIGNMENT_TRAP=y
313# CONFIG_UACCESS_WITH_MEMCPY is not set
314
315#
316# Boot options
317#
318CONFIG_ZBOOT_ROM_TEXT=0x0
319CONFIG_ZBOOT_ROM_BSS=0x0
320CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
321# CONFIG_XIP_KERNEL is not set
322# CONFIG_KEXEC is not set
323
324#
325# CPU Power Management
326#
327# CONFIG_CPU_FREQ is not set
328# CONFIG_CPU_IDLE is not set
329
330#
331# Floating point emulation
332#
333
334#
335# At least one emulation must be selected
336#
337CONFIG_FPE_NWFPE=y
338# CONFIG_FPE_NWFPE_XP is not set
339# CONFIG_FPE_FASTFPE is not set
340CONFIG_VFP=y
341CONFIG_VFPv3=y
342# CONFIG_NEON is not set
343
344#
345# Userspace binary formats
346#
347CONFIG_BINFMT_ELF=y
348# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
349CONFIG_HAVE_AOUT=y
350# CONFIG_BINFMT_AOUT is not set
351CONFIG_BINFMT_MISC=y
352
353#
354# Power management options
355#
356CONFIG_PM=y
357CONFIG_PM_DEBUG=y
358CONFIG_PM_VERBOSE=y
359CONFIG_CAN_PM_TRACE=y
360CONFIG_PM_SLEEP=y
361CONFIG_SUSPEND=y
362# CONFIG_PM_TEST_SUSPEND is not set
363CONFIG_SUSPEND_FREEZER=y
364# CONFIG_APM_EMULATION is not set
365# CONFIG_PM_RUNTIME is not set
366CONFIG_ARCH_SUSPEND_POSSIBLE=y
367CONFIG_NET=y
368
369#
370# Networking options
371#
372CONFIG_PACKET=y
373# CONFIG_PACKET_MMAP is not set
374CONFIG_UNIX=y
375CONFIG_XFRM=y
376CONFIG_XFRM_USER=y
377# CONFIG_XFRM_SUB_POLICY is not set
378CONFIG_XFRM_MIGRATE=y
379# CONFIG_XFRM_STATISTICS is not set
380CONFIG_NET_KEY=y
381CONFIG_NET_KEY_MIGRATE=y
382CONFIG_INET=y
383CONFIG_IP_MULTICAST=y
384# CONFIG_IP_ADVANCED_ROUTER is not set
385CONFIG_IP_FIB_HASH=y
386CONFIG_IP_PNP=y
387CONFIG_IP_PNP_DHCP=y
388CONFIG_IP_PNP_BOOTP=y
389CONFIG_IP_PNP_RARP=y
390# CONFIG_NET_IPIP is not set
391# CONFIG_NET_IPGRE is not set
392# CONFIG_IP_MROUTE is not set
393# CONFIG_ARPD is not set
394# CONFIG_SYN_COOKIES is not set
395# CONFIG_INET_AH is not set
396# CONFIG_INET_ESP is not set
397# CONFIG_INET_IPCOMP is not set
398# CONFIG_INET_XFRM_TUNNEL is not set
399# CONFIG_INET_TUNNEL is not set
400CONFIG_INET_XFRM_MODE_TRANSPORT=y
401CONFIG_INET_XFRM_MODE_TUNNEL=y
402CONFIG_INET_XFRM_MODE_BEET=y
403# CONFIG_INET_LRO is not set
404CONFIG_INET_DIAG=y
405CONFIG_INET_TCP_DIAG=y
406# CONFIG_TCP_CONG_ADVANCED is not set
407CONFIG_TCP_CONG_CUBIC=y
408CONFIG_DEFAULT_TCP_CONG="cubic"
409# CONFIG_TCP_MD5SIG is not set
410# CONFIG_IPV6 is not set
411# CONFIG_NETWORK_SECMARK is not set
412# CONFIG_NETFILTER is not set
413# CONFIG_IP_DCCP is not set
414# CONFIG_IP_SCTP is not set
415# CONFIG_RDS is not set
416# CONFIG_TIPC is not set
417# CONFIG_ATM is not set
418# CONFIG_BRIDGE is not set
419# CONFIG_NET_DSA is not set
420# CONFIG_VLAN_8021Q is not set
421# CONFIG_DECNET is not set
422# CONFIG_LLC2 is not set
423# CONFIG_IPX is not set
424# CONFIG_ATALK is not set
425# CONFIG_X25 is not set
426# CONFIG_LAPB is not set
427# CONFIG_ECONET is not set
428# CONFIG_WAN_ROUTER is not set
429# CONFIG_PHONET is not set
430# CONFIG_IEEE802154 is not set
431# CONFIG_NET_SCHED is not set
432# CONFIG_DCB is not set
433
434#
435# Network testing
436#
437# CONFIG_NET_PKTGEN is not set
438# CONFIG_HAMRADIO is not set
439# CONFIG_CAN is not set
440# CONFIG_IRDA is not set
441# CONFIG_BT is not set
442# CONFIG_AF_RXRPC is not set
443# CONFIG_WIRELESS is not set
444# CONFIG_WIMAX is not set
445# CONFIG_RFKILL is not set
446# CONFIG_NET_9P is not set
447
448#
449# Device Drivers
450#
451
452#
453# Generic Driver Options
454#
455CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
456# CONFIG_DEVTMPFS is not set
457CONFIG_STANDALONE=y
458CONFIG_PREVENT_FIRMWARE_BUILD=y
459# CONFIG_FW_LOADER is not set
460# CONFIG_DEBUG_DRIVER is not set
461# CONFIG_DEBUG_DEVRES is not set
462# CONFIG_SYS_HYPERVISOR is not set
463CONFIG_CONNECTOR=y
464CONFIG_PROC_EVENTS=y
465# CONFIG_MTD is not set
466# CONFIG_PARPORT is not set
467CONFIG_BLK_DEV=y
468# CONFIG_BLK_DEV_COW_COMMON is not set
469CONFIG_BLK_DEV_LOOP=y
470# CONFIG_BLK_DEV_CRYPTOLOOP is not set
471# CONFIG_BLK_DEV_NBD is not set
472# CONFIG_BLK_DEV_UB is not set
473CONFIG_BLK_DEV_RAM=y
474CONFIG_BLK_DEV_RAM_COUNT=16
475CONFIG_BLK_DEV_RAM_SIZE=16384
476# CONFIG_BLK_DEV_XIP is not set
477# CONFIG_CDROM_PKTCDVD is not set
478# CONFIG_ATA_OVER_ETH is not set
479# CONFIG_MG_DISK is not set
480CONFIG_MISC_DEVICES=y
481# CONFIG_ICS932S401 is not set
482# CONFIG_ENCLOSURE_SERVICES is not set
483# CONFIG_ISL29003 is not set
484# CONFIG_C2PORT is not set
485
486#
487# EEPROM support
488#
489# CONFIG_EEPROM_AT24 is not set
490# CONFIG_EEPROM_AT25 is not set
491# CONFIG_EEPROM_LEGACY is not set
492# CONFIG_EEPROM_MAX6875 is not set
493# CONFIG_EEPROM_93CX6 is not set
494CONFIG_HAVE_IDE=y
495# CONFIG_IDE is not set
496
497#
498# SCSI device support
499#
500# CONFIG_RAID_ATTRS is not set
501CONFIG_SCSI=y
502CONFIG_SCSI_DMA=y
503# CONFIG_SCSI_TGT is not set
504# CONFIG_SCSI_NETLINK is not set
505CONFIG_SCSI_PROC_FS=y
506
507#
508# SCSI support type (disk, tape, CD-ROM)
509#
510CONFIG_BLK_DEV_SD=y
511# CONFIG_CHR_DEV_ST is not set
512# CONFIG_CHR_DEV_OSST is not set
513# CONFIG_BLK_DEV_SR is not set
514# CONFIG_CHR_DEV_SG is not set
515# CONFIG_CHR_DEV_SCH is not set
516# CONFIG_SCSI_MULTI_LUN is not set
517# CONFIG_SCSI_CONSTANTS is not set
518# CONFIG_SCSI_LOGGING is not set
519# CONFIG_SCSI_SCAN_ASYNC is not set
520CONFIG_SCSI_WAIT_SCAN=m
521
522#
523# SCSI Transports
524#
525# CONFIG_SCSI_SPI_ATTRS is not set
526# CONFIG_SCSI_FC_ATTRS is not set
527# CONFIG_SCSI_ISCSI_ATTRS is not set
528# CONFIG_SCSI_SAS_LIBSAS is not set
529# CONFIG_SCSI_SRP_ATTRS is not set
530CONFIG_SCSI_LOWLEVEL=y
531# CONFIG_ISCSI_TCP is not set
532# CONFIG_LIBFC is not set
533# CONFIG_LIBFCOE is not set
534# CONFIG_SCSI_DEBUG is not set
535# CONFIG_SCSI_DH is not set
536# CONFIG_SCSI_OSD_INITIATOR is not set
537# CONFIG_ATA is not set
538# CONFIG_MD is not set
539CONFIG_NETDEVICES=y
540# CONFIG_DUMMY is not set
541# CONFIG_BONDING is not set
542# CONFIG_MACVLAN is not set
543# CONFIG_EQUALIZER is not set
544# CONFIG_TUN is not set
545# CONFIG_VETH is not set
546CONFIG_PHYLIB=y
547
548#
549# MII PHY device drivers
550#
551# CONFIG_MARVELL_PHY is not set
552# CONFIG_DAVICOM_PHY is not set
553# CONFIG_QSEMI_PHY is not set
554# CONFIG_LXT_PHY is not set
555# CONFIG_CICADA_PHY is not set
556# CONFIG_VITESSE_PHY is not set
557CONFIG_SMSC_PHY=y
558# CONFIG_BROADCOM_PHY is not set
559# CONFIG_ICPLUS_PHY is not set
560# CONFIG_REALTEK_PHY is not set
561# CONFIG_NATIONAL_PHY is not set
562# CONFIG_STE10XP is not set
563# CONFIG_LSI_ET1011C_PHY is not set
564# CONFIG_FIXED_PHY is not set
565# CONFIG_MDIO_BITBANG is not set
566CONFIG_NET_ETHERNET=y
567CONFIG_MII=y
568# CONFIG_AX88796 is not set
569# CONFIG_SMC91X is not set
570# CONFIG_DM9000 is not set
571# CONFIG_ENC28J60 is not set
572# CONFIG_ETHOC is not set
573# CONFIG_SMC911X is not set
574CONFIG_SMSC911X=y
575# CONFIG_DNET is not set
576# CONFIG_IBM_NEW_EMAC_ZMII is not set
577# CONFIG_IBM_NEW_EMAC_RGMII is not set
578# CONFIG_IBM_NEW_EMAC_TAH is not set
579# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
580# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
581# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
582# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
583# CONFIG_B44 is not set
584# CONFIG_KS8842 is not set
585# CONFIG_KS8851 is not set
586# CONFIG_KS8851_MLL is not set
587CONFIG_NETDEV_1000=y
588CONFIG_NETDEV_10000=y
589CONFIG_WLAN=y
590# CONFIG_WLAN_PRE80211 is not set
591# CONFIG_WLAN_80211 is not set
592
593#
594# Enable WiMAX (Networking options) to see the WiMAX drivers
595#
596
597#
598# USB Network Adapters
599#
600# CONFIG_USB_CATC is not set
601# CONFIG_USB_KAWETH is not set
602# CONFIG_USB_PEGASUS is not set
603# CONFIG_USB_RTL8150 is not set
604# CONFIG_USB_USBNET is not set
605# CONFIG_WAN is not set
606# CONFIG_PPP is not set
607# CONFIG_SLIP is not set
608# CONFIG_NETCONSOLE is not set
609# CONFIG_NETPOLL is not set
610# CONFIG_NET_POLL_CONTROLLER is not set
611# CONFIG_ISDN is not set
612# CONFIG_PHONE is not set
613
614#
615# Input device support
616#
617CONFIG_INPUT=y
618# CONFIG_INPUT_FF_MEMLESS is not set
619# CONFIG_INPUT_POLLDEV is not set
620
621#
622# Userland interfaces
623#
624# CONFIG_INPUT_MOUSEDEV is not set
625# CONFIG_INPUT_JOYDEV is not set
626CONFIG_INPUT_EVDEV=y
627# CONFIG_INPUT_EVBUG is not set
628
629#
630# Input Device Drivers
631#
632# CONFIG_INPUT_KEYBOARD is not set
633# CONFIG_INPUT_MOUSE is not set
634# CONFIG_INPUT_JOYSTICK is not set
635# CONFIG_INPUT_TABLET is not set
636CONFIG_INPUT_TOUCHSCREEN=y
637CONFIG_TOUCHSCREEN_ADS7846=y
638# CONFIG_TOUCHSCREEN_AD7877 is not set
639# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
640# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
641# CONFIG_TOUCHSCREEN_AD7879 is not set
642# CONFIG_TOUCHSCREEN_EETI is not set
643# CONFIG_TOUCHSCREEN_FUJITSU is not set
644# CONFIG_TOUCHSCREEN_GUNZE is not set
645# CONFIG_TOUCHSCREEN_ELO is not set
646# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
647# CONFIG_TOUCHSCREEN_MCS5000 is not set
648# CONFIG_TOUCHSCREEN_MTOUCH is not set
649# CONFIG_TOUCHSCREEN_INEXIO is not set
650# CONFIG_TOUCHSCREEN_MK712 is not set
651# CONFIG_TOUCHSCREEN_PENMOUNT is not set
652# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
653# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
654# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
655# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
656# CONFIG_TOUCHSCREEN_TSC2007 is not set
657# CONFIG_TOUCHSCREEN_W90X900 is not set
658# CONFIG_INPUT_MISC is not set
659
660#
661# Hardware I/O ports
662#
663# CONFIG_SERIO is not set
664# CONFIG_GAMEPORT is not set
665
666#
667# Character devices
668#
669CONFIG_VT=y
670CONFIG_CONSOLE_TRANSLATIONS=y
671CONFIG_VT_CONSOLE=y
672CONFIG_HW_CONSOLE=y
673# CONFIG_VT_HW_CONSOLE_BINDING is not set
674CONFIG_DEVKMEM=y
675# CONFIG_SERIAL_NONSTANDARD is not set
676
677#
678# Serial drivers
679#
680CONFIG_SERIAL_8250=y
681CONFIG_SERIAL_8250_CONSOLE=y
682CONFIG_SERIAL_8250_NR_UARTS=32
683CONFIG_SERIAL_8250_RUNTIME_UARTS=4
684CONFIG_SERIAL_8250_EXTENDED=y
685CONFIG_SERIAL_8250_MANY_PORTS=y
686CONFIG_SERIAL_8250_SHARE_IRQ=y
687CONFIG_SERIAL_8250_DETECT_IRQ=y
688CONFIG_SERIAL_8250_RSA=y
689
690#
691# Non-8250 serial port support
692#
693# CONFIG_SERIAL_MAX3100 is not set
694CONFIG_SERIAL_CORE=y
695CONFIG_SERIAL_CORE_CONSOLE=y
696CONFIG_UNIX98_PTYS=y
697# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
698# CONFIG_LEGACY_PTYS is not set
699# CONFIG_IPMI_HANDLER is not set
700CONFIG_HW_RANDOM=y
701# CONFIG_HW_RANDOM_TIMERIOMEM is not set
702# CONFIG_R3964 is not set
703# CONFIG_RAW_DRIVER is not set
704# CONFIG_TCG_TPM is not set
705CONFIG_I2C=y
706CONFIG_I2C_BOARDINFO=y
707CONFIG_I2C_COMPAT=y
708CONFIG_I2C_CHARDEV=y
709CONFIG_I2C_HELPER_AUTO=y
710
711#
712# I2C Hardware Bus support
713#
714
715#
716# I2C system bus drivers (mostly embedded / system-on-chip)
717#
718# CONFIG_I2C_DESIGNWARE is not set
719# CONFIG_I2C_GPIO is not set
720# CONFIG_I2C_OCORES is not set
721CONFIG_I2C_OMAP=y
722# CONFIG_I2C_SIMTEC is not set
723
724#
725# External I2C/SMBus adapter drivers
726#
727# CONFIG_I2C_PARPORT_LIGHT is not set
728# CONFIG_I2C_TAOS_EVM is not set
729# CONFIG_I2C_TINY_USB is not set
730
731#
732# Other I2C/SMBus bus drivers
733#
734# CONFIG_I2C_PCA_PLATFORM is not set
735# CONFIG_I2C_STUB is not set
736
737#
738# Miscellaneous I2C Chip support
739#
740# CONFIG_DS1682 is not set
741# CONFIG_SENSORS_TSL2550 is not set
742# CONFIG_I2C_DEBUG_CORE is not set
743# CONFIG_I2C_DEBUG_ALGO is not set
744# CONFIG_I2C_DEBUG_BUS is not set
745# CONFIG_I2C_DEBUG_CHIP is not set
746CONFIG_SPI=y
747# CONFIG_SPI_DEBUG is not set
748CONFIG_SPI_MASTER=y
749
750#
751# SPI Master Controller Drivers
752#
753# CONFIG_SPI_BITBANG is not set
754# CONFIG_SPI_GPIO is not set
755CONFIG_SPI_OMAP24XX=y
756
757#
758# SPI Protocol Masters
759#
760# CONFIG_SPI_SPIDEV is not set
761# CONFIG_SPI_TLE62X0 is not set
762
763#
764# PPS support
765#
766# CONFIG_PPS is not set
767CONFIG_ARCH_REQUIRE_GPIOLIB=y
768CONFIG_GPIOLIB=y
769# CONFIG_DEBUG_GPIO is not set
770# CONFIG_GPIO_SYSFS is not set
771
772#
773# Memory mapped GPIO expanders:
774#
775
776#
777# I2C GPIO expanders:
778#
779# CONFIG_GPIO_MAX732X is not set
780# CONFIG_GPIO_PCA953X is not set
781# CONFIG_GPIO_PCF857X is not set
782CONFIG_GPIO_TWL4030=y
783
784#
785# PCI GPIO expanders:
786#
787
788#
789# SPI GPIO expanders:
790#
791# CONFIG_GPIO_MAX7301 is not set
792# CONFIG_GPIO_MCP23S08 is not set
793# CONFIG_GPIO_MC33880 is not set
794
795#
796# AC97 GPIO expanders:
797#
798CONFIG_W1=y
799CONFIG_W1_CON=y
800
801#
802# 1-wire Bus Masters
803#
804# CONFIG_W1_MASTER_DS2490 is not set
805# CONFIG_W1_MASTER_DS2482 is not set
806# CONFIG_W1_MASTER_DS1WM is not set
807# CONFIG_W1_MASTER_GPIO is not set
808# CONFIG_HDQ_MASTER_OMAP is not set
809
810#
811# 1-wire Slaves
812#
813# CONFIG_W1_SLAVE_THERM is not set
814# CONFIG_W1_SLAVE_SMEM is not set
815# CONFIG_W1_SLAVE_DS2431 is not set
816# CONFIG_W1_SLAVE_DS2433 is not set
817# CONFIG_W1_SLAVE_DS2760 is not set
818# CONFIG_W1_SLAVE_BQ27000 is not set
819CONFIG_POWER_SUPPLY=y
820# CONFIG_POWER_SUPPLY_DEBUG is not set
821# CONFIG_PDA_POWER is not set
822# CONFIG_BATTERY_DS2760 is not set
823# CONFIG_BATTERY_DS2782 is not set
824# CONFIG_BATTERY_BQ27x00 is not set
825# CONFIG_BATTERY_MAX17040 is not set
826# CONFIG_HWMON is not set
827# CONFIG_THERMAL is not set
828CONFIG_WATCHDOG=y
829CONFIG_WATCHDOG_NOWAYOUT=y
830
831#
832# Watchdog Device Drivers
833#
834# CONFIG_SOFT_WATCHDOG is not set
835# CONFIG_OMAP_WATCHDOG is not set
836# CONFIG_TWL4030_WATCHDOG is not set
837
838#
839# USB-based Watchdog Cards
840#
841# CONFIG_USBPCWATCHDOG is not set
842CONFIG_SSB_POSSIBLE=y
843
844#
845# Sonics Silicon Backplane
846#
847# CONFIG_SSB is not set
848
849#
850# Multifunction device drivers
851#
852# CONFIG_MFD_CORE is not set
853# CONFIG_MFD_SM501 is not set
854# CONFIG_MFD_ASIC3 is not set
855# CONFIG_HTC_EGPIO is not set
856# CONFIG_HTC_PASIC3 is not set
857# CONFIG_TPS65010 is not set
858CONFIG_TWL4030_CORE=y
859# CONFIG_TWL4030_POWER is not set
860# CONFIG_MFD_TMIO is not set
861# CONFIG_MFD_T7L66XB is not set
862# CONFIG_MFD_TC6387XB is not set
863# CONFIG_MFD_TC6393XB is not set
864# CONFIG_PMIC_DA903X is not set
865# CONFIG_MFD_WM8400 is not set
866# CONFIG_MFD_WM831X is not set
867# CONFIG_MFD_WM8350_I2C is not set
868# CONFIG_MFD_PCF50633 is not set
869# CONFIG_MFD_MC13783 is not set
870# CONFIG_AB3100_CORE is not set
871# CONFIG_EZX_PCAP is not set
872CONFIG_REGULATOR=y
873# CONFIG_REGULATOR_DEBUG is not set
874# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
875# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
876# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
877# CONFIG_REGULATOR_BQ24022 is not set
878# CONFIG_REGULATOR_MAX1586 is not set
879CONFIG_REGULATOR_TWL4030=y
880# CONFIG_REGULATOR_LP3971 is not set
881# CONFIG_REGULATOR_TPS65023 is not set
882# CONFIG_REGULATOR_TPS6507X is not set
883# CONFIG_MEDIA_SUPPORT is not set
884
885#
886# Graphics support
887#
888# CONFIG_VGASTATE is not set
889CONFIG_VIDEO_OUTPUT_CONTROL=m
890# CONFIG_FB is not set
891# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
892
893#
894# Display device support
895#
896# CONFIG_DISPLAY_SUPPORT is not set
897
898#
899# Console display driver support
900#
901# CONFIG_VGA_CONSOLE is not set
902CONFIG_DUMMY_CONSOLE=y
903CONFIG_SOUND=y
904# CONFIG_SOUND_OSS_CORE is not set
905CONFIG_SND=y
906CONFIG_SND_TIMER=m
907CONFIG_SND_PCM=m
908# CONFIG_SND_SEQUENCER is not set
909# CONFIG_SND_MIXER_OSS is not set
910# CONFIG_SND_PCM_OSS is not set
911# CONFIG_SND_HRTIMER is not set
912# CONFIG_SND_DYNAMIC_MINORS is not set
913CONFIG_SND_SUPPORT_OLD_API=y
914CONFIG_SND_VERBOSE_PROCFS=y
915# CONFIG_SND_VERBOSE_PRINTK is not set
916# CONFIG_SND_DEBUG is not set
917# CONFIG_SND_RAWMIDI_SEQ is not set
918# CONFIG_SND_OPL3_LIB_SEQ is not set
919# CONFIG_SND_OPL4_LIB_SEQ is not set
920# CONFIG_SND_SBAWE_SEQ is not set
921# CONFIG_SND_EMU10K1_SEQ is not set
922CONFIG_SND_DRIVERS=y
923# CONFIG_SND_DUMMY is not set
924# CONFIG_SND_MTPAV is not set
925# CONFIG_SND_SERIAL_U16550 is not set
926# CONFIG_SND_MPU401 is not set
927CONFIG_SND_ARM=y
928CONFIG_SND_SPI=y
929CONFIG_SND_USB=y
930# CONFIG_SND_USB_AUDIO is not set
931# CONFIG_SND_USB_CAIAQ is not set
932# CONFIG_SND_SOC is not set
933# CONFIG_SOUND_PRIME is not set
934CONFIG_HID_SUPPORT=y
935CONFIG_HID=y
936# CONFIG_HIDRAW is not set
937
938#
939# USB Input Devices
940#
941CONFIG_USB_HID=y
942# CONFIG_HID_PID is not set
943# CONFIG_USB_HIDDEV is not set
944
945#
946# Special HID drivers
947#
948# CONFIG_HID_A4TECH is not set
949# CONFIG_HID_APPLE is not set
950# CONFIG_HID_BELKIN is not set
951# CONFIG_HID_CHERRY is not set
952# CONFIG_HID_CHICONY is not set
953# CONFIG_HID_CYPRESS is not set
954# CONFIG_HID_DRAGONRISE is not set
955# CONFIG_HID_EZKEY is not set
956# CONFIG_HID_KYE is not set
957# CONFIG_HID_GYRATION is not set
958# CONFIG_HID_TWINHAN is not set
959# CONFIG_HID_KENSINGTON is not set
960# CONFIG_HID_LOGITECH is not set
961# CONFIG_HID_MICROSOFT is not set
962# CONFIG_HID_MONTEREY is not set
963# CONFIG_HID_NTRIG is not set
964# CONFIG_HID_PANTHERLORD is not set
965# CONFIG_HID_PETALYNX is not set
966# CONFIG_HID_SAMSUNG is not set
967# CONFIG_HID_SONY is not set
968# CONFIG_HID_SUNPLUS is not set
969# CONFIG_HID_GREENASIA is not set
970# CONFIG_HID_SMARTJOYPLUS is not set
971# CONFIG_HID_TOPSEED is not set
972# CONFIG_HID_THRUSTMASTER is not set
973# CONFIG_HID_ZEROPLUS is not set
974CONFIG_USB_SUPPORT=y
975CONFIG_USB_ARCH_HAS_HCD=y
976CONFIG_USB_ARCH_HAS_OHCI=y
977CONFIG_USB_ARCH_HAS_EHCI=y
978CONFIG_USB=y
979CONFIG_USB_DEBUG=y
980CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
981
982#
983# Miscellaneous USB options
984#
985CONFIG_USB_DEVICEFS=y
986# CONFIG_USB_DEVICE_CLASS is not set
987# CONFIG_USB_DYNAMIC_MINORS is not set
988CONFIG_USB_SUSPEND=y
989CONFIG_USB_OTG=y
990# CONFIG_USB_OTG_WHITELIST is not set
991# CONFIG_USB_OTG_BLACKLIST_HUB is not set
992CONFIG_USB_MON=y
993# CONFIG_USB_WUSB is not set
994# CONFIG_USB_WUSB_CBAF is not set
995
996#
997# USB Host Controller Drivers
998#
999# CONFIG_USB_C67X00_HCD is not set
1000# CONFIG_USB_EHCI_HCD is not set
1001# CONFIG_USB_OXU210HP_HCD is not set
1002# CONFIG_USB_ISP116X_HCD is not set
1003# CONFIG_USB_ISP1760_HCD is not set
1004# CONFIG_USB_ISP1362_HCD is not set
1005# CONFIG_USB_OHCI_HCD is not set
1006# CONFIG_USB_SL811_HCD is not set
1007# CONFIG_USB_R8A66597_HCD is not set
1008# CONFIG_USB_HWA_HCD is not set
1009CONFIG_USB_MUSB_HDRC=y
1010CONFIG_USB_MUSB_SOC=y
1011
1012#
1013# OMAP 343x high speed USB support
1014#
1015# CONFIG_USB_MUSB_HOST is not set
1016# CONFIG_USB_MUSB_PERIPHERAL is not set
1017CONFIG_USB_MUSB_OTG=y
1018CONFIG_USB_GADGET_MUSB_HDRC=y
1019CONFIG_USB_MUSB_HDRC_HCD=y
1020# CONFIG_MUSB_PIO_ONLY is not set
1021CONFIG_USB_INVENTRA_DMA=y
1022# CONFIG_USB_TI_CPPI_DMA is not set
1023CONFIG_USB_MUSB_DEBUG=y
1024
1025#
1026# USB Device Class drivers
1027#
1028# CONFIG_USB_ACM is not set
1029# CONFIG_USB_PRINTER is not set
1030# CONFIG_USB_WDM is not set
1031# CONFIG_USB_TMC is not set
1032
1033#
1034# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1035#
1036
1037#
1038# also be needed; see USB_STORAGE Help for more info
1039#
1040CONFIG_USB_STORAGE=y
1041# CONFIG_USB_STORAGE_DEBUG is not set
1042# CONFIG_USB_STORAGE_DATAFAB is not set
1043# CONFIG_USB_STORAGE_FREECOM is not set
1044# CONFIG_USB_STORAGE_ISD200 is not set
1045# CONFIG_USB_STORAGE_USBAT is not set
1046# CONFIG_USB_STORAGE_SDDR09 is not set
1047# CONFIG_USB_STORAGE_SDDR55 is not set
1048# CONFIG_USB_STORAGE_JUMPSHOT is not set
1049# CONFIG_USB_STORAGE_ALAUDA is not set
1050# CONFIG_USB_STORAGE_ONETOUCH is not set
1051# CONFIG_USB_STORAGE_KARMA is not set
1052# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1053# CONFIG_USB_LIBUSUAL is not set
1054
1055#
1056# USB Imaging devices
1057#
1058# CONFIG_USB_MDC800 is not set
1059# CONFIG_USB_MICROTEK is not set
1060
1061#
1062# USB port drivers
1063#
1064# CONFIG_USB_SERIAL is not set
1065
1066#
1067# USB Miscellaneous drivers
1068#
1069# CONFIG_USB_EMI62 is not set
1070# CONFIG_USB_EMI26 is not set
1071# CONFIG_USB_ADUTUX is not set
1072# CONFIG_USB_SEVSEG is not set
1073# CONFIG_USB_RIO500 is not set
1074# CONFIG_USB_LEGOTOWER is not set
1075# CONFIG_USB_LCD is not set
1076# CONFIG_USB_BERRY_CHARGE is not set
1077# CONFIG_USB_LED is not set
1078# CONFIG_USB_CYPRESS_CY7C63 is not set
1079# CONFIG_USB_CYTHERM is not set
1080# CONFIG_USB_IDMOUSE is not set
1081# CONFIG_USB_FTDI_ELAN is not set
1082# CONFIG_USB_APPLEDISPLAY is not set
1083# CONFIG_USB_SISUSBVGA is not set
1084# CONFIG_USB_LD is not set
1085# CONFIG_USB_TRANCEVIBRATOR is not set
1086# CONFIG_USB_IOWARRIOR is not set
1087CONFIG_USB_TEST=m
1088# CONFIG_USB_ISIGHTFW is not set
1089# CONFIG_USB_VST is not set
1090CONFIG_USB_GADGET=m
1091CONFIG_USB_GADGET_DEBUG=y
1092CONFIG_USB_GADGET_DEBUG_FILES=y
1093CONFIG_USB_GADGET_VBUS_DRAW=2
1094CONFIG_USB_GADGET_SELECTED=y
1095# CONFIG_USB_GADGET_AT91 is not set
1096# CONFIG_USB_GADGET_ATMEL_USBA is not set
1097# CONFIG_USB_GADGET_FSL_USB2 is not set
1098# CONFIG_USB_GADGET_LH7A40X is not set
1099# CONFIG_USB_GADGET_OMAP is not set
1100# CONFIG_USB_GADGET_PXA25X is not set
1101# CONFIG_USB_GADGET_R8A66597 is not set
1102# CONFIG_USB_GADGET_PXA27X is not set
1103# CONFIG_USB_GADGET_S3C_HSOTG is not set
1104# CONFIG_USB_GADGET_IMX is not set
1105# CONFIG_USB_GADGET_S3C2410 is not set
1106# CONFIG_USB_GADGET_M66592 is not set
1107# CONFIG_USB_GADGET_AMD5536UDC is not set
1108# CONFIG_USB_GADGET_FSL_QE is not set
1109# CONFIG_USB_GADGET_CI13XXX is not set
1110# CONFIG_USB_GADGET_NET2280 is not set
1111# CONFIG_USB_GADGET_GOKU is not set
1112# CONFIG_USB_GADGET_LANGWELL is not set
1113# CONFIG_USB_GADGET_DUMMY_HCD is not set
1114CONFIG_USB_GADGET_DUALSPEED=y
1115CONFIG_USB_ZERO=m
1116# CONFIG_USB_ZERO_HNPTEST is not set
1117CONFIG_USB_AUDIO=m
1118CONFIG_USB_ETH=m
1119CONFIG_USB_ETH_RNDIS=y
1120# CONFIG_USB_ETH_EEM is not set
1121CONFIG_USB_GADGETFS=m
1122CONFIG_USB_FILE_STORAGE=m
1123# CONFIG_USB_FILE_STORAGE_TEST is not set
1124CONFIG_USB_G_SERIAL=m
1125# CONFIG_USB_MIDI_GADGET is not set
1126# CONFIG_USB_G_PRINTER is not set
1127CONFIG_USB_CDC_COMPOSITE=m
1128
1129#
1130# OTG and related infrastructure
1131#
1132CONFIG_USB_OTG_UTILS=y
1133# CONFIG_USB_GPIO_VBUS is not set
1134# CONFIG_ISP1301_OMAP is not set
1135CONFIG_TWL4030_USB=y
1136# CONFIG_NOP_USB_XCEIV is not set
1137CONFIG_MMC=y
1138# CONFIG_MMC_DEBUG is not set
1139# CONFIG_MMC_UNSAFE_RESUME is not set
1140
1141#
1142# MMC/SD/SDIO Card Drivers
1143#
1144CONFIG_MMC_BLOCK=y
1145CONFIG_MMC_BLOCK_BOUNCE=y
1146# CONFIG_SDIO_UART is not set
1147# CONFIG_MMC_TEST is not set
1148
1149#
1150# MMC/SD/SDIO Host Controller Drivers
1151#
1152# CONFIG_MMC_SDHCI is not set
1153# CONFIG_MMC_OMAP is not set
1154CONFIG_MMC_OMAP_HS=y
1155# CONFIG_MMC_AT91 is not set
1156# CONFIG_MMC_ATMELMCI is not set
1157# CONFIG_MMC_SPI is not set
1158# CONFIG_MEMSTICK is not set
1159# CONFIG_NEW_LEDS is not set
1160# CONFIG_ACCESSIBILITY is not set
1161CONFIG_RTC_LIB=y
1162CONFIG_RTC_CLASS=y
1163CONFIG_RTC_HCTOSYS=y
1164CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1165# CONFIG_RTC_DEBUG is not set
1166
1167#
1168# RTC interfaces
1169#
1170CONFIG_RTC_INTF_SYSFS=y
1171CONFIG_RTC_INTF_PROC=y
1172CONFIG_RTC_INTF_DEV=y
1173# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1174# CONFIG_RTC_DRV_TEST is not set
1175
1176#
1177# I2C RTC drivers
1178#
1179# CONFIG_RTC_DRV_DS1307 is not set
1180# CONFIG_RTC_DRV_DS1374 is not set
1181# CONFIG_RTC_DRV_DS1672 is not set
1182# CONFIG_RTC_DRV_MAX6900 is not set
1183# CONFIG_RTC_DRV_RS5C372 is not set
1184# CONFIG_RTC_DRV_ISL1208 is not set
1185# CONFIG_RTC_DRV_X1205 is not set
1186# CONFIG_RTC_DRV_PCF8563 is not set
1187# CONFIG_RTC_DRV_PCF8583 is not set
1188# CONFIG_RTC_DRV_M41T80 is not set
1189# CONFIG_RTC_DRV_TWL4030 is not set
1190# CONFIG_RTC_DRV_S35390A is not set
1191# CONFIG_RTC_DRV_FM3130 is not set
1192# CONFIG_RTC_DRV_RX8581 is not set
1193# CONFIG_RTC_DRV_RX8025 is not set
1194
1195#
1196# SPI RTC drivers
1197#
1198# CONFIG_RTC_DRV_M41T94 is not set
1199# CONFIG_RTC_DRV_DS1305 is not set
1200# CONFIG_RTC_DRV_DS1390 is not set
1201# CONFIG_RTC_DRV_MAX6902 is not set
1202# CONFIG_RTC_DRV_R9701 is not set
1203# CONFIG_RTC_DRV_RS5C348 is not set
1204# CONFIG_RTC_DRV_DS3234 is not set
1205# CONFIG_RTC_DRV_PCF2123 is not set
1206
1207#
1208# Platform RTC drivers
1209#
1210# CONFIG_RTC_DRV_CMOS is not set
1211# CONFIG_RTC_DRV_DS1286 is not set
1212# CONFIG_RTC_DRV_DS1511 is not set
1213# CONFIG_RTC_DRV_DS1553 is not set
1214# CONFIG_RTC_DRV_DS1742 is not set
1215# CONFIG_RTC_DRV_STK17TA8 is not set
1216# CONFIG_RTC_DRV_M48T86 is not set
1217# CONFIG_RTC_DRV_M48T35 is not set
1218# CONFIG_RTC_DRV_M48T59 is not set
1219# CONFIG_RTC_DRV_BQ4802 is not set
1220# CONFIG_RTC_DRV_V3020 is not set
1221
1222#
1223# on-CPU RTC drivers
1224#
1225# CONFIG_DMADEVICES is not set
1226# CONFIG_AUXDISPLAY is not set
1227# CONFIG_UIO is not set
1228
1229#
1230# TI VLYNQ
1231#
1232# CONFIG_STAGING is not set
1233
1234#
1235# CBUS support
1236#
1237# CONFIG_CBUS is not set
1238
1239#
1240# File systems
1241#
1242CONFIG_EXT2_FS=y
1243# CONFIG_EXT2_FS_XATTR is not set
1244# CONFIG_EXT2_FS_XIP is not set
1245CONFIG_EXT3_FS=y
1246# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
1247# CONFIG_EXT3_FS_XATTR is not set
1248# CONFIG_EXT4_FS is not set
1249CONFIG_JBD=y
1250# CONFIG_REISERFS_FS is not set
1251# CONFIG_JFS_FS is not set
1252CONFIG_FS_POSIX_ACL=y
1253# CONFIG_XFS_FS is not set
1254# CONFIG_GFS2_FS is not set
1255# CONFIG_OCFS2_FS is not set
1256# CONFIG_BTRFS_FS is not set
1257# CONFIG_NILFS2_FS is not set
1258CONFIG_FILE_LOCKING=y
1259CONFIG_FSNOTIFY=y
1260CONFIG_DNOTIFY=y
1261CONFIG_INOTIFY=y
1262CONFIG_INOTIFY_USER=y
1263CONFIG_QUOTA=y
1264# CONFIG_QUOTA_NETLINK_INTERFACE is not set
1265CONFIG_PRINT_QUOTA_WARNING=y
1266CONFIG_QUOTA_TREE=y
1267# CONFIG_QFMT_V1 is not set
1268CONFIG_QFMT_V2=y
1269CONFIG_QUOTACTL=y
1270# CONFIG_AUTOFS_FS is not set
1271# CONFIG_AUTOFS4_FS is not set
1272# CONFIG_FUSE_FS is not set
1273
1274#
1275# Caches
1276#
1277# CONFIG_FSCACHE is not set
1278
1279#
1280# CD-ROM/DVD Filesystems
1281#
1282# CONFIG_ISO9660_FS is not set
1283# CONFIG_UDF_FS is not set
1284
1285#
1286# DOS/FAT/NT Filesystems
1287#
1288CONFIG_FAT_FS=y
1289CONFIG_MSDOS_FS=y
1290CONFIG_VFAT_FS=y
1291CONFIG_FAT_DEFAULT_CODEPAGE=437
1292CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1293# CONFIG_NTFS_FS is not set
1294
1295#
1296# Pseudo filesystems
1297#
1298CONFIG_PROC_FS=y
1299CONFIG_PROC_SYSCTL=y
1300CONFIG_PROC_PAGE_MONITOR=y
1301CONFIG_SYSFS=y
1302CONFIG_TMPFS=y
1303# CONFIG_TMPFS_POSIX_ACL is not set
1304# CONFIG_HUGETLB_PAGE is not set
1305# CONFIG_CONFIGFS_FS is not set
1306CONFIG_MISC_FILESYSTEMS=y
1307# CONFIG_ADFS_FS is not set
1308# CONFIG_AFFS_FS is not set
1309# CONFIG_HFS_FS is not set
1310# CONFIG_HFSPLUS_FS is not set
1311# CONFIG_BEFS_FS is not set
1312# CONFIG_BFS_FS is not set
1313# CONFIG_EFS_FS is not set
1314# CONFIG_CRAMFS is not set
1315# CONFIG_SQUASHFS is not set
1316# CONFIG_VXFS_FS is not set
1317# CONFIG_MINIX_FS is not set
1318# CONFIG_OMFS_FS is not set
1319# CONFIG_HPFS_FS is not set
1320# CONFIG_QNX4FS_FS is not set
1321# CONFIG_ROMFS_FS is not set
1322# CONFIG_SYSV_FS is not set
1323# CONFIG_UFS_FS is not set
1324CONFIG_NETWORK_FILESYSTEMS=y
1325CONFIG_NFS_FS=y
1326CONFIG_NFS_V3=y
1327CONFIG_NFS_V3_ACL=y
1328CONFIG_NFS_V4=y
1329# CONFIG_NFS_V4_1 is not set
1330CONFIG_ROOT_NFS=y
1331# CONFIG_NFSD is not set
1332CONFIG_LOCKD=y
1333CONFIG_LOCKD_V4=y
1334CONFIG_NFS_ACL_SUPPORT=y
1335CONFIG_NFS_COMMON=y
1336CONFIG_SUNRPC=y
1337CONFIG_SUNRPC_GSS=y
1338CONFIG_RPCSEC_GSS_KRB5=y
1339# CONFIG_RPCSEC_GSS_SPKM3 is not set
1340# CONFIG_SMB_FS is not set
1341# CONFIG_CIFS is not set
1342# CONFIG_NCP_FS is not set
1343# CONFIG_CODA_FS is not set
1344# CONFIG_AFS_FS is not set
1345
1346#
1347# Partition Types
1348#
1349CONFIG_PARTITION_ADVANCED=y
1350# CONFIG_ACORN_PARTITION is not set
1351# CONFIG_OSF_PARTITION is not set
1352# CONFIG_AMIGA_PARTITION is not set
1353# CONFIG_ATARI_PARTITION is not set
1354# CONFIG_MAC_PARTITION is not set
1355CONFIG_MSDOS_PARTITION=y
1356# CONFIG_BSD_DISKLABEL is not set
1357# CONFIG_MINIX_SUBPARTITION is not set
1358# CONFIG_SOLARIS_X86_PARTITION is not set
1359# CONFIG_UNIXWARE_DISKLABEL is not set
1360# CONFIG_LDM_PARTITION is not set
1361# CONFIG_SGI_PARTITION is not set
1362# CONFIG_ULTRIX_PARTITION is not set
1363# CONFIG_SUN_PARTITION is not set
1364# CONFIG_KARMA_PARTITION is not set
1365# CONFIG_EFI_PARTITION is not set
1366# CONFIG_SYSV68_PARTITION is not set
1367CONFIG_NLS=y
1368CONFIG_NLS_DEFAULT="iso8859-1"
1369CONFIG_NLS_CODEPAGE_437=y
1370# CONFIG_NLS_CODEPAGE_737 is not set
1371# CONFIG_NLS_CODEPAGE_775 is not set
1372# CONFIG_NLS_CODEPAGE_850 is not set
1373# CONFIG_NLS_CODEPAGE_852 is not set
1374# CONFIG_NLS_CODEPAGE_855 is not set
1375# CONFIG_NLS_CODEPAGE_857 is not set
1376# CONFIG_NLS_CODEPAGE_860 is not set
1377# CONFIG_NLS_CODEPAGE_861 is not set
1378# CONFIG_NLS_CODEPAGE_862 is not set
1379# CONFIG_NLS_CODEPAGE_863 is not set
1380# CONFIG_NLS_CODEPAGE_864 is not set
1381# CONFIG_NLS_CODEPAGE_865 is not set
1382# CONFIG_NLS_CODEPAGE_866 is not set
1383# CONFIG_NLS_CODEPAGE_869 is not set
1384# CONFIG_NLS_CODEPAGE_936 is not set
1385# CONFIG_NLS_CODEPAGE_950 is not set
1386# CONFIG_NLS_CODEPAGE_932 is not set
1387# CONFIG_NLS_CODEPAGE_949 is not set
1388# CONFIG_NLS_CODEPAGE_874 is not set
1389# CONFIG_NLS_ISO8859_8 is not set
1390# CONFIG_NLS_CODEPAGE_1250 is not set
1391# CONFIG_NLS_CODEPAGE_1251 is not set
1392# CONFIG_NLS_ASCII is not set
1393CONFIG_NLS_ISO8859_1=y
1394# CONFIG_NLS_ISO8859_2 is not set
1395# CONFIG_NLS_ISO8859_3 is not set
1396# CONFIG_NLS_ISO8859_4 is not set
1397# CONFIG_NLS_ISO8859_5 is not set
1398# CONFIG_NLS_ISO8859_6 is not set
1399# CONFIG_NLS_ISO8859_7 is not set
1400# CONFIG_NLS_ISO8859_9 is not set
1401# CONFIG_NLS_ISO8859_13 is not set
1402# CONFIG_NLS_ISO8859_14 is not set
1403# CONFIG_NLS_ISO8859_15 is not set
1404# CONFIG_NLS_KOI8_R is not set
1405# CONFIG_NLS_KOI8_U is not set
1406# CONFIG_NLS_UTF8 is not set
1407# CONFIG_DLM is not set
1408
1409#
1410# Kernel hacking
1411#
1412# CONFIG_PRINTK_TIME is not set
1413CONFIG_ENABLE_WARN_DEPRECATED=y
1414CONFIG_ENABLE_MUST_CHECK=y
1415CONFIG_FRAME_WARN=1024
1416CONFIG_MAGIC_SYSRQ=y
1417# CONFIG_STRIP_ASM_SYMS is not set
1418# CONFIG_UNUSED_SYMBOLS is not set
1419# CONFIG_DEBUG_FS is not set
1420# CONFIG_HEADERS_CHECK is not set
1421CONFIG_DEBUG_KERNEL=y
1422# CONFIG_DEBUG_SHIRQ is not set
1423CONFIG_DETECT_SOFTLOCKUP=y
1424# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1425CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1426CONFIG_DETECT_HUNG_TASK=y
1427# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1428CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1429CONFIG_SCHED_DEBUG=y
1430# CONFIG_SCHEDSTATS is not set
1431# CONFIG_TIMER_STATS is not set
1432# CONFIG_DEBUG_OBJECTS is not set
1433# CONFIG_DEBUG_SLAB is not set
1434# CONFIG_DEBUG_KMEMLEAK is not set
1435# CONFIG_DEBUG_RT_MUTEXES is not set
1436# CONFIG_RT_MUTEX_TESTER is not set
1437# CONFIG_DEBUG_SPINLOCK is not set
1438CONFIG_DEBUG_MUTEXES=y
1439# CONFIG_DEBUG_LOCK_ALLOC is not set
1440# CONFIG_PROVE_LOCKING is not set
1441# CONFIG_LOCK_STAT is not set
1442# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1443# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1444# CONFIG_DEBUG_KOBJECT is not set
1445# CONFIG_DEBUG_BUGVERBOSE is not set
1446CONFIG_DEBUG_INFO=y
1447# CONFIG_DEBUG_VM is not set
1448# CONFIG_DEBUG_WRITECOUNT is not set
1449# CONFIG_DEBUG_MEMORY_INIT is not set
1450# CONFIG_DEBUG_LIST is not set
1451# CONFIG_DEBUG_SG is not set
1452# CONFIG_DEBUG_NOTIFIERS is not set
1453# CONFIG_DEBUG_CREDENTIALS is not set
1454# CONFIG_BOOT_PRINTK_DELAY is not set
1455# CONFIG_RCU_TORTURE_TEST is not set
1456# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1457# CONFIG_BACKTRACE_SELF_TEST is not set
1458# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1459# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1460# CONFIG_FAULT_INJECTION is not set
1461# CONFIG_LATENCYTOP is not set
1462# CONFIG_PAGE_POISONING is not set
1463CONFIG_HAVE_FUNCTION_TRACER=y
1464CONFIG_TRACING_SUPPORT=y
1465CONFIG_FTRACE=y
1466# CONFIG_FUNCTION_TRACER is not set
1467# CONFIG_IRQSOFF_TRACER is not set
1468# CONFIG_SCHED_TRACER is not set
1469# CONFIG_ENABLE_DEFAULT_TRACERS is not set
1470# CONFIG_BOOT_TRACER is not set
1471CONFIG_BRANCH_PROFILE_NONE=y
1472# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
1473# CONFIG_PROFILE_ALL_BRANCHES is not set
1474# CONFIG_STACK_TRACER is not set
1475# CONFIG_KMEMTRACE is not set
1476# CONFIG_WORKQUEUE_TRACER is not set
1477# CONFIG_BLK_DEV_IO_TRACE is not set
1478# CONFIG_SAMPLES is not set
1479CONFIG_HAVE_ARCH_KGDB=y
1480# CONFIG_KGDB is not set
1481CONFIG_ARM_UNWIND=y
1482# CONFIG_DEBUG_USER is not set
1483# CONFIG_DEBUG_ERRORS is not set
1484# CONFIG_DEBUG_STACK_USAGE is not set
1485# CONFIG_DEBUG_LL is not set
1486
1487#
1488# Security options
1489#
1490# CONFIG_KEYS is not set
1491# CONFIG_SECURITY is not set
1492# CONFIG_SECURITYFS is not set
1493# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1494CONFIG_CRYPTO=y
1495
1496#
1497# Crypto core or helper
1498#
1499CONFIG_CRYPTO_ALGAPI=y
1500CONFIG_CRYPTO_ALGAPI2=y
1501CONFIG_CRYPTO_AEAD2=y
1502CONFIG_CRYPTO_BLKCIPHER=y
1503CONFIG_CRYPTO_BLKCIPHER2=y
1504CONFIG_CRYPTO_HASH=y
1505CONFIG_CRYPTO_HASH2=y
1506CONFIG_CRYPTO_RNG2=y
1507CONFIG_CRYPTO_PCOMP=y
1508CONFIG_CRYPTO_MANAGER=y
1509CONFIG_CRYPTO_MANAGER2=y
1510# CONFIG_CRYPTO_GF128MUL is not set
1511# CONFIG_CRYPTO_NULL is not set
1512CONFIG_CRYPTO_WORKQUEUE=y
1513# CONFIG_CRYPTO_CRYPTD is not set
1514# CONFIG_CRYPTO_AUTHENC is not set
1515# CONFIG_CRYPTO_TEST is not set
1516
1517#
1518# Authenticated Encryption with Associated Data
1519#
1520# CONFIG_CRYPTO_CCM is not set
1521# CONFIG_CRYPTO_GCM is not set
1522# CONFIG_CRYPTO_SEQIV is not set
1523
1524#
1525# Block modes
1526#
1527CONFIG_CRYPTO_CBC=y
1528# CONFIG_CRYPTO_CTR is not set
1529# CONFIG_CRYPTO_CTS is not set
1530CONFIG_CRYPTO_ECB=m
1531# CONFIG_CRYPTO_LRW is not set
1532CONFIG_CRYPTO_PCBC=m
1533# CONFIG_CRYPTO_XTS is not set
1534
1535#
1536# Hash modes
1537#
1538# CONFIG_CRYPTO_HMAC is not set
1539# CONFIG_CRYPTO_XCBC is not set
1540# CONFIG_CRYPTO_VMAC is not set
1541
1542#
1543# Digest
1544#
1545CONFIG_CRYPTO_CRC32C=y
1546# CONFIG_CRYPTO_GHASH is not set
1547# CONFIG_CRYPTO_MD4 is not set
1548CONFIG_CRYPTO_MD5=y
1549# CONFIG_CRYPTO_MICHAEL_MIC is not set
1550# CONFIG_CRYPTO_RMD128 is not set
1551# CONFIG_CRYPTO_RMD160 is not set
1552# CONFIG_CRYPTO_RMD256 is not set
1553# CONFIG_CRYPTO_RMD320 is not set
1554# CONFIG_CRYPTO_SHA1 is not set
1555# CONFIG_CRYPTO_SHA256 is not set
1556# CONFIG_CRYPTO_SHA512 is not set
1557# CONFIG_CRYPTO_TGR192 is not set
1558# CONFIG_CRYPTO_WP512 is not set
1559
1560#
1561# Ciphers
1562#
1563# CONFIG_CRYPTO_AES is not set
1564# CONFIG_CRYPTO_ANUBIS is not set
1565# CONFIG_CRYPTO_ARC4 is not set
1566# CONFIG_CRYPTO_BLOWFISH is not set
1567# CONFIG_CRYPTO_CAMELLIA is not set
1568# CONFIG_CRYPTO_CAST5 is not set
1569# CONFIG_CRYPTO_CAST6 is not set
1570CONFIG_CRYPTO_DES=y
1571# CONFIG_CRYPTO_FCRYPT is not set
1572# CONFIG_CRYPTO_KHAZAD is not set
1573# CONFIG_CRYPTO_SALSA20 is not set
1574# CONFIG_CRYPTO_SEED is not set
1575# CONFIG_CRYPTO_SERPENT is not set
1576# CONFIG_CRYPTO_TEA is not set
1577# CONFIG_CRYPTO_TWOFISH is not set
1578
1579#
1580# Compression
1581#
1582# CONFIG_CRYPTO_DEFLATE is not set
1583# CONFIG_CRYPTO_ZLIB is not set
1584# CONFIG_CRYPTO_LZO is not set
1585
1586#
1587# Random Number Generation
1588#
1589# CONFIG_CRYPTO_ANSI_CPRNG is not set
1590CONFIG_CRYPTO_HW=y
1591# CONFIG_BINARY_PRINTF is not set
1592
1593#
1594# Library routines
1595#
1596CONFIG_BITREVERSE=y
1597CONFIG_GENERIC_FIND_LAST_BIT=y
1598CONFIG_CRC_CCITT=y
1599# CONFIG_CRC16 is not set
1600CONFIG_CRC_T10DIF=y
1601# CONFIG_CRC_ITU_T is not set
1602CONFIG_CRC32=y
1603# CONFIG_CRC7 is not set
1604CONFIG_LIBCRC32C=y
1605CONFIG_ZLIB_INFLATE=y
1606CONFIG_DECOMPRESS_GZIP=y
1607CONFIG_HAS_IOMEM=y
1608CONFIG_HAS_IOPORT=y
1609CONFIG_HAS_DMA=y
1610CONFIG_NLATTR=y
diff --git a/arch/arm/configs/overo_defconfig b/arch/arm/configs/overo_defconfig
index a57f9e4124fa..b3ea2c4c0f91 100644
--- a/arch/arm/configs/overo_defconfig
+++ b/arch/arm/configs/overo_defconfig
@@ -54,8 +54,8 @@ CONFIG_FAIR_GROUP_SCHED=y
54# CONFIG_RT_GROUP_SCHED is not set 54# CONFIG_RT_GROUP_SCHED is not set
55CONFIG_USER_SCHED=y 55CONFIG_USER_SCHED=y
56# CONFIG_CGROUP_SCHED is not set 56# CONFIG_CGROUP_SCHED is not set
57CONFIG_SYSFS_DEPRECATED=y 57# CONFIG_SYSFS_DEPRECATED=y is not set
58CONFIG_SYSFS_DEPRECATED_V2=y 58# CONFIG_SYSFS_DEPRECATED_V2=y is not set
59# CONFIG_RELAY is not set 59# CONFIG_RELAY is not set
60# CONFIG_NAMESPACES is not set 60# CONFIG_NAMESPACES is not set
61CONFIG_BLK_DEV_INITRD=y 61CONFIG_BLK_DEV_INITRD=y
diff --git a/arch/arm/configs/rx51_defconfig b/arch/arm/configs/rx51_defconfig
index e7e31332c62a..155973426025 100644
--- a/arch/arm/configs/rx51_defconfig
+++ b/arch/arm/configs/rx51_defconfig
@@ -784,7 +784,7 @@ CONFIG_INPUT_KEYBOARD=y
784# CONFIG_KEYBOARD_XTKBD is not set 784# CONFIG_KEYBOARD_XTKBD is not set
785# CONFIG_KEYBOARD_NEWTON is not set 785# CONFIG_KEYBOARD_NEWTON is not set
786# CONFIG_KEYBOARD_STOWAWAY is not set 786# CONFIG_KEYBOARD_STOWAWAY is not set
787# CONFIG_KEYBOARD_GPIO is not set 787CONFIG_KEYBOARD_GPIO=m
788# CONFIG_INPUT_MOUSE is not set 788# CONFIG_INPUT_MOUSE is not set
789# CONFIG_INPUT_JOYSTICK is not set 789# CONFIG_INPUT_JOYSTICK is not set
790# CONFIG_INPUT_TABLET is not set 790# CONFIG_INPUT_TABLET is not set
diff --git a/arch/arm/mach-omap1/Kconfig b/arch/arm/mach-omap1/Kconfig
index 55ecc01ea206..27f489747bbd 100644
--- a/arch/arm/mach-omap1/Kconfig
+++ b/arch/arm/mach-omap1/Kconfig
@@ -11,6 +11,7 @@ config ARCH_OMAP850
11 depends on ARCH_OMAP1 11 depends on ARCH_OMAP1
12 bool "OMAP850 Based System" 12 bool "OMAP850 Based System"
13 select CPU_ARM926T 13 select CPU_ARM926T
14 select ARCH_OMAP_OTG
14 15
15config ARCH_OMAP15XX 16config ARCH_OMAP15XX
16 depends on ARCH_OMAP1 17 depends on ARCH_OMAP1
@@ -56,6 +57,12 @@ config MACH_OMAP_HTCWIZARD
56 help 57 help
57 HTC Wizard smartphone support (AKA QTEK 9100, ...) 58 HTC Wizard smartphone support (AKA QTEK 9100, ...)
58 59
60config MACH_HERALD
61 bool "HTC Herald"
62 depends on ARCH_OMAP850
63 help
64 HTC Herald smartphone support (AKA T-Mobile Wing, ...)
65
59config MACH_OMAP_OSK 66config MACH_OMAP_OSK
60 bool "TI OSK Support" 67 bool "TI OSK Support"
61 depends on ARCH_OMAP1 && ARCH_OMAP16XX 68 depends on ARCH_OMAP1 && ARCH_OMAP16XX
diff --git a/arch/arm/mach-omap1/Makefile b/arch/arm/mach-omap1/Makefile
index 6867cd3ad0b4..87e539aa8ad9 100644
--- a/arch/arm/mach-omap1/Makefile
+++ b/arch/arm/mach-omap1/Makefile
@@ -34,6 +34,7 @@ obj-$(CONFIG_MACH_OMAP_PALMTT) += board-palmtt.o
34obj-$(CONFIG_MACH_NOKIA770) += board-nokia770.o 34obj-$(CONFIG_MACH_NOKIA770) += board-nokia770.o
35obj-$(CONFIG_MACH_AMS_DELTA) += board-ams-delta.o 35obj-$(CONFIG_MACH_AMS_DELTA) += board-ams-delta.o
36obj-$(CONFIG_MACH_SX1) += board-sx1.o board-sx1-mmc.o 36obj-$(CONFIG_MACH_SX1) += board-sx1.o board-sx1-mmc.o
37obj-$(CONFIG_MACH_HERALD) += board-htcherald.o
37 38
38ifeq ($(CONFIG_ARCH_OMAP15XX),y) 39ifeq ($(CONFIG_ARCH_OMAP15XX),y)
39# Innovator-1510 FPGA 40# Innovator-1510 FPGA
diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c
index 8ad5cc3e83e3..7fc11c34b696 100644
--- a/arch/arm/mach-omap1/board-ams-delta.c
+++ b/arch/arm/mach-omap1/board-ams-delta.c
@@ -25,13 +25,13 @@
25#include <asm/mach/arch.h> 25#include <asm/mach/arch.h>
26#include <asm/mach/map.h> 26#include <asm/mach/map.h>
27 27
28#include <mach/board-ams-delta.h> 28#include <plat/board-ams-delta.h>
29#include <mach/gpio.h> 29#include <mach/gpio.h>
30#include <mach/keypad.h> 30#include <plat/keypad.h>
31#include <mach/mux.h> 31#include <plat/mux.h>
32#include <mach/usb.h> 32#include <plat/usb.h>
33#include <mach/board.h> 33#include <plat/board.h>
34#include <mach/common.h> 34#include <plat/common.h>
35 35
36static u8 ams_delta_latch1_reg; 36static u8 ams_delta_latch1_reg;
37static u16 ams_delta_latch2_reg; 37static u16 ams_delta_latch2_reg;
diff --git a/arch/arm/mach-omap1/board-fsample.c b/arch/arm/mach-omap1/board-fsample.c
index a7ead1b93226..f4b72c1654f5 100644
--- a/arch/arm/mach-omap1/board-fsample.c
+++ b/arch/arm/mach-omap1/board-fsample.c
@@ -26,14 +26,14 @@
26#include <asm/mach/flash.h> 26#include <asm/mach/flash.h>
27#include <asm/mach/map.h> 27#include <asm/mach/map.h>
28 28
29#include <mach/tc.h> 29#include <plat/tc.h>
30#include <mach/gpio.h> 30#include <mach/gpio.h>
31#include <mach/mux.h> 31#include <plat/mux.h>
32#include <mach/fpga.h> 32#include <plat/fpga.h>
33#include <mach/nand.h> 33#include <plat/nand.h>
34#include <mach/keypad.h> 34#include <plat/keypad.h>
35#include <mach/common.h> 35#include <plat/common.h>
36#include <mach/board.h> 36#include <plat/board.h>
37 37
38/* fsample is pretty close to p2-sample */ 38/* fsample is pretty close to p2-sample */
39 39
@@ -107,7 +107,7 @@ static struct resource smc91x_resources[] = {
107 .flags = IORESOURCE_MEM, 107 .flags = IORESOURCE_MEM,
108 }, 108 },
109 [1] = { 109 [1] = {
110 .start = INT_730_MPU_EXT_NIRQ, 110 .start = INT_7XX_MPU_EXT_NIRQ,
111 .end = 0, 111 .end = 0,
112 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, 112 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
113 }, 113 },
@@ -196,8 +196,8 @@ static struct platform_device smc91x_device = {
196 196
197static struct resource kp_resources[] = { 197static struct resource kp_resources[] = {
198 [0] = { 198 [0] = {
199 .start = INT_730_MPUIO_KEYPAD, 199 .start = INT_7XX_MPUIO_KEYPAD,
200 .end = INT_730_MPUIO_KEYPAD, 200 .end = INT_7XX_MPUIO_KEYPAD,
201 .flags = IORESOURCE_IRQ, 201 .flags = IORESOURCE_IRQ,
202 }, 202 },
203}; 203};
@@ -309,7 +309,7 @@ static void __init omap_fsample_map_io(void)
309 /* 309 /*
310 * Hold GSM Reset until needed 310 * Hold GSM Reset until needed
311 */ 311 */
312 omap_writew(omap_readw(OMAP730_DSP_M_CTL) & ~1, OMAP730_DSP_M_CTL); 312 omap_writew(omap_readw(OMAP7XX_DSP_M_CTL) & ~1, OMAP7XX_DSP_M_CTL);
313 313
314 /* 314 /*
315 * UARTs -> done automagically by 8250 driver 315 * UARTs -> done automagically by 8250 driver
@@ -320,21 +320,21 @@ static void __init omap_fsample_map_io(void)
320 */ 320 */
321 321
322 /* Flash: CS0 timings setup */ 322 /* Flash: CS0 timings setup */
323 omap_writel(0x0000fff3, OMAP730_FLASH_CFG_0); 323 omap_writel(0x0000fff3, OMAP7XX_FLASH_CFG_0);
324 omap_writel(0x00000088, OMAP730_FLASH_ACFG_0); 324 omap_writel(0x00000088, OMAP7XX_FLASH_ACFG_0);
325 325
326 /* 326 /*
327 * Ethernet support through the debug board 327 * Ethernet support through the debug board
328 * CS1 timings setup 328 * CS1 timings setup
329 */ 329 */
330 omap_writel(0x0000fff3, OMAP730_FLASH_CFG_1); 330 omap_writel(0x0000fff3, OMAP7XX_FLASH_CFG_1);
331 omap_writel(0x00000000, OMAP730_FLASH_ACFG_1); 331 omap_writel(0x00000000, OMAP7XX_FLASH_ACFG_1);
332 332
333 /* 333 /*
334 * Configure MPU_EXT_NIRQ IO in IO_CONF9 register, 334 * Configure MPU_EXT_NIRQ IO in IO_CONF9 register,
335 * It is used as the Ethernet controller interrupt 335 * It is used as the Ethernet controller interrupt
336 */ 336 */
337 omap_writel(omap_readl(OMAP730_IO_CONF_9) & 0x1FFFFFFF, OMAP730_IO_CONF_9); 337 omap_writel(omap_readl(OMAP7XX_IO_CONF_9) & 0x1FFFFFFF, OMAP7XX_IO_CONF_9);
338} 338}
339 339
340MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample") 340MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample")
diff --git a/arch/arm/mach-omap1/board-generic.c b/arch/arm/mach-omap1/board-generic.c
index 6c8a41f20e51..e1195a3467b8 100644
--- a/arch/arm/mach-omap1/board-generic.c
+++ b/arch/arm/mach-omap1/board-generic.c
@@ -23,10 +23,10 @@
23#include <asm/mach/map.h> 23#include <asm/mach/map.h>
24 24
25#include <mach/gpio.h> 25#include <mach/gpio.h>
26#include <mach/mux.h> 26#include <plat/mux.h>
27#include <mach/usb.h> 27#include <plat/usb.h>
28#include <mach/board.h> 28#include <plat/board.h>
29#include <mach/common.h> 29#include <plat/common.h>
30 30
31static void __init omap_generic_init_irq(void) 31static void __init omap_generic_init_irq(void)
32{ 32{
diff --git a/arch/arm/mach-omap1/board-h2-mmc.c b/arch/arm/mach-omap1/board-h2-mmc.c
index 46098f546824..b30c4990744d 100644
--- a/arch/arm/mach-omap1/board-h2-mmc.c
+++ b/arch/arm/mach-omap1/board-h2-mmc.c
@@ -16,7 +16,7 @@
16 16
17#include <linux/i2c/tps65010.h> 17#include <linux/i2c/tps65010.h>
18 18
19#include <mach/mmc.h> 19#include <plat/mmc.h>
20#include <mach/gpio.h> 20#include <mach/gpio.h>
21 21
22#include "board-h2.h" 22#include "board-h2.h"
diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c
index aab860307dca..89ba8ec4bbf4 100644
--- a/arch/arm/mach-omap1/board-h2.c
+++ b/arch/arm/mach-omap1/board-h2.c
@@ -37,14 +37,14 @@
37#include <asm/mach/flash.h> 37#include <asm/mach/flash.h>
38#include <asm/mach/map.h> 38#include <asm/mach/map.h>
39 39
40#include <mach/mux.h> 40#include <plat/mux.h>
41#include <mach/dma.h> 41#include <plat/dma.h>
42#include <mach/tc.h> 42#include <plat/tc.h>
43#include <mach/nand.h> 43#include <plat/nand.h>
44#include <mach/irda.h> 44#include <plat/irda.h>
45#include <mach/usb.h> 45#include <plat/usb.h>
46#include <mach/keypad.h> 46#include <plat/keypad.h>
47#include <mach/common.h> 47#include <plat/common.h>
48 48
49#include "board-h2.h" 49#include "board-h2.h"
50 50
diff --git a/arch/arm/mach-omap1/board-h3-mmc.c b/arch/arm/mach-omap1/board-h3-mmc.c
index 5e8877ce35e0..54b0f063e263 100644
--- a/arch/arm/mach-omap1/board-h3-mmc.c
+++ b/arch/arm/mach-omap1/board-h3-mmc.c
@@ -16,7 +16,7 @@
16 16
17#include <linux/i2c/tps65010.h> 17#include <linux/i2c/tps65010.h>
18 18
19#include <mach/mmc.h> 19#include <plat/mmc.h>
20#include <mach/gpio.h> 20#include <mach/gpio.h>
21 21
22#include "board-h3.h" 22#include "board-h3.h"
diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c
index 89586b80b8d5..f5cc0a730524 100644
--- a/arch/arm/mach-omap1/board-h3.c
+++ b/arch/arm/mach-omap1/board-h3.c
@@ -40,13 +40,13 @@
40#include <asm/mach/map.h> 40#include <asm/mach/map.h>
41 41
42#include <mach/irqs.h> 42#include <mach/irqs.h>
43#include <mach/mux.h> 43#include <plat/mux.h>
44#include <mach/tc.h> 44#include <plat/tc.h>
45#include <mach/nand.h> 45#include <plat/nand.h>
46#include <mach/usb.h> 46#include <plat/usb.h>
47#include <mach/keypad.h> 47#include <plat/keypad.h>
48#include <mach/dma.h> 48#include <plat/dma.h>
49#include <mach/common.h> 49#include <plat/common.h>
50 50
51#include "board-h3.h" 51#include "board-h3.h"
52 52
diff --git a/arch/arm/mach-omap1/board-htcherald.c b/arch/arm/mach-omap1/board-htcherald.c
new file mode 100644
index 000000000000..5f28a5ceacac
--- /dev/null
+++ b/arch/arm/mach-omap1/board-htcherald.c
@@ -0,0 +1,247 @@
1/*
2 * HTC Herald board configuration
3 * Copyright (C) 2009 Cory Maccarrone <darkstar6262@gmail.com>
4 * Copyright (C) 2009 Wing Linux
5 *
6 * Based on the board-htcwizard.c file from the linwizard project:
7 * Copyright (C) 2006 Unai Uribarri
8 * Copyright (C) 2008 linwizard.sourceforge.net
9 *
10 * This program is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful, but
16 * WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
23 * 02110-1301, USA.
24 *
25 */
26
27#include <linux/kernel.h>
28#include <linux/init.h>
29#include <linux/platform_device.h>
30#include <linux/input.h>
31#include <linux/bootmem.h>
32#include <linux/io.h>
33#include <linux/gpio.h>
34
35#include <asm/mach-types.h>
36#include <asm/mach/arch.h>
37
38#include <plat/omap7xx.h>
39#include <plat/common.h>
40#include <plat/board.h>
41#include <plat/keypad.h>
42
43#include <mach/irqs.h>
44
45#include <linux/delay.h>
46
47/* LCD register definition */
48#define OMAP_LCDC_CONTROL (0xfffec000 + 0x00)
49#define OMAP_LCDC_STATUS (0xfffec000 + 0x10)
50#define OMAP_DMA_LCD_CCR (0xfffee300 + 0xc2)
51#define OMAP_DMA_LCD_CTRL (0xfffee300 + 0xc4)
52#define OMAP_LCDC_CTRL_LCD_EN (1 << 0)
53#define OMAP_LCDC_STAT_DONE (1 << 0)
54
55static struct omap_lcd_config htcherald_lcd_config __initdata = {
56 .ctrl_name = "internal",
57};
58
59static struct omap_board_config_kernel htcherald_config[] __initdata = {
60 { OMAP_TAG_LCD, &htcherald_lcd_config },
61};
62
63/* Keyboard definition */
64
65static int htc_herald_keymap[] = {
66 KEY(0, 0, KEY_RECORD), /* Mail button */
67 KEY(0, 1, KEY_CAMERA), /* Camera */
68 KEY(0, 2, KEY_PHONE), /* Send key */
69 KEY(0, 3, KEY_VOLUMEUP), /* Volume up */
70 KEY(0, 4, KEY_F2), /* Right bar (landscape) */
71 KEY(0, 5, KEY_MAIL), /* Win key (portrait) */
72 KEY(0, 6, KEY_DIRECTORY), /* Right bar (protrait) */
73 KEY(1, 0, KEY_LEFTCTRL), /* Windows key */
74 KEY(1, 1, KEY_COMMA),
75 KEY(1, 2, KEY_M),
76 KEY(1, 3, KEY_K),
77 KEY(1, 4, KEY_SLASH), /* OK key */
78 KEY(1, 5, KEY_I),
79 KEY(1, 6, KEY_U),
80 KEY(2, 0, KEY_LEFTALT),
81 KEY(2, 1, KEY_TAB),
82 KEY(2, 2, KEY_N),
83 KEY(2, 3, KEY_J),
84 KEY(2, 4, KEY_ENTER),
85 KEY(2, 5, KEY_H),
86 KEY(2, 6, KEY_Y),
87 KEY(3, 0, KEY_SPACE),
88 KEY(3, 1, KEY_L),
89 KEY(3, 2, KEY_B),
90 KEY(3, 3, KEY_V),
91 KEY(3, 4, KEY_BACKSPACE),
92 KEY(3, 5, KEY_G),
93 KEY(3, 6, KEY_T),
94 KEY(4, 0, KEY_CAPSLOCK), /* Shift */
95 KEY(4, 1, KEY_C),
96 KEY(4, 2, KEY_F),
97 KEY(4, 3, KEY_R),
98 KEY(4, 4, KEY_O),
99 KEY(4, 5, KEY_E),
100 KEY(4, 6, KEY_D),
101 KEY(5, 0, KEY_X),
102 KEY(5, 1, KEY_Z),
103 KEY(5, 2, KEY_S),
104 KEY(5, 3, KEY_W),
105 KEY(5, 4, KEY_P),
106 KEY(5, 5, KEY_Q),
107 KEY(5, 6, KEY_A),
108 KEY(6, 0, KEY_CONNECT), /* Voice button */
109 KEY(6, 2, KEY_CANCEL), /* End key */
110 KEY(6, 3, KEY_VOLUMEDOWN), /* Volume down */
111 KEY(6, 4, KEY_F1), /* Left bar (landscape) */
112 KEY(6, 5, KEY_WWW), /* OK button (portrait) */
113 KEY(6, 6, KEY_CALENDAR), /* Left bar (portrait) */
114 0
115};
116
117struct omap_kp_platform_data htcherald_kp_data = {
118 .rows = 7,
119 .cols = 7,
120 .delay = 20,
121 .rep = 1,
122 .keymap = htc_herald_keymap,
123};
124
125static struct resource kp_resources[] = {
126 [0] = {
127 .start = INT_7XX_MPUIO_KEYPAD,
128 .end = INT_7XX_MPUIO_KEYPAD,
129 .flags = IORESOURCE_IRQ,
130 },
131};
132
133static struct platform_device kp_device = {
134 .name = "omap-keypad",
135 .id = -1,
136 .dev = {
137 .platform_data = &htcherald_kp_data,
138 },
139 .num_resources = ARRAY_SIZE(kp_resources),
140 .resource = kp_resources,
141};
142
143/* LCD Device resources */
144static struct platform_device lcd_device = {
145 .name = "lcd_htcherald",
146 .id = -1,
147};
148
149static struct platform_device *devices[] __initdata = {
150 &kp_device,
151 &lcd_device,
152};
153
154/*
155 * Init functions from here on
156 */
157
158static void __init htcherald_lcd_init(void)
159{
160 u32 reg;
161 unsigned int tries = 200;
162
163 /* disable controller if active */
164 reg = omap_readl(OMAP_LCDC_CONTROL);
165 if (reg & OMAP_LCDC_CTRL_LCD_EN) {
166 reg &= ~OMAP_LCDC_CTRL_LCD_EN;
167 omap_writel(reg, OMAP_LCDC_CONTROL);
168
169 /* wait for end of frame */
170 while (!(omap_readl(OMAP_LCDC_STATUS) & OMAP_LCDC_STAT_DONE)) {
171 tries--;
172 if (!tries)
173 break;
174 }
175 if (!tries)
176 printk(KERN_WARNING "Timeout waiting for end of frame "
177 "-- LCD may not be available\n");
178
179 /* turn off DMA */
180 reg = omap_readw(OMAP_DMA_LCD_CCR);
181 reg &= ~(1 << 7);
182 omap_writew(reg, OMAP_DMA_LCD_CCR);
183
184 reg = omap_readw(OMAP_DMA_LCD_CTRL);
185 reg &= ~(1 << 8);
186 omap_writew(reg, OMAP_DMA_LCD_CTRL);
187 }
188}
189
190static void __init htcherald_map_io(void)
191{
192 omap1_map_common_io();
193
194 /*
195 * The LCD panel must be disabled and DMA turned off here, as doing
196 * it later causes the LCD never to reinitialize.
197 */
198 htcherald_lcd_init();
199
200 printk(KERN_INFO "htcherald_map_io done.\n");
201}
202
203static void __init htcherald_disable_watchdog(void)
204{
205 /* Disable watchdog if running */
206 if (omap_readl(OMAP_WDT_TIMER_MODE) & 0x8000) {
207 /*
208 * disable a potentially running watchdog timer before
209 * it kills us.
210 */
211 printk(KERN_WARNING "OMAP850 Watchdog seems to be activated, disabling it for now.\n");
212 omap_writel(0xF5, OMAP_WDT_TIMER_MODE);
213 omap_writel(0xA0, OMAP_WDT_TIMER_MODE);
214 }
215}
216
217static void __init htcherald_init(void)
218{
219 printk(KERN_INFO "HTC Herald init.\n");
220
221 omap_gpio_init();
222
223 omap_board_config = htcherald_config;
224 omap_board_config_size = ARRAY_SIZE(htcherald_config);
225 platform_add_devices(devices, ARRAY_SIZE(devices));
226
227 htcherald_disable_watchdog();
228}
229
230static void __init htcherald_init_irq(void)
231{
232 printk(KERN_INFO "htcherald_init_irq.\n");
233 omap1_init_common_hw();
234 omap_init_irq();
235}
236
237MACHINE_START(HERALD, "HTC Herald")
238 /* Maintainer: Cory Maccarrone <darkstar6262@gmail.com> */
239 /* Maintainer: wing-linux.sourceforge.net */
240 .phys_io = 0xfff00000,
241 .io_pg_offst = ((0xfef00000) >> 18) & 0xfffc,
242 .boot_params = 0x10000100,
243 .map_io = htcherald_map_io,
244 .init_irq = htcherald_init_irq,
245 .init_machine = htcherald_init,
246 .timer = &omap_timer,
247MACHINE_END
diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c
index cd6c39514826..cf0fdb9c182f 100644
--- a/arch/arm/mach-omap1/board-innovator.c
+++ b/arch/arm/mach-omap1/board-innovator.c
@@ -30,14 +30,14 @@
30#include <asm/mach/flash.h> 30#include <asm/mach/flash.h>
31#include <asm/mach/map.h> 31#include <asm/mach/map.h>
32 32
33#include <mach/mux.h> 33#include <plat/mux.h>
34#include <mach/fpga.h> 34#include <plat/fpga.h>
35#include <mach/gpio.h> 35#include <mach/gpio.h>
36#include <mach/tc.h> 36#include <plat/tc.h>
37#include <mach/usb.h> 37#include <plat/usb.h>
38#include <mach/keypad.h> 38#include <plat/keypad.h>
39#include <mach/common.h> 39#include <plat/common.h>
40#include <mach/mmc.h> 40#include <plat/mmc.h>
41 41
42/* At OMAP1610 Innovator the Ethernet is directly connected to CS1 */ 42/* At OMAP1610 Innovator the Ethernet is directly connected to CS1 */
43#define INNOVATOR1610_ETHR_START 0x04000300 43#define INNOVATOR1610_ETHR_START 0x04000300
diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c
index ed2a48a9ce74..5a275bab2dfe 100644
--- a/arch/arm/mach-omap1/board-nokia770.c
+++ b/arch/arm/mach-omap1/board-nokia770.c
@@ -26,17 +26,17 @@
26#include <asm/mach/map.h> 26#include <asm/mach/map.h>
27 27
28#include <mach/gpio.h> 28#include <mach/gpio.h>
29#include <mach/mux.h> 29#include <plat/mux.h>
30#include <mach/usb.h> 30#include <plat/usb.h>
31#include <mach/board.h> 31#include <plat/board.h>
32#include <mach/keypad.h> 32#include <plat/keypad.h>
33#include <mach/common.h> 33#include <plat/common.h>
34#include <mach/dsp_common.h> 34#include <plat/dsp_common.h>
35#include <mach/omapfb.h> 35#include <plat/omapfb.h>
36#include <mach/hwa742.h> 36#include <plat/hwa742.h>
37#include <mach/lcd_mipid.h> 37#include <plat/lcd_mipid.h>
38#include <mach/mmc.h> 38#include <plat/mmc.h>
39#include <mach/clock.h> 39#include <plat/clock.h>
40 40
41#define ADS7846_PENDOWN_GPIO 15 41#define ADS7846_PENDOWN_GPIO 15
42 42
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c
index ed891b8a6b15..50c92c13e48a 100644
--- a/arch/arm/mach-omap1/board-osk.c
+++ b/arch/arm/mach-omap1/board-osk.c
@@ -47,10 +47,10 @@
47#include <asm/mach/map.h> 47#include <asm/mach/map.h>
48#include <asm/mach/flash.h> 48#include <asm/mach/flash.h>
49 49
50#include <mach/usb.h> 50#include <plat/usb.h>
51#include <mach/mux.h> 51#include <plat/mux.h>
52#include <mach/tc.h> 52#include <plat/tc.h>
53#include <mach/common.h> 53#include <plat/common.h>
54 54
55/* At OMAP5912 OSK the Ethernet is directly connected to CS1 */ 55/* At OMAP5912 OSK the Ethernet is directly connected to CS1 */
56#define OMAP_OSK_ETHR_START 0x04800300 56#define OMAP_OSK_ETHR_START 0x04800300
@@ -312,7 +312,7 @@ static struct omap_board_config_kernel osk_config[] __initdata = {
312#include <linux/spi/spi.h> 312#include <linux/spi/spi.h>
313#include <linux/spi/ads7846.h> 313#include <linux/spi/ads7846.h>
314 314
315#include <mach/keypad.h> 315#include <plat/keypad.h>
316 316
317static struct at24_platform_data at24c04 = { 317static struct at24_platform_data at24c04 = {
318 .byte_len = SZ_4K / 8, 318 .byte_len = SZ_4K / 8,
diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c
index 4de258420f39..9fe887262bdf 100644
--- a/arch/arm/mach-omap1/board-palmte.c
+++ b/arch/arm/mach-omap1/board-palmte.c
@@ -34,14 +34,14 @@
34#include <asm/mach/flash.h> 34#include <asm/mach/flash.h>
35 35
36#include <mach/gpio.h> 36#include <mach/gpio.h>
37#include <mach/mux.h> 37#include <plat/mux.h>
38#include <mach/usb.h> 38#include <plat/usb.h>
39#include <mach/tc.h> 39#include <plat/tc.h>
40#include <mach/dma.h> 40#include <plat/dma.h>
41#include <mach/board.h> 41#include <plat/board.h>
42#include <mach/irda.h> 42#include <plat/irda.h>
43#include <mach/keypad.h> 43#include <plat/keypad.h>
44#include <mach/common.h> 44#include <plat/common.h>
45 45
46#define PALMTE_USBDETECT_GPIO 0 46#define PALMTE_USBDETECT_GPIO 0
47#define PALMTE_USB_OR_DC_GPIO 1 47#define PALMTE_USB_OR_DC_GPIO 1
diff --git a/arch/arm/mach-omap1/board-palmtt.c b/arch/arm/mach-omap1/board-palmtt.c
index d972cf941b76..af068e3e0fe7 100644
--- a/arch/arm/mach-omap1/board-palmtt.c
+++ b/arch/arm/mach-omap1/board-palmtt.c
@@ -29,16 +29,16 @@
29#include <asm/mach/map.h> 29#include <asm/mach/map.h>
30#include <asm/mach/flash.h> 30#include <asm/mach/flash.h>
31 31
32#include <mach/led.h> 32#include <plat/led.h>
33#include <mach/gpio.h> 33#include <mach/gpio.h>
34#include <mach/mux.h> 34#include <plat/mux.h>
35#include <mach/usb.h> 35#include <plat/usb.h>
36#include <mach/dma.h> 36#include <plat/dma.h>
37#include <mach/tc.h> 37#include <plat/tc.h>
38#include <mach/board.h> 38#include <plat/board.h>
39#include <mach/irda.h> 39#include <plat/irda.h>
40#include <mach/keypad.h> 40#include <plat/keypad.h>
41#include <mach/common.h> 41#include <plat/common.h>
42 42
43#include <linux/spi/spi.h> 43#include <linux/spi/spi.h>
44#include <linux/spi/ads7846.h> 44#include <linux/spi/ads7846.h>
diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c
index 986bd4df0e97..c7a3b6f36500 100644
--- a/arch/arm/mach-omap1/board-palmz71.c
+++ b/arch/arm/mach-omap1/board-palmz71.c
@@ -33,15 +33,15 @@
33#include <asm/mach/flash.h> 33#include <asm/mach/flash.h>
34 34
35#include <mach/gpio.h> 35#include <mach/gpio.h>
36#include <mach/mux.h> 36#include <plat/mux.h>
37#include <mach/usb.h> 37#include <plat/usb.h>
38#include <mach/dma.h> 38#include <plat/dma.h>
39#include <mach/tc.h> 39#include <plat/tc.h>
40#include <mach/board.h> 40#include <plat/board.h>
41#include <mach/irda.h> 41#include <plat/irda.h>
42#include <mach/keypad.h> 42#include <plat/keypad.h>
43#include <mach/common.h> 43#include <plat/common.h>
44#include <mach/omap-alsa.h> 44#include <plat/omap-alsa.h>
45 45
46#include <linux/spi/spi.h> 46#include <linux/spi/spi.h>
47#include <linux/spi/ads7846.h> 47#include <linux/spi/ads7846.h>
diff --git a/arch/arm/mach-omap1/board-perseus2.c b/arch/arm/mach-omap1/board-perseus2.c
index 83406699f310..ca7df1e93efc 100644
--- a/arch/arm/mach-omap1/board-perseus2.c
+++ b/arch/arm/mach-omap1/board-perseus2.c
@@ -26,14 +26,14 @@
26#include <asm/mach/flash.h> 26#include <asm/mach/flash.h>
27#include <asm/mach/map.h> 27#include <asm/mach/map.h>
28 28
29#include <mach/tc.h> 29#include <plat/tc.h>
30#include <mach/gpio.h> 30#include <mach/gpio.h>
31#include <mach/mux.h> 31#include <plat/mux.h>
32#include <mach/fpga.h> 32#include <plat/fpga.h>
33#include <mach/nand.h> 33#include <plat/nand.h>
34#include <mach/keypad.h> 34#include <plat/keypad.h>
35#include <mach/common.h> 35#include <plat/common.h>
36#include <mach/board.h> 36#include <plat/board.h>
37 37
38static int p2_keymap[] = { 38static int p2_keymap[] = {
39 KEY(0,0,KEY_UP), 39 KEY(0,0,KEY_UP),
@@ -74,7 +74,7 @@ static struct resource smc91x_resources[] = {
74 .flags = IORESOURCE_MEM, 74 .flags = IORESOURCE_MEM,
75 }, 75 },
76 [1] = { 76 [1] = {
77 .start = INT_730_MPU_EXT_NIRQ, 77 .start = INT_7XX_MPU_EXT_NIRQ,
78 .end = 0, 78 .end = 0,
79 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, 79 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
80 }, 80 },
@@ -163,8 +163,8 @@ static struct platform_device smc91x_device = {
163 163
164static struct resource kp_resources[] = { 164static struct resource kp_resources[] = {
165 [0] = { 165 [0] = {
166 .start = INT_730_MPUIO_KEYPAD, 166 .start = INT_7XX_MPUIO_KEYPAD,
167 .end = INT_730_MPUIO_KEYPAD, 167 .end = INT_7XX_MPUIO_KEYPAD,
168 .flags = IORESOURCE_IRQ, 168 .flags = IORESOURCE_IRQ,
169 }, 169 },
170}; 170};
@@ -270,7 +270,7 @@ static void __init omap_perseus2_map_io(void)
270 /* 270 /*
271 * Hold GSM Reset until needed 271 * Hold GSM Reset until needed
272 */ 272 */
273 omap_writew(omap_readw(OMAP730_DSP_M_CTL) & ~1, OMAP730_DSP_M_CTL); 273 omap_writew(omap_readw(OMAP7XX_DSP_M_CTL) & ~1, OMAP7XX_DSP_M_CTL);
274 274
275 /* 275 /*
276 * UARTs -> done automagically by 8250 driver 276 * UARTs -> done automagically by 8250 driver
@@ -281,21 +281,21 @@ static void __init omap_perseus2_map_io(void)
281 */ 281 */
282 282
283 /* Flash: CS0 timings setup */ 283 /* Flash: CS0 timings setup */
284 omap_writel(0x0000fff3, OMAP730_FLASH_CFG_0); 284 omap_writel(0x0000fff3, OMAP7XX_FLASH_CFG_0);
285 omap_writel(0x00000088, OMAP730_FLASH_ACFG_0); 285 omap_writel(0x00000088, OMAP7XX_FLASH_ACFG_0);
286 286
287 /* 287 /*
288 * Ethernet support through the debug board 288 * Ethernet support through the debug board
289 * CS1 timings setup 289 * CS1 timings setup
290 */ 290 */
291 omap_writel(0x0000fff3, OMAP730_FLASH_CFG_1); 291 omap_writel(0x0000fff3, OMAP7XX_FLASH_CFG_1);
292 omap_writel(0x00000000, OMAP730_FLASH_ACFG_1); 292 omap_writel(0x00000000, OMAP7XX_FLASH_ACFG_1);
293 293
294 /* 294 /*
295 * Configure MPU_EXT_NIRQ IO in IO_CONF9 register, 295 * Configure MPU_EXT_NIRQ IO in IO_CONF9 register,
296 * It is used as the Ethernet controller interrupt 296 * It is used as the Ethernet controller interrupt
297 */ 297 */
298 omap_writel(omap_readl(OMAP730_IO_CONF_9) & 0x1FFFFFFF, OMAP730_IO_CONF_9); 298 omap_writel(omap_readl(OMAP7XX_IO_CONF_9) & 0x1FFFFFFF, OMAP7XX_IO_CONF_9);
299} 299}
300 300
301MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2") 301MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")
diff --git a/arch/arm/mach-omap1/board-sx1-mmc.c b/arch/arm/mach-omap1/board-sx1-mmc.c
index 58a46e4e45c3..5b33ae8141bc 100644
--- a/arch/arm/mach-omap1/board-sx1-mmc.c
+++ b/arch/arm/mach-omap1/board-sx1-mmc.c
@@ -15,9 +15,9 @@
15#include <linux/platform_device.h> 15#include <linux/platform_device.h>
16 16
17#include <mach/hardware.h> 17#include <mach/hardware.h>
18#include <mach/mmc.h> 18#include <plat/mmc.h>
19#include <mach/gpio.h> 19#include <mach/gpio.h>
20#include <mach/board-sx1.h> 20#include <plat/board-sx1.h>
21 21
22#if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) 22#if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE)
23 23
diff --git a/arch/arm/mach-omap1/board-sx1.c b/arch/arm/mach-omap1/board-sx1.c
index 056ae64e0f55..7a97fac83d8d 100644
--- a/arch/arm/mach-omap1/board-sx1.c
+++ b/arch/arm/mach-omap1/board-sx1.c
@@ -33,15 +33,15 @@
33#include <asm/mach/map.h> 33#include <asm/mach/map.h>
34 34
35#include <mach/gpio.h> 35#include <mach/gpio.h>
36#include <mach/mux.h> 36#include <plat/mux.h>
37#include <mach/dma.h> 37#include <plat/dma.h>
38#include <mach/irda.h> 38#include <plat/irda.h>
39#include <mach/usb.h> 39#include <plat/usb.h>
40#include <mach/tc.h> 40#include <plat/tc.h>
41#include <mach/board.h> 41#include <plat/board.h>
42#include <mach/common.h> 42#include <plat/common.h>
43#include <mach/keypad.h> 43#include <plat/keypad.h>
44#include <mach/board-sx1.h> 44#include <plat/board-sx1.h>
45 45
46/* Write to I2C device */ 46/* Write to I2C device */
47int sx1_i2c_write_byte(u8 devaddr, u8 regoffset, u8 value) 47int sx1_i2c_write_byte(u8 devaddr, u8 regoffset, u8 value)
diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c
index 07b07522d5bf..35c75c1bd0aa 100644
--- a/arch/arm/mach-omap1/board-voiceblue.c
+++ b/arch/arm/mach-omap1/board-voiceblue.c
@@ -29,11 +29,11 @@
29#include <asm/mach/flash.h> 29#include <asm/mach/flash.h>
30#include <asm/mach/map.h> 30#include <asm/mach/map.h>
31 31
32#include <mach/common.h> 32#include <plat/common.h>
33#include <mach/gpio.h> 33#include <mach/gpio.h>
34#include <mach/mux.h> 34#include <plat/mux.h>
35#include <mach/tc.h> 35#include <plat/tc.h>
36#include <mach/usb.h> 36#include <plat/usb.h>
37 37
38static struct plat_serial8250_port voiceblue_ports[] = { 38static struct plat_serial8250_port voiceblue_ports[] = {
39 { 39 {
diff --git a/arch/arm/mach-omap1/clock.c b/arch/arm/mach-omap1/clock.c
index 436eed22801b..42cbe203da36 100644
--- a/arch/arm/mach-omap1/clock.c
+++ b/arch/arm/mach-omap1/clock.c
@@ -22,10 +22,10 @@
22#include <asm/mach-types.h> 22#include <asm/mach-types.h>
23#include <asm/clkdev.h> 23#include <asm/clkdev.h>
24 24
25#include <mach/cpu.h> 25#include <plat/cpu.h>
26#include <mach/usb.h> 26#include <plat/usb.h>
27#include <mach/clock.h> 27#include <plat/clock.h>
28#include <mach/sram.h> 28#include <plat/sram.h>
29 29
30static const struct clkops clkops_generic; 30static const struct clkops clkops_generic;
31static const struct clkops clkops_uart; 31static const struct clkops clkops_uart;
@@ -69,13 +69,13 @@ struct omap_clk {
69 } 69 }
70 70
71#define CK_310 (1 << 0) 71#define CK_310 (1 << 0)
72#define CK_730 (1 << 1) 72#define CK_7XX (1 << 1)
73#define CK_1510 (1 << 2) 73#define CK_1510 (1 << 2)
74#define CK_16XX (1 << 3) 74#define CK_16XX (1 << 3)
75 75
76static struct omap_clk omap_clks[] = { 76static struct omap_clk omap_clks[] = {
77 /* non-ULPD clocks */ 77 /* non-ULPD clocks */
78 CLK(NULL, "ck_ref", &ck_ref, CK_16XX | CK_1510 | CK_310), 78 CLK(NULL, "ck_ref", &ck_ref, CK_16XX | CK_1510 | CK_310 | CK_7XX),
79 CLK(NULL, "ck_dpll1", &ck_dpll1, CK_16XX | CK_1510 | CK_310), 79 CLK(NULL, "ck_dpll1", &ck_dpll1, CK_16XX | CK_1510 | CK_310),
80 /* CK_GEN1 clocks */ 80 /* CK_GEN1 clocks */
81 CLK(NULL, "ck_dpll1out", &ck_dpll1out.clk, CK_16XX), 81 CLK(NULL, "ck_dpll1out", &ck_dpll1out.clk, CK_16XX),
@@ -83,7 +83,7 @@ static struct omap_clk omap_clks[] = {
83 CLK(NULL, "arm_ck", &arm_ck, CK_16XX | CK_1510 | CK_310), 83 CLK(NULL, "arm_ck", &arm_ck, CK_16XX | CK_1510 | CK_310),
84 CLK(NULL, "armper_ck", &armper_ck.clk, CK_16XX | CK_1510 | CK_310), 84 CLK(NULL, "armper_ck", &armper_ck.clk, CK_16XX | CK_1510 | CK_310),
85 CLK(NULL, "arm_gpio_ck", &arm_gpio_ck, CK_1510 | CK_310), 85 CLK(NULL, "arm_gpio_ck", &arm_gpio_ck, CK_1510 | CK_310),
86 CLK(NULL, "armxor_ck", &armxor_ck.clk, CK_16XX | CK_1510 | CK_310), 86 CLK(NULL, "armxor_ck", &armxor_ck.clk, CK_16XX | CK_1510 | CK_310 | CK_7XX),
87 CLK(NULL, "armtim_ck", &armtim_ck.clk, CK_16XX | CK_1510 | CK_310), 87 CLK(NULL, "armtim_ck", &armtim_ck.clk, CK_16XX | CK_1510 | CK_310),
88 CLK("omap_wdt", "fck", &armwdt_ck.clk, CK_16XX | CK_1510 | CK_310), 88 CLK("omap_wdt", "fck", &armwdt_ck.clk, CK_16XX | CK_1510 | CK_310),
89 CLK("omap_wdt", "ick", &armper_ck.clk, CK_16XX), 89 CLK("omap_wdt", "ick", &armper_ck.clk, CK_16XX),
@@ -97,9 +97,9 @@ static struct omap_clk omap_clks[] = {
97 CLK(NULL, "dspxor_ck", &dspxor_ck, CK_16XX | CK_1510 | CK_310), 97 CLK(NULL, "dspxor_ck", &dspxor_ck, CK_16XX | CK_1510 | CK_310),
98 CLK(NULL, "dsptim_ck", &dsptim_ck, CK_16XX | CK_1510 | CK_310), 98 CLK(NULL, "dsptim_ck", &dsptim_ck, CK_16XX | CK_1510 | CK_310),
99 /* CK_GEN3 clocks */ 99 /* CK_GEN3 clocks */
100 CLK(NULL, "tc_ck", &tc_ck.clk, CK_16XX | CK_1510 | CK_310 | CK_730), 100 CLK(NULL, "tc_ck", &tc_ck.clk, CK_16XX | CK_1510 | CK_310 | CK_7XX),
101 CLK(NULL, "tipb_ck", &tipb_ck, CK_1510 | CK_310), 101 CLK(NULL, "tipb_ck", &tipb_ck, CK_1510 | CK_310),
102 CLK(NULL, "l3_ocpi_ck", &l3_ocpi_ck, CK_16XX), 102 CLK(NULL, "l3_ocpi_ck", &l3_ocpi_ck, CK_16XX | CK_7XX),
103 CLK(NULL, "tc1_ck", &tc1_ck, CK_16XX), 103 CLK(NULL, "tc1_ck", &tc1_ck, CK_16XX),
104 CLK(NULL, "tc2_ck", &tc2_ck, CK_16XX), 104 CLK(NULL, "tc2_ck", &tc2_ck, CK_16XX),
105 CLK(NULL, "dma_ck", &dma_ck, CK_16XX | CK_1510 | CK_310), 105 CLK(NULL, "dma_ck", &dma_ck, CK_16XX | CK_1510 | CK_310),
@@ -108,7 +108,7 @@ static struct omap_clk omap_clks[] = {
108 CLK(NULL, "lb_ck", &lb_ck.clk, CK_1510 | CK_310), 108 CLK(NULL, "lb_ck", &lb_ck.clk, CK_1510 | CK_310),
109 CLK(NULL, "rhea1_ck", &rhea1_ck, CK_16XX), 109 CLK(NULL, "rhea1_ck", &rhea1_ck, CK_16XX),
110 CLK(NULL, "rhea2_ck", &rhea2_ck, CK_16XX), 110 CLK(NULL, "rhea2_ck", &rhea2_ck, CK_16XX),
111 CLK(NULL, "lcd_ck", &lcd_ck_16xx, CK_16XX | CK_730), 111 CLK(NULL, "lcd_ck", &lcd_ck_16xx, CK_16XX | CK_7XX),
112 CLK(NULL, "lcd_ck", &lcd_ck_1510.clk, CK_1510 | CK_310), 112 CLK(NULL, "lcd_ck", &lcd_ck_1510.clk, CK_1510 | CK_310),
113 /* ULPD clocks */ 113 /* ULPD clocks */
114 CLK(NULL, "uart1_ck", &uart1_1510, CK_1510 | CK_310), 114 CLK(NULL, "uart1_ck", &uart1_1510, CK_1510 | CK_310),
@@ -120,12 +120,14 @@ static struct omap_clk omap_clks[] = {
120 CLK(NULL, "usb_hhc_ck", &usb_hhc_ck1510, CK_1510 | CK_310), 120 CLK(NULL, "usb_hhc_ck", &usb_hhc_ck1510, CK_1510 | CK_310),
121 CLK(NULL, "usb_hhc_ck", &usb_hhc_ck16xx, CK_16XX), 121 CLK(NULL, "usb_hhc_ck", &usb_hhc_ck16xx, CK_16XX),
122 CLK(NULL, "usb_dc_ck", &usb_dc_ck, CK_16XX), 122 CLK(NULL, "usb_dc_ck", &usb_dc_ck, CK_16XX),
123 CLK(NULL, "usb_dc_ck", &usb_dc_ck7xx, CK_7XX),
123 CLK(NULL, "mclk", &mclk_1510, CK_1510 | CK_310), 124 CLK(NULL, "mclk", &mclk_1510, CK_1510 | CK_310),
124 CLK(NULL, "mclk", &mclk_16xx, CK_16XX), 125 CLK(NULL, "mclk", &mclk_16xx, CK_16XX),
125 CLK(NULL, "bclk", &bclk_1510, CK_1510 | CK_310), 126 CLK(NULL, "bclk", &bclk_1510, CK_1510 | CK_310),
126 CLK(NULL, "bclk", &bclk_16xx, CK_16XX), 127 CLK(NULL, "bclk", &bclk_16xx, CK_16XX),
127 CLK("mmci-omap.0", "fck", &mmc1_ck, CK_16XX | CK_1510 | CK_310), 128 CLK("mmci-omap.0", "fck", &mmc1_ck, CK_16XX | CK_1510 | CK_310),
128 CLK("mmci-omap.0", "ick", &armper_ck.clk, CK_16XX | CK_1510 | CK_310), 129 CLK("mmci-omap.0", "fck", &mmc3_ck, CK_7XX),
130 CLK("mmci-omap.0", "ick", &armper_ck.clk, CK_16XX | CK_1510 | CK_310 | CK_7XX),
129 CLK("mmci-omap.1", "fck", &mmc2_ck, CK_16XX), 131 CLK("mmci-omap.1", "fck", &mmc2_ck, CK_16XX),
130 CLK("mmci-omap.1", "ick", &armper_ck.clk, CK_16XX), 132 CLK("mmci-omap.1", "ick", &armper_ck.clk, CK_16XX),
131 /* Virtual clocks */ 133 /* Virtual clocks */
@@ -398,7 +400,7 @@ static int omap1_select_table_rate(struct clk * clk, unsigned long rate)
398 * Reprogramming the DPLL is tricky, it must be done from SRAM. 400 * Reprogramming the DPLL is tricky, it must be done from SRAM.
399 * (on 730, bit 13 must always be 1) 401 * (on 730, bit 13 must always be 1)
400 */ 402 */
401 if (cpu_is_omap730()) 403 if (cpu_is_omap7xx())
402 omap_sram_reprogram_clock(ptr->dpllctl_val, ptr->ckctl_val | 0x2000); 404 omap_sram_reprogram_clock(ptr->dpllctl_val, ptr->ckctl_val | 0x2000);
403 else 405 else
404 omap_sram_reprogram_clock(ptr->dpllctl_val, ptr->ckctl_val); 406 omap_sram_reprogram_clock(ptr->dpllctl_val, ptr->ckctl_val);
@@ -783,8 +785,8 @@ int __init omap1_clk_init(void)
783 cpu_mask |= CK_16XX; 785 cpu_mask |= CK_16XX;
784 if (cpu_is_omap1510()) 786 if (cpu_is_omap1510())
785 cpu_mask |= CK_1510; 787 cpu_mask |= CK_1510;
786 if (cpu_is_omap730()) 788 if (cpu_is_omap7xx())
787 cpu_mask |= CK_730; 789 cpu_mask |= CK_7XX;
788 if (cpu_is_omap310()) 790 if (cpu_is_omap310())
789 cpu_mask |= CK_310; 791 cpu_mask |= CK_310;
790 792
@@ -800,7 +802,7 @@ int __init omap1_clk_init(void)
800 crystal_type = info->system_clock_type; 802 crystal_type = info->system_clock_type;
801 } 803 }
802 804
803#if defined(CONFIG_ARCH_OMAP730) 805#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
804 ck_ref.rate = 13000000; 806 ck_ref.rate = 13000000;
805#elif defined(CONFIG_ARCH_OMAP16XX) 807#elif defined(CONFIG_ARCH_OMAP16XX)
806 if (crystal_type == 2) 808 if (crystal_type == 2)
@@ -847,7 +849,7 @@ int __init omap1_clk_init(void)
847 printk(KERN_ERR "System frequencies not set. Check your config.\n"); 849 printk(KERN_ERR "System frequencies not set. Check your config.\n");
848 /* Guess sane values (60MHz) */ 850 /* Guess sane values (60MHz) */
849 omap_writew(0x2290, DPLL_CTL); 851 omap_writew(0x2290, DPLL_CTL);
850 omap_writew(cpu_is_omap730() ? 0x3005 : 0x1005, ARM_CKCTL); 852 omap_writew(cpu_is_omap7xx() ? 0x3005 : 0x1005, ARM_CKCTL);
851 ck_dpll1.rate = 60000000; 853 ck_dpll1.rate = 60000000;
852 } 854 }
853#endif 855#endif
@@ -862,7 +864,7 @@ int __init omap1_clk_init(void)
862 864
863#if defined(CONFIG_MACH_OMAP_PERSEUS2) || defined(CONFIG_MACH_OMAP_FSAMPLE) 865#if defined(CONFIG_MACH_OMAP_PERSEUS2) || defined(CONFIG_MACH_OMAP_FSAMPLE)
864 /* Select slicer output as OMAP input clock */ 866 /* Select slicer output as OMAP input clock */
865 omap_writew(omap_readw(OMAP730_PCC_UPLD_CTRL) & ~0x1, OMAP730_PCC_UPLD_CTRL); 867 omap_writew(omap_readw(OMAP7XX_PCC_UPLD_CTRL) & ~0x1, OMAP7XX_PCC_UPLD_CTRL);
866#endif 868#endif
867 869
868 /* Amstrad Delta wants BCLK high when inactive */ 870 /* Amstrad Delta wants BCLK high when inactive */
@@ -873,7 +875,7 @@ int __init omap1_clk_init(void)
873 875
874 /* Turn off DSP and ARM_TIMXO. Make sure ARM_INTHCK is not divided */ 876 /* Turn off DSP and ARM_TIMXO. Make sure ARM_INTHCK is not divided */
875 /* (on 730, bit 13 must not be cleared) */ 877 /* (on 730, bit 13 must not be cleared) */
876 if (cpu_is_omap730()) 878 if (cpu_is_omap7xx())
877 omap_writew(omap_readw(ARM_CKCTL) & 0x2fff, ARM_CKCTL); 879 omap_writew(omap_readw(ARM_CKCTL) & 0x2fff, ARM_CKCTL);
878 else 880 else
879 omap_writew(omap_readw(ARM_CKCTL) & 0x0fff, ARM_CKCTL); 881 omap_writew(omap_readw(ARM_CKCTL) & 0x0fff, ARM_CKCTL);
diff --git a/arch/arm/mach-omap1/clock.h b/arch/arm/mach-omap1/clock.h
index 17f874271255..29ffa97dc7f3 100644
--- a/arch/arm/mach-omap1/clock.h
+++ b/arch/arm/mach-omap1/clock.h
@@ -574,6 +574,16 @@ static struct clk usb_dc_ck = {
574 .enable_bit = 4, 574 .enable_bit = 4,
575}; 575};
576 576
577static struct clk usb_dc_ck7xx = {
578 .name = "usb_dc_ck",
579 .ops = &clkops_generic,
580 /* Direct from ULPD, no parent */
581 .rate = 48000000,
582 .flags = RATE_FIXED,
583 .enable_reg = OMAP1_IO_ADDRESS(SOFT_REQ_REG),
584 .enable_bit = 8,
585};
586
577static struct clk mclk_1510 = { 587static struct clk mclk_1510 = {
578 .name = "mclk", 588 .name = "mclk",
579 .ops = &clkops_generic, 589 .ops = &clkops_generic,
@@ -637,6 +647,18 @@ static struct clk mmc2_ck = {
637 .enable_bit = 20, 647 .enable_bit = 20,
638}; 648};
639 649
650static struct clk mmc3_ck = {
651 .name = "mmc_ck",
652 .id = 2,
653 .ops = &clkops_generic,
654 /* Functional clock is direct from ULPD, interface clock is ARMPER */
655 .parent = &armper_ck.clk,
656 .rate = 48000000,
657 .flags = RATE_FIXED | ENABLE_REG_32BIT | CLOCK_NO_IDLE_PARENT,
658 .enable_reg = OMAP1_IO_ADDRESS(SOFT_REQ_REG),
659 .enable_bit = 12,
660};
661
640static struct clk virtual_ck_mpu = { 662static struct clk virtual_ck_mpu = {
641 .name = "mpu", 663 .name = "mpu",
642 .ops = &clkops_null, 664 .ops = &clkops_null,
diff --git a/arch/arm/mach-omap1/devices.c b/arch/arm/mach-omap1/devices.c
index 06808434ea04..23ded2d49600 100644
--- a/arch/arm/mach-omap1/devices.c
+++ b/arch/arm/mach-omap1/devices.c
@@ -18,11 +18,11 @@
18#include <mach/hardware.h> 18#include <mach/hardware.h>
19#include <asm/mach/map.h> 19#include <asm/mach/map.h>
20 20
21#include <mach/tc.h> 21#include <plat/tc.h>
22#include <mach/board.h> 22#include <plat/board.h>
23#include <mach/mux.h> 23#include <plat/mux.h>
24#include <mach/gpio.h> 24#include <mach/gpio.h>
25#include <mach/mmc.h> 25#include <plat/mmc.h>
26 26
27/*-------------------------------------------------------------------------*/ 27/*-------------------------------------------------------------------------*/
28 28
@@ -108,15 +108,22 @@ static inline void omap1_mmc_mux(struct omap_mmc_platform_data *mmc_controller,
108 int controller_nr) 108 int controller_nr)
109{ 109{
110 if (controller_nr == 0) { 110 if (controller_nr == 0) {
111 omap_cfg_reg(MMC_CMD); 111 if (cpu_is_omap7xx()) {
112 omap_cfg_reg(MMC_CLK); 112 omap_cfg_reg(MMC_7XX_CMD);
113 omap_cfg_reg(MMC_DAT0); 113 omap_cfg_reg(MMC_7XX_CLK);
114 omap_cfg_reg(MMC_7XX_DAT0);
115 } else {
116 omap_cfg_reg(MMC_CMD);
117 omap_cfg_reg(MMC_CLK);
118 omap_cfg_reg(MMC_DAT0);
119 }
120
114 if (cpu_is_omap1710()) { 121 if (cpu_is_omap1710()) {
115 omap_cfg_reg(M15_1710_MMC_CLKI); 122 omap_cfg_reg(M15_1710_MMC_CLKI);
116 omap_cfg_reg(P19_1710_MMC_CMDDIR); 123 omap_cfg_reg(P19_1710_MMC_CMDDIR);
117 omap_cfg_reg(P20_1710_MMC_DATDIR0); 124 omap_cfg_reg(P20_1710_MMC_DATDIR0);
118 } 125 }
119 if (mmc_controller->slots[0].wires == 4) { 126 if (mmc_controller->slots[0].wires == 4 && !cpu_is_omap7xx()) {
120 omap_cfg_reg(MMC_DAT1); 127 omap_cfg_reg(MMC_DAT1);
121 /* NOTE: DAT2 can be on W10 (here) or M15 */ 128 /* NOTE: DAT2 can be on W10 (here) or M15 */
122 if (!mmc_controller->slots[0].nomux) 129 if (!mmc_controller->slots[0].nomux)
diff --git a/arch/arm/mach-omap1/fpga.c b/arch/arm/mach-omap1/fpga.c
index 4f2b8a7adb19..5cfce1636da0 100644
--- a/arch/arm/mach-omap1/fpga.c
+++ b/arch/arm/mach-omap1/fpga.c
@@ -27,7 +27,7 @@
27#include <asm/irq.h> 27#include <asm/irq.h>
28#include <asm/mach/irq.h> 28#include <asm/mach/irq.h>
29 29
30#include <mach/fpga.h> 30#include <plat/fpga.h>
31#include <mach/gpio.h> 31#include <mach/gpio.h>
32 32
33static void fpga_mask_irq(unsigned int irq) 33static void fpga_mask_irq(unsigned int irq)
diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c
index e5dcdf764c91..a0e3560b39db 100644
--- a/arch/arm/mach-omap1/id.c
+++ b/arch/arm/mach-omap1/id.c
@@ -15,7 +15,7 @@
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/io.h> 17#include <linux/io.h>
18#include <mach/cpu.h> 18#include <plat/cpu.h>
19 19
20#define OMAP_DIE_ID_0 0xfffe1800 20#define OMAP_DIE_ID_0 0xfffe1800
21#define OMAP_DIE_ID_1 0xfffe1804 21#define OMAP_DIE_ID_1 0xfffe1804
diff --git a/arch/arm/mach-omap1/include/mach/clkdev.h b/arch/arm/mach-omap1/include/mach/clkdev.h
new file mode 100644
index 000000000000..ea8640e4603e
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/clkdev.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap1/include/mach/clkdev.h
3 */
4
5#include <plat/clkdev.h>
diff --git a/arch/arm/mach-omap1/include/mach/debug-macro.S b/arch/arm/mach-omap1/include/mach/debug-macro.S
new file mode 100644
index 000000000000..aedb746fc33c
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/debug-macro.S
@@ -0,0 +1,45 @@
1/* arch/arm/mach-omap1/include/mach/debug-macro.S
2 *
3 * Debugging macro include header
4 *
5 * Copyright (C) 1994-1999 Russell King
6 * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12*/
13
14 .macro addruart,rx
15 mrc p15, 0, \rx, c1, c0
16 tst \rx, #1 @ MMU enabled?
17 moveq \rx, #0xff000000 @ physical base address
18 movne \rx, #0xfe000000 @ virtual base
19 orr \rx, \rx, #0x00fb0000
20#ifdef CONFIG_OMAP_LL_DEBUG_UART3
21 orr \rx, \rx, #0x00009000 @ UART 3
22#endif
23#if defined(CONFIG_OMAP_LL_DEBUG_UART2) || defined(CONFIG_OMAP_LL_DEBUG_UART3)
24 orr \rx, \rx, #0x00000800 @ UART 2 & 3
25#endif
26 .endm
27
28 .macro senduart,rd,rx
29 strb \rd, [\rx]
30 .endm
31
32 .macro busyuart,rd,rx
331001: ldrb \rd, [\rx, #(0x5 << 2)] @ OMAP-1510 and friends
34 and \rd, \rd, #0x60
35 teq \rd, #0x60
36 beq 1002f
37 ldrb \rd, [\rx, #(0x5 << 0)] @ OMAP-730 only
38 and \rd, \rd, #0x60
39 teq \rd, #0x60
40 bne 1001b
411002:
42 .endm
43
44 .macro waituart,rd,rx
45 .endm
diff --git a/arch/arm/mach-omap1/include/mach/entry-macro.S b/arch/arm/mach-omap1/include/mach/entry-macro.S
new file mode 100644
index 000000000000..df9060edda28
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/entry-macro.S
@@ -0,0 +1,58 @@
1/*
2 * arch/arm/mach-omap1/include/mach/entry-macro.S
3 *
4 * Low-level IRQ helper macros for OMAP-based platforms
5 *
6 * Copyright (C) 2009 Texas Instruments
7 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2. This program is licensed "as is" without any
10 * warranty of any kind, whether express or implied.
11 */
12#include <mach/hardware.h>
13#include <mach/io.h>
14#include <mach/irqs.h>
15#include <asm/hardware/gic.h>
16
17#if (defined(CONFIG_ARCH_OMAP730)||defined(CONFIG_ARCH_OMAP850)) && \
18 (defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX))
19#error "FIXME: OMAP7XX doesn't support multiple-OMAP"
20#elif defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
21#define INT_IH2_IRQ INT_7XX_IH2_IRQ
22#elif defined(CONFIG_ARCH_OMAP15XX)
23#define INT_IH2_IRQ INT_1510_IH2_IRQ
24#elif defined(CONFIG_ARCH_OMAP16XX)
25#define INT_IH2_IRQ INT_1610_IH2_IRQ
26#else
27#warning "IH2 IRQ defaulted"
28#define INT_IH2_IRQ INT_1510_IH2_IRQ
29#endif
30
31 .macro disable_fiq
32 .endm
33
34 .macro get_irqnr_preamble, base, tmp
35 .endm
36
37 .macro arch_ret_to_user, tmp1, tmp2
38 .endm
39
40 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
41 ldr \base, =OMAP1_IO_ADDRESS(OMAP_IH1_BASE)
42 ldr \irqnr, [\base, #IRQ_ITR_REG_OFFSET]
43 ldr \tmp, [\base, #IRQ_MIR_REG_OFFSET]
44 mov \irqstat, #0xffffffff
45 bic \tmp, \irqstat, \tmp
46 tst \irqnr, \tmp
47 beq 1510f
48
49 ldr \irqnr, [\base, #IRQ_SIR_FIQ_REG_OFFSET]
50 cmp \irqnr, #0
51 ldreq \irqnr, [\base, #IRQ_SIR_IRQ_REG_OFFSET]
52 cmpeq \irqnr, #INT_IH2_IRQ
53 ldreq \base, =OMAP1_IO_ADDRESS(OMAP_IH2_BASE)
54 ldreq \irqnr, [\base, #IRQ_SIR_IRQ_REG_OFFSET]
55 addeqs \irqnr, \irqnr, #32
561510:
57 .endm
58
diff --git a/arch/arm/mach-omap1/include/mach/gpio.h b/arch/arm/mach-omap1/include/mach/gpio.h
new file mode 100644
index 000000000000..e737706a8fe1
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/gpio.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap1/include/mach/gpio.h
3 */
4
5#include <plat/gpio.h>
diff --git a/arch/arm/mach-omap1/include/mach/hardware.h b/arch/arm/mach-omap1/include/mach/hardware.h
new file mode 100644
index 000000000000..a3f6287b2007
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/hardware.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap1/include/mach/hardware.h
3 */
4
5#include <plat/hardware.h>
diff --git a/arch/arm/mach-omap1/include/mach/io.h b/arch/arm/mach-omap1/include/mach/io.h
new file mode 100644
index 000000000000..57bdf74a3e64
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/io.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap1/include/mach/io.h
3 */
4
5#include <plat/io.h>
diff --git a/arch/arm/mach-omap1/include/mach/irqs.h b/arch/arm/mach-omap1/include/mach/irqs.h
new file mode 100644
index 000000000000..9292fdc1cb0b
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/irqs.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap1/include/mach/irqs.h
3 */
4
5#include <plat/irqs.h>
diff --git a/arch/arm/mach-omap1/include/mach/memory.h b/arch/arm/mach-omap1/include/mach/memory.h
new file mode 100644
index 000000000000..e9b600c113ef
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/memory.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap1/include/mach/memory.h
3 */
4
5#include <plat/memory.h>
diff --git a/arch/arm/plat-omap/include/mach/mtd-xip.h b/arch/arm/mach-omap1/include/mach/mtd-xip.h
index f82a8dcaad94..f82a8dcaad94 100644
--- a/arch/arm/plat-omap/include/mach/mtd-xip.h
+++ b/arch/arm/mach-omap1/include/mach/mtd-xip.h
diff --git a/arch/arm/mach-omap1/include/mach/smp.h b/arch/arm/mach-omap1/include/mach/smp.h
new file mode 100644
index 000000000000..80a371c06e59
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/smp.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap1/include/mach/smp.h
3 */
4
5#include <plat/smp.h>
diff --git a/arch/arm/mach-omap1/include/mach/system.h b/arch/arm/mach-omap1/include/mach/system.h
new file mode 100644
index 000000000000..a6c1b3a16dfc
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/system.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap1/include/mach/system.h
3 */
4
5#include <plat/system.h>
diff --git a/arch/arm/mach-omap1/include/mach/timex.h b/arch/arm/mach-omap1/include/mach/timex.h
new file mode 100644
index 000000000000..4793790d53cc
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/timex.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap1/include/mach/timex.h
3 */
4
5#include <plat/timex.h>
diff --git a/arch/arm/mach-omap1/include/mach/uncompress.h b/arch/arm/mach-omap1/include/mach/uncompress.h
new file mode 100644
index 000000000000..0ff22dc075c7
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/uncompress.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap1/include/mach/uncompress.h
3 */
4
5#include <plat/uncompress.h>
diff --git a/arch/arm/mach-omap1/include/mach/vmalloc.h b/arch/arm/mach-omap1/include/mach/vmalloc.h
new file mode 100644
index 000000000000..1b2af14df151
--- /dev/null
+++ b/arch/arm/mach-omap1/include/mach/vmalloc.h
@@ -0,0 +1,20 @@
1/*
2 * arch/arm/mach-omap1/include/mach/vmalloc.h
3 *
4 * Copyright (C) 2000 Russell King.
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 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20#define VMALLOC_END (PAGE_OFFSET + 0x18000000)
diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c
index 7030f9281ea1..2a6d68aa3489 100644
--- a/arch/arm/mach-omap1/io.c
+++ b/arch/arm/mach-omap1/io.c
@@ -15,8 +15,8 @@
15 15
16#include <asm/tlb.h> 16#include <asm/tlb.h>
17#include <asm/mach/map.h> 17#include <asm/mach/map.h>
18#include <mach/mux.h> 18#include <plat/mux.h>
19#include <mach/tc.h> 19#include <plat/tc.h>
20 20
21extern int omap1_clk_init(void); 21extern int omap1_clk_init(void);
22extern void omap_check_revision(void); 22extern void omap_check_revision(void);
@@ -36,33 +36,17 @@ static struct map_desc omap_io_desc[] __initdata = {
36 } 36 }
37}; 37};
38 38
39#ifdef CONFIG_ARCH_OMAP730 39#if defined (CONFIG_ARCH_OMAP730) || defined (CONFIG_ARCH_OMAP850)
40static struct map_desc omap730_io_desc[] __initdata = { 40static struct map_desc omap7xx_io_desc[] __initdata = {
41 { 41 {
42 .virtual = OMAP730_DSP_BASE, 42 .virtual = OMAP7XX_DSP_BASE,
43 .pfn = __phys_to_pfn(OMAP730_DSP_START), 43 .pfn = __phys_to_pfn(OMAP7XX_DSP_START),
44 .length = OMAP730_DSP_SIZE, 44 .length = OMAP7XX_DSP_SIZE,
45 .type = MT_DEVICE 45 .type = MT_DEVICE
46 }, { 46 }, {
47 .virtual = OMAP730_DSPREG_BASE, 47 .virtual = OMAP7XX_DSPREG_BASE,
48 .pfn = __phys_to_pfn(OMAP730_DSPREG_START), 48 .pfn = __phys_to_pfn(OMAP7XX_DSPREG_START),
49 .length = OMAP730_DSPREG_SIZE, 49 .length = OMAP7XX_DSPREG_SIZE,
50 .type = MT_DEVICE
51 }
52};
53#endif
54
55#ifdef CONFIG_ARCH_OMAP850
56static struct map_desc omap850_io_desc[] __initdata = {
57 {
58 .virtual = OMAP850_DSP_BASE,
59 .pfn = __phys_to_pfn(OMAP850_DSP_START),
60 .length = OMAP850_DSP_SIZE,
61 .type = MT_DEVICE
62 }, {
63 .virtual = OMAP850_DSPREG_BASE,
64 .pfn = __phys_to_pfn(OMAP850_DSPREG_START),
65 .length = OMAP850_DSPREG_SIZE,
66 .type = MT_DEVICE 50 .type = MT_DEVICE
67 } 51 }
68}; 52};
@@ -120,18 +104,11 @@ void __init omap1_map_common_io(void)
120 */ 104 */
121 omap_check_revision(); 105 omap_check_revision();
122 106
123#ifdef CONFIG_ARCH_OMAP730 107#if defined (CONFIG_ARCH_OMAP730) || defined (CONFIG_ARCH_OMAP850)
124 if (cpu_is_omap730()) { 108 if (cpu_is_omap7xx()) {
125 iotable_init(omap730_io_desc, ARRAY_SIZE(omap730_io_desc)); 109 iotable_init(omap7xx_io_desc, ARRAY_SIZE(omap7xx_io_desc));
126 }
127#endif
128
129#ifdef CONFIG_ARCH_OMAP850
130 if (cpu_is_omap850()) {
131 iotable_init(omap850_io_desc, ARRAY_SIZE(omap850_io_desc));
132 } 110 }
133#endif 111#endif
134
135#ifdef CONFIG_ARCH_OMAP15XX 112#ifdef CONFIG_ARCH_OMAP15XX
136 if (cpu_is_omap15xx()) { 113 if (cpu_is_omap15xx()) {
137 iotable_init(omap1510_io_desc, ARRAY_SIZE(omap1510_io_desc)); 114 iotable_init(omap1510_io_desc, ARRAY_SIZE(omap1510_io_desc));
diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c
index de03c8448994..db913c34d1fe 100644
--- a/arch/arm/mach-omap1/irq.c
+++ b/arch/arm/mach-omap1/irq.c
@@ -46,7 +46,7 @@
46#include <asm/irq.h> 46#include <asm/irq.h>
47#include <asm/mach/irq.h> 47#include <asm/mach/irq.h>
48#include <mach/gpio.h> 48#include <mach/gpio.h>
49#include <mach/cpu.h> 49#include <plat/cpu.h>
50 50
51#define IRQ_BANK(irq) ((irq) >> 5) 51#define IRQ_BANK(irq) ((irq) >> 5)
52#define IRQ_BIT(irq) ((irq) & 0x1f) 52#define IRQ_BIT(irq) ((irq) & 0x1f)
@@ -137,16 +137,8 @@ static void omap_irq_set_cfg(int irq, int fiq, int priority, int trigger)
137 irq_bank_writel(val, bank, offset); 137 irq_bank_writel(val, bank, offset);
138} 138}
139 139
140#ifdef CONFIG_ARCH_OMAP730 140#if defined (CONFIG_ARCH_OMAP730) || defined (CONFIG_ARCH_OMAP850)
141static struct omap_irq_bank omap730_irq_banks[] = { 141static struct omap_irq_bank omap7xx_irq_banks[] = {
142 { .base_reg = OMAP_IH1_BASE, .trigger_map = 0xb3f8e22f },
143 { .base_reg = OMAP_IH2_BASE, .trigger_map = 0xfdb9c1f2 },
144 { .base_reg = OMAP_IH2_BASE + 0x100, .trigger_map = 0x800040f3 },
145};
146#endif
147
148#ifdef CONFIG_ARCH_OMAP850
149static struct omap_irq_bank omap850_irq_banks[] = {
150 { .base_reg = OMAP_IH1_BASE, .trigger_map = 0xb3f8e22f }, 142 { .base_reg = OMAP_IH1_BASE, .trigger_map = 0xb3f8e22f },
151 { .base_reg = OMAP_IH2_BASE, .trigger_map = 0xfdb9c1f2 }, 143 { .base_reg = OMAP_IH2_BASE, .trigger_map = 0xfdb9c1f2 },
152 { .base_reg = OMAP_IH2_BASE + 0x100, .trigger_map = 0x800040f3 }, 144 { .base_reg = OMAP_IH2_BASE + 0x100, .trigger_map = 0x800040f3 },
@@ -186,16 +178,10 @@ void __init omap_init_irq(void)
186{ 178{
187 int i, j; 179 int i, j;
188 180
189#ifdef CONFIG_ARCH_OMAP730 181#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
190 if (cpu_is_omap730()) { 182 if (cpu_is_omap7xx()) {
191 irq_banks = omap730_irq_banks; 183 irq_banks = omap7xx_irq_banks;
192 irq_bank_count = ARRAY_SIZE(omap730_irq_banks); 184 irq_bank_count = ARRAY_SIZE(omap7xx_irq_banks);
193 }
194#endif
195#ifdef CONFIG_ARCH_OMAP850
196 if (cpu_is_omap850()) {
197 irq_banks = omap850_irq_banks;
198 irq_bank_count = ARRAY_SIZE(omap850_irq_banks);
199 } 185 }
200#endif 186#endif
201#ifdef CONFIG_ARCH_OMAP15XX 187#ifdef CONFIG_ARCH_OMAP15XX
@@ -247,10 +233,8 @@ void __init omap_init_irq(void)
247 233
248 /* Unmask level 2 handler */ 234 /* Unmask level 2 handler */
249 235
250 if (cpu_is_omap730()) 236 if (cpu_is_omap7xx())
251 omap_unmask_irq(INT_730_IH2_IRQ); 237 omap_unmask_irq(INT_7XX_IH2_IRQ);
252 else if (cpu_is_omap850())
253 omap_unmask_irq(INT_850_IH2_IRQ);
254 else if (cpu_is_omap15xx()) 238 else if (cpu_is_omap15xx())
255 omap_unmask_irq(INT_1510_IH2_IRQ); 239 omap_unmask_irq(INT_1510_IH2_IRQ);
256 else if (cpu_is_omap16xx()) 240 else if (cpu_is_omap16xx())
diff --git a/arch/arm/mach-omap1/leds-h2p2-debug.c b/arch/arm/mach-omap1/leds-h2p2-debug.c
index 17c9d0e04216..b4f9be52e1e8 100644
--- a/arch/arm/mach-omap1/leds-h2p2-debug.c
+++ b/arch/arm/mach-omap1/leds-h2p2-debug.c
@@ -19,7 +19,7 @@
19#include <asm/system.h> 19#include <asm/system.h>
20#include <asm/mach-types.h> 20#include <asm/mach-types.h>
21 21
22#include <mach/fpga.h> 22#include <plat/fpga.h>
23#include <mach/gpio.h> 23#include <mach/gpio.h>
24 24
25#include "leds.h" 25#include "leds.h"
diff --git a/arch/arm/mach-omap1/leds.c b/arch/arm/mach-omap1/leds.c
index 8cbf2562dcaa..277f356d4cd0 100644
--- a/arch/arm/mach-omap1/leds.c
+++ b/arch/arm/mach-omap1/leds.c
@@ -10,7 +10,7 @@
10#include <asm/mach-types.h> 10#include <asm/mach-types.h>
11 11
12#include <mach/gpio.h> 12#include <mach/gpio.h>
13#include <mach/mux.h> 13#include <plat/mux.h>
14 14
15#include "leds.h" 15#include "leds.h"
16 16
diff --git a/arch/arm/mach-omap1/mailbox.c b/arch/arm/mach-omap1/mailbox.c
index 6810b4aeb02c..caf889aaa248 100644
--- a/arch/arm/mach-omap1/mailbox.c
+++ b/arch/arm/mach-omap1/mailbox.c
@@ -14,7 +14,7 @@
14#include <linux/interrupt.h> 14#include <linux/interrupt.h>
15#include <linux/platform_device.h> 15#include <linux/platform_device.h>
16#include <linux/io.h> 16#include <linux/io.h>
17#include <mach/mailbox.h> 17#include <plat/mailbox.h>
18#include <mach/irqs.h> 18#include <mach/irqs.h>
19 19
20#define MAILBOX_ARM2DSP1 0x00 20#define MAILBOX_ARM2DSP1 0x00
diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c
index 505d98cfe508..6bddce104ee9 100644
--- a/arch/arm/mach-omap1/mcbsp.c
+++ b/arch/arm/mach-omap1/mcbsp.c
@@ -18,11 +18,11 @@
18#include <linux/platform_device.h> 18#include <linux/platform_device.h>
19 19
20#include <mach/irqs.h> 20#include <mach/irqs.h>
21#include <mach/dma.h> 21#include <plat/dma.h>
22#include <mach/mux.h> 22#include <plat/mux.h>
23#include <mach/cpu.h> 23#include <plat/cpu.h>
24#include <mach/mcbsp.h> 24#include <plat/mcbsp.h>
25#include <mach/dsp_common.h> 25#include <plat/dsp_common.h>
26 26
27#define DPS_RSTCT2_PER_EN (1 << 0) 27#define DPS_RSTCT2_PER_EN (1 << 0)
28#define DSP_RSTCT2_WD_PER_EN (1 << 1) 28#define DSP_RSTCT2_WD_PER_EN (1 << 1)
@@ -79,29 +79,29 @@ static struct omap_mcbsp_ops omap1_mcbsp_ops = {
79 .free = omap1_mcbsp_free, 79 .free = omap1_mcbsp_free,
80}; 80};
81 81
82#ifdef CONFIG_ARCH_OMAP730 82#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
83static struct omap_mcbsp_platform_data omap730_mcbsp_pdata[] = { 83static struct omap_mcbsp_platform_data omap7xx_mcbsp_pdata[] = {
84 { 84 {
85 .phys_base = OMAP730_MCBSP1_BASE, 85 .phys_base = OMAP7XX_MCBSP1_BASE,
86 .dma_rx_sync = OMAP_DMA_MCBSP1_RX, 86 .dma_rx_sync = OMAP_DMA_MCBSP1_RX,
87 .dma_tx_sync = OMAP_DMA_MCBSP1_TX, 87 .dma_tx_sync = OMAP_DMA_MCBSP1_TX,
88 .rx_irq = INT_730_McBSP1RX, 88 .rx_irq = INT_7XX_McBSP1RX,
89 .tx_irq = INT_730_McBSP1TX, 89 .tx_irq = INT_7XX_McBSP1TX,
90 .ops = &omap1_mcbsp_ops, 90 .ops = &omap1_mcbsp_ops,
91 }, 91 },
92 { 92 {
93 .phys_base = OMAP730_MCBSP2_BASE, 93 .phys_base = OMAP7XX_MCBSP2_BASE,
94 .dma_rx_sync = OMAP_DMA_MCBSP3_RX, 94 .dma_rx_sync = OMAP_DMA_MCBSP3_RX,
95 .dma_tx_sync = OMAP_DMA_MCBSP3_TX, 95 .dma_tx_sync = OMAP_DMA_MCBSP3_TX,
96 .rx_irq = INT_730_McBSP2RX, 96 .rx_irq = INT_7XX_McBSP2RX,
97 .tx_irq = INT_730_McBSP2TX, 97 .tx_irq = INT_7XX_McBSP2TX,
98 .ops = &omap1_mcbsp_ops, 98 .ops = &omap1_mcbsp_ops,
99 }, 99 },
100}; 100};
101#define OMAP730_MCBSP_PDATA_SZ ARRAY_SIZE(omap730_mcbsp_pdata) 101#define OMAP7XX_MCBSP_PDATA_SZ ARRAY_SIZE(omap7xx_mcbsp_pdata)
102#else 102#else
103#define omap730_mcbsp_pdata NULL 103#define omap7xx_mcbsp_pdata NULL
104#define OMAP730_MCBSP_PDATA_SZ 0 104#define OMAP7XX_MCBSP_PDATA_SZ 0
105#endif 105#endif
106 106
107#ifdef CONFIG_ARCH_OMAP15XX 107#ifdef CONFIG_ARCH_OMAP15XX
@@ -172,8 +172,8 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {
172 172
173int __init omap1_mcbsp_init(void) 173int __init omap1_mcbsp_init(void)
174{ 174{
175 if (cpu_is_omap730()) 175 if (cpu_is_omap7xx())
176 omap_mcbsp_count = OMAP730_MCBSP_PDATA_SZ; 176 omap_mcbsp_count = OMAP7XX_MCBSP_PDATA_SZ;
177 if (cpu_is_omap15xx()) 177 if (cpu_is_omap15xx())
178 omap_mcbsp_count = OMAP15XX_MCBSP_PDATA_SZ; 178 omap_mcbsp_count = OMAP15XX_MCBSP_PDATA_SZ;
179 if (cpu_is_omap16xx()) 179 if (cpu_is_omap16xx())
@@ -184,9 +184,9 @@ int __init omap1_mcbsp_init(void)
184 if (!mcbsp_ptr) 184 if (!mcbsp_ptr)
185 return -ENOMEM; 185 return -ENOMEM;
186 186
187 if (cpu_is_omap730()) 187 if (cpu_is_omap7xx())
188 omap_mcbsp_register_board_cfg(omap730_mcbsp_pdata, 188 omap_mcbsp_register_board_cfg(omap7xx_mcbsp_pdata,
189 OMAP730_MCBSP_PDATA_SZ); 189 OMAP7XX_MCBSP_PDATA_SZ);
190 190
191 if (cpu_is_omap15xx()) 191 if (cpu_is_omap15xx())
192 omap_mcbsp_register_board_cfg(omap15xx_mcbsp_pdata, 192 omap_mcbsp_register_board_cfg(omap15xx_mcbsp_pdata,
diff --git a/arch/arm/mach-omap1/mux.c b/arch/arm/mach-omap1/mux.c
index 721e0d9d8b1d..785371e982fc 100644
--- a/arch/arm/mach-omap1/mux.c
+++ b/arch/arm/mach-omap1/mux.c
@@ -29,53 +29,39 @@
29 29
30#include <asm/system.h> 30#include <asm/system.h>
31 31
32#include <mach/mux.h> 32#include <plat/mux.h>
33 33
34#ifdef CONFIG_OMAP_MUX 34#ifdef CONFIG_OMAP_MUX
35 35
36static struct omap_mux_cfg arch_mux_cfg; 36static struct omap_mux_cfg arch_mux_cfg;
37 37
38#ifdef CONFIG_ARCH_OMAP730 38#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
39static struct pin_config __initdata_or_module omap730_pins[] = { 39static struct pin_config __initdata_or_module omap7xx_pins[] = {
40MUX_CFG_730("E2_730_KBR0", 12, 21, 0, 20, 1, 0) 40MUX_CFG_7XX("E2_7XX_KBR0", 12, 21, 0, 20, 1, 0)
41MUX_CFG_730("J7_730_KBR1", 12, 25, 0, 24, 1, 0) 41MUX_CFG_7XX("J7_7XX_KBR1", 12, 25, 0, 24, 1, 0)
42MUX_CFG_730("E1_730_KBR2", 12, 29, 0, 28, 1, 0) 42MUX_CFG_7XX("E1_7XX_KBR2", 12, 29, 0, 28, 1, 0)
43MUX_CFG_730("F3_730_KBR3", 13, 1, 0, 0, 1, 0) 43MUX_CFG_7XX("F3_7XX_KBR3", 13, 1, 0, 0, 1, 0)
44MUX_CFG_730("D2_730_KBR4", 13, 5, 0, 4, 1, 0) 44MUX_CFG_7XX("D2_7XX_KBR4", 13, 5, 0, 4, 1, 0)
45MUX_CFG_730("C2_730_KBC0", 13, 9, 0, 8, 1, 0) 45MUX_CFG_7XX("C2_7XX_KBC0", 13, 9, 0, 8, 1, 0)
46MUX_CFG_730("D3_730_KBC1", 13, 13, 0, 12, 1, 0) 46MUX_CFG_7XX("D3_7XX_KBC1", 13, 13, 0, 12, 1, 0)
47MUX_CFG_730("E4_730_KBC2", 13, 17, 0, 16, 1, 0) 47MUX_CFG_7XX("E4_7XX_KBC2", 13, 17, 0, 16, 1, 0)
48MUX_CFG_730("F4_730_KBC3", 13, 21, 0, 20, 1, 0) 48MUX_CFG_7XX("F4_7XX_KBC3", 13, 21, 0, 20, 1, 0)
49MUX_CFG_730("E3_730_KBC4", 13, 25, 0, 24, 1, 0) 49MUX_CFG_7XX("E3_7XX_KBC4", 13, 25, 0, 24, 1, 0)
50 50
51MUX_CFG_730("AA17_730_USB_DM", 2, 21, 0, 20, 0, 0) 51MUX_CFG_7XX("AA17_7XX_USB_DM", 2, 21, 0, 20, 0, 0)
52MUX_CFG_730("W16_730_USB_PU_EN", 2, 25, 0, 24, 0, 0) 52MUX_CFG_7XX("W16_7XX_USB_PU_EN", 2, 25, 0, 24, 0, 0)
53MUX_CFG_730("W17_730_USB_VBUSI", 2, 29, 0, 28, 0, 0) 53MUX_CFG_7XX("W17_7XX_USB_VBUSI", 2, 29, 0, 28, 0, 0)
54
55/* MMC Pins */
56MUX_CFG_7XX("MMC_7XX_CMD", 2, 9, 0, 8, 1, 0)
57MUX_CFG_7XX("MMC_7XX_CLK", 2, 13, 0, 12, 1, 0)
58MUX_CFG_7XX("MMC_7XX_DAT0", 2, 17, 0, 16, 1, 0)
54}; 59};
55#define OMAP730_PINS_SZ ARRAY_SIZE(omap730_pins) 60#define OMAP7XX_PINS_SZ ARRAY_SIZE(omap7xx_pins)
56#else 61#else
57#define omap730_pins NULL 62#define omap7xx_pins NULL
58#define OMAP730_PINS_SZ 0 63#define OMAP7XX_PINS_SZ 0
59#endif /* CONFIG_ARCH_OMAP730 */ 64#endif /* CONFIG_ARCH_OMAP730 || CONFIG_ARCH_OMAP850 */
60
61#ifdef CONFIG_ARCH_OMAP850
62struct pin_config __initdata_or_module omap850_pins[] = {
63MUX_CFG_850("E2_850_KBR0", 12, 21, 0, 20, 1, 0)
64MUX_CFG_850("J7_850_KBR1", 12, 25, 0, 24, 1, 0)
65MUX_CFG_850("E1_850_KBR2", 12, 29, 0, 28, 1, 0)
66MUX_CFG_850("F3_850_KBR3", 13, 1, 0, 0, 1, 0)
67MUX_CFG_850("D2_850_KBR4", 13, 5, 0, 4, 1, 0)
68MUX_CFG_850("C2_850_KBC0", 13, 9, 0, 8, 1, 0)
69MUX_CFG_850("D3_850_KBC1", 13, 13, 0, 12, 1, 0)
70MUX_CFG_850("E4_850_KBC2", 13, 17, 0, 16, 1, 0)
71MUX_CFG_850("F4_850_KBC3", 13, 21, 0, 20, 1, 0)
72MUX_CFG_850("E3_850_KBC4", 13, 25, 0, 24, 1, 0)
73
74MUX_CFG_850("AA17_850_USB_DM", 2, 21, 0, 20, 0, 0)
75MUX_CFG_850("W16_850_USB_PU_EN", 2, 25, 0, 24, 0, 0)
76MUX_CFG_850("W17_850_USB_VBUSI", 2, 29, 0, 28, 0, 0)
77};
78#endif
79 65
80#if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) 66#if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX)
81static struct pin_config __initdata_or_module omap1xxx_pins[] = { 67static struct pin_config __initdata_or_module omap1xxx_pins[] = {
@@ -438,11 +424,6 @@ int __init_or_module omap1_cfg_reg(const struct pin_config *cfg)
438 printk(" %s (0x%08x) = 0x%08x -> 0x%08x\n", 424 printk(" %s (0x%08x) = 0x%08x -> 0x%08x\n",
439 cfg->pull_name, cfg->pull_reg, pull_orig, pull); 425 cfg->pull_name, cfg->pull_reg, pull_orig, pull);
440 } 426 }
441
442#ifdef CONFIG_ARCH_OMAP850
443 omap_mux_register(omap850_pins, ARRAY_SIZE(omap850_pins));
444#endif
445
446#endif 427#endif
447 428
448#ifdef CONFIG_OMAP_MUX_ERRORS 429#ifdef CONFIG_OMAP_MUX_ERRORS
@@ -454,9 +435,9 @@ int __init_or_module omap1_cfg_reg(const struct pin_config *cfg)
454 435
455int __init omap1_mux_init(void) 436int __init omap1_mux_init(void)
456{ 437{
457 if (cpu_is_omap730()) { 438 if (cpu_is_omap7xx()) {
458 arch_mux_cfg.pins = omap730_pins; 439 arch_mux_cfg.pins = omap7xx_pins;
459 arch_mux_cfg.size = OMAP730_PINS_SZ; 440 arch_mux_cfg.size = OMAP7XX_PINS_SZ;
460 arch_mux_cfg.cfg_reg = omap1_cfg_reg; 441 arch_mux_cfg.cfg_reg = omap1_cfg_reg;
461 } 442 }
462 443
diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c
index 5218943c91c0..b1d3f9fade23 100644
--- a/arch/arm/mach-omap1/pm.c
+++ b/arch/arm/mach-omap1/pm.c
@@ -48,21 +48,21 @@
48#include <asm/mach/time.h> 48#include <asm/mach/time.h>
49#include <asm/mach/irq.h> 49#include <asm/mach/irq.h>
50 50
51#include <mach/cpu.h> 51#include <plat/cpu.h>
52#include <mach/irqs.h> 52#include <mach/irqs.h>
53#include <mach/clock.h> 53#include <plat/clock.h>
54#include <mach/sram.h> 54#include <plat/sram.h>
55#include <mach/tc.h> 55#include <plat/tc.h>
56#include <mach/mux.h> 56#include <plat/mux.h>
57#include <mach/dma.h> 57#include <plat/dma.h>
58#include <mach/dmtimer.h> 58#include <plat/dmtimer.h>
59 59
60#include "pm.h" 60#include "pm.h"
61 61
62static unsigned int arm_sleep_save[ARM_SLEEP_SAVE_SIZE]; 62static unsigned int arm_sleep_save[ARM_SLEEP_SAVE_SIZE];
63static unsigned short dsp_sleep_save[DSP_SLEEP_SAVE_SIZE]; 63static unsigned short dsp_sleep_save[DSP_SLEEP_SAVE_SIZE];
64static unsigned short ulpd_sleep_save[ULPD_SLEEP_SAVE_SIZE]; 64static unsigned short ulpd_sleep_save[ULPD_SLEEP_SAVE_SIZE];
65static unsigned int mpui730_sleep_save[MPUI730_SLEEP_SAVE_SIZE]; 65static unsigned int mpui7xx_sleep_save[MPUI7XX_SLEEP_SAVE_SIZE];
66static unsigned int mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_SIZE]; 66static unsigned int mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_SIZE];
67static unsigned int mpui1610_sleep_save[MPUI1610_SLEEP_SAVE_SIZE]; 67static unsigned int mpui1610_sleep_save[MPUI1610_SLEEP_SAVE_SIZE];
68 68
@@ -183,9 +183,9 @@ static void omap_pm_wakeup_setup(void)
183 * drivers must still separately call omap_set_gpio_wakeup() to 183 * drivers must still separately call omap_set_gpio_wakeup() to
184 * wake up to a GPIO interrupt. 184 * wake up to a GPIO interrupt.
185 */ 185 */
186 if (cpu_is_omap730()) 186 if (cpu_is_omap7xx())
187 level1_wake = OMAP_IRQ_BIT(INT_730_GPIO_BANK1) | 187 level1_wake = OMAP_IRQ_BIT(INT_7XX_GPIO_BANK1) |
188 OMAP_IRQ_BIT(INT_730_IH2_IRQ); 188 OMAP_IRQ_BIT(INT_7XX_IH2_IRQ);
189 else if (cpu_is_omap15xx()) 189 else if (cpu_is_omap15xx())
190 level1_wake = OMAP_IRQ_BIT(INT_GPIO_BANK1) | 190 level1_wake = OMAP_IRQ_BIT(INT_GPIO_BANK1) |
191 OMAP_IRQ_BIT(INT_1510_IH2_IRQ); 191 OMAP_IRQ_BIT(INT_1510_IH2_IRQ);
@@ -195,10 +195,10 @@ static void omap_pm_wakeup_setup(void)
195 195
196 omap_writel(~level1_wake, OMAP_IH1_MIR); 196 omap_writel(~level1_wake, OMAP_IH1_MIR);
197 197
198 if (cpu_is_omap730()) { 198 if (cpu_is_omap7xx()) {
199 omap_writel(~level2_wake, OMAP_IH2_0_MIR); 199 omap_writel(~level2_wake, OMAP_IH2_0_MIR);
200 omap_writel(~(OMAP_IRQ_BIT(INT_730_WAKE_UP_REQ) | 200 omap_writel(~(OMAP_IRQ_BIT(INT_7XX_WAKE_UP_REQ) |
201 OMAP_IRQ_BIT(INT_730_MPUIO_KEYPAD)), 201 OMAP_IRQ_BIT(INT_7XX_MPUIO_KEYPAD)),
202 OMAP_IH2_1_MIR); 202 OMAP_IH2_1_MIR);
203 } else if (cpu_is_omap15xx()) { 203 } else if (cpu_is_omap15xx()) {
204 level2_wake |= OMAP_IRQ_BIT(INT_KEYBOARD); 204 level2_wake |= OMAP_IRQ_BIT(INT_KEYBOARD);
@@ -253,15 +253,15 @@ void omap1_pm_suspend(void)
253 * Save interrupt, MPUI, ARM and UPLD control registers. 253 * Save interrupt, MPUI, ARM and UPLD control registers.
254 */ 254 */
255 255
256 if (cpu_is_omap730()) { 256 if (cpu_is_omap7xx()) {
257 MPUI730_SAVE(OMAP_IH1_MIR); 257 MPUI7XX_SAVE(OMAP_IH1_MIR);
258 MPUI730_SAVE(OMAP_IH2_0_MIR); 258 MPUI7XX_SAVE(OMAP_IH2_0_MIR);
259 MPUI730_SAVE(OMAP_IH2_1_MIR); 259 MPUI7XX_SAVE(OMAP_IH2_1_MIR);
260 MPUI730_SAVE(MPUI_CTRL); 260 MPUI7XX_SAVE(MPUI_CTRL);
261 MPUI730_SAVE(MPUI_DSP_BOOT_CONFIG); 261 MPUI7XX_SAVE(MPUI_DSP_BOOT_CONFIG);
262 MPUI730_SAVE(MPUI_DSP_API_CONFIG); 262 MPUI7XX_SAVE(MPUI_DSP_API_CONFIG);
263 MPUI730_SAVE(EMIFS_CONFIG); 263 MPUI7XX_SAVE(EMIFS_CONFIG);
264 MPUI730_SAVE(EMIFF_SDRAM_CONFIG); 264 MPUI7XX_SAVE(EMIFF_SDRAM_CONFIG);
265 265
266 } else if (cpu_is_omap15xx()) { 266 } else if (cpu_is_omap15xx()) {
267 MPUI1510_SAVE(OMAP_IH1_MIR); 267 MPUI1510_SAVE(OMAP_IH1_MIR);
@@ -306,7 +306,7 @@ void omap1_pm_suspend(void)
306 omap_writew(omap_readw(ARM_RSTCT1) & ~(1 << DSP_EN), ARM_RSTCT1); 306 omap_writew(omap_readw(ARM_RSTCT1) & ~(1 << DSP_EN), ARM_RSTCT1);
307 307
308 /* shut down dsp_ck */ 308 /* shut down dsp_ck */
309 if (!cpu_is_omap730()) 309 if (!cpu_is_omap7xx())
310 omap_writew(omap_readw(ARM_CKCTL) & ~(1 << EN_DSPCK), ARM_CKCTL); 310 omap_writew(omap_readw(ARM_CKCTL) & ~(1 << EN_DSPCK), ARM_CKCTL);
311 311
312 /* temporarily enabling api_ck to access DSP registers */ 312 /* temporarily enabling api_ck to access DSP registers */
@@ -383,12 +383,12 @@ void omap1_pm_suspend(void)
383 ULPD_RESTORE(ULPD_CLOCK_CTRL); 383 ULPD_RESTORE(ULPD_CLOCK_CTRL);
384 ULPD_RESTORE(ULPD_STATUS_REQ); 384 ULPD_RESTORE(ULPD_STATUS_REQ);
385 385
386 if (cpu_is_omap730()) { 386 if (cpu_is_omap7xx()) {
387 MPUI730_RESTORE(EMIFS_CONFIG); 387 MPUI7XX_RESTORE(EMIFS_CONFIG);
388 MPUI730_RESTORE(EMIFF_SDRAM_CONFIG); 388 MPUI7XX_RESTORE(EMIFF_SDRAM_CONFIG);
389 MPUI730_RESTORE(OMAP_IH1_MIR); 389 MPUI7XX_RESTORE(OMAP_IH1_MIR);
390 MPUI730_RESTORE(OMAP_IH2_0_MIR); 390 MPUI7XX_RESTORE(OMAP_IH2_0_MIR);
391 MPUI730_RESTORE(OMAP_IH2_1_MIR); 391 MPUI7XX_RESTORE(OMAP_IH2_1_MIR);
392 } else if (cpu_is_omap15xx()) { 392 } else if (cpu_is_omap15xx()) {
393 MPUI1510_RESTORE(MPUI_CTRL); 393 MPUI1510_RESTORE(MPUI_CTRL);
394 MPUI1510_RESTORE(MPUI_DSP_BOOT_CONFIG); 394 MPUI1510_RESTORE(MPUI_DSP_BOOT_CONFIG);
@@ -461,13 +461,13 @@ static int omap_pm_read_proc(
461 ULPD_SAVE(ULPD_DPLL_CTRL); 461 ULPD_SAVE(ULPD_DPLL_CTRL);
462 ULPD_SAVE(ULPD_POWER_CTRL); 462 ULPD_SAVE(ULPD_POWER_CTRL);
463 463
464 if (cpu_is_omap730()) { 464 if (cpu_is_omap7xx()) {
465 MPUI730_SAVE(MPUI_CTRL); 465 MPUI7XX_SAVE(MPUI_CTRL);
466 MPUI730_SAVE(MPUI_DSP_STATUS); 466 MPUI7XX_SAVE(MPUI_DSP_STATUS);
467 MPUI730_SAVE(MPUI_DSP_BOOT_CONFIG); 467 MPUI7XX_SAVE(MPUI_DSP_BOOT_CONFIG);
468 MPUI730_SAVE(MPUI_DSP_API_CONFIG); 468 MPUI7XX_SAVE(MPUI_DSP_API_CONFIG);
469 MPUI730_SAVE(EMIFF_SDRAM_CONFIG); 469 MPUI7XX_SAVE(EMIFF_SDRAM_CONFIG);
470 MPUI730_SAVE(EMIFS_CONFIG); 470 MPUI7XX_SAVE(EMIFS_CONFIG);
471 } else if (cpu_is_omap15xx()) { 471 } else if (cpu_is_omap15xx()) {
472 MPUI1510_SAVE(MPUI_CTRL); 472 MPUI1510_SAVE(MPUI_CTRL);
473 MPUI1510_SAVE(MPUI_DSP_STATUS); 473 MPUI1510_SAVE(MPUI_DSP_STATUS);
@@ -517,20 +517,20 @@ static int omap_pm_read_proc(
517 ULPD_SHOW(ULPD_STATUS_REQ), 517 ULPD_SHOW(ULPD_STATUS_REQ),
518 ULPD_SHOW(ULPD_POWER_CTRL)); 518 ULPD_SHOW(ULPD_POWER_CTRL));
519 519
520 if (cpu_is_omap730()) { 520 if (cpu_is_omap7xx()) {
521 my_buffer_offset += sprintf(my_base + my_buffer_offset, 521 my_buffer_offset += sprintf(my_base + my_buffer_offset,
522 "MPUI730_CTRL_REG 0x%-8x \n" 522 "MPUI7XX_CTRL_REG 0x%-8x \n"
523 "MPUI730_DSP_STATUS_REG: 0x%-8x \n" 523 "MPUI7XX_DSP_STATUS_REG: 0x%-8x \n"
524 "MPUI730_DSP_BOOT_CONFIG_REG: 0x%-8x \n" 524 "MPUI7XX_DSP_BOOT_CONFIG_REG: 0x%-8x \n"
525 "MPUI730_DSP_API_CONFIG_REG: 0x%-8x \n" 525 "MPUI7XX_DSP_API_CONFIG_REG: 0x%-8x \n"
526 "MPUI730_SDRAM_CONFIG_REG: 0x%-8x \n" 526 "MPUI7XX_SDRAM_CONFIG_REG: 0x%-8x \n"
527 "MPUI730_EMIFS_CONFIG_REG: 0x%-8x \n", 527 "MPUI7XX_EMIFS_CONFIG_REG: 0x%-8x \n",
528 MPUI730_SHOW(MPUI_CTRL), 528 MPUI7XX_SHOW(MPUI_CTRL),
529 MPUI730_SHOW(MPUI_DSP_STATUS), 529 MPUI7XX_SHOW(MPUI_DSP_STATUS),
530 MPUI730_SHOW(MPUI_DSP_BOOT_CONFIG), 530 MPUI7XX_SHOW(MPUI_DSP_BOOT_CONFIG),
531 MPUI730_SHOW(MPUI_DSP_API_CONFIG), 531 MPUI7XX_SHOW(MPUI_DSP_API_CONFIG),
532 MPUI730_SHOW(EMIFF_SDRAM_CONFIG), 532 MPUI7XX_SHOW(EMIFF_SDRAM_CONFIG),
533 MPUI730_SHOW(EMIFS_CONFIG)); 533 MPUI7XX_SHOW(EMIFS_CONFIG));
534 } else if (cpu_is_omap15xx()) { 534 } else if (cpu_is_omap15xx()) {
535 my_buffer_offset += sprintf(my_base + my_buffer_offset, 535 my_buffer_offset += sprintf(my_base + my_buffer_offset,
536 "MPUI1510_CTRL_REG 0x%-8x \n" 536 "MPUI1510_CTRL_REG 0x%-8x \n"
@@ -668,9 +668,9 @@ static int __init omap_pm_init(void)
668 * These routines need to be in SRAM as that's the only 668 * These routines need to be in SRAM as that's the only
669 * memory the MPU can see when it wakes up. 669 * memory the MPU can see when it wakes up.
670 */ 670 */
671 if (cpu_is_omap730()) { 671 if (cpu_is_omap7xx()) {
672 omap_sram_suspend = omap_sram_push(omap730_cpu_suspend, 672 omap_sram_suspend = omap_sram_push(omap7xx_cpu_suspend,
673 omap730_cpu_suspend_sz); 673 omap7xx_cpu_suspend_sz);
674 } else if (cpu_is_omap15xx()) { 674 } else if (cpu_is_omap15xx()) {
675 omap_sram_suspend = omap_sram_push(omap1510_cpu_suspend, 675 omap_sram_suspend = omap_sram_push(omap1510_cpu_suspend,
676 omap1510_cpu_suspend_sz); 676 omap1510_cpu_suspend_sz);
@@ -686,8 +686,8 @@ static int __init omap_pm_init(void)
686 686
687 pm_idle = omap1_pm_idle; 687 pm_idle = omap1_pm_idle;
688 688
689 if (cpu_is_omap730()) 689 if (cpu_is_omap7xx())
690 setup_irq(INT_730_WAKE_UP_REQ, &omap_wakeup_irq); 690 setup_irq(INT_7XX_WAKE_UP_REQ, &omap_wakeup_irq);
691 else if (cpu_is_omap16xx()) 691 else if (cpu_is_omap16xx())
692 setup_irq(INT_1610_WAKE_UP_REQ, &omap_wakeup_irq); 692 setup_irq(INT_1610_WAKE_UP_REQ, &omap_wakeup_irq);
693 693
@@ -700,8 +700,8 @@ static int __init omap_pm_init(void)
700 omap_writew(ULPD_POWER_CTRL_REG_VAL, ULPD_POWER_CTRL); 700 omap_writew(ULPD_POWER_CTRL_REG_VAL, ULPD_POWER_CTRL);
701 701
702 /* Configure IDLECT3 */ 702 /* Configure IDLECT3 */
703 if (cpu_is_omap730()) 703 if (cpu_is_omap7xx())
704 omap_writel(OMAP730_IDLECT3_VAL, OMAP730_IDLECT3); 704 omap_writel(OMAP7XX_IDLECT3_VAL, OMAP7XX_IDLECT3);
705 else if (cpu_is_omap16xx()) 705 else if (cpu_is_omap16xx())
706 omap_writel(OMAP1610_IDLECT3_VAL, OMAP1610_IDLECT3); 706 omap_writel(OMAP1610_IDLECT3_VAL, OMAP1610_IDLECT3);
707 707
diff --git a/arch/arm/mach-omap1/pm.h b/arch/arm/mach-omap1/pm.h
index c4f05bdcf8a6..56a647986ae9 100644
--- a/arch/arm/mach-omap1/pm.h
+++ b/arch/arm/mach-omap1/pm.h
@@ -98,13 +98,14 @@
98#define OMAP1610_IDLECT3 0xfffece24 98#define OMAP1610_IDLECT3 0xfffece24
99#define OMAP1610_IDLE_LOOP_REQUEST 0x0400 99#define OMAP1610_IDLE_LOOP_REQUEST 0x0400
100 100
101#define OMAP730_IDLECT1_SLEEP_VAL 0x16c7 101#define OMAP7XX_IDLECT1_SLEEP_VAL 0x16c7
102#define OMAP730_IDLECT2_SLEEP_VAL 0x09c7 102#define OMAP7XX_IDLECT2_SLEEP_VAL 0x09c7
103#define OMAP730_IDLECT3_VAL 0x3f 103#define OMAP7XX_IDLECT3_VAL 0x3f
104#define OMAP730_IDLECT3 0xfffece24 104#define OMAP7XX_IDLECT3 0xfffece24
105#define OMAP730_IDLE_LOOP_REQUEST 0x0C00 105#define OMAP7XX_IDLE_LOOP_REQUEST 0x0C00
106 106
107#if !defined(CONFIG_ARCH_OMAP730) && \ 107#if !defined(CONFIG_ARCH_OMAP730) && \
108 !defined(CONFIG_ARCH_OMAP850) && \
108 !defined(CONFIG_ARCH_OMAP15XX) && \ 109 !defined(CONFIG_ARCH_OMAP15XX) && \
109 !defined(CONFIG_ARCH_OMAP16XX) 110 !defined(CONFIG_ARCH_OMAP16XX)
110#warning "Power management for this processor not implemented yet" 111#warning "Power management for this processor not implemented yet"
@@ -122,17 +123,17 @@ extern void allow_idle_sleep(void);
122extern void omap1_pm_idle(void); 123extern void omap1_pm_idle(void);
123extern void omap1_pm_suspend(void); 124extern void omap1_pm_suspend(void);
124 125
125extern void omap730_cpu_suspend(unsigned short, unsigned short); 126extern void omap7xx_cpu_suspend(unsigned short, unsigned short);
126extern void omap1510_cpu_suspend(unsigned short, unsigned short); 127extern void omap1510_cpu_suspend(unsigned short, unsigned short);
127extern void omap1610_cpu_suspend(unsigned short, unsigned short); 128extern void omap1610_cpu_suspend(unsigned short, unsigned short);
128extern void omap730_idle_loop_suspend(void); 129extern void omap7xx_idle_loop_suspend(void);
129extern void omap1510_idle_loop_suspend(void); 130extern void omap1510_idle_loop_suspend(void);
130extern void omap1610_idle_loop_suspend(void); 131extern void omap1610_idle_loop_suspend(void);
131 132
132extern unsigned int omap730_cpu_suspend_sz; 133extern unsigned int omap7xx_cpu_suspend_sz;
133extern unsigned int omap1510_cpu_suspend_sz; 134extern unsigned int omap1510_cpu_suspend_sz;
134extern unsigned int omap1610_cpu_suspend_sz; 135extern unsigned int omap1610_cpu_suspend_sz;
135extern unsigned int omap730_idle_loop_suspend_sz; 136extern unsigned int omap7xx_idle_loop_suspend_sz;
136extern unsigned int omap1510_idle_loop_suspend_sz; 137extern unsigned int omap1510_idle_loop_suspend_sz;
137extern unsigned int omap1610_idle_loop_suspend_sz; 138extern unsigned int omap1610_idle_loop_suspend_sz;
138 139
@@ -155,9 +156,9 @@ extern void omap_serial_wake_trigger(int enable);
155#define ULPD_RESTORE(x) omap_writew((ulpd_sleep_save[ULPD_SLEEP_SAVE_##x]), (x)) 156#define ULPD_RESTORE(x) omap_writew((ulpd_sleep_save[ULPD_SLEEP_SAVE_##x]), (x))
156#define ULPD_SHOW(x) ulpd_sleep_save[ULPD_SLEEP_SAVE_##x] 157#define ULPD_SHOW(x) ulpd_sleep_save[ULPD_SLEEP_SAVE_##x]
157 158
158#define MPUI730_SAVE(x) mpui730_sleep_save[MPUI730_SLEEP_SAVE_##x] = omap_readl(x) 159#define MPUI7XX_SAVE(x) mpui7xx_sleep_save[MPUI7XX_SLEEP_SAVE_##x] = omap_readl(x)
159#define MPUI730_RESTORE(x) omap_writel((mpui730_sleep_save[MPUI730_SLEEP_SAVE_##x]), (x)) 160#define MPUI7XX_RESTORE(x) omap_writel((mpui7xx_sleep_save[MPUI7XX_SLEEP_SAVE_##x]), (x))
160#define MPUI730_SHOW(x) mpui730_sleep_save[MPUI730_SLEEP_SAVE_##x] 161#define MPUI7XX_SHOW(x) mpui7xx_sleep_save[MPUI7XX_SLEEP_SAVE_##x]
161 162
162#define MPUI1510_SAVE(x) mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x] = omap_readl(x) 163#define MPUI1510_SAVE(x) mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x] = omap_readl(x)
163#define MPUI1510_RESTORE(x) omap_writel((mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x]), (x)) 164#define MPUI1510_RESTORE(x) omap_writel((mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x]), (x))
@@ -232,24 +233,24 @@ enum mpui1510_save_state {
232#endif 233#endif
233}; 234};
234 235
235enum mpui730_save_state { 236enum mpui7xx_save_state {
236 MPUI730_SLEEP_SAVE_START = 0, 237 MPUI7XX_SLEEP_SAVE_START = 0,
237 /* 238 /*
238 * MPUI registers 32 bits 239 * MPUI registers 32 bits
239 */ 240 */
240 MPUI730_SLEEP_SAVE_MPUI_CTRL, 241 MPUI7XX_SLEEP_SAVE_MPUI_CTRL,
241 MPUI730_SLEEP_SAVE_MPUI_DSP_BOOT_CONFIG, 242 MPUI7XX_SLEEP_SAVE_MPUI_DSP_BOOT_CONFIG,
242 MPUI730_SLEEP_SAVE_MPUI_DSP_API_CONFIG, 243 MPUI7XX_SLEEP_SAVE_MPUI_DSP_API_CONFIG,
243 MPUI730_SLEEP_SAVE_MPUI_DSP_STATUS, 244 MPUI7XX_SLEEP_SAVE_MPUI_DSP_STATUS,
244 MPUI730_SLEEP_SAVE_EMIFF_SDRAM_CONFIG, 245 MPUI7XX_SLEEP_SAVE_EMIFF_SDRAM_CONFIG,
245 MPUI730_SLEEP_SAVE_EMIFS_CONFIG, 246 MPUI7XX_SLEEP_SAVE_EMIFS_CONFIG,
246 MPUI730_SLEEP_SAVE_OMAP_IH1_MIR, 247 MPUI7XX_SLEEP_SAVE_OMAP_IH1_MIR,
247 MPUI730_SLEEP_SAVE_OMAP_IH2_0_MIR, 248 MPUI7XX_SLEEP_SAVE_OMAP_IH2_0_MIR,
248 MPUI730_SLEEP_SAVE_OMAP_IH2_1_MIR, 249 MPUI7XX_SLEEP_SAVE_OMAP_IH2_1_MIR,
249#if defined(CONFIG_ARCH_OMAP730) 250#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
250 MPUI730_SLEEP_SAVE_SIZE 251 MPUI7XX_SLEEP_SAVE_SIZE
251#else 252#else
252 MPUI730_SLEEP_SAVE_SIZE = 0 253 MPUI7XX_SLEEP_SAVE_SIZE = 0
253#endif 254#endif
254}; 255};
255 256
diff --git a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c
index d23979bc0fd5..6e5207c81cf4 100644
--- a/arch/arm/mach-omap1/serial.c
+++ b/arch/arm/mach-omap1/serial.c
@@ -22,10 +22,10 @@
22 22
23#include <asm/mach-types.h> 23#include <asm/mach-types.h>
24 24
25#include <mach/board.h> 25#include <plat/board.h>
26#include <mach/mux.h> 26#include <plat/mux.h>
27#include <mach/gpio.h> 27#include <mach/gpio.h>
28#include <mach/fpga.h> 28#include <plat/fpga.h>
29 29
30static struct clk * uart1_ck; 30static struct clk * uart1_ck;
31static struct clk * uart2_ck; 31static struct clk * uart2_ck;
@@ -64,7 +64,6 @@ static void __init omap_serial_reset(struct plat_serial8250_port *p)
64 64
65static struct plat_serial8250_port serial_platform_data[] = { 65static struct plat_serial8250_port serial_platform_data[] = {
66 { 66 {
67 .membase = OMAP1_IO_ADDRESS(OMAP_UART1_BASE),
68 .mapbase = OMAP_UART1_BASE, 67 .mapbase = OMAP_UART1_BASE,
69 .irq = INT_UART1, 68 .irq = INT_UART1,
70 .flags = UPF_BOOT_AUTOCONF, 69 .flags = UPF_BOOT_AUTOCONF,
@@ -73,7 +72,6 @@ static struct plat_serial8250_port serial_platform_data[] = {
73 .uartclk = OMAP16XX_BASE_BAUD * 16, 72 .uartclk = OMAP16XX_BASE_BAUD * 16,
74 }, 73 },
75 { 74 {
76 .membase = OMAP1_IO_ADDRESS(OMAP_UART2_BASE),
77 .mapbase = OMAP_UART2_BASE, 75 .mapbase = OMAP_UART2_BASE,
78 .irq = INT_UART2, 76 .irq = INT_UART2,
79 .flags = UPF_BOOT_AUTOCONF, 77 .flags = UPF_BOOT_AUTOCONF,
@@ -82,7 +80,6 @@ static struct plat_serial8250_port serial_platform_data[] = {
82 .uartclk = OMAP16XX_BASE_BAUD * 16, 80 .uartclk = OMAP16XX_BASE_BAUD * 16,
83 }, 81 },
84 { 82 {
85 .membase = OMAP1_IO_ADDRESS(OMAP_UART3_BASE),
86 .mapbase = OMAP_UART3_BASE, 83 .mapbase = OMAP_UART3_BASE,
87 .irq = INT_UART3, 84 .irq = INT_UART3,
88 .flags = UPF_BOOT_AUTOCONF, 85 .flags = UPF_BOOT_AUTOCONF,
@@ -110,18 +107,11 @@ void __init omap_serial_init(void)
110{ 107{
111 int i; 108 int i;
112 109
113 if (cpu_is_omap730()) { 110 if (cpu_is_omap7xx()) {
114 serial_platform_data[0].regshift = 0; 111 serial_platform_data[0].regshift = 0;
115 serial_platform_data[1].regshift = 0; 112 serial_platform_data[1].regshift = 0;
116 serial_platform_data[0].irq = INT_730_UART_MODEM_1; 113 serial_platform_data[0].irq = INT_7XX_UART_MODEM_1;
117 serial_platform_data[1].irq = INT_730_UART_MODEM_IRDA_2; 114 serial_platform_data[1].irq = INT_7XX_UART_MODEM_IRDA_2;
118 }
119
120 if (cpu_is_omap850()) {
121 serial_platform_data[0].regshift = 0;
122 serial_platform_data[1].regshift = 0;
123 serial_platform_data[0].irq = INT_850_UART_MODEM_1;
124 serial_platform_data[1].irq = INT_850_UART_MODEM_IRDA_2;
125 } 115 }
126 116
127 if (cpu_is_omap15xx()) { 117 if (cpu_is_omap15xx()) {
@@ -130,7 +120,15 @@ void __init omap_serial_init(void)
130 serial_platform_data[2].uartclk = OMAP1510_BASE_BAUD * 16; 120 serial_platform_data[2].uartclk = OMAP1510_BASE_BAUD * 16;
131 } 121 }
132 122
133 for (i = 0; i < OMAP_MAX_NR_PORTS; i++) { 123 for (i = 0; i < ARRAY_SIZE(serial_platform_data) - 1; i++) {
124
125 /* Static mapping, never released */
126 serial_platform_data[i].membase =
127 ioremap(serial_platform_data[i].mapbase, SZ_2K);
128 if (!serial_platform_data[i].membase) {
129 printk(KERN_ERR "Could not ioremap uart%i\n", i);
130 continue;
131 }
134 switch (i) { 132 switch (i) {
135 case 0: 133 case 0:
136 uart1_ck = clk_get(NULL, "uart1_ck"); 134 uart1_ck = clk_get(NULL, "uart1_ck");
diff --git a/arch/arm/mach-omap1/sleep.S b/arch/arm/mach-omap1/sleep.S
index 22e8568339b0..ef771ce8b030 100644
--- a/arch/arm/mach-omap1/sleep.S
+++ b/arch/arm/mach-omap1/sleep.S
@@ -1,7 +1,7 @@
1/* 1/*
2 * linux/arch/arm/mach-omap1/sleep.S 2 * linux/arch/arm/mach-omap1/sleep.S
3 * 3 *
4 * Low-level OMAP730/1510/1610 sleep/wakeUp support 4 * Low-level OMAP7XX/1510/1610 sleep/wakeUp support
5 * 5 *
6 * Initial SA1110 code: 6 * Initial SA1110 code:
7 * Copyright (c) 2001 Cliff Brake <cbrake@accelent.com> 7 * Copyright (c) 2001 Cliff Brake <cbrake@accelent.com>
@@ -57,8 +57,8 @@
57 * 57 *
58 */ 58 */
59 59
60#if defined(CONFIG_ARCH_OMAP730) 60#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
61ENTRY(omap730_cpu_suspend) 61ENTRY(omap7xx_cpu_suspend)
62 62
63 @ save registers on stack 63 @ save registers on stack
64 stmfd sp!, {r0 - r12, lr} 64 stmfd sp!, {r0 - r12, lr}
@@ -91,13 +91,13 @@ ENTRY(omap730_cpu_suspend)
91 91
92 @ turn off clock domains 92 @ turn off clock domains
93 @ do not disable PERCK (0x04) 93 @ do not disable PERCK (0x04)
94 mov r5, #OMAP730_IDLECT2_SLEEP_VAL & 0xff 94 mov r5, #OMAP7XX_IDLECT2_SLEEP_VAL & 0xff
95 orr r5, r5, #OMAP730_IDLECT2_SLEEP_VAL & 0xff00 95 orr r5, r5, #OMAP7XX_IDLECT2_SLEEP_VAL & 0xff00
96 strh r5, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff] 96 strh r5, [r4, #ARM_IDLECT2_ASM_OFFSET & 0xff]
97 97
98 @ request ARM idle 98 @ request ARM idle
99 mov r3, #OMAP730_IDLECT1_SLEEP_VAL & 0xff 99 mov r3, #OMAP7XX_IDLECT1_SLEEP_VAL & 0xff
100 orr r3, r3, #OMAP730_IDLECT1_SLEEP_VAL & 0xff00 100 orr r3, r3, #OMAP7XX_IDLECT1_SLEEP_VAL & 0xff00
101 strh r3, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff] 101 strh r3, [r4, #ARM_IDLECT1_ASM_OFFSET & 0xff]
102 102
103 @ disable instruction cache 103 @ disable instruction cache
@@ -113,7 +113,7 @@ ENTRY(omap730_cpu_suspend)
113 mov r2, #0 113 mov r2, #0
114 mcr p15, 0, r2, c7, c0, 4 @ wait for interrupt 114 mcr p15, 0, r2, c7, c0, 4 @ wait for interrupt
115/* 115/*
116 * omap730_cpu_suspend()'s resume point. 116 * omap7xx_cpu_suspend()'s resume point.
117 * 117 *
118 * It will just start executing here, so we'll restore stuff from the 118 * It will just start executing here, so we'll restore stuff from the
119 * stack. 119 * stack.
@@ -132,9 +132,9 @@ ENTRY(omap730_cpu_suspend)
132 @ restore regs and return 132 @ restore regs and return
133 ldmfd sp!, {r0 - r12, pc} 133 ldmfd sp!, {r0 - r12, pc}
134 134
135ENTRY(omap730_cpu_suspend_sz) 135ENTRY(omap7xx_cpu_suspend_sz)
136 .word . - omap730_cpu_suspend 136 .word . - omap7xx_cpu_suspend
137#endif /* CONFIG_ARCH_OMAP730 */ 137#endif /* CONFIG_ARCH_OMAP730 || CONFIG_ARCH_OMAP850 */
138 138
139#ifdef CONFIG_ARCH_OMAP15XX 139#ifdef CONFIG_ARCH_OMAP15XX
140ENTRY(omap1510_cpu_suspend) 140ENTRY(omap1510_cpu_suspend)
diff --git a/arch/arm/mach-omap1/timer32k.c b/arch/arm/mach-omap1/timer32k.c
index fd3f7396e162..9ad118563f7d 100644
--- a/arch/arm/mach-omap1/timer32k.c
+++ b/arch/arm/mach-omap1/timer32k.c
@@ -52,7 +52,7 @@
52#include <asm/irq.h> 52#include <asm/irq.h>
53#include <asm/mach/irq.h> 53#include <asm/mach/irq.h>
54#include <asm/mach/time.h> 54#include <asm/mach/time.h>
55#include <mach/dmtimer.h> 55#include <plat/dmtimer.h>
56 56
57struct sys_timer omap_timer; 57struct sys_timer omap_timer;
58 58
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 6f1bbbc4d15f..7309aab305a9 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -65,6 +65,10 @@ config MACH_OMAP3EVM
65 bool "OMAP 3530 EVM board" 65 bool "OMAP 3530 EVM board"
66 depends on ARCH_OMAP3 && ARCH_OMAP34XX 66 depends on ARCH_OMAP3 && ARCH_OMAP34XX
67 67
68config MACH_OMAP3517EVM
69 bool "OMAP3517/ AM3517 EVM board"
70 depends on ARCH_OMAP3 && ARCH_OMAP34XX
71
68config MACH_OMAP3_PANDORA 72config MACH_OMAP3_PANDORA
69 bool "OMAP3 Pandora" 73 bool "OMAP3 Pandora"
70 depends on ARCH_OMAP3 && ARCH_OMAP34XX 74 depends on ARCH_OMAP3 && ARCH_OMAP34XX
@@ -97,6 +101,22 @@ config MACH_OMAP_ZOOM2
97 bool "OMAP3 Zoom2 board" 101 bool "OMAP3 Zoom2 board"
98 depends on ARCH_OMAP3 && ARCH_OMAP34XX 102 depends on ARCH_OMAP3 && ARCH_OMAP34XX
99 103
104config MACH_OMAP_ZOOM3
105 bool "OMAP3630 Zoom3 board"
106 depends on ARCH_OMAP3 && ARCH_OMAP34XX
107
108config MACH_CM_T35
109 bool "CompuLab CM-T35 module"
110 depends on ARCH_OMAP3 && ARCH_OMAP34XX
111
112config MACH_IGEP0020
113 bool "IGEP0020"
114 depends on ARCH_OMAP3 && ARCH_OMAP34XX
115
116config MACH_OMAP_3630SDP
117 bool "OMAP3630 SDP board"
118 depends on ARCH_OMAP3 && ARCH_OMAP34XX
119
100config MACH_OMAP_4430SDP 120config MACH_OMAP_4430SDP
101 bool "OMAP 4430 SDP board" 121 bool "OMAP 4430 SDP board"
102 depends on ARCH_OMAP4 122 depends on ARCH_OMAP4
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index e141cabcfcce..32548a4510c5 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -31,7 +31,7 @@ obj-$(CONFIG_ARCH_OMAP2) += sdrc2xxx.o
31ifeq ($(CONFIG_PM),y) 31ifeq ($(CONFIG_PM),y)
32obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o 32obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o
33obj-$(CONFIG_ARCH_OMAP24XX) += sleep24xx.o 33obj-$(CONFIG_ARCH_OMAP24XX) += sleep24xx.o
34obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o 34obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o cpuidle34xx.o
35obj-$(CONFIG_PM_DEBUG) += pm-debug.o 35obj-$(CONFIG_PM_DEBUG) += pm-debug.o
36endif 36endif
37 37
@@ -47,6 +47,9 @@ obj-$(CONFIG_ARCH_OMAP3) += clock34xx.o
47# EMU peripherals 47# EMU peripherals
48obj-$(CONFIG_OMAP3_EMU) += emu.o 48obj-$(CONFIG_OMAP3_EMU) += emu.o
49 49
50obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox_mach.o
51mailbox_mach-objs := mailbox.o
52
50iommu-y += iommu2.o 53iommu-y += iommu2.o
51iommu-$(CONFIG_ARCH_OMAP3) += omap3-iommu.o 54iommu-$(CONFIG_ARCH_OMAP3) += omap3-iommu.o
52 55
@@ -72,17 +75,33 @@ obj-$(CONFIG_MACH_OMAP_3430SDP) += board-3430sdp.o \
72 mmc-twl4030.o 75 mmc-twl4030.o
73obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o 76obj-$(CONFIG_MACH_NOKIA_N8X0) += board-n8x0.o
74obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o \ 77obj-$(CONFIG_MACH_NOKIA_RX51) += board-rx51.o \
78 board-rx51-sdram.o \
75 board-rx51-peripherals.o \ 79 board-rx51-peripherals.o \
76 mmc-twl4030.o 80 mmc-twl4030.o
77obj-$(CONFIG_MACH_OMAP_ZOOM2) += board-zoom2.o \ 81obj-$(CONFIG_MACH_OMAP_ZOOM2) += board-zoom2.o \
82 board-zoom-peripherals.o \
83 mmc-twl4030.o \
84 board-zoom-debugboard.o
85obj-$(CONFIG_MACH_OMAP_ZOOM3) += board-zoom3.o \
86 board-zoom-peripherals.o \
78 mmc-twl4030.o \ 87 mmc-twl4030.o \
79 board-zoom-debugboard.o 88 board-zoom-debugboard.o
89obj-$(CONFIG_MACH_OMAP_3630SDP) += board-3630sdp.o \
90 board-zoom-peripherals.o \
91 mmc-twl4030.o
92obj-$(CONFIG_MACH_CM_T35) += board-cm-t35.o \
93 mmc-twl4030.o
94obj-$(CONFIG_MACH_IGEP0020) += board-igep0020.o \
95 mmc-twl4030.o
80 96
81obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o 97obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o
82 98
99obj-$(CONFIG_MACH_OMAP3517EVM) += board-am3517evm.o
100
83# Platform specific device init code 101# Platform specific device init code
84obj-y += usb-musb.o 102obj-y += usb-musb.o
85obj-$(CONFIG_MACH_OMAP2_TUSB6010) += usb-tusb6010.o 103obj-$(CONFIG_MACH_OMAP2_TUSB6010) += usb-tusb6010.o
104obj-y += usb-ehci.o
86 105
87onenand-$(CONFIG_MTD_ONENAND_OMAP2) := gpmc-onenand.o 106onenand-$(CONFIG_MTD_ONENAND_OMAP2) := gpmc-onenand.o
88obj-y += $(onenand-m) $(onenand-y) 107obj-y += $(onenand-m) $(onenand-y)
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
index 42217b32f835..db9374bc528b 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -31,12 +31,12 @@
31#include <asm/mach/flash.h> 31#include <asm/mach/flash.h>
32 32
33#include <mach/gpio.h> 33#include <mach/gpio.h>
34#include <mach/mux.h> 34#include <plat/mux.h>
35#include <mach/board.h> 35#include <plat/board.h>
36#include <mach/common.h> 36#include <plat/common.h>
37#include <mach/gpmc.h> 37#include <plat/gpmc.h>
38#include <mach/usb.h> 38#include <plat/usb.h>
39#include <mach/gpmc-smc91x.h> 39#include <plat/gpmc-smc91x.h>
40 40
41#include "mmc-twl4030.h" 41#include "mmc-twl4030.h"
42 42
@@ -221,7 +221,7 @@ static void __init omap_2430sdp_map_io(void)
221MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board") 221MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board")
222 /* Maintainer: Syed Khasim - Texas Instruments Inc */ 222 /* Maintainer: Syed Khasim - Texas Instruments Inc */
223 .phys_io = 0x48000000, 223 .phys_io = 0x48000000,
224 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 224 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
225 .boot_params = 0x80000100, 225 .boot_params = 0x80000100,
226 .map_io = omap_2430sdp_map_io, 226 .map_io = omap_2430sdp_map_io,
227 .init_irq = omap_2430sdp_init_irq, 227 .init_irq = omap_2430sdp_init_irq,
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
index 08e535d92c06..491364e44c7d 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -30,16 +30,16 @@
30#include <asm/mach/arch.h> 30#include <asm/mach/arch.h>
31#include <asm/mach/map.h> 31#include <asm/mach/map.h>
32 32
33#include <mach/mcspi.h> 33#include <plat/mcspi.h>
34#include <mach/mux.h> 34#include <plat/mux.h>
35#include <mach/board.h> 35#include <plat/board.h>
36#include <mach/usb.h> 36#include <plat/usb.h>
37#include <mach/common.h> 37#include <plat/common.h>
38#include <mach/dma.h> 38#include <plat/dma.h>
39#include <mach/gpmc.h> 39#include <plat/gpmc.h>
40 40
41#include <mach/control.h> 41#include <plat/control.h>
42#include <mach/gpmc-smc91x.h> 42#include <plat/gpmc-smc91x.h>
43 43
44#include "sdram-qimonda-hyb18m512160af-6.h" 44#include "sdram-qimonda-hyb18m512160af-6.h"
45#include "mmc-twl4030.h" 45#include "mmc-twl4030.h"
@@ -494,6 +494,18 @@ static void enable_board_wakeup_source(void)
494 omap_cfg_reg(AF26_34XX_SYS_NIRQ); /* T2 interrupt line (keypad) */ 494 omap_cfg_reg(AF26_34XX_SYS_NIRQ); /* T2 interrupt line (keypad) */
495} 495}
496 496
497static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
498
499 .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
500 .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
501 .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
502
503 .phy_reset = true,
504 .reset_gpio_port[0] = 57,
505 .reset_gpio_port[1] = 61,
506 .reset_gpio_port[2] = -EINVAL
507};
508
497static void __init omap_3430sdp_init(void) 509static void __init omap_3430sdp_init(void)
498{ 510{
499 omap3430_i2c_init(); 511 omap3430_i2c_init();
@@ -510,6 +522,7 @@ static void __init omap_3430sdp_init(void)
510 usb_musb_init(); 522 usb_musb_init();
511 board_smc91x_init(); 523 board_smc91x_init();
512 enable_board_wakeup_source(); 524 enable_board_wakeup_source();
525 usb_ehci_init(&ehci_pdata);
513} 526}
514 527
515static void __init omap_3430sdp_map_io(void) 528static void __init omap_3430sdp_map_io(void)
@@ -521,7 +534,7 @@ static void __init omap_3430sdp_map_io(void)
521MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board") 534MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
522 /* Maintainer: Syed Khasim - Texas Instruments Inc */ 535 /* Maintainer: Syed Khasim - Texas Instruments Inc */
523 .phys_io = 0x48000000, 536 .phys_io = 0x48000000,
524 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 537 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
525 .boot_params = 0x80000100, 538 .boot_params = 0x80000100,
526 .map_io = omap_3430sdp_map_io, 539 .map_io = omap_3430sdp_map_io,
527 .init_irq = omap_3430sdp_init_irq, 540 .init_irq = omap_3430sdp_init_irq,
diff --git a/arch/arm/mach-omap2/board-3630sdp.c b/arch/arm/mach-omap2/board-3630sdp.c
new file mode 100755
index 000000000000..348b70b98336
--- /dev/null
+++ b/arch/arm/mach-omap2/board-3630sdp.c
@@ -0,0 +1,101 @@
1/*
2 * Copyright (C) 2009 Texas Instruments Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#include <linux/kernel.h>
10#include <linux/init.h>
11#include <linux/platform_device.h>
12#include <linux/input.h>
13#include <linux/gpio.h>
14
15#include <asm/mach-types.h>
16#include <asm/mach/arch.h>
17
18#include <plat/common.h>
19#include <plat/board.h>
20#include <plat/gpmc-smc91x.h>
21#include <plat/mux.h>
22#include <plat/usb.h>
23
24#include <mach/board-zoom.h>
25
26#include "sdram-hynix-h8mbx00u0mer-0em.h"
27
28#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE)
29
30static struct omap_smc91x_platform_data board_smc91x_data = {
31 .cs = 3,
32 .flags = GPMC_MUX_ADD_DATA | IORESOURCE_IRQ_LOWLEVEL,
33};
34
35static void __init board_smc91x_init(void)
36{
37 board_smc91x_data.gpio_irq = 158;
38 gpmc_smc91x_init(&board_smc91x_data);
39}
40
41#else
42
43static inline void board_smc91x_init(void)
44{
45}
46
47#endif /* defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) */
48
49static void enable_board_wakeup_source(void)
50{
51 omap_cfg_reg(AF26_34XX_SYS_NIRQ); /* T2 interrupt line (keypad) */
52}
53
54static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
55
56 .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
57 .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
58 .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
59
60 .phy_reset = true,
61 .reset_gpio_port[0] = 126,
62 .reset_gpio_port[1] = 61,
63 .reset_gpio_port[2] = -EINVAL
64};
65
66static void __init omap_sdp_map_io(void)
67{
68 omap2_set_globals_343x();
69 omap2_map_common_io();
70}
71
72static struct omap_board_config_kernel sdp_config[] __initdata = {
73};
74
75static void __init omap_sdp_init_irq(void)
76{
77 omap_board_config = sdp_config;
78 omap_board_config_size = ARRAY_SIZE(sdp_config);
79 omap2_init_common_hw(h8mbx00u0mer0em_sdrc_params,
80 h8mbx00u0mer0em_sdrc_params);
81 omap_init_irq();
82 omap_gpio_init();
83}
84
85static void __init omap_sdp_init(void)
86{
87 zoom_peripherals_init();
88 board_smc91x_init();
89 enable_board_wakeup_source();
90 usb_ehci_init(&ehci_pdata);
91}
92
93MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board")
94 .phys_io = 0x48000000,
95 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
96 .boot_params = 0x80000100,
97 .map_io = omap_sdp_map_io,
98 .init_irq = omap_sdp_init_irq,
99 .init_machine = omap_sdp_init,
100 .timer = &omap_timer,
101MACHINE_END
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index 609a5a4a7e29..0c6be6b4a7e2 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -23,10 +23,10 @@
23#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
24#include <asm/mach/map.h> 24#include <asm/mach/map.h>
25 25
26#include <mach/board.h> 26#include <plat/board.h>
27#include <mach/common.h> 27#include <plat/common.h>
28#include <mach/control.h> 28#include <plat/control.h>
29#include <mach/timer-gp.h> 29#include <plat/timer-gp.h>
30#include <asm/hardware/gic.h> 30#include <asm/hardware/gic.h>
31 31
32static struct platform_device sdp4430_lcd_device = { 32static struct platform_device sdp4430_lcd_device = {
@@ -52,8 +52,17 @@ static struct omap_board_config_kernel sdp4430_config[] __initdata = {
52 52
53static void __init gic_init_irq(void) 53static void __init gic_init_irq(void)
54{ 54{
55 gic_dist_init(0, OMAP2_IO_ADDRESS(OMAP44XX_GIC_DIST_BASE), 29); 55 void __iomem *base;
56 gic_cpu_init(0, OMAP2_IO_ADDRESS(OMAP44XX_GIC_CPU_BASE)); 56
57 /* Static mapping, never released */
58 base = ioremap(OMAP44XX_GIC_DIST_BASE, SZ_4K);
59 BUG_ON(!base);
60 gic_dist_init(0, base, 29);
61
62 /* Static mapping, never released */
63 gic_cpu_base_addr = ioremap(OMAP44XX_GIC_CPU_BASE, SZ_512);
64 BUG_ON(!gic_cpu_base_addr);
65 gic_cpu_init(0, gic_cpu_base_addr);
57} 66}
58 67
59static void __init omap_4430sdp_init_irq(void) 68static void __init omap_4430sdp_init_irq(void)
@@ -84,7 +93,7 @@ static void __init omap_4430sdp_map_io(void)
84MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board") 93MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
85 /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */ 94 /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */
86 .phys_io = 0x48000000, 95 .phys_io = 0x48000000,
87 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 96 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
88 .boot_params = 0x80000100, 97 .boot_params = 0x80000100,
89 .map_io = omap_4430sdp_map_io, 98 .map_io = omap_4430sdp_map_io,
90 .init_irq = omap_4430sdp_init_irq, 99 .init_irq = omap_4430sdp_init_irq,
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c
new file mode 100644
index 000000000000..415a13d767cc
--- /dev/null
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -0,0 +1,86 @@
1/*
2 * linux/arch/arm/mach-omap2/board-am3517evm.c
3 *
4 * Copyright (C) 2009 Texas Instruments Incorporated
5 * Author: Ranjith Lohithakshan <ranjithl@ti.com>
6 *
7 * Based on mach-omap2/board-omap3evm.c
8 *
9 * This program is free software; you can redistribute it and/or modify it
10 * under the terms of the GNU General Public License as published by the
11 * Free Software Foundation version 2.
12 *
13 * This program is distributed "as is" WITHOUT ANY WARRANTY of any kind,
14 * whether express or implied; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
17 */
18
19#include <linux/kernel.h>
20#include <linux/init.h>
21#include <linux/platform_device.h>
22#include <linux/gpio.h>
23
24#include <mach/hardware.h>
25#include <asm/mach-types.h>
26#include <asm/mach/arch.h>
27#include <asm/mach/map.h>
28
29#include <plat/board.h>
30#include <plat/common.h>
31#include <plat/usb.h>
32
33/*
34 * Board initialization
35 */
36static struct omap_board_config_kernel am3517_evm_config[] __initdata = {
37};
38
39static struct platform_device *am3517_evm_devices[] __initdata = {
40};
41
42static void __init am3517_evm_init_irq(void)
43{
44 omap_board_config = am3517_evm_config;
45 omap_board_config_size = ARRAY_SIZE(am3517_evm_config);
46
47 omap2_init_common_hw(NULL, NULL);
48 omap_init_irq();
49 omap_gpio_init();
50}
51
52static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
53 .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
54 .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
55 .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
56
57 .phy_reset = true,
58 .reset_gpio_port[0] = 57,
59 .reset_gpio_port[1] = -EINVAL,
60 .reset_gpio_port[2] = -EINVAL
61};
62
63static void __init am3517_evm_init(void)
64{
65 platform_add_devices(am3517_evm_devices,
66 ARRAY_SIZE(am3517_evm_devices));
67
68 omap_serial_init();
69 usb_ehci_init(&ehci_pdata);
70}
71
72static void __init am3517_evm_map_io(void)
73{
74 omap2_set_globals_343x();
75 omap2_map_common_io();
76}
77
78MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM")
79 .phys_io = 0x48000000,
80 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc,
81 .boot_params = 0x80000100,
82 .map_io = am3517_evm_map_io,
83 .init_irq = am3517_evm_init_irq,
84 .init_machine = am3517_evm_init,
85 .timer = &omap_timer,
86MACHINE_END
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c
index a1132288c701..8a2ce77a02ec 100644
--- a/arch/arm/mach-omap2/board-apollon.c
+++ b/arch/arm/mach-omap2/board-apollon.c
@@ -33,13 +33,13 @@
33#include <asm/mach/flash.h> 33#include <asm/mach/flash.h>
34 34
35#include <mach/gpio.h> 35#include <mach/gpio.h>
36#include <mach/led.h> 36#include <plat/led.h>
37#include <mach/mux.h> 37#include <plat/mux.h>
38#include <mach/usb.h> 38#include <plat/usb.h>
39#include <mach/board.h> 39#include <plat/board.h>
40#include <mach/common.h> 40#include <plat/common.h>
41#include <mach/gpmc.h> 41#include <plat/gpmc.h>
42#include <mach/control.h> 42#include <plat/control.h>
43 43
44/* LED & Switch macros */ 44/* LED & Switch macros */
45#define LED0_GPIO13 13 45#define LED0_GPIO13 13
@@ -333,7 +333,7 @@ static void __init omap_apollon_map_io(void)
333MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon") 333MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon")
334 /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ 334 /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */
335 .phys_io = 0x48000000, 335 .phys_io = 0x48000000,
336 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 336 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
337 .boot_params = 0x80000100, 337 .boot_params = 0x80000100,
338 .map_io = omap_apollon_map_io, 338 .map_io = omap_apollon_map_io,
339 .init_irq = omap_apollon_init_irq, 339 .init_irq = omap_apollon_init_irq,
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
new file mode 100644
index 000000000000..22c45290db63
--- /dev/null
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -0,0 +1,507 @@
1/*
2 * board-cm-t35.c (CompuLab CM-T35 module)
3 *
4 * Copyright (C) 2009 CompuLab, Ltd.
5 * Author: Mike Rapoport <mike@compulab.co.il>
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * version 2 as published by the Free Software Foundation.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
19 * 02110-1301 USA
20 *
21 */
22
23#include <linux/kernel.h>
24#include <linux/init.h>
25#include <linux/platform_device.h>
26#include <linux/input.h>
27#include <linux/input/matrix_keypad.h>
28#include <linux/delay.h>
29#include <linux/gpio.h>
30
31#include <linux/i2c/at24.h>
32#include <linux/i2c/twl4030.h>
33#include <linux/regulator/machine.h>
34
35#include <asm/mach-types.h>
36#include <asm/mach/arch.h>
37#include <asm/mach/map.h>
38
39#include <plat/board.h>
40#include <plat/common.h>
41#include <plat/mux.h>
42#include <plat/nand.h>
43#include <plat/gpmc.h>
44#include <plat/usb.h>
45
46#include <mach/hardware.h>
47
48#include "sdram-micron-mt46h32m32lf-6.h"
49#include "mmc-twl4030.h"
50
51#define CM_T35_GPIO_PENDOWN 57
52
53#define CM_T35_SMSC911X_CS 5
54#define CM_T35_SMSC911X_GPIO 163
55#define SB_T35_SMSC911X_CS 4
56#define SB_T35_SMSC911X_GPIO 65
57
58#define NAND_BLOCK_SIZE SZ_128K
59#define GPMC_CS0_BASE 0x60
60#define GPMC_CS0_BASE_ADDR (OMAP34XX_GPMC_VIRT + GPMC_CS0_BASE)
61
62#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
63#include <linux/smsc911x.h>
64
65static struct smsc911x_platform_config cm_t35_smsc911x_config = {
66 .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
67 .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
68 .flags = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS,
69 .phy_interface = PHY_INTERFACE_MODE_MII,
70};
71
72static struct resource cm_t35_smsc911x_resources[] = {
73 {
74 .flags = IORESOURCE_MEM,
75 },
76 {
77 .start = OMAP_GPIO_IRQ(CM_T35_SMSC911X_GPIO),
78 .end = OMAP_GPIO_IRQ(CM_T35_SMSC911X_GPIO),
79 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
80 },
81};
82
83static struct platform_device cm_t35_smsc911x_device = {
84 .name = "smsc911x",
85 .id = 0,
86 .num_resources = ARRAY_SIZE(cm_t35_smsc911x_resources),
87 .resource = cm_t35_smsc911x_resources,
88 .dev = {
89 .platform_data = &cm_t35_smsc911x_config,
90 },
91};
92
93static struct resource sb_t35_smsc911x_resources[] = {
94 {
95 .flags = IORESOURCE_MEM,
96 },
97 {
98 .start = OMAP_GPIO_IRQ(SB_T35_SMSC911X_GPIO),
99 .end = OMAP_GPIO_IRQ(SB_T35_SMSC911X_GPIO),
100 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
101 },
102};
103
104static struct platform_device sb_t35_smsc911x_device = {
105 .name = "smsc911x",
106 .id = 1,
107 .num_resources = ARRAY_SIZE(sb_t35_smsc911x_resources),
108 .resource = sb_t35_smsc911x_resources,
109 .dev = {
110 .platform_data = &cm_t35_smsc911x_config,
111 },
112};
113
114static void __init cm_t35_init_smsc911x(struct platform_device *dev,
115 int cs, int irq_gpio)
116{
117 unsigned long cs_mem_base;
118
119 if (gpmc_cs_request(cs, SZ_16M, &cs_mem_base) < 0) {
120 pr_err("CM-T35: Failed request for GPMC mem for smsc911x\n");
121 return;
122 }
123
124 dev->resource[0].start = cs_mem_base + 0x0;
125 dev->resource[0].end = cs_mem_base + 0xff;
126
127 if ((gpio_request(irq_gpio, "ETH IRQ") == 0) &&
128 (gpio_direction_input(irq_gpio) == 0)) {
129 gpio_export(irq_gpio, 0);
130 } else {
131 pr_err("CM-T35: could not obtain gpio for SMSC911X IRQ\n");
132 return;
133 }
134
135 platform_device_register(dev);
136}
137
138static void __init cm_t35_init_ethernet(void)
139{
140 cm_t35_init_smsc911x(&cm_t35_smsc911x_device,
141 CM_T35_SMSC911X_CS, CM_T35_SMSC911X_GPIO);
142 cm_t35_init_smsc911x(&sb_t35_smsc911x_device,
143 SB_T35_SMSC911X_CS, SB_T35_SMSC911X_GPIO);
144}
145#else
146static inline void __init cm_t35_init_ethernet(void) { return; }
147#endif
148
149#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
150#include <linux/leds.h>
151
152static struct gpio_led cm_t35_leds[] = {
153 [0] = {
154 .gpio = 186,
155 .name = "cm-t35:green",
156 .default_trigger = "heartbeat",
157 .active_low = 0,
158 },
159};
160
161static struct gpio_led_platform_data cm_t35_led_pdata = {
162 .num_leds = ARRAY_SIZE(cm_t35_leds),
163 .leds = cm_t35_leds,
164};
165
166static struct platform_device cm_t35_led_device = {
167 .name = "leds-gpio",
168 .id = -1,
169 .dev = {
170 .platform_data = &cm_t35_led_pdata,
171 },
172};
173
174static void __init cm_t35_init_led(void)
175{
176 platform_device_register(&cm_t35_led_device);
177}
178#else
179static inline void cm_t35_init_led(void) {}
180#endif
181
182#if defined(CONFIG_MTD_NAND_OMAP2) || defined(CONFIG_MTD_NAND_OMAP2_MODULE)
183#include <linux/mtd/mtd.h>
184#include <linux/mtd/nand.h>
185#include <linux/mtd/partitions.h>
186
187static struct mtd_partition cm_t35_nand_partitions[] = {
188 {
189 .name = "xloader",
190 .offset = 0, /* Offset = 0x00000 */
191 .size = 4 * NAND_BLOCK_SIZE,
192 .mask_flags = MTD_WRITEABLE
193 },
194 {
195 .name = "uboot",
196 .offset = MTDPART_OFS_APPEND, /* Offset = 0x80000 */
197 .size = 15 * NAND_BLOCK_SIZE,
198 },
199 {
200 .name = "uboot environment",
201 .offset = MTDPART_OFS_APPEND, /* Offset = 0x260000 */
202 .size = 2 * NAND_BLOCK_SIZE,
203 },
204 {
205 .name = "linux",
206 .offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */
207 .size = 32 * NAND_BLOCK_SIZE,
208 },
209 {
210 .name = "rootfs",
211 .offset = MTDPART_OFS_APPEND, /* Offset = 0x680000 */
212 .size = MTDPART_SIZ_FULL,
213 },
214};
215
216static struct omap_nand_platform_data cm_t35_nand_data = {
217 .parts = cm_t35_nand_partitions,
218 .nr_parts = ARRAY_SIZE(cm_t35_nand_partitions),
219 .dma_channel = -1, /* disable DMA in OMAP NAND driver */
220 .cs = 0,
221 .gpmc_cs_baseaddr = (void __iomem *)GPMC_CS0_BASE_ADDR,
222 .gpmc_baseaddr = (void __iomem *)OMAP34XX_GPMC_VIRT,
223
224};
225
226static struct resource cm_t35_nand_resource = {
227 .flags = IORESOURCE_MEM,
228};
229
230static struct platform_device cm_t35_nand_device = {
231 .name = "omap2-nand",
232 .id = -1,
233 .num_resources = 1,
234 .resource = &cm_t35_nand_resource,
235 .dev = {
236 .platform_data = &cm_t35_nand_data,
237 },
238};
239
240static void __init cm_t35_init_nand(void)
241{
242 if (platform_device_register(&cm_t35_nand_device) < 0)
243 pr_err("CM-T35: Unable to register NAND device\n");
244}
245#else
246static inline void cm_t35_init_nand(void) {}
247#endif
248
249#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
250 defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
251#include <linux/spi/spi.h>
252#include <linux/spi/ads7846.h>
253
254#include <plat/mcspi.h>
255
256static struct omap2_mcspi_device_config ads7846_mcspi_config = {
257 .turbo_mode = 0,
258 .single_channel = 1, /* 0: slave, 1: master */
259};
260
261static int ads7846_get_pendown_state(void)
262{
263 return !gpio_get_value(CM_T35_GPIO_PENDOWN);
264}
265
266static struct ads7846_platform_data ads7846_config = {
267 .x_max = 0x0fff,
268 .y_max = 0x0fff,
269 .x_plate_ohms = 180,
270 .pressure_max = 255,
271 .debounce_max = 10,
272 .debounce_tol = 3,
273 .debounce_rep = 1,
274 .get_pendown_state = ads7846_get_pendown_state,
275 .keep_vref_on = 1,
276};
277
278static struct spi_board_info cm_t35_spi_board_info[] __initdata = {
279 {
280 .modalias = "ads7846",
281 .bus_num = 1,
282 .chip_select = 0,
283 .max_speed_hz = 1500000,
284 .controller_data = &ads7846_mcspi_config,
285 .irq = OMAP_GPIO_IRQ(CM_T35_GPIO_PENDOWN),
286 .platform_data = &ads7846_config,
287 },
288};
289
290static void __init cm_t35_init_ads7846(void)
291{
292 if ((gpio_request(CM_T35_GPIO_PENDOWN, "ADS7846_PENDOWN") == 0) &&
293 (gpio_direction_input(CM_T35_GPIO_PENDOWN) == 0)) {
294 gpio_export(CM_T35_GPIO_PENDOWN, 0);
295 } else {
296 pr_err("CM-T35: could not obtain gpio for ADS7846_PENDOWN\n");
297 return;
298 }
299
300 spi_register_board_info(cm_t35_spi_board_info,
301 ARRAY_SIZE(cm_t35_spi_board_info));
302}
303#else
304static inline void cm_t35_init_ads7846(void) {}
305#endif
306
307static struct regulator_consumer_supply cm_t35_vmmc1_supply = {
308 .supply = "vmmc",
309};
310
311static struct regulator_consumer_supply cm_t35_vsim_supply = {
312 .supply = "vmmc_aux",
313};
314
315/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
316static struct regulator_init_data cm_t35_vmmc1 = {
317 .constraints = {
318 .min_uV = 1850000,
319 .max_uV = 3150000,
320 .valid_modes_mask = REGULATOR_MODE_NORMAL
321 | REGULATOR_MODE_STANDBY,
322 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
323 | REGULATOR_CHANGE_MODE
324 | REGULATOR_CHANGE_STATUS,
325 },
326 .num_consumer_supplies = 1,
327 .consumer_supplies = &cm_t35_vmmc1_supply,
328};
329
330/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
331static struct regulator_init_data cm_t35_vsim = {
332 .constraints = {
333 .min_uV = 1800000,
334 .max_uV = 3000000,
335 .valid_modes_mask = REGULATOR_MODE_NORMAL
336 | REGULATOR_MODE_STANDBY,
337 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
338 | REGULATOR_CHANGE_MODE
339 | REGULATOR_CHANGE_STATUS,
340 },
341 .num_consumer_supplies = 1,
342 .consumer_supplies = &cm_t35_vsim_supply,
343};
344
345static struct twl4030_usb_data cm_t35_usb_data = {
346 .usb_mode = T2_USB_MODE_ULPI,
347};
348
349static int cm_t35_keymap[] = {
350 KEY(0, 0, KEY_A), KEY(0, 1, KEY_B), KEY(0, 2, KEY_LEFT),
351 KEY(1, 0, KEY_UP), KEY(1, 1, KEY_ENTER), KEY(1, 2, KEY_DOWN),
352 KEY(2, 0, KEY_RIGHT), KEY(2, 1, KEY_C), KEY(2, 2, KEY_D),
353};
354
355static struct matrix_keymap_data cm_t35_keymap_data = {
356 .keymap = cm_t35_keymap,
357 .keymap_size = ARRAY_SIZE(cm_t35_keymap),
358};
359
360static struct twl4030_keypad_data cm_t35_kp_data = {
361 .keymap_data = &cm_t35_keymap_data,
362 .rows = 3,
363 .cols = 3,
364 .rep = 1,
365};
366
367static struct twl4030_hsmmc_info mmc[] = {
368 {
369 .mmc = 1,
370 .wires = 4,
371 .gpio_cd = -EINVAL,
372 .gpio_wp = -EINVAL,
373
374 },
375 {
376 .mmc = 2,
377 .wires = 4,
378 .transceiver = 1,
379 .gpio_cd = -EINVAL,
380 .gpio_wp = -EINVAL,
381 .ocr_mask = 0x00100000, /* 3.3V */
382 },
383 {} /* Terminator */
384};
385
386static struct ehci_hcd_omap_platform_data ehci_pdata = {
387 .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
388 .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
389 .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
390
391 .phy_reset = true,
392 .reset_gpio_port[0] = -EINVAL,
393 .reset_gpio_port[1] = -EINVAL,
394 .reset_gpio_port[2] = -EINVAL
395};
396
397static int cm_t35_twl_gpio_setup(struct device *dev, unsigned gpio,
398 unsigned ngpio)
399{
400 int wlan_rst = gpio + 2;
401
402 if ((gpio_request(wlan_rst, "WLAN RST") == 0) &&
403 (gpio_direction_output(wlan_rst, 1) == 0)) {
404 gpio_export(wlan_rst, 0);
405
406 udelay(10);
407 gpio_set_value(wlan_rst, 0);
408 udelay(10);
409 gpio_set_value(wlan_rst, 1);
410 } else {
411 pr_err("CM-T35: could not obtain gpio for WiFi reset\n");
412 }
413
414 /* gpio + 0 is "mmc0_cd" (input/IRQ) */
415 mmc[0].gpio_cd = gpio + 0;
416 twl4030_mmc_init(mmc);
417
418 /* link regulators to MMC adapters */
419 cm_t35_vmmc1_supply.dev = mmc[0].dev;
420 cm_t35_vsim_supply.dev = mmc[0].dev;
421
422 /* setup USB with proper PHY reset GPIOs */
423 ehci_pdata.reset_gpio_port[0] = gpio + 6;
424 ehci_pdata.reset_gpio_port[1] = gpio + 7;
425
426 usb_ehci_init(&ehci_pdata);
427
428 return 0;
429}
430
431static struct twl4030_gpio_platform_data cm_t35_gpio_data = {
432 .gpio_base = OMAP_MAX_GPIO_LINES,
433 .irq_base = TWL4030_GPIO_IRQ_BASE,
434 .irq_end = TWL4030_GPIO_IRQ_END,
435 .setup = cm_t35_twl_gpio_setup,
436};
437
438static struct twl4030_platform_data cm_t35_twldata = {
439 .irq_base = TWL4030_IRQ_BASE,
440 .irq_end = TWL4030_IRQ_END,
441
442 /* platform_data for children goes here */
443 .keypad = &cm_t35_kp_data,
444 .usb = &cm_t35_usb_data,
445 .gpio = &cm_t35_gpio_data,
446 .vmmc1 = &cm_t35_vmmc1,
447 .vsim = &cm_t35_vsim,
448};
449
450static struct i2c_board_info __initdata cm_t35_i2c_boardinfo[] = {
451 {
452 I2C_BOARD_INFO("tps65930", 0x48),
453 .flags = I2C_CLIENT_WAKE,
454 .irq = INT_34XX_SYS_NIRQ,
455 .platform_data = &cm_t35_twldata,
456 },
457};
458
459static void __init cm_t35_init_i2c(void)
460{
461 omap_register_i2c_bus(1, 2600, cm_t35_i2c_boardinfo,
462 ARRAY_SIZE(cm_t35_i2c_boardinfo));
463}
464
465static struct omap_board_config_kernel cm_t35_config[] __initdata = {
466};
467
468static void __init cm_t35_init_irq(void)
469{
470 omap_board_config = cm_t35_config;
471 omap_board_config_size = ARRAY_SIZE(cm_t35_config);
472
473 omap2_init_common_hw(mt46h32m32lf6_sdrc_params,
474 mt46h32m32lf6_sdrc_params);
475 omap_init_irq();
476 omap_gpio_init();
477}
478
479static void __init cm_t35_map_io(void)
480{
481 omap2_set_globals_343x();
482 omap2_map_common_io();
483}
484
485static void __init cm_t35_init(void)
486{
487 omap_serial_init();
488 cm_t35_init_i2c();
489 cm_t35_init_nand();
490 cm_t35_init_ads7846();
491 cm_t35_init_ethernet();
492 cm_t35_init_led();
493
494 usb_musb_init();
495
496 omap_cfg_reg(AF26_34XX_SYS_NIRQ);
497}
498
499MACHINE_START(CM_T35, "Compulab CM-T35")
500 .phys_io = 0x48000000,
501 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc,
502 .boot_params = 0x80000100,
503 .map_io = cm_t35_map_io,
504 .init_irq = cm_t35_init_irq,
505 .init_machine = cm_t35_init,
506 .timer = &omap_timer,
507MACHINE_END
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index 2e09a1c444cb..7e6e6ca88be5 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -26,10 +26,10 @@
26#include <asm/mach/map.h> 26#include <asm/mach/map.h>
27 27
28#include <mach/gpio.h> 28#include <mach/gpio.h>
29#include <mach/mux.h> 29#include <plat/mux.h>
30#include <mach/usb.h> 30#include <plat/usb.h>
31#include <mach/board.h> 31#include <plat/board.h>
32#include <mach/common.h> 32#include <plat/common.h>
33 33
34static struct omap_board_config_kernel generic_config[] = { 34static struct omap_board_config_kernel generic_config[] = {
35}; 35};
@@ -56,7 +56,7 @@ static void __init omap_generic_map_io(void)
56MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx") 56MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx")
57 /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */ 57 /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */
58 .phys_io = 0x48000000, 58 .phys_io = 0x48000000,
59 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 59 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
60 .boot_params = 0x80000100, 60 .boot_params = 0x80000100,
61 .map_io = omap_generic_map_io, 61 .map_io = omap_generic_map_io,
62 .init_irq = omap_generic_init_irq, 62 .init_irq = omap_generic_init_irq,
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
index eaa02d012c5c..cfb7f1257d20 100644
--- a/arch/arm/mach-omap2/board-h4.c
+++ b/arch/arm/mach-omap2/board-h4.c
@@ -31,16 +31,16 @@
31#include <asm/mach/map.h> 31#include <asm/mach/map.h>
32#include <asm/mach/flash.h> 32#include <asm/mach/flash.h>
33 33
34#include <mach/control.h> 34#include <plat/control.h>
35#include <mach/gpio.h> 35#include <mach/gpio.h>
36#include <mach/mux.h> 36#include <plat/mux.h>
37#include <mach/usb.h> 37#include <plat/usb.h>
38#include <mach/board.h> 38#include <plat/board.h>
39#include <mach/common.h> 39#include <plat/common.h>
40#include <mach/keypad.h> 40#include <plat/keypad.h>
41#include <mach/menelaus.h> 41#include <plat/menelaus.h>
42#include <mach/dma.h> 42#include <plat/dma.h>
43#include <mach/gpmc.h> 43#include <plat/gpmc.h>
44 44
45#define H4_FLASH_CS 0 45#define H4_FLASH_CS 0
46#define H4_SMC91X_CS 1 46#define H4_SMC91X_CS 1
@@ -376,7 +376,7 @@ static void __init omap_h4_map_io(void)
376MACHINE_START(OMAP_H4, "OMAP2420 H4 board") 376MACHINE_START(OMAP_H4, "OMAP2420 H4 board")
377 /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */ 377 /* Maintainer: Paul Mundt <paul.mundt@nokia.com> */
378 .phys_io = 0x48000000, 378 .phys_io = 0x48000000,
379 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 379 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
380 .boot_params = 0x80000100, 380 .boot_params = 0x80000100,
381 .map_io = omap_h4_map_io, 381 .map_io = omap_h4_map_io,
382 .init_irq = omap_h4_init_irq, 382 .init_irq = omap_h4_init_irq,
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
new file mode 100644
index 000000000000..fa62e80c13b7
--- /dev/null
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -0,0 +1,251 @@
1/*
2 * Copyright (C) 2009 Integration Software and Electronic Engineering.
3 *
4 * Modified from mach-omap2/board-generic.c
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 version 2 as
8 * published by the Free Software Foundation.
9 */
10
11#include <linux/kernel.h>
12#include <linux/init.h>
13#include <linux/platform_device.h>
14#include <linux/delay.h>
15#include <linux/err.h>
16#include <linux/clk.h>
17#include <linux/io.h>
18#include <linux/gpio.h>
19#include <linux/interrupt.h>
20
21#include <linux/regulator/machine.h>
22#include <linux/i2c/twl4030.h>
23
24#include <asm/mach-types.h>
25#include <asm/mach/arch.h>
26
27#include <plat/board.h>
28#include <plat/common.h>
29#include <plat/gpmc.h>
30#include <plat/mux.h>
31#include <plat/usb.h>
32
33#include "mmc-twl4030.h"
34
35#define IGEP2_SMSC911X_CS 5
36#define IGEP2_SMSC911X_GPIO 176
37#define IGEP2_GPIO_USBH_NRESET 24
38#define IGEP2_GPIO_LED0_RED 26
39#define IGEP2_GPIO_LED0_GREEN 27
40#define IGEP2_GPIO_LED1_RED 28
41
42#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
43
44#include <linux/smsc911x.h>
45
46static struct smsc911x_platform_config igep2_smsc911x_config = {
47 .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
48 .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
49 .flags = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS ,
50 .phy_interface = PHY_INTERFACE_MODE_MII,
51};
52
53static struct resource igep2_smsc911x_resources[] = {
54 {
55 .flags = IORESOURCE_MEM,
56 },
57 {
58 .start = OMAP_GPIO_IRQ(IGEP2_SMSC911X_GPIO),
59 .end = OMAP_GPIO_IRQ(IGEP2_SMSC911X_GPIO),
60 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL,
61 },
62};
63
64static struct platform_device igep2_smsc911x_device = {
65 .name = "smsc911x",
66 .id = 0,
67 .num_resources = ARRAY_SIZE(igep2_smsc911x_resources),
68 .resource = igep2_smsc911x_resources,
69 .dev = {
70 .platform_data = &igep2_smsc911x_config,
71 },
72};
73
74static inline void __init igep2_init_smsc911x(void)
75{
76 unsigned long cs_mem_base;
77
78 if (gpmc_cs_request(IGEP2_SMSC911X_CS, SZ_16M, &cs_mem_base) < 0) {
79 pr_err("IGEP v2: Failed request for GPMC mem for smsc911x\n");
80 gpmc_cs_free(IGEP2_SMSC911X_CS);
81 return;
82 }
83
84 igep2_smsc911x_resources[0].start = cs_mem_base + 0x0;
85 igep2_smsc911x_resources[0].end = cs_mem_base + 0xff;
86
87 if ((gpio_request(IGEP2_SMSC911X_GPIO, "SMSC911X IRQ") == 0) &&
88 (gpio_direction_input(IGEP2_SMSC911X_GPIO) == 0)) {
89 gpio_export(IGEP2_SMSC911X_GPIO, 0);
90 } else {
91 pr_err("IGEP v2: Could not obtain gpio for for SMSC911X IRQ\n");
92 return;
93 }
94
95 platform_device_register(&igep2_smsc911x_device);
96}
97
98#else
99static inline void __init igep2_init_smsc911x(void) { }
100#endif
101
102static struct omap_board_config_kernel igep2_config[] __initdata = {
103};
104
105static struct regulator_consumer_supply igep2_vmmc1_supply = {
106 .supply = "vmmc",
107};
108
109/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
110static struct regulator_init_data igep2_vmmc1 = {
111 .constraints = {
112 .min_uV = 1850000,
113 .max_uV = 3150000,
114 .valid_modes_mask = REGULATOR_MODE_NORMAL
115 | REGULATOR_MODE_STANDBY,
116 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
117 | REGULATOR_CHANGE_MODE
118 | REGULATOR_CHANGE_STATUS,
119 },
120 .num_consumer_supplies = 1,
121 .consumer_supplies = &igep2_vmmc1_supply,
122};
123
124static struct twl4030_hsmmc_info mmc[] = {
125 {
126 .mmc = 1,
127 .wires = 4,
128 .gpio_cd = -EINVAL,
129 .gpio_wp = -EINVAL,
130 },
131 {
132 .mmc = 2,
133 .wires = 4,
134 .gpio_cd = -EINVAL,
135 .gpio_wp = -EINVAL,
136 },
137 {} /* Terminator */
138};
139
140static int igep2_twl_gpio_setup(struct device *dev,
141 unsigned gpio, unsigned ngpio)
142{
143 /* gpio + 0 is "mmc0_cd" (input/IRQ) */
144 mmc[0].gpio_cd = gpio + 0;
145 twl4030_mmc_init(mmc);
146
147 /* link regulators to MMC adapters ... we "know" the
148 * regulators will be set up only *after* we return.
149 */
150 igep2_vmmc1_supply.dev = mmc[0].dev;
151
152 return 0;
153};
154
155static struct twl4030_gpio_platform_data igep2_gpio_data = {
156 .gpio_base = OMAP_MAX_GPIO_LINES,
157 .irq_base = TWL4030_GPIO_IRQ_BASE,
158 .irq_end = TWL4030_GPIO_IRQ_END,
159 .use_leds = false,
160 .setup = igep2_twl_gpio_setup,
161};
162
163static struct twl4030_usb_data igep2_usb_data = {
164 .usb_mode = T2_USB_MODE_ULPI,
165};
166
167static void __init igep2_init_irq(void)
168{
169 omap_board_config = igep2_config;
170 omap_board_config_size = ARRAY_SIZE(igep2_config);
171 omap2_init_common_hw(NULL, NULL);
172 omap_init_irq();
173 omap_gpio_init();
174}
175
176static struct twl4030_platform_data igep2_twldata = {
177 .irq_base = TWL4030_IRQ_BASE,
178 .irq_end = TWL4030_IRQ_END,
179
180 /* platform_data for children goes here */
181 .usb = &igep2_usb_data,
182 .gpio = &igep2_gpio_data,
183 .vmmc1 = &igep2_vmmc1,
184
185};
186
187static struct i2c_board_info __initdata igep2_i2c_boardinfo[] = {
188 {
189 I2C_BOARD_INFO("twl4030", 0x48),
190 .flags = I2C_CLIENT_WAKE,
191 .irq = INT_34XX_SYS_NIRQ,
192 .platform_data = &igep2_twldata,
193 },
194};
195
196static int __init igep2_i2c_init(void)
197{
198 omap_register_i2c_bus(1, 2600, igep2_i2c_boardinfo,
199 ARRAY_SIZE(igep2_i2c_boardinfo));
200 /* Bus 3 is attached to the DVI port where devices like the pico DLP
201 * projector don't work reliably with 400kHz */
202 omap_register_i2c_bus(3, 100, NULL, 0);
203 return 0;
204}
205
206static void __init igep2_init(void)
207{
208 igep2_i2c_init();
209 omap_serial_init();
210 usb_musb_init();
211
212 igep2_init_smsc911x();
213
214 /* GPIO userspace leds */
215 if ((gpio_request(IGEP2_GPIO_LED0_RED, "GPIO_LED0_RED") == 0) &&
216 (gpio_direction_output(IGEP2_GPIO_LED0_RED, 1) == 0)) {
217 gpio_export(IGEP2_GPIO_LED0_RED, 0);
218 gpio_set_value(IGEP2_GPIO_LED0_RED, 0);
219 } else
220 pr_warning("IGEP v2: Could not obtain gpio GPIO_LED0_RED\n");
221
222 if ((gpio_request(IGEP2_GPIO_LED0_GREEN, "GPIO_LED0_GREEN") == 0) &&
223 (gpio_direction_output(IGEP2_GPIO_LED0_GREEN, 1) == 0)) {
224 gpio_export(IGEP2_GPIO_LED0_GREEN, 0);
225 gpio_set_value(IGEP2_GPIO_LED0_GREEN, 0);
226 } else
227 pr_warning("IGEP v2: Could not obtain gpio GPIO_LED0_GREEN\n");
228
229 if ((gpio_request(IGEP2_GPIO_LED1_RED, "GPIO_LED1_RED") == 0) &&
230 (gpio_direction_output(IGEP2_GPIO_LED1_RED, 1) == 0)) {
231 gpio_export(IGEP2_GPIO_LED1_RED, 0);
232 gpio_set_value(IGEP2_GPIO_LED1_RED, 0);
233 } else
234 pr_warning("IGEP v2: Could not obtain gpio GPIO_LED1_RED\n");
235}
236
237static void __init igep2_map_io(void)
238{
239 omap2_set_globals_343x();
240 omap2_map_common_io();
241}
242
243MACHINE_START(IGEP0020, "IGEP v2 board")
244 .phys_io = 0x48000000,
245 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
246 .boot_params = 0x80000100,
247 .map_io = igep2_map_io,
248 .init_irq = igep2_init_irq,
249 .init_machine = igep2_init,
250 .timer = &omap_timer,
251MACHINE_END
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
index d57ec2f4d0a9..c062238fe881 100644
--- a/arch/arm/mach-omap2/board-ldp.c
+++ b/arch/arm/mach-omap2/board-ldp.c
@@ -33,15 +33,15 @@
33#include <asm/mach/arch.h> 33#include <asm/mach/arch.h>
34#include <asm/mach/map.h> 34#include <asm/mach/map.h>
35 35
36#include <mach/mcspi.h> 36#include <plat/mcspi.h>
37#include <mach/gpio.h> 37#include <mach/gpio.h>
38#include <mach/board.h> 38#include <plat/board.h>
39#include <mach/common.h> 39#include <plat/common.h>
40#include <mach/gpmc.h> 40#include <plat/gpmc.h>
41 41
42#include <asm/delay.h> 42#include <asm/delay.h>
43#include <mach/control.h> 43#include <plat/control.h>
44#include <mach/usb.h> 44#include <plat/usb.h>
45 45
46#include "mmc-twl4030.h" 46#include "mmc-twl4030.h"
47 47
@@ -399,7 +399,7 @@ static void __init omap_ldp_map_io(void)
399 399
400MACHINE_START(OMAP_LDP, "OMAP LDP board") 400MACHINE_START(OMAP_LDP, "OMAP LDP board")
401 .phys_io = 0x48000000, 401 .phys_io = 0x48000000,
402 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 402 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
403 .boot_params = 0x80000100, 403 .boot_params = 0x80000100,
404 .map_io = omap_ldp_map_io, 404 .map_io = omap_ldp_map_io,
405 .init_irq = omap_ldp_init_irq, 405 .init_irq = omap_ldp_init_irq,
diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c
index 8341632d260b..764ab1ed576d 100644
--- a/arch/arm/mach-omap2/board-n8x0.c
+++ b/arch/arm/mach-omap2/board-n8x0.c
@@ -23,12 +23,12 @@
23#include <asm/mach/arch.h> 23#include <asm/mach/arch.h>
24#include <asm/mach-types.h> 24#include <asm/mach-types.h>
25 25
26#include <mach/board.h> 26#include <plat/board.h>
27#include <mach/common.h> 27#include <plat/common.h>
28#include <mach/irqs.h> 28#include <mach/irqs.h>
29#include <mach/mcspi.h> 29#include <plat/mcspi.h>
30#include <mach/onenand.h> 30#include <plat/onenand.h>
31#include <mach/serial.h> 31#include <plat/serial.h>
32 32
33static struct omap2_mcspi_device_config p54spi_mcspi_config = { 33static struct omap2_mcspi_device_config p54spi_mcspi_config = {
34 .turbo_mode = 0, 34 .turbo_mode = 0,
@@ -121,7 +121,7 @@ static void __init n8x0_init_machine(void)
121 121
122MACHINE_START(NOKIA_N800, "Nokia N800") 122MACHINE_START(NOKIA_N800, "Nokia N800")
123 .phys_io = 0x48000000, 123 .phys_io = 0x48000000,
124 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 124 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
125 .boot_params = 0x80000100, 125 .boot_params = 0x80000100,
126 .map_io = n8x0_map_io, 126 .map_io = n8x0_map_io,
127 .init_irq = n8x0_init_irq, 127 .init_irq = n8x0_init_irq,
@@ -131,7 +131,7 @@ MACHINE_END
131 131
132MACHINE_START(NOKIA_N810, "Nokia N810") 132MACHINE_START(NOKIA_N810, "Nokia N810")
133 .phys_io = 0x48000000, 133 .phys_io = 0x48000000,
134 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 134 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
135 .boot_params = 0x80000100, 135 .boot_params = 0x80000100,
136 .map_io = n8x0_map_io, 136 .map_io = n8x0_map_io,
137 .init_irq = n8x0_init_irq, 137 .init_irq = n8x0_init_irq,
@@ -141,7 +141,7 @@ MACHINE_END
141 141
142MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX") 142MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX")
143 .phys_io = 0x48000000, 143 .phys_io = 0x48000000,
144 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 144 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
145 .boot_params = 0x80000100, 145 .boot_params = 0x80000100,
146 .map_io = n8x0_map_io, 146 .map_io = n8x0_map_io,
147 .init_irq = n8x0_init_irq, 147 .init_irq = n8x0_init_irq,
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index af411e11dddf..41480bd0e58a 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -37,13 +37,13 @@
37#include <asm/mach/map.h> 37#include <asm/mach/map.h>
38#include <asm/mach/flash.h> 38#include <asm/mach/flash.h>
39 39
40#include <mach/board.h> 40#include <plat/board.h>
41#include <mach/common.h> 41#include <plat/common.h>
42#include <mach/gpmc.h> 42#include <plat/gpmc.h>
43#include <mach/nand.h> 43#include <plat/nand.h>
44#include <mach/mux.h> 44#include <plat/mux.h>
45#include <mach/usb.h> 45#include <plat/usb.h>
46#include <mach/timer-gp.h> 46#include <plat/timer-gp.h>
47 47
48#include "mmc-twl4030.h" 48#include "mmc-twl4030.h"
49 49
@@ -410,6 +410,18 @@ static void __init omap3beagle_flash_init(void)
410 } 410 }
411} 411}
412 412
413static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
414
415 .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
416 .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
417 .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
418
419 .phy_reset = true,
420 .reset_gpio_port[0] = -EINVAL,
421 .reset_gpio_port[1] = 147,
422 .reset_gpio_port[2] = -EINVAL
423};
424
413static void __init omap3_beagle_init(void) 425static void __init omap3_beagle_init(void)
414{ 426{
415 omap3_beagle_i2c_init(); 427 omap3_beagle_i2c_init();
@@ -423,6 +435,7 @@ static void __init omap3_beagle_init(void)
423 gpio_direction_output(170, true); 435 gpio_direction_output(170, true);
424 436
425 usb_musb_init(); 437 usb_musb_init();
438 usb_ehci_init(&ehci_pdata);
426 omap3beagle_flash_init(); 439 omap3beagle_flash_init();
427 440
428 /* Ensure SDRC pins are mux'd for self-refresh */ 441 /* Ensure SDRC pins are mux'd for self-refresh */
@@ -439,7 +452,7 @@ static void __init omap3_beagle_map_io(void)
439MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board") 452MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
440 /* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */ 453 /* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */
441 .phys_io = 0x48000000, 454 .phys_io = 0x48000000,
442 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 455 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
443 .boot_params = 0x80000100, 456 .boot_params = 0x80000100,
444 .map_io = omap3_beagle_map_io, 457 .map_io = omap3_beagle_map_io,
445 .init_irq = omap3_beagle_init_irq, 458 .init_irq = omap3_beagle_init_irq,
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index 25ca5f6a0d3d..5efc2e9068db 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -22,34 +22,74 @@
22#include <linux/input.h> 22#include <linux/input.h>
23#include <linux/input/matrix_keypad.h> 23#include <linux/input/matrix_keypad.h>
24#include <linux/leds.h> 24#include <linux/leds.h>
25#include <linux/interrupt.h>
25 26
26#include <linux/spi/spi.h> 27#include <linux/spi/spi.h>
27#include <linux/spi/ads7846.h> 28#include <linux/spi/ads7846.h>
28#include <linux/i2c/twl4030.h> 29#include <linux/i2c/twl4030.h>
29#include <linux/usb/otg.h> 30#include <linux/usb/otg.h>
31#include <linux/smsc911x.h>
32
33#include <linux/regulator/machine.h>
30 34
31#include <mach/hardware.h> 35#include <mach/hardware.h>
32#include <asm/mach-types.h> 36#include <asm/mach-types.h>
33#include <asm/mach/arch.h> 37#include <asm/mach/arch.h>
34#include <asm/mach/map.h> 38#include <asm/mach/map.h>
35 39
36#include <mach/board.h> 40#include <plat/board.h>
37#include <mach/mux.h> 41#include <plat/mux.h>
38#include <mach/usb.h> 42#include <plat/usb.h>
39#include <mach/common.h> 43#include <plat/common.h>
40#include <mach/mcspi.h> 44#include <plat/mcspi.h>
41 45
42#include "sdram-micron-mt46h32m32lf-6.h" 46#include "sdram-micron-mt46h32m32lf-6.h"
43#include "mmc-twl4030.h" 47#include "mmc-twl4030.h"
44 48
45#define OMAP3_EVM_TS_GPIO 175 49#define OMAP3_EVM_TS_GPIO 175
50#define OMAP3_EVM_EHCI_VBUS 22
51#define OMAP3_EVM_EHCI_SELECT 61
46 52
47#define OMAP3EVM_ETHR_START 0x2c000000 53#define OMAP3EVM_ETHR_START 0x2c000000
48#define OMAP3EVM_ETHR_SIZE 1024 54#define OMAP3EVM_ETHR_SIZE 1024
55#define OMAP3EVM_ETHR_ID_REV 0x50
49#define OMAP3EVM_ETHR_GPIO_IRQ 176 56#define OMAP3EVM_ETHR_GPIO_IRQ 176
50#define OMAP3EVM_SMC911X_CS 5 57#define OMAP3EVM_SMSC911X_CS 5
58
59static u8 omap3_evm_version;
60
61u8 get_omap3_evm_rev(void)
62{
63 return omap3_evm_version;
64}
65EXPORT_SYMBOL(get_omap3_evm_rev);
66
67static void __init omap3_evm_get_revision(void)
68{
69 void __iomem *ioaddr;
70 unsigned int smsc_id;
71
72 /* Ethernet PHY ID is stored at ID_REV register */
73 ioaddr = ioremap_nocache(OMAP3EVM_ETHR_START, SZ_1K);
74 if (!ioaddr)
75 return;
76 smsc_id = readl(ioaddr + OMAP3EVM_ETHR_ID_REV) & 0xFFFF0000;
77 iounmap(ioaddr);
78
79 switch (smsc_id) {
80 /*SMSC9115 chipset*/
81 case 0x01150000:
82 omap3_evm_version = OMAP3EVM_BOARD_GEN_1;
83 break;
84 /*SMSC 9220 chipset*/
85 case 0x92200000:
86 default:
87 omap3_evm_version = OMAP3EVM_BOARD_GEN_2;
88 }
89}
51 90
52static struct resource omap3evm_smc911x_resources[] = { 91#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
92static struct resource omap3evm_smsc911x_resources[] = {
53 [0] = { 93 [0] = {
54 .start = OMAP3EVM_ETHR_START, 94 .start = OMAP3EVM_ETHR_START,
55 .end = (OMAP3EVM_ETHR_START + OMAP3EVM_ETHR_SIZE - 1), 95 .end = (OMAP3EVM_ETHR_START + OMAP3EVM_ETHR_SIZE - 1),
@@ -58,24 +98,34 @@ static struct resource omap3evm_smc911x_resources[] = {
58 [1] = { 98 [1] = {
59 .start = OMAP_GPIO_IRQ(OMAP3EVM_ETHR_GPIO_IRQ), 99 .start = OMAP_GPIO_IRQ(OMAP3EVM_ETHR_GPIO_IRQ),
60 .end = OMAP_GPIO_IRQ(OMAP3EVM_ETHR_GPIO_IRQ), 100 .end = OMAP_GPIO_IRQ(OMAP3EVM_ETHR_GPIO_IRQ),
61 .flags = IORESOURCE_IRQ, 101 .flags = (IORESOURCE_IRQ | IRQF_TRIGGER_LOW),
62 }, 102 },
63}; 103};
64 104
65static struct platform_device omap3evm_smc911x_device = { 105static struct smsc911x_platform_config smsc911x_config = {
66 .name = "smc911x", 106 .phy_interface = PHY_INTERFACE_MODE_MII,
107 .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
108 .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
109 .flags = (SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS),
110};
111
112static struct platform_device omap3evm_smsc911x_device = {
113 .name = "smsc911x",
67 .id = -1, 114 .id = -1,
68 .num_resources = ARRAY_SIZE(omap3evm_smc911x_resources), 115 .num_resources = ARRAY_SIZE(omap3evm_smsc911x_resources),
69 .resource = &omap3evm_smc911x_resources[0], 116 .resource = &omap3evm_smsc911x_resources[0],
117 .dev = {
118 .platform_data = &smsc911x_config,
119 },
70}; 120};
71 121
72static inline void __init omap3evm_init_smc911x(void) 122static inline void __init omap3evm_init_smsc911x(void)
73{ 123{
74 int eth_cs; 124 int eth_cs;
75 struct clk *l3ck; 125 struct clk *l3ck;
76 unsigned int rate; 126 unsigned int rate;
77 127
78 eth_cs = OMAP3EVM_SMC911X_CS; 128 eth_cs = OMAP3EVM_SMSC911X_CS;
79 129
80 l3ck = clk_get(NULL, "l3_ck"); 130 l3ck = clk_get(NULL, "l3_ck");
81 if (IS_ERR(l3ck)) 131 if (IS_ERR(l3ck))
@@ -83,15 +133,58 @@ static inline void __init omap3evm_init_smc911x(void)
83 else 133 else
84 rate = clk_get_rate(l3ck); 134 rate = clk_get_rate(l3ck);
85 135
86 if (gpio_request(OMAP3EVM_ETHR_GPIO_IRQ, "SMC911x irq") < 0) { 136 if (gpio_request(OMAP3EVM_ETHR_GPIO_IRQ, "SMSC911x irq") < 0) {
87 printk(KERN_ERR "Failed to request GPIO%d for smc911x IRQ\n", 137 printk(KERN_ERR "Failed to request GPIO%d for smsc911x IRQ\n",
88 OMAP3EVM_ETHR_GPIO_IRQ); 138 OMAP3EVM_ETHR_GPIO_IRQ);
89 return; 139 return;
90 } 140 }
91 141
92 gpio_direction_input(OMAP3EVM_ETHR_GPIO_IRQ); 142 gpio_direction_input(OMAP3EVM_ETHR_GPIO_IRQ);
143 platform_device_register(&omap3evm_smsc911x_device);
93} 144}
94 145
146#else
147static inline void __init omap3evm_init_smsc911x(void) { return; }
148#endif
149
150static struct regulator_consumer_supply omap3evm_vmmc1_supply = {
151 .supply = "vmmc",
152};
153
154static struct regulator_consumer_supply omap3evm_vsim_supply = {
155 .supply = "vmmc_aux",
156};
157
158/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
159static struct regulator_init_data omap3evm_vmmc1 = {
160 .constraints = {
161 .min_uV = 1850000,
162 .max_uV = 3150000,
163 .valid_modes_mask = REGULATOR_MODE_NORMAL
164 | REGULATOR_MODE_STANDBY,
165 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
166 | REGULATOR_CHANGE_MODE
167 | REGULATOR_CHANGE_STATUS,
168 },
169 .num_consumer_supplies = 1,
170 .consumer_supplies = &omap3evm_vmmc1_supply,
171};
172
173/* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
174static struct regulator_init_data omap3evm_vsim = {
175 .constraints = {
176 .min_uV = 1800000,
177 .max_uV = 3000000,
178 .valid_modes_mask = REGULATOR_MODE_NORMAL
179 | REGULATOR_MODE_STANDBY,
180 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
181 | REGULATOR_CHANGE_MODE
182 | REGULATOR_CHANGE_STATUS,
183 },
184 .num_consumer_supplies = 1,
185 .consumer_supplies = &omap3evm_vsim_supply,
186};
187
95static struct twl4030_hsmmc_info mmc[] = { 188static struct twl4030_hsmmc_info mmc[] = {
96 { 189 {
97 .mmc = 1, 190 .mmc = 1,
@@ -134,6 +227,10 @@ static int omap3evm_twl_gpio_setup(struct device *dev,
134 mmc[0].gpio_cd = gpio + 0; 227 mmc[0].gpio_cd = gpio + 0;
135 twl4030_mmc_init(mmc); 228 twl4030_mmc_init(mmc);
136 229
230 /* link regulators to MMC adapters */
231 omap3evm_vmmc1_supply.dev = mmc[0].dev;
232 omap3evm_vsim_supply.dev = mmc[0].dev;
233
137 /* 234 /*
138 * Most GPIOs are for USB OTG. Some are mostly sent to 235 * Most GPIOs are for USB OTG. Some are mostly sent to
139 * the P2 connector; notably LEDA for the LCD backlight. 236 * the P2 connector; notably LEDA for the LCD backlight.
@@ -226,6 +323,13 @@ static struct i2c_board_info __initdata omap3evm_i2c_boardinfo[] = {
226 323
227static int __init omap3_evm_i2c_init(void) 324static int __init omap3_evm_i2c_init(void)
228{ 325{
326 /*
327 * REVISIT: These entries can be set in omap3evm_twl_data
328 * after a merge with MFD tree
329 */
330 omap3evm_twldata.vmmc1 = &omap3evm_vmmc1;
331 omap3evm_twldata.vsim = &omap3evm_vsim;
332
229 omap_register_i2c_bus(1, 2600, omap3evm_i2c_boardinfo, 333 omap_register_i2c_bus(1, 2600, omap3evm_i2c_boardinfo,
230 ARRAY_SIZE(omap3evm_i2c_boardinfo)); 334 ARRAY_SIZE(omap3evm_i2c_boardinfo));
231 omap_register_i2c_bus(2, 400, NULL, 0); 335 omap_register_i2c_bus(2, 400, NULL, 0);
@@ -299,16 +403,29 @@ static void __init omap3_evm_init_irq(void)
299 omap2_init_common_hw(mt46h32m32lf6_sdrc_params, NULL); 403 omap2_init_common_hw(mt46h32m32lf6_sdrc_params, NULL);
300 omap_init_irq(); 404 omap_init_irq();
301 omap_gpio_init(); 405 omap_gpio_init();
302 omap3evm_init_smc911x();
303} 406}
304 407
305static struct platform_device *omap3_evm_devices[] __initdata = { 408static struct platform_device *omap3_evm_devices[] __initdata = {
306 &omap3_evm_lcd_device, 409 &omap3_evm_lcd_device,
307 &omap3evm_smc911x_device, 410};
411
412static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
413
414 .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN,
415 .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
416 .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
417
418 .phy_reset = true,
419 /* PHY reset GPIO will be runtime programmed based on EVM version */
420 .reset_gpio_port[0] = -EINVAL,
421 .reset_gpio_port[1] = -EINVAL,
422 .reset_gpio_port[2] = -EINVAL
308}; 423};
309 424
310static void __init omap3_evm_init(void) 425static void __init omap3_evm_init(void)
311{ 426{
427 omap3_evm_get_revision();
428
312 omap3_evm_i2c_init(); 429 omap3_evm_i2c_init();
313 430
314 platform_add_devices(omap3_evm_devices, ARRAY_SIZE(omap3_evm_devices)); 431 platform_add_devices(omap3_evm_devices, ARRAY_SIZE(omap3_evm_devices));
@@ -321,8 +438,32 @@ static void __init omap3_evm_init(void)
321 /* OMAP3EVM uses ISP1504 phy and so register nop transceiver */ 438 /* OMAP3EVM uses ISP1504 phy and so register nop transceiver */
322 usb_nop_xceiv_register(); 439 usb_nop_xceiv_register();
323#endif 440#endif
441 if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2) {
442 /* enable EHCI VBUS using GPIO22 */
443 omap_cfg_reg(AF9_34XX_GPIO22);
444 gpio_request(OMAP3_EVM_EHCI_VBUS, "enable EHCI VBUS");
445 gpio_direction_output(OMAP3_EVM_EHCI_VBUS, 0);
446 gpio_set_value(OMAP3_EVM_EHCI_VBUS, 1);
447
448 /* Select EHCI port on main board */
449 omap_cfg_reg(U3_34XX_GPIO61);
450 gpio_request(OMAP3_EVM_EHCI_SELECT, "select EHCI port");
451 gpio_direction_output(OMAP3_EVM_EHCI_SELECT, 0);
452 gpio_set_value(OMAP3_EVM_EHCI_SELECT, 0);
453
454 /* setup EHCI phy reset config */
455 omap_cfg_reg(AH14_34XX_GPIO21);
456 ehci_pdata.reset_gpio_port[1] = 21;
457
458 } else {
459 /* setup EHCI phy reset on MDC */
460 omap_cfg_reg(AF4_34XX_GPIO135_OUT);
461 ehci_pdata.reset_gpio_port[1] = 135;
462 }
324 usb_musb_init(); 463 usb_musb_init();
464 usb_ehci_init(&ehci_pdata);
325 ads7846_dev_init(); 465 ads7846_dev_init();
466 omap3evm_init_smsc911x();
326} 467}
327 468
328static void __init omap3_evm_map_io(void) 469static void __init omap3_evm_map_io(void)
@@ -334,7 +475,7 @@ static void __init omap3_evm_map_io(void)
334MACHINE_START(OMAP3EVM, "OMAP3 EVM") 475MACHINE_START(OMAP3EVM, "OMAP3 EVM")
335 /* Maintainer: Syed Mohammed Khasim - Texas Instruments */ 476 /* Maintainer: Syed Mohammed Khasim - Texas Instruments */
336 .phys_io = 0x48000000, 477 .phys_io = 0x48000000,
337 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 478 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
338 .boot_params = 0x80000100, 479 .boot_params = 0x80000100,
339 .map_io = omap3_evm_map_io, 480 .map_io = omap3_evm_map_io,
340 .init_irq = omap3_evm_init_irq, 481 .init_irq = omap3_evm_init_irq,
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
index c4be626c8422..2db5ba5b3bf7 100644
--- a/arch/arm/mach-omap2/board-omap3pandora.c
+++ b/arch/arm/mach-omap2/board-omap3pandora.c
@@ -34,13 +34,13 @@
34#include <asm/mach/arch.h> 34#include <asm/mach/arch.h>
35#include <asm/mach/map.h> 35#include <asm/mach/map.h>
36 36
37#include <mach/board.h> 37#include <plat/board.h>
38#include <mach/common.h> 38#include <plat/common.h>
39#include <mach/gpio.h> 39#include <mach/gpio.h>
40#include <mach/hardware.h> 40#include <mach/hardware.h>
41#include <mach/mcspi.h> 41#include <plat/mcspi.h>
42#include <mach/usb.h> 42#include <plat/usb.h>
43#include <mach/mux.h> 43#include <plat/mux.h>
44 44
45#include "sdram-micron-mt46h32m32lf-6.h" 45#include "sdram-micron-mt46h32m32lf-6.h"
46#include "mmc-twl4030.h" 46#include "mmc-twl4030.h"
@@ -397,6 +397,18 @@ static struct platform_device *omap3pandora_devices[] __initdata = {
397 &pandora_keys_gpio, 397 &pandora_keys_gpio,
398}; 398};
399 399
400static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
401
402 .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
403 .port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
404 .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
405
406 .phy_reset = true,
407 .reset_gpio_port[0] = 16,
408 .reset_gpio_port[1] = -EINVAL,
409 .reset_gpio_port[2] = -EINVAL
410};
411
400static void __init omap3pandora_init(void) 412static void __init omap3pandora_init(void)
401{ 413{
402 omap3pandora_i2c_init(); 414 omap3pandora_i2c_init();
@@ -406,6 +418,7 @@ static void __init omap3pandora_init(void)
406 spi_register_board_info(omap3pandora_spi_board_info, 418 spi_register_board_info(omap3pandora_spi_board_info,
407 ARRAY_SIZE(omap3pandora_spi_board_info)); 419 ARRAY_SIZE(omap3pandora_spi_board_info));
408 omap3pandora_ads7846_init(); 420 omap3pandora_ads7846_init();
421 usb_ehci_init(&ehci_pdata);
409 pandora_keys_gpio_init(); 422 pandora_keys_gpio_init();
410 usb_musb_init(); 423 usb_musb_init();
411 424
@@ -422,7 +435,7 @@ static void __init omap3pandora_map_io(void)
422 435
423MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console") 436MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console")
424 .phys_io = 0x48000000, 437 .phys_io = 0x48000000,
425 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 438 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
426 .boot_params = 0x80000100, 439 .boot_params = 0x80000100,
427 .map_io = omap3pandora_map_io, 440 .map_io = omap3pandora_map_io,
428 .init_irq = omap3pandora_init_irq, 441 .init_irq = omap3pandora_init_irq,
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
index e1fb50451e19..52dfd51a938e 100644
--- a/arch/arm/mach-omap2/board-overo.c
+++ b/arch/arm/mach-omap2/board-overo.c
@@ -38,14 +38,14 @@
38#include <asm/mach/flash.h> 38#include <asm/mach/flash.h>
39#include <asm/mach/map.h> 39#include <asm/mach/map.h>
40 40
41#include <mach/board.h> 41#include <plat/board.h>
42#include <mach/common.h> 42#include <plat/common.h>
43#include <mach/gpio.h> 43#include <mach/gpio.h>
44#include <mach/gpmc.h> 44#include <plat/gpmc.h>
45#include <mach/hardware.h> 45#include <mach/hardware.h>
46#include <mach/nand.h> 46#include <plat/nand.h>
47#include <mach/mux.h> 47#include <plat/mux.h>
48#include <mach/usb.h> 48#include <plat/usb.h>
49 49
50#include "sdram-micron-mt46h32m32lf-6.h" 50#include "sdram-micron-mt46h32m32lf-6.h"
51#include "mmc-twl4030.h" 51#include "mmc-twl4030.h"
@@ -67,7 +67,7 @@
67#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \ 67#if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
68 defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE) 68 defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
69 69
70#include <mach/mcspi.h> 70#include <plat/mcspi.h>
71#include <linux/spi/spi.h> 71#include <linux/spi/spi.h>
72#include <linux/spi/ads7846.h> 72#include <linux/spi/ads7846.h>
73 73
@@ -394,6 +394,18 @@ static struct platform_device *overo_devices[] __initdata = {
394 &overo_lcd_device, 394 &overo_lcd_device,
395}; 395};
396 396
397static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
398 .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN,
399 .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
400 .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
401
402 .phy_reset = true,
403 .reset_gpio_port[0] = -EINVAL,
404 .reset_gpio_port[1] = OVERO_GPIO_USBH_NRESET,
405 .reset_gpio_port[2] = -EINVAL
406};
407
408
397static void __init overo_init(void) 409static void __init overo_init(void)
398{ 410{
399 overo_i2c_init(); 411 overo_i2c_init();
@@ -401,6 +413,7 @@ static void __init overo_init(void)
401 omap_serial_init(); 413 omap_serial_init();
402 overo_flash_init(); 414 overo_flash_init();
403 usb_musb_init(); 415 usb_musb_init();
416 usb_ehci_init(&ehci_pdata);
404 overo_ads7846_init(); 417 overo_ads7846_init();
405 overo_init_smsc911x(); 418 overo_init_smsc911x();
406 419
@@ -443,14 +456,6 @@ static void __init overo_init(void)
443 else 456 else
444 printk(KERN_ERR "could not obtain gpio for " 457 printk(KERN_ERR "could not obtain gpio for "
445 "OVERO_GPIO_USBH_CPEN\n"); 458 "OVERO_GPIO_USBH_CPEN\n");
446
447 if ((gpio_request(OVERO_GPIO_USBH_NRESET,
448 "OVERO_GPIO_USBH_NRESET") == 0) &&
449 (gpio_direction_output(OVERO_GPIO_USBH_NRESET, 1) == 0))
450 gpio_export(OVERO_GPIO_USBH_NRESET, 0);
451 else
452 printk(KERN_ERR "could not obtain gpio for "
453 "OVERO_GPIO_USBH_NRESET\n");
454} 459}
455 460
456static void __init overo_map_io(void) 461static void __init overo_map_io(void)
@@ -461,7 +466,7 @@ static void __init overo_map_io(void)
461 466
462MACHINE_START(OVERO, "Gumstix Overo") 467MACHINE_START(OVERO, "Gumstix Overo")
463 .phys_io = 0x48000000, 468 .phys_io = 0x48000000,
464 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 469 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
465 .boot_params = 0x80000100, 470 .boot_params = 0x80000100,
466 .map_io = overo_map_io, 471 .map_io = overo_map_io,
467 .init_irq = overo_init_irq, 472 .init_irq = overo_init_irq,
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c
index e34d96a825e3..15ce6514c5fd 100644
--- a/arch/arm/mach-omap2/board-rx51-peripherals.c
+++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
@@ -14,28 +14,137 @@
14#include <linux/input.h> 14#include <linux/input.h>
15#include <linux/input/matrix_keypad.h> 15#include <linux/input/matrix_keypad.h>
16#include <linux/spi/spi.h> 16#include <linux/spi/spi.h>
17#include <linux/spi/wl12xx.h>
17#include <linux/i2c.h> 18#include <linux/i2c.h>
18#include <linux/i2c/twl4030.h> 19#include <linux/i2c/twl4030.h>
19#include <linux/clk.h> 20#include <linux/clk.h>
20#include <linux/delay.h> 21#include <linux/delay.h>
21#include <linux/regulator/machine.h> 22#include <linux/regulator/machine.h>
22#include <linux/gpio.h> 23#include <linux/gpio.h>
24#include <linux/gpio_keys.h>
23#include <linux/mmc/host.h> 25#include <linux/mmc/host.h>
24 26
25#include <mach/mcspi.h> 27#include <plat/mcspi.h>
26#include <mach/mux.h> 28#include <plat/mux.h>
27#include <mach/board.h> 29#include <plat/board.h>
28#include <mach/common.h> 30#include <plat/common.h>
29#include <mach/dma.h> 31#include <plat/dma.h>
30#include <mach/gpmc.h> 32#include <plat/gpmc.h>
31#include <mach/onenand.h> 33#include <plat/onenand.h>
32#include <mach/gpmc-smc91x.h> 34#include <plat/gpmc-smc91x.h>
33 35
34#include "mmc-twl4030.h" 36#include "mmc-twl4030.h"
35 37
36#define SYSTEM_REV_B_USES_VAUX3 0x1699 38#define SYSTEM_REV_B_USES_VAUX3 0x1699
37#define SYSTEM_REV_S_USES_VAUX3 0x8 39#define SYSTEM_REV_S_USES_VAUX3 0x8
38 40
41#define RX51_WL1251_POWER_GPIO 87
42#define RX51_WL1251_IRQ_GPIO 42
43
44/* list all spi devices here */
45enum {
46 RX51_SPI_WL1251,
47};
48
49static struct wl12xx_platform_data wl1251_pdata;
50
51static struct omap2_mcspi_device_config wl1251_mcspi_config = {
52 .turbo_mode = 0,
53 .single_channel = 1,
54};
55
56static struct spi_board_info rx51_peripherals_spi_board_info[] __initdata = {
57 [RX51_SPI_WL1251] = {
58 .modalias = "wl1251",
59 .bus_num = 4,
60 .chip_select = 0,
61 .max_speed_hz = 48000000,
62 .mode = SPI_MODE_2,
63 .controller_data = &wl1251_mcspi_config,
64 .platform_data = &wl1251_pdata,
65 },
66};
67
68#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
69
70#define RX51_GPIO_CAMERA_LENS_COVER 110
71#define RX51_GPIO_CAMERA_FOCUS 68
72#define RX51_GPIO_CAMERA_CAPTURE 69
73#define RX51_GPIO_KEYPAD_SLIDE 71
74#define RX51_GPIO_LOCK_BUTTON 113
75#define RX51_GPIO_PROXIMITY 89
76
77#define RX51_GPIO_DEBOUNCE_TIMEOUT 10
78
79static struct gpio_keys_button rx51_gpio_keys[] = {
80 {
81 .desc = "Camera Lens Cover",
82 .type = EV_SW,
83 .code = SW_CAMERA_LENS_COVER,
84 .gpio = RX51_GPIO_CAMERA_LENS_COVER,
85 .active_low = 1,
86 .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT,
87 }, {
88 .desc = "Camera Focus",
89 .type = EV_KEY,
90 .code = KEY_CAMERA_FOCUS,
91 .gpio = RX51_GPIO_CAMERA_FOCUS,
92 .active_low = 1,
93 .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT,
94 }, {
95 .desc = "Camera Capture",
96 .type = EV_KEY,
97 .code = KEY_CAMERA,
98 .gpio = RX51_GPIO_CAMERA_CAPTURE,
99 .active_low = 1,
100 .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT,
101 }, {
102 .desc = "Lock Button",
103 .type = EV_KEY,
104 .code = KEY_SCREENLOCK,
105 .gpio = RX51_GPIO_LOCK_BUTTON,
106 .active_low = 1,
107 .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT,
108 }, {
109 .desc = "Keypad Slide",
110 .type = EV_SW,
111 .code = SW_KEYPAD_SLIDE,
112 .gpio = RX51_GPIO_KEYPAD_SLIDE,
113 .active_low = 1,
114 .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT,
115 }, {
116 .desc = "Proximity Sensor",
117 .type = EV_SW,
118 .code = SW_FRONT_PROXIMITY,
119 .gpio = RX51_GPIO_PROXIMITY,
120 .active_low = 0,
121 .debounce_interval = RX51_GPIO_DEBOUNCE_TIMEOUT,
122 }
123};
124
125static struct gpio_keys_platform_data rx51_gpio_keys_data = {
126 .buttons = rx51_gpio_keys,
127 .nbuttons = ARRAY_SIZE(rx51_gpio_keys),
128};
129
130static struct platform_device rx51_gpio_keys_device = {
131 .name = "gpio-keys",
132 .id = -1,
133 .dev = {
134 .platform_data = &rx51_gpio_keys_data,
135 },
136};
137
138static void __init rx51_add_gpio_keys(void)
139{
140 platform_device_register(&rx51_gpio_keys_device);
141}
142#else
143static void __init rx51_add_gpio_keys(void)
144{
145}
146#endif /* CONFIG_KEYBOARD_GPIO || CONFIG_KEYBOARD_GPIO_MODULE */
147
39static int board_keymap[] = { 148static int board_keymap[] = {
40 KEY(0, 0, KEY_Q), 149 KEY(0, 0, KEY_Q),
41 KEY(0, 1, KEY_O), 150 KEY(0, 1, KEY_O),
@@ -536,10 +645,64 @@ static inline void board_smc91x_init(void)
536 645
537#endif 646#endif
538 647
648static void rx51_wl1251_set_power(bool enable)
649{
650 gpio_set_value(RX51_WL1251_POWER_GPIO, enable);
651}
652
653static void __init rx51_init_wl1251(void)
654{
655 int irq, ret;
656
657 ret = gpio_request(RX51_WL1251_POWER_GPIO, "wl1251 power");
658 if (ret < 0)
659 goto error;
660
661 ret = gpio_direction_output(RX51_WL1251_POWER_GPIO, 0);
662 if (ret < 0)
663 goto err_power;
664
665 ret = gpio_request(RX51_WL1251_IRQ_GPIO, "wl1251 irq");
666 if (ret < 0)
667 goto err_power;
668
669 ret = gpio_direction_input(RX51_WL1251_IRQ_GPIO);
670 if (ret < 0)
671 goto err_irq;
672
673 irq = gpio_to_irq(RX51_WL1251_IRQ_GPIO);
674 if (irq < 0)
675 goto err_irq;
676
677 wl1251_pdata.set_power = rx51_wl1251_set_power;
678 rx51_peripherals_spi_board_info[RX51_SPI_WL1251].irq = irq;
679
680 return;
681
682err_irq:
683 gpio_free(RX51_WL1251_IRQ_GPIO);
684
685err_power:
686 gpio_free(RX51_WL1251_POWER_GPIO);
687
688error:
689 printk(KERN_ERR "wl1251 board initialisation failed\n");
690 wl1251_pdata.set_power = NULL;
691
692 /*
693 * Now rx51_peripherals_spi_board_info[1].irq is zero and
694 * set_power is null, and wl1251_probe() will fail.
695 */
696}
697
539void __init rx51_peripherals_init(void) 698void __init rx51_peripherals_init(void)
540{ 699{
541 rx51_i2c_init(); 700 rx51_i2c_init();
542 board_onenand_init(); 701 board_onenand_init();
543 board_smc91x_init(); 702 board_smc91x_init();
703 rx51_add_gpio_keys();
704 rx51_init_wl1251();
705 spi_register_board_info(rx51_peripherals_spi_board_info,
706 ARRAY_SIZE(rx51_peripherals_spi_board_info));
544} 707}
545 708
diff --git a/arch/arm/mach-omap2/board-rx51-sdram.c b/arch/arm/mach-omap2/board-rx51-sdram.c
new file mode 100644
index 000000000000..f392844195d2
--- /dev/null
+++ b/arch/arm/mach-omap2/board-rx51-sdram.c
@@ -0,0 +1,221 @@
1/*
2 * SDRC register values for RX51
3 *
4 * Copyright (C) 2008 Nokia Corporation
5 *
6 * Lauri Leukkunen <lauri.leukkunen@nokia.com>
7 *
8 * Original code by Juha Yrjola <juha.yrjola@solidboot.com>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 */
14
15#include <linux/kernel.h>
16#include <linux/clk.h>
17#include <linux/err.h>
18#include <linux/io.h>
19
20#include <plat/io.h>
21#include <plat/common.h>
22#include <plat/clock.h>
23#include <plat/sdrc.h>
24
25
26/* In picoseconds, except for tREF (ns), tXP, tCKE, tWTR (clks) */
27struct sdram_timings {
28 u32 casl;
29 u32 tDAL;
30 u32 tDPL;
31 u32 tRRD;
32 u32 tRCD;
33 u32 tRP;
34 u32 tRAS;
35 u32 tRC;
36 u32 tRFC;
37 u32 tXSR;
38
39 u32 tREF; /* in ns */
40
41 u32 tXP;
42 u32 tCKE;
43 u32 tWTR;
44};
45
46struct omap_sdrc_params rx51_sdrc_params[4];
47
48static const struct sdram_timings rx51_timings[] = {
49 {
50 .casl = 3,
51 .tDAL = 33000,
52 .tDPL = 15000,
53 .tRRD = 12000,
54 .tRCD = 22500,
55 .tRP = 18000,
56 .tRAS = 42000,
57 .tRC = 66000,
58 .tRFC = 138000,
59 .tXSR = 200000,
60
61 .tREF = 7800,
62
63 .tXP = 2,
64 .tCKE = 2,
65 .tWTR = 2
66 },
67};
68
69static unsigned long sdrc_get_fclk_period(long rate)
70{
71 /* In picoseconds */
72 return 1000000000 / rate;
73}
74
75static unsigned int sdrc_ps_to_ticks(unsigned int time_ps, long rate)
76{
77 unsigned long tick_ps;
78
79 /* Calculate in picosecs to yield more exact results */
80 tick_ps = sdrc_get_fclk_period(rate);
81
82 return (time_ps + tick_ps - 1) / tick_ps;
83}
84#undef DEBUG
85#ifdef DEBUG
86static int set_sdrc_timing_regval(u32 *regval, int st_bit, int end_bit,
87 int ticks, long rate, const char *name)
88#else
89static int set_sdrc_timing_regval(u32 *regval, int st_bit, int end_bit,
90 int ticks)
91#endif
92{
93 int mask, nr_bits;
94
95 nr_bits = end_bit - st_bit + 1;
96 if (ticks >= 1 << nr_bits)
97 return -1;
98 mask = (1 << nr_bits) - 1;
99 *regval &= ~(mask << st_bit);
100 *regval |= ticks << st_bit;
101#ifdef DEBUG
102 printk(KERN_INFO "SDRC %s: %i ticks %i ns\n", name, ticks,
103 (unsigned int)sdrc_get_fclk_period(rate) * ticks /
104 1000);
105#endif
106
107 return 0;
108}
109
110#ifdef DEBUG
111#define SDRC_SET_ONE(reg, st, end, field, rate) \
112 if (set_sdrc_timing_regval((reg), (st), (end), \
113 rx51_timings->field, (rate), #field) < 0) \
114 err = -1;
115#else
116#define SDRC_SET_ONE(reg, st, end, field, rate) \
117 if (set_sdrc_timing_regval((reg), (st), (end), \
118 rx51_timings->field) < 0) \
119 err = -1;
120#endif
121
122#ifdef DEBUG
123static int set_sdrc_timing_regval_ps(u32 *regval, int st_bit, int end_bit,
124 int time, long rate, const char *name)
125#else
126static int set_sdrc_timing_regval_ps(u32 *regval, int st_bit, int end_bit,
127 int time, long rate)
128#endif
129{
130 int ticks, ret;
131 ret = 0;
132
133 if (time == 0)
134 ticks = 0;
135 else
136 ticks = sdrc_ps_to_ticks(time, rate);
137
138#ifdef DEBUG
139 ret = set_sdrc_timing_regval(regval, st_bit, end_bit, ticks,
140 rate, name);
141#else
142 ret = set_sdrc_timing_regval(regval, st_bit, end_bit, ticks);
143#endif
144
145 return ret;
146}
147
148#ifdef DEBUG
149#define SDRC_SET_ONE_PS(reg, st, end, field, rate) \
150 if (set_sdrc_timing_regval_ps((reg), (st), (end), \
151 rx51_timings->field, \
152 (rate), #field) < 0) \
153 err = -1;
154
155#else
156#define SDRC_SET_ONE_PS(reg, st, end, field, rate) \
157 if (set_sdrc_timing_regval_ps((reg), (st), (end), \
158 rx51_timings->field, (rate)) < 0) \
159 err = -1;
160#endif
161
162static int sdrc_timings(int id, long rate)
163{
164 u32 ticks_per_ms;
165 u32 rfr, l;
166 u32 actim_ctrla = 0, actim_ctrlb = 0;
167 u32 rfr_ctrl;
168 int err = 0;
169 long l3_rate = rate / 1000;
170
171 SDRC_SET_ONE_PS(&actim_ctrla, 0, 4, tDAL, l3_rate);
172 SDRC_SET_ONE_PS(&actim_ctrla, 6, 8, tDPL, l3_rate);
173 SDRC_SET_ONE_PS(&actim_ctrla, 9, 11, tRRD, l3_rate);
174 SDRC_SET_ONE_PS(&actim_ctrla, 12, 14, tRCD, l3_rate);
175 SDRC_SET_ONE_PS(&actim_ctrla, 15, 17, tRP, l3_rate);
176 SDRC_SET_ONE_PS(&actim_ctrla, 18, 21, tRAS, l3_rate);
177 SDRC_SET_ONE_PS(&actim_ctrla, 22, 26, tRC, l3_rate);
178 SDRC_SET_ONE_PS(&actim_ctrla, 27, 31, tRFC, l3_rate);
179
180 SDRC_SET_ONE_PS(&actim_ctrlb, 0, 7, tXSR, l3_rate);
181
182 SDRC_SET_ONE(&actim_ctrlb, 8, 10, tXP, l3_rate);
183 SDRC_SET_ONE(&actim_ctrlb, 12, 14, tCKE, l3_rate);
184 SDRC_SET_ONE(&actim_ctrlb, 16, 17, tWTR, l3_rate);
185
186 ticks_per_ms = l3_rate;
187 rfr = rx51_timings[0].tREF * ticks_per_ms / 1000000;
188 if (rfr > 65535 + 50)
189 rfr = 65535;
190 else
191 rfr -= 50;
192
193#ifdef DEBUG
194 printk(KERN_INFO "SDRC tREF: %i ticks\n", rfr);
195#endif
196
197 l = rfr << 8;
198 rfr_ctrl = l | 0x1; /* autorefresh, reload counter with 1xARCV */
199
200 rx51_sdrc_params[id].rate = rate;
201 rx51_sdrc_params[id].actim_ctrla = actim_ctrla;
202 rx51_sdrc_params[id].actim_ctrlb = actim_ctrlb;
203 rx51_sdrc_params[id].rfr_ctrl = rfr_ctrl;
204 rx51_sdrc_params[id].mr = 0x32;
205
206 rx51_sdrc_params[id + 1].rate = 0;
207
208 return err;
209}
210
211struct omap_sdrc_params *rx51_get_sdram_timings(void)
212{
213 int err;
214
215 err = sdrc_timings(0, 41500000);
216 err |= sdrc_timings(1, 83000000);
217 err |= sdrc_timings(2, 166000000);
218
219 return &rx51_sdrc_params[0];
220}
221
diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c
index 78869a9a1cc2..1bb1de245917 100644
--- a/arch/arm/mach-omap2/board-rx51.c
+++ b/arch/arm/mach-omap2/board-rx51.c
@@ -22,13 +22,15 @@
22#include <asm/mach/arch.h> 22#include <asm/mach/arch.h>
23#include <asm/mach/map.h> 23#include <asm/mach/map.h>
24 24
25#include <mach/mcspi.h> 25#include <plat/mcspi.h>
26#include <mach/mux.h> 26#include <plat/mux.h>
27#include <mach/board.h> 27#include <plat/board.h>
28#include <mach/common.h> 28#include <plat/common.h>
29#include <mach/dma.h> 29#include <plat/dma.h>
30#include <mach/gpmc.h> 30#include <plat/gpmc.h>
31#include <mach/usb.h> 31#include <plat/usb.h>
32
33struct omap_sdrc_params *rx51_get_sdram_timings(void);
32 34
33static struct omap_lcd_config rx51_lcd_config = { 35static struct omap_lcd_config rx51_lcd_config = {
34 .ctrl_name = "internal", 36 .ctrl_name = "internal",
@@ -55,9 +57,12 @@ static struct omap_board_config_kernel rx51_config[] = {
55 57
56static void __init rx51_init_irq(void) 58static void __init rx51_init_irq(void)
57{ 59{
60 struct omap_sdrc_params *sdrc_params;
61
58 omap_board_config = rx51_config; 62 omap_board_config = rx51_config;
59 omap_board_config_size = ARRAY_SIZE(rx51_config); 63 omap_board_config_size = ARRAY_SIZE(rx51_config);
60 omap2_init_common_hw(NULL, NULL); 64 sdrc_params = rx51_get_sdram_timings();
65 omap2_init_common_hw(sdrc_params, sdrc_params);
61 omap_init_irq(); 66 omap_init_irq();
62 omap_gpio_init(); 67 omap_gpio_init();
63} 68}
@@ -84,7 +89,7 @@ static void __init rx51_map_io(void)
84MACHINE_START(NOKIA_RX51, "Nokia RX-51 board") 89MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
85 /* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */ 90 /* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */
86 .phys_io = 0x48000000, 91 .phys_io = 0x48000000,
87 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 92 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
88 .boot_params = 0x80000100, 93 .boot_params = 0x80000100,
89 .map_io = rx51_map_io, 94 .map_io = rx51_map_io,
90 .init_irq = rx51_init_irq, 95 .init_irq = rx51_init_irq,
diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c
index 1f13e2a1f322..bb4018b60642 100644
--- a/arch/arm/mach-omap2/board-zoom-debugboard.c
+++ b/arch/arm/mach-omap2/board-zoom-debugboard.c
@@ -14,20 +14,20 @@
14#include <linux/smsc911x.h> 14#include <linux/smsc911x.h>
15#include <linux/interrupt.h> 15#include <linux/interrupt.h>
16 16
17#include <mach/gpmc.h> 17#include <plat/gpmc.h>
18 18
19#define ZOOM2_SMSC911X_CS 7 19#define ZOOM_SMSC911X_CS 7
20#define ZOOM2_SMSC911X_GPIO 158 20#define ZOOM_SMSC911X_GPIO 158
21#define ZOOM2_QUADUART_CS 3 21#define ZOOM_QUADUART_CS 3
22#define ZOOM2_QUADUART_GPIO 102 22#define ZOOM_QUADUART_GPIO 102
23#define QUART_CLK 1843200 23#define QUART_CLK 1843200
24#define DEBUG_BASE 0x08000000 24#define DEBUG_BASE 0x08000000
25#define ZOOM2_ETHR_START DEBUG_BASE 25#define ZOOM_ETHR_START DEBUG_BASE
26 26
27static struct resource zoom2_smsc911x_resources[] = { 27static struct resource zoom_smsc911x_resources[] = {
28 [0] = { 28 [0] = {
29 .start = ZOOM2_ETHR_START, 29 .start = ZOOM_ETHR_START,
30 .end = ZOOM2_ETHR_START + SZ_4K, 30 .end = ZOOM_ETHR_START + SZ_4K,
31 .flags = IORESOURCE_MEM, 31 .flags = IORESOURCE_MEM,
32 }, 32 },
33 [1] = { 33 [1] = {
@@ -35,42 +35,42 @@ static struct resource zoom2_smsc911x_resources[] = {
35 }, 35 },
36}; 36};
37 37
38static struct smsc911x_platform_config zoom2_smsc911x_config = { 38static struct smsc911x_platform_config zoom_smsc911x_config = {
39 .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, 39 .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
40 .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN, 40 .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
41 .flags = SMSC911X_USE_32BIT, 41 .flags = SMSC911X_USE_32BIT,
42 .phy_interface = PHY_INTERFACE_MODE_MII, 42 .phy_interface = PHY_INTERFACE_MODE_MII,
43}; 43};
44 44
45static struct platform_device zoom2_smsc911x_device = { 45static struct platform_device zoom_smsc911x_device = {
46 .name = "smsc911x", 46 .name = "smsc911x",
47 .id = -1, 47 .id = -1,
48 .num_resources = ARRAY_SIZE(zoom2_smsc911x_resources), 48 .num_resources = ARRAY_SIZE(zoom_smsc911x_resources),
49 .resource = zoom2_smsc911x_resources, 49 .resource = zoom_smsc911x_resources,
50 .dev = { 50 .dev = {
51 .platform_data = &zoom2_smsc911x_config, 51 .platform_data = &zoom_smsc911x_config,
52 }, 52 },
53}; 53};
54 54
55static inline void __init zoom2_init_smsc911x(void) 55static inline void __init zoom_init_smsc911x(void)
56{ 56{
57 int eth_cs; 57 int eth_cs;
58 unsigned long cs_mem_base; 58 unsigned long cs_mem_base;
59 int eth_gpio = 0; 59 int eth_gpio = 0;
60 60
61 eth_cs = ZOOM2_SMSC911X_CS; 61 eth_cs = ZOOM_SMSC911X_CS;
62 62
63 if (gpmc_cs_request(eth_cs, SZ_16M, &cs_mem_base) < 0) { 63 if (gpmc_cs_request(eth_cs, SZ_16M, &cs_mem_base) < 0) {
64 printk(KERN_ERR "Failed to request GPMC mem for smsc911x\n"); 64 printk(KERN_ERR "Failed to request GPMC mem for smsc911x\n");
65 return; 65 return;
66 } 66 }
67 67
68 zoom2_smsc911x_resources[0].start = cs_mem_base + 0x0; 68 zoom_smsc911x_resources[0].start = cs_mem_base + 0x0;
69 zoom2_smsc911x_resources[0].end = cs_mem_base + 0xff; 69 zoom_smsc911x_resources[0].end = cs_mem_base + 0xff;
70 70
71 eth_gpio = ZOOM2_SMSC911X_GPIO; 71 eth_gpio = ZOOM_SMSC911X_GPIO;
72 72
73 zoom2_smsc911x_resources[1].start = OMAP_GPIO_IRQ(eth_gpio); 73 zoom_smsc911x_resources[1].start = OMAP_GPIO_IRQ(eth_gpio);
74 74
75 if (gpio_request(eth_gpio, "smsc911x irq") < 0) { 75 if (gpio_request(eth_gpio, "smsc911x irq") < 0) {
76 printk(KERN_ERR "Failed to request GPIO%d for smsc911x IRQ\n", 76 printk(KERN_ERR "Failed to request GPIO%d for smsc911x IRQ\n",
@@ -94,7 +94,7 @@ static struct plat_serial8250_port serial_platform_data[] = {
94 } 94 }
95}; 95};
96 96
97static struct platform_device zoom2_debugboard_serial_device = { 97static struct platform_device zoom_debugboard_serial_device = {
98 .name = "serial8250", 98 .name = "serial8250",
99 .id = 3, 99 .id = 3,
100 .dev = { 100 .dev = {
@@ -102,13 +102,13 @@ static struct platform_device zoom2_debugboard_serial_device = {
102 }, 102 },
103}; 103};
104 104
105static inline void __init zoom2_init_quaduart(void) 105static inline void __init zoom_init_quaduart(void)
106{ 106{
107 int quart_cs; 107 int quart_cs;
108 unsigned long cs_mem_base; 108 unsigned long cs_mem_base;
109 int quart_gpio = 0; 109 int quart_gpio = 0;
110 110
111 quart_cs = ZOOM2_QUADUART_CS; 111 quart_cs = ZOOM_QUADUART_CS;
112 112
113 if (gpmc_cs_request(quart_cs, SZ_1M, &cs_mem_base) < 0) { 113 if (gpmc_cs_request(quart_cs, SZ_1M, &cs_mem_base) < 0) {
114 printk(KERN_ERR "Failed to request GPMC mem" 114 printk(KERN_ERR "Failed to request GPMC mem"
@@ -116,7 +116,7 @@ static inline void __init zoom2_init_quaduart(void)
116 return; 116 return;
117 } 117 }
118 118
119 quart_gpio = ZOOM2_QUADUART_GPIO; 119 quart_gpio = ZOOM_QUADUART_GPIO;
120 120
121 if (gpio_request(quart_gpio, "TL16CP754C GPIO") < 0) { 121 if (gpio_request(quart_gpio, "TL16CP754C GPIO") < 0) {
122 printk(KERN_ERR "Failed to request GPIO%d for TL16CP754C\n", 122 printk(KERN_ERR "Failed to request GPIO%d for TL16CP754C\n",
@@ -126,15 +126,15 @@ static inline void __init zoom2_init_quaduart(void)
126 gpio_direction_input(quart_gpio); 126 gpio_direction_input(quart_gpio);
127} 127}
128 128
129static inline int omap_zoom2_debugboard_detect(void) 129static inline int omap_zoom_debugboard_detect(void)
130{ 130{
131 int debug_board_detect = 0; 131 int debug_board_detect = 0;
132 int ret = 1; 132 int ret = 1;
133 133
134 debug_board_detect = ZOOM2_SMSC911X_GPIO; 134 debug_board_detect = ZOOM_SMSC911X_GPIO;
135 135
136 if (gpio_request(debug_board_detect, "Zoom2 debug board detect") < 0) { 136 if (gpio_request(debug_board_detect, "Zoom debug board detect") < 0) {
137 printk(KERN_ERR "Failed to request GPIO%d for Zoom2 debug" 137 printk(KERN_ERR "Failed to request GPIO%d for Zoom debug"
138 "board detect\n", debug_board_detect); 138 "board detect\n", debug_board_detect);
139 return 0; 139 return 0;
140 } 140 }
@@ -147,17 +147,17 @@ static inline int omap_zoom2_debugboard_detect(void)
147 return ret; 147 return ret;
148} 148}
149 149
150static struct platform_device *zoom2_devices[] __initdata = { 150static struct platform_device *zoom_devices[] __initdata = {
151 &zoom2_smsc911x_device, 151 &zoom_smsc911x_device,
152 &zoom2_debugboard_serial_device, 152 &zoom_debugboard_serial_device,
153}; 153};
154 154
155int __init omap_zoom2_debugboard_init(void) 155int __init zoom_debugboard_init(void)
156{ 156{
157 if (!omap_zoom2_debugboard_detect()) 157 if (!omap_zoom_debugboard_detect())
158 return 0; 158 return 0;
159 159
160 zoom2_init_smsc911x(); 160 zoom_init_smsc911x();
161 zoom2_init_quaduart(); 161 zoom_init_quaduart();
162 return platform_add_devices(zoom2_devices, ARRAY_SIZE(zoom2_devices)); 162 return platform_add_devices(zoom_devices, ARRAY_SIZE(zoom_devices));
163} 163}
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c
new file mode 100755
index 000000000000..f14baa392760
--- /dev/null
+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
@@ -0,0 +1,267 @@
1/*
2 * Copyright (C) 2009 Texas Instruments Inc.
3 *
4 * Modified from mach-omap2/board-zoom2.c
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 version 2 as
8 * published by the Free Software Foundation.
9 */
10
11#include <linux/kernel.h>
12#include <linux/init.h>
13#include <linux/platform_device.h>
14#include <linux/input.h>
15#include <linux/input/matrix_keypad.h>
16#include <linux/gpio.h>
17#include <linux/i2c/twl4030.h>
18#include <linux/regulator/machine.h>
19
20#include <asm/mach-types.h>
21#include <asm/mach/arch.h>
22#include <asm/mach/map.h>
23
24#include <plat/common.h>
25#include <plat/usb.h>
26
27#include "mmc-twl4030.h"
28
29/* Zoom2 has Qwerty keyboard*/
30static int board_keymap[] = {
31 KEY(0, 0, KEY_E),
32 KEY(0, 1, KEY_R),
33 KEY(0, 2, KEY_T),
34 KEY(0, 3, KEY_HOME),
35 KEY(0, 6, KEY_I),
36 KEY(0, 7, KEY_LEFTSHIFT),
37 KEY(1, 0, KEY_D),
38 KEY(1, 1, KEY_F),
39 KEY(1, 2, KEY_G),
40 KEY(1, 3, KEY_SEND),
41 KEY(1, 6, KEY_K),
42 KEY(1, 7, KEY_ENTER),
43 KEY(2, 0, KEY_X),
44 KEY(2, 1, KEY_C),
45 KEY(2, 2, KEY_V),
46 KEY(2, 3, KEY_END),
47 KEY(2, 6, KEY_DOT),
48 KEY(2, 7, KEY_CAPSLOCK),
49 KEY(3, 0, KEY_Z),
50 KEY(3, 1, KEY_KPPLUS),
51 KEY(3, 2, KEY_B),
52 KEY(3, 3, KEY_F1),
53 KEY(3, 6, KEY_O),
54 KEY(3, 7, KEY_SPACE),
55 KEY(4, 0, KEY_W),
56 KEY(4, 1, KEY_Y),
57 KEY(4, 2, KEY_U),
58 KEY(4, 3, KEY_F2),
59 KEY(4, 4, KEY_VOLUMEUP),
60 KEY(4, 6, KEY_L),
61 KEY(4, 7, KEY_LEFT),
62 KEY(5, 0, KEY_S),
63 KEY(5, 1, KEY_H),
64 KEY(5, 2, KEY_J),
65 KEY(5, 3, KEY_F3),
66 KEY(5, 5, KEY_VOLUMEDOWN),
67 KEY(5, 6, KEY_M),
68 KEY(5, 7, KEY_ENTER),
69 KEY(6, 0, KEY_Q),
70 KEY(6, 1, KEY_A),
71 KEY(6, 2, KEY_N),
72 KEY(6, 3, KEY_BACKSPACE),
73 KEY(6, 6, KEY_P),
74 KEY(6, 7, KEY_SELECT),
75 KEY(7, 0, KEY_PROG1), /*MACRO 1 <User defined> */
76 KEY(7, 1, KEY_PROG2), /*MACRO 2 <User defined> */
77 KEY(7, 2, KEY_PROG3), /*MACRO 3 <User defined> */
78 KEY(7, 3, KEY_PROG4), /*MACRO 4 <User defined> */
79 KEY(7, 5, KEY_RIGHT),
80 KEY(7, 6, KEY_UP),
81 KEY(7, 7, KEY_DOWN)
82};
83
84static struct matrix_keymap_data board_map_data = {
85 .keymap = board_keymap,
86 .keymap_size = ARRAY_SIZE(board_keymap),
87};
88
89static struct twl4030_keypad_data zoom_kp_twl4030_data = {
90 .keymap_data = &board_map_data,
91 .rows = 8,
92 .cols = 8,
93 .rep = 1,
94};
95
96static struct regulator_consumer_supply zoom_vmmc1_supply = {
97 .supply = "vmmc",
98};
99
100static struct regulator_consumer_supply zoom_vsim_supply = {
101 .supply = "vmmc_aux",
102};
103
104static struct regulator_consumer_supply zoom_vmmc2_supply = {
105 .supply = "vmmc",
106};
107
108/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
109static struct regulator_init_data zoom_vmmc1 = {
110 .constraints = {
111 .min_uV = 1850000,
112 .max_uV = 3150000,
113 .valid_modes_mask = REGULATOR_MODE_NORMAL
114 | REGULATOR_MODE_STANDBY,
115 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
116 | REGULATOR_CHANGE_MODE
117 | REGULATOR_CHANGE_STATUS,
118 },
119 .num_consumer_supplies = 1,
120 .consumer_supplies = &zoom_vmmc1_supply,
121};
122
123/* VMMC2 for MMC2 card */
124static struct regulator_init_data zoom_vmmc2 = {
125 .constraints = {
126 .min_uV = 1850000,
127 .max_uV = 1850000,
128 .apply_uV = true,
129 .valid_modes_mask = REGULATOR_MODE_NORMAL
130 | REGULATOR_MODE_STANDBY,
131 .valid_ops_mask = REGULATOR_CHANGE_MODE
132 | REGULATOR_CHANGE_STATUS,
133 },
134 .num_consumer_supplies = 1,
135 .consumer_supplies = &zoom_vmmc2_supply,
136};
137
138/* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */
139static struct regulator_init_data zoom_vsim = {
140 .constraints = {
141 .min_uV = 1800000,
142 .max_uV = 3000000,
143 .valid_modes_mask = REGULATOR_MODE_NORMAL
144 | REGULATOR_MODE_STANDBY,
145 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
146 | REGULATOR_CHANGE_MODE
147 | REGULATOR_CHANGE_STATUS,
148 },
149 .num_consumer_supplies = 1,
150 .consumer_supplies = &zoom_vsim_supply,
151};
152
153static struct twl4030_hsmmc_info mmc[] __initdata = {
154 {
155 .mmc = 1,
156 .wires = 4,
157 .gpio_wp = -EINVAL,
158 },
159 {
160 .mmc = 2,
161 .wires = 4,
162 .gpio_wp = -EINVAL,
163 },
164 {} /* Terminator */
165};
166
167static int zoom_twl_gpio_setup(struct device *dev,
168 unsigned gpio, unsigned ngpio)
169{
170 /* gpio + 0 is "mmc0_cd" (input/IRQ),
171 * gpio + 1 is "mmc1_cd" (input/IRQ)
172 */
173 mmc[0].gpio_cd = gpio + 0;
174 mmc[1].gpio_cd = gpio + 1;
175 twl4030_mmc_init(mmc);
176
177 /* link regulators to MMC adapters ... we "know" the
178 * regulators will be set up only *after* we return.
179 */
180 zoom_vmmc1_supply.dev = mmc[0].dev;
181 zoom_vsim_supply.dev = mmc[0].dev;
182 zoom_vmmc2_supply.dev = mmc[1].dev;
183
184 return 0;
185}
186
187
188static int zoom_batt_table[] = {
189/* 0 C*/
19030800, 29500, 28300, 27100,
19126000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900,
19217200, 16500, 15900, 15300, 14700, 14100, 13600, 13100, 12600, 12100,
19311600, 11200, 10800, 10400, 10000, 9630, 9280, 8950, 8620, 8310,
1948020, 7730, 7460, 7200, 6950, 6710, 6470, 6250, 6040, 5830,
1955640, 5450, 5260, 5090, 4920, 4760, 4600, 4450, 4310, 4170,
1964040, 3910, 3790, 3670, 3550
197};
198
199static struct twl4030_bci_platform_data zoom_bci_data = {
200 .battery_tmp_tbl = zoom_batt_table,
201 .tblsize = ARRAY_SIZE(zoom_batt_table),
202};
203
204static struct twl4030_usb_data zoom_usb_data = {
205 .usb_mode = T2_USB_MODE_ULPI,
206};
207
208static struct twl4030_gpio_platform_data zoom_gpio_data = {
209 .gpio_base = OMAP_MAX_GPIO_LINES,
210 .irq_base = TWL4030_GPIO_IRQ_BASE,
211 .irq_end = TWL4030_GPIO_IRQ_END,
212 .setup = zoom_twl_gpio_setup,
213};
214
215static struct twl4030_madc_platform_data zoom_madc_data = {
216 .irq_line = 1,
217};
218
219static struct twl4030_codec_audio_data zoom_audio_data = {
220 .audio_mclk = 26000000,
221};
222
223static struct twl4030_codec_data zoom_codec_data = {
224 .audio_mclk = 26000000,
225 .audio = &zoom_audio_data,
226};
227
228static struct twl4030_platform_data zoom_twldata = {
229 .irq_base = TWL4030_IRQ_BASE,
230 .irq_end = TWL4030_IRQ_END,
231
232 /* platform_data for children goes here */
233 .bci = &zoom_bci_data,
234 .madc = &zoom_madc_data,
235 .usb = &zoom_usb_data,
236 .gpio = &zoom_gpio_data,
237 .keypad = &zoom_kp_twl4030_data,
238 .codec = &zoom_codec_data,
239 .vmmc2 = &zoom_vmmc2,
240 .vsim = &zoom_vsim,
241
242};
243
244static struct i2c_board_info __initdata zoom_i2c_boardinfo[] = {
245 {
246 I2C_BOARD_INFO("twl5030", 0x48),
247 .flags = I2C_CLIENT_WAKE,
248 .irq = INT_34XX_SYS_NIRQ,
249 .platform_data = &zoom_twldata,
250 },
251};
252
253static int __init omap_i2c_init(void)
254{
255 omap_register_i2c_bus(1, 2400, zoom_i2c_boardinfo,
256 ARRAY_SIZE(zoom_i2c_boardinfo));
257 omap_register_i2c_bus(2, 400, NULL, 0);
258 omap_register_i2c_bus(3, 400, NULL, 0);
259 return 0;
260}
261
262void __init zoom_peripherals_init(void)
263{
264 omap_i2c_init();
265 omap_serial_init();
266 usb_musb_init();
267}
diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c
index 51df584728f6..d94d047c7dce 100644
--- a/arch/arm/mach-omap2/board-zoom2.c
+++ b/arch/arm/mach-omap2/board-zoom2.c
@@ -13,218 +13,28 @@
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/platform_device.h> 14#include <linux/platform_device.h>
15#include <linux/input.h> 15#include <linux/input.h>
16#include <linux/input/matrix_keypad.h>
17#include <linux/gpio.h> 16#include <linux/gpio.h>
18#include <linux/i2c/twl4030.h>
19#include <linux/regulator/machine.h>
20 17
21#include <asm/mach-types.h> 18#include <asm/mach-types.h>
22#include <asm/mach/arch.h> 19#include <asm/mach/arch.h>
23 20
24#include <mach/common.h> 21#include <plat/common.h>
25#include <mach/usb.h> 22#include <plat/board.h>
26 23
27#include "mmc-twl4030.h" 24#include <mach/board-zoom.h>
28#include "sdram-micron-mt46h32m32lf-6.h"
29
30/* Zoom2 has Qwerty keyboard*/
31static int board_keymap[] = {
32 KEY(0, 0, KEY_E),
33 KEY(0, 1, KEY_R),
34 KEY(0, 2, KEY_T),
35 KEY(0, 3, KEY_HOME),
36 KEY(0, 6, KEY_I),
37 KEY(0, 7, KEY_LEFTSHIFT),
38 KEY(1, 0, KEY_D),
39 KEY(1, 1, KEY_F),
40 KEY(1, 2, KEY_G),
41 KEY(1, 3, KEY_SEND),
42 KEY(1, 6, KEY_K),
43 KEY(1, 7, KEY_ENTER),
44 KEY(2, 0, KEY_X),
45 KEY(2, 1, KEY_C),
46 KEY(2, 2, KEY_V),
47 KEY(2, 3, KEY_END),
48 KEY(2, 6, KEY_DOT),
49 KEY(2, 7, KEY_CAPSLOCK),
50 KEY(3, 0, KEY_Z),
51 KEY(3, 1, KEY_KPPLUS),
52 KEY(3, 2, KEY_B),
53 KEY(3, 3, KEY_F1),
54 KEY(3, 6, KEY_O),
55 KEY(3, 7, KEY_SPACE),
56 KEY(4, 0, KEY_W),
57 KEY(4, 1, KEY_Y),
58 KEY(4, 2, KEY_U),
59 KEY(4, 3, KEY_F2),
60 KEY(4, 4, KEY_VOLUMEUP),
61 KEY(4, 6, KEY_L),
62 KEY(4, 7, KEY_LEFT),
63 KEY(5, 0, KEY_S),
64 KEY(5, 1, KEY_H),
65 KEY(5, 2, KEY_J),
66 KEY(5, 3, KEY_F3),
67 KEY(5, 5, KEY_VOLUMEDOWN),
68 KEY(5, 6, KEY_M),
69 KEY(5, 7, KEY_ENTER),
70 KEY(6, 0, KEY_Q),
71 KEY(6, 1, KEY_A),
72 KEY(6, 2, KEY_N),
73 KEY(6, 3, KEY_BACKSPACE),
74 KEY(6, 6, KEY_P),
75 KEY(6, 7, KEY_SELECT),
76 KEY(7, 0, KEY_PROG1), /*MACRO 1 <User defined> */
77 KEY(7, 1, KEY_PROG2), /*MACRO 2 <User defined> */
78 KEY(7, 2, KEY_PROG3), /*MACRO 3 <User defined> */
79 KEY(7, 3, KEY_PROG4), /*MACRO 4 <User defined> */
80 KEY(7, 5, KEY_RIGHT),
81 KEY(7, 6, KEY_UP),
82 KEY(7, 7, KEY_DOWN)
83};
84
85static struct matrix_keymap_data board_map_data = {
86 .keymap = board_keymap,
87 .keymap_size = ARRAY_SIZE(board_keymap),
88};
89
90static struct twl4030_keypad_data zoom2_kp_twl4030_data = {
91 .keymap_data = &board_map_data,
92 .rows = 8,
93 .cols = 8,
94 .rep = 1,
95};
96
97static struct omap_board_config_kernel zoom2_config[] __initdata = {
98};
99
100static struct regulator_consumer_supply zoom2_vmmc1_supply = {
101 .supply = "vmmc",
102};
103
104static struct regulator_consumer_supply zoom2_vsim_supply = {
105 .supply = "vmmc_aux",
106};
107
108static struct regulator_consumer_supply zoom2_vmmc2_supply = {
109 .supply = "vmmc",
110};
111
112/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
113static struct regulator_init_data zoom2_vmmc1 = {
114 .constraints = {
115 .min_uV = 1850000,
116 .max_uV = 3150000,
117 .valid_modes_mask = REGULATOR_MODE_NORMAL
118 | REGULATOR_MODE_STANDBY,
119 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
120 | REGULATOR_CHANGE_MODE
121 | REGULATOR_CHANGE_STATUS,
122 },
123 .num_consumer_supplies = 1,
124 .consumer_supplies = &zoom2_vmmc1_supply,
125};
126
127/* VMMC2 for MMC2 card */
128static struct regulator_init_data zoom2_vmmc2 = {
129 .constraints = {
130 .min_uV = 1850000,
131 .max_uV = 1850000,
132 .apply_uV = true,
133 .valid_modes_mask = REGULATOR_MODE_NORMAL
134 | REGULATOR_MODE_STANDBY,
135 .valid_ops_mask = REGULATOR_CHANGE_MODE
136 | REGULATOR_CHANGE_STATUS,
137 },
138 .num_consumer_supplies = 1,
139 .consumer_supplies = &zoom2_vmmc2_supply,
140};
141
142/* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */
143static struct regulator_init_data zoom2_vsim = {
144 .constraints = {
145 .min_uV = 1800000,
146 .max_uV = 3000000,
147 .valid_modes_mask = REGULATOR_MODE_NORMAL
148 | REGULATOR_MODE_STANDBY,
149 .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE
150 | REGULATOR_CHANGE_MODE
151 | REGULATOR_CHANGE_STATUS,
152 },
153 .num_consumer_supplies = 1,
154 .consumer_supplies = &zoom2_vsim_supply,
155};
156 25
157static struct twl4030_hsmmc_info mmc[] __initdata = { 26#include "sdram-micron-mt46h32m32lf-6.h"
158 {
159 .mmc = 1,
160 .wires = 4,
161 .gpio_wp = -EINVAL,
162 },
163 {
164 .mmc = 2,
165 .wires = 4,
166 .gpio_wp = -EINVAL,
167 },
168 {} /* Terminator */
169};
170
171static int zoom2_twl_gpio_setup(struct device *dev,
172 unsigned gpio, unsigned ngpio)
173{
174 /* gpio + 0 is "mmc0_cd" (input/IRQ),
175 * gpio + 1 is "mmc1_cd" (input/IRQ)
176 */
177 mmc[0].gpio_cd = gpio + 0;
178 mmc[1].gpio_cd = gpio + 1;
179 twl4030_mmc_init(mmc);
180
181 /* link regulators to MMC adapters ... we "know" the
182 * regulators will be set up only *after* we return.
183 */
184 zoom2_vmmc1_supply.dev = mmc[0].dev;
185 zoom2_vsim_supply.dev = mmc[0].dev;
186 zoom2_vmmc2_supply.dev = mmc[1].dev;
187
188 return 0;
189}
190
191
192static int zoom2_batt_table[] = {
193/* 0 C*/
19430800, 29500, 28300, 27100,
19526000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900,
19617200, 16500, 15900, 15300, 14700, 14100, 13600, 13100, 12600, 12100,
19711600, 11200, 10800, 10400, 10000, 9630, 9280, 8950, 8620, 8310,
1988020, 7730, 7460, 7200, 6950, 6710, 6470, 6250, 6040, 5830,
1995640, 5450, 5260, 5090, 4920, 4760, 4600, 4450, 4310, 4170,
2004040, 3910, 3790, 3670, 3550
201};
202
203static struct twl4030_bci_platform_data zoom2_bci_data = {
204 .battery_tmp_tbl = zoom2_batt_table,
205 .tblsize = ARRAY_SIZE(zoom2_batt_table),
206};
207
208static struct twl4030_usb_data zoom2_usb_data = {
209 .usb_mode = T2_USB_MODE_ULPI,
210};
211 27
212static void __init omap_zoom2_init_irq(void) 28static void __init omap_zoom2_init_irq(void)
213{ 29{
214 omap_board_config = zoom2_config;
215 omap_board_config_size = ARRAY_SIZE(zoom2_config);
216 omap2_init_common_hw(mt46h32m32lf6_sdrc_params, 30 omap2_init_common_hw(mt46h32m32lf6_sdrc_params,
217 mt46h32m32lf6_sdrc_params); 31 mt46h32m32lf6_sdrc_params);
218 omap_init_irq(); 32 omap_init_irq();
219 omap_gpio_init(); 33 omap_gpio_init();
220} 34}
221 35
222static struct twl4030_gpio_platform_data zoom2_gpio_data = { 36/* REVISIT: These audio entries can be removed once MFD code is merged */
223 .gpio_base = OMAP_MAX_GPIO_LINES, 37#if 0
224 .irq_base = TWL4030_GPIO_IRQ_BASE,
225 .irq_end = TWL4030_GPIO_IRQ_END,
226 .setup = zoom2_twl_gpio_setup,
227};
228 38
229static struct twl4030_madc_platform_data zoom2_madc_data = { 39static struct twl4030_madc_platform_data zoom2_madc_data = {
230 .irq_line = 1, 40 .irq_line = 1,
@@ -256,32 +66,12 @@ static struct twl4030_platform_data zoom2_twldata = {
256 66
257}; 67};
258 68
259static struct i2c_board_info __initdata zoom2_i2c_boardinfo[] = { 69#endif
260 {
261 I2C_BOARD_INFO("twl4030", 0x48),
262 .flags = I2C_CLIENT_WAKE,
263 .irq = INT_34XX_SYS_NIRQ,
264 .platform_data = &zoom2_twldata,
265 },
266};
267
268static int __init omap_i2c_init(void)
269{
270 omap_register_i2c_bus(1, 2600, zoom2_i2c_boardinfo,
271 ARRAY_SIZE(zoom2_i2c_boardinfo));
272 omap_register_i2c_bus(2, 400, NULL, 0);
273 omap_register_i2c_bus(3, 400, NULL, 0);
274 return 0;
275}
276
277extern int __init omap_zoom2_debugboard_init(void);
278 70
279static void __init omap_zoom2_init(void) 71static void __init omap_zoom2_init(void)
280{ 72{
281 omap_i2c_init(); 73 zoom_peripherals_init();
282 omap_serial_init(); 74 zoom_debugboard_init();
283 omap_zoom2_debugboard_init();
284 usb_musb_init();
285} 75}
286 76
287static void __init omap_zoom2_map_io(void) 77static void __init omap_zoom2_map_io(void)
@@ -292,7 +82,7 @@ static void __init omap_zoom2_map_io(void)
292 82
293MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board") 83MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
294 .phys_io = 0x48000000, 84 .phys_io = 0x48000000,
295 .io_pg_offst = ((0xd8000000) >> 18) & 0xfffc, 85 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
296 .boot_params = 0x80000100, 86 .boot_params = 0x80000100,
297 .map_io = omap_zoom2_map_io, 87 .map_io = omap_zoom2_map_io,
298 .init_irq = omap_zoom2_init_irq, 88 .init_irq = omap_zoom2_init_irq,
diff --git a/arch/arm/mach-omap2/board-zoom3.c b/arch/arm/mach-omap2/board-zoom3.c
new file mode 100644
index 000000000000..8d965a6516c8
--- /dev/null
+++ b/arch/arm/mach-omap2/board-zoom3.c
@@ -0,0 +1,59 @@
1/*
2 * Copyright (C) 2009 Texas Instruments Inc.
3 *
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 */
9
10#include <linux/kernel.h>
11#include <linux/init.h>
12#include <linux/platform_device.h>
13#include <linux/input.h>
14#include <linux/gpio.h>
15
16#include <asm/mach-types.h>
17#include <asm/mach/arch.h>
18
19#include <mach/board-zoom.h>
20
21#include <plat/common.h>
22#include <plat/board.h>
23
24#include "sdram-hynix-h8mbx00u0mer-0em.h"
25
26static void __init omap_zoom_map_io(void)
27{
28 omap2_set_globals_343x();
29 omap2_map_common_io();
30}
31
32static struct omap_board_config_kernel zoom_config[] __initdata = {
33};
34
35static void __init omap_zoom_init_irq(void)
36{
37 omap_board_config = zoom_config;
38 omap_board_config_size = ARRAY_SIZE(zoom_config);
39 omap2_init_common_hw(h8mbx00u0mer0em_sdrc_params,
40 h8mbx00u0mer0em_sdrc_params);
41 omap_init_irq();
42 omap_gpio_init();
43}
44
45static void __init omap_zoom_init(void)
46{
47 zoom_peripherals_init();
48 zoom_debugboard_init();
49}
50
51MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board")
52 .phys_io = 0x48000000,
53 .io_pg_offst = ((0xfa000000) >> 18) & 0xfffc,
54 .boot_params = 0x80000100,
55 .map_io = omap_zoom_map_io,
56 .init_irq = omap_zoom_init_irq,
57 .init_machine = omap_zoom_init,
58 .timer = &omap_timer,
59MACHINE_END
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
index f2a92d614f0f..4716206547ac 100644
--- a/arch/arm/mach-omap2/clock.c
+++ b/arch/arm/mach-omap2/clock.c
@@ -24,13 +24,13 @@
24#include <linux/io.h> 24#include <linux/io.h>
25#include <linux/bitops.h> 25#include <linux/bitops.h>
26 26
27#include <mach/clock.h> 27#include <plat/clock.h>
28#include <mach/clockdomain.h> 28#include <plat/clockdomain.h>
29#include <mach/cpu.h> 29#include <plat/cpu.h>
30#include <mach/prcm.h> 30#include <plat/prcm.h>
31#include <asm/div64.h> 31#include <asm/div64.h>
32 32
33#include <mach/sdrc.h> 33#include <plat/sdrc.h>
34#include "sdrc.h" 34#include "sdrc.h"
35#include "clock.h" 35#include "clock.h"
36#include "prm.h" 36#include "prm.h"
diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
index 9ae7540f8af2..43b6bedaafd6 100644
--- a/arch/arm/mach-omap2/clock.h
+++ b/arch/arm/mach-omap2/clock.h
@@ -16,7 +16,7 @@
16#ifndef __ARCH_ARM_MACH_OMAP2_CLOCK_H 16#ifndef __ARCH_ARM_MACH_OMAP2_CLOCK_H
17#define __ARCH_ARM_MACH_OMAP2_CLOCK_H 17#define __ARCH_ARM_MACH_OMAP2_CLOCK_H
18 18
19#include <mach/clock.h> 19#include <plat/clock.h>
20 20
21/* The maximum error between a target DPLL rate and the rounded rate in Hz */ 21/* The maximum error between a target DPLL rate and the rounded rate in Hz */
22#define DEFAULT_DPLL_RATE_TOLERANCE 50000 22#define DEFAULT_DPLL_RATE_TOLERANCE 50000
diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c
index e2dbedd581e8..e70e7e000eaa 100644
--- a/arch/arm/mach-omap2/clock24xx.c
+++ b/arch/arm/mach-omap2/clock24xx.c
@@ -28,13 +28,13 @@
28#include <linux/cpufreq.h> 28#include <linux/cpufreq.h>
29#include <linux/bitops.h> 29#include <linux/bitops.h>
30 30
31#include <mach/clock.h> 31#include <plat/clock.h>
32#include <mach/sram.h> 32#include <plat/sram.h>
33#include <mach/prcm.h> 33#include <plat/prcm.h>
34#include <asm/div64.h> 34#include <asm/div64.h>
35#include <asm/clkdev.h> 35#include <asm/clkdev.h>
36 36
37#include <mach/sdrc.h> 37#include <plat/sdrc.h>
38#include "clock.h" 38#include "clock.h"
39#include "prm.h" 39#include "prm.h"
40#include "prm-regbits-24xx.h" 40#include "prm-regbits-24xx.h"
diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
index 066e88a18824..9f2feaf79865 100644
--- a/arch/arm/mach-omap2/clock34xx.c
+++ b/arch/arm/mach-omap2/clock34xx.c
@@ -27,13 +27,13 @@
27#include <linux/limits.h> 27#include <linux/limits.h>
28#include <linux/bitops.h> 28#include <linux/bitops.h>
29 29
30#include <mach/cpu.h> 30#include <plat/cpu.h>
31#include <mach/clock.h> 31#include <plat/clock.h>
32#include <mach/sram.h> 32#include <plat/sram.h>
33#include <asm/div64.h> 33#include <asm/div64.h>
34#include <asm/clkdev.h> 34#include <asm/clkdev.h>
35 35
36#include <mach/sdrc.h> 36#include <plat/sdrc.h>
37#include "clock.h" 37#include "clock.h"
38#include "prm.h" 38#include "prm.h"
39#include "prm-regbits-34xx.h" 39#include "prm-regbits-34xx.h"
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
index 9565c05bebd2..8fe1bcb23dd9 100644
--- a/arch/arm/mach-omap2/clock34xx.h
+++ b/arch/arm/mach-omap2/clock34xx.h
@@ -19,7 +19,7 @@
19#ifndef __ARCH_ARM_MACH_OMAP2_CLOCK34XX_H 19#ifndef __ARCH_ARM_MACH_OMAP2_CLOCK34XX_H
20#define __ARCH_ARM_MACH_OMAP2_CLOCK34XX_H 20#define __ARCH_ARM_MACH_OMAP2_CLOCK34XX_H
21 21
22#include <mach/control.h> 22#include <plat/control.h>
23 23
24#include "clock.h" 24#include "clock.h"
25#include "cm.h" 25#include "cm.h"
diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c
index 58aff8485df9..fcd82320a6a3 100644
--- a/arch/arm/mach-omap2/clockdomain.c
+++ b/arch/arm/mach-omap2/clockdomain.c
@@ -28,14 +28,14 @@
28 28
29#include <linux/bitops.h> 29#include <linux/bitops.h>
30 30
31#include <mach/clock.h> 31#include <plat/clock.h>
32 32
33#include "prm.h" 33#include "prm.h"
34#include "prm-regbits-24xx.h" 34#include "prm-regbits-24xx.h"
35#include "cm.h" 35#include "cm.h"
36 36
37#include <mach/powerdomain.h> 37#include <plat/powerdomain.h>
38#include <mach/clockdomain.h> 38#include <plat/clockdomain.h>
39 39
40/* clkdm_list contains all registered struct clockdomains */ 40/* clkdm_list contains all registered struct clockdomains */
41static LIST_HEAD(clkdm_list); 41static LIST_HEAD(clkdm_list);
diff --git a/arch/arm/mach-omap2/clockdomains.h b/arch/arm/mach-omap2/clockdomains.h
index fe319ae4ca0a..c4ee0761d908 100644
--- a/arch/arm/mach-omap2/clockdomains.h
+++ b/arch/arm/mach-omap2/clockdomains.h
@@ -10,7 +10,7 @@
10#ifndef __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS_H 10#ifndef __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS_H
11#define __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS_H 11#define __ARCH_ARM_MACH_OMAP2_CLOCKDOMAINS_H
12 12
13#include <mach/clockdomain.h> 13#include <plat/clockdomain.h>
14 14
15/* 15/*
16 * OMAP2/3-common clockdomains 16 * OMAP2/3-common clockdomains
diff --git a/arch/arm/mach-omap2/cm.h b/arch/arm/mach-omap2/cm.h
index cfd0b726ba44..a2fcfcc253cc 100644
--- a/arch/arm/mach-omap2/cm.h
+++ b/arch/arm/mach-omap2/cm.h
@@ -17,11 +17,11 @@
17#include "prcm-common.h" 17#include "prcm-common.h"
18 18
19#define OMAP2420_CM_REGADDR(module, reg) \ 19#define OMAP2420_CM_REGADDR(module, reg) \
20 OMAP2_IO_ADDRESS(OMAP2420_CM_BASE + (module) + (reg)) 20 OMAP2_L4_IO_ADDRESS(OMAP2420_CM_BASE + (module) + (reg))
21#define OMAP2430_CM_REGADDR(module, reg) \ 21#define OMAP2430_CM_REGADDR(module, reg) \
22 OMAP2_IO_ADDRESS(OMAP2430_CM_BASE + (module) + (reg)) 22 OMAP2_L4_IO_ADDRESS(OMAP2430_CM_BASE + (module) + (reg))
23#define OMAP34XX_CM_REGADDR(module, reg) \ 23#define OMAP34XX_CM_REGADDR(module, reg) \
24 OMAP2_IO_ADDRESS(OMAP3430_CM_BASE + (module) + (reg)) 24 OMAP2_L4_IO_ADDRESS(OMAP3430_CM_BASE + (module) + (reg))
25 25
26/* 26/*
27 * Architecture-specific global CM registers 27 * Architecture-specific global CM registers
diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c
index 5f3aad977842..cdd1f35636dd 100644
--- a/arch/arm/mach-omap2/control.c
+++ b/arch/arm/mach-omap2/control.c
@@ -15,11 +15,127 @@
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/io.h> 16#include <linux/io.h>
17 17
18#include <mach/common.h> 18#include <plat/common.h>
19#include <mach/control.h> 19#include <plat/control.h>
20#include <plat/sdrc.h>
21#include "cm-regbits-34xx.h"
22#include "prm-regbits-34xx.h"
23#include "cm.h"
24#include "prm.h"
25#include "sdrc.h"
20 26
21static void __iomem *omap2_ctrl_base; 27static void __iomem *omap2_ctrl_base;
22 28
29#if defined(CONFIG_ARCH_OMAP3) && defined(CONFIG_PM)
30struct omap3_scratchpad {
31 u32 boot_config_ptr;
32 u32 public_restore_ptr;
33 u32 secure_ram_restore_ptr;
34 u32 sdrc_module_semaphore;
35 u32 prcm_block_offset;
36 u32 sdrc_block_offset;
37};
38
39struct omap3_scratchpad_prcm_block {
40 u32 prm_clksrc_ctrl;
41 u32 prm_clksel;
42 u32 cm_clksel_core;
43 u32 cm_clksel_wkup;
44 u32 cm_clken_pll;
45 u32 cm_autoidle_pll;
46 u32 cm_clksel1_pll;
47 u32 cm_clksel2_pll;
48 u32 cm_clksel3_pll;
49 u32 cm_clken_pll_mpu;
50 u32 cm_autoidle_pll_mpu;
51 u32 cm_clksel1_pll_mpu;
52 u32 cm_clksel2_pll_mpu;
53 u32 prcm_block_size;
54};
55
56struct omap3_scratchpad_sdrc_block {
57 u16 sysconfig;
58 u16 cs_cfg;
59 u16 sharing;
60 u16 err_type;
61 u32 dll_a_ctrl;
62 u32 dll_b_ctrl;
63 u32 power;
64 u32 cs_0;
65 u32 mcfg_0;
66 u16 mr_0;
67 u16 emr_1_0;
68 u16 emr_2_0;
69 u16 emr_3_0;
70 u32 actim_ctrla_0;
71 u32 actim_ctrlb_0;
72 u32 rfr_ctrl_0;
73 u32 cs_1;
74 u32 mcfg_1;
75 u16 mr_1;
76 u16 emr_1_1;
77 u16 emr_2_1;
78 u16 emr_3_1;
79 u32 actim_ctrla_1;
80 u32 actim_ctrlb_1;
81 u32 rfr_ctrl_1;
82 u16 dcdl_1_ctrl;
83 u16 dcdl_2_ctrl;
84 u32 flags;
85 u32 block_size;
86};
87
88void *omap3_secure_ram_storage;
89
90/*
91 * This is used to store ARM registers in SDRAM before attempting
92 * an MPU OFF. The save and restore happens from the SRAM sleep code.
93 * The address is stored in scratchpad, so that it can be used
94 * during the restore path.
95 */
96u32 omap3_arm_context[128];
97
98struct omap3_control_regs {
99 u32 sysconfig;
100 u32 devconf0;
101 u32 mem_dftrw0;
102 u32 mem_dftrw1;
103 u32 msuspendmux_0;
104 u32 msuspendmux_1;
105 u32 msuspendmux_2;
106 u32 msuspendmux_3;
107 u32 msuspendmux_4;
108 u32 msuspendmux_5;
109 u32 sec_ctrl;
110 u32 devconf1;
111 u32 csirxfe;
112 u32 iva2_bootaddr;
113 u32 iva2_bootmod;
114 u32 debobs_0;
115 u32 debobs_1;
116 u32 debobs_2;
117 u32 debobs_3;
118 u32 debobs_4;
119 u32 debobs_5;
120 u32 debobs_6;
121 u32 debobs_7;
122 u32 debobs_8;
123 u32 prog_io0;
124 u32 prog_io1;
125 u32 dss_dpll_spreading;
126 u32 core_dpll_spreading;
127 u32 per_dpll_spreading;
128 u32 usbhost_dpll_spreading;
129 u32 pbias_lite;
130 u32 temp_sensor;
131 u32 sramldo4;
132 u32 sramldo5;
133 u32 csi;
134};
135
136static struct omap3_control_regs control_context;
137#endif /* CONFIG_ARCH_OMAP3 && CONFIG_PM */
138
23#define OMAP_CTRL_REGADDR(reg) (omap2_ctrl_base + (reg)) 139#define OMAP_CTRL_REGADDR(reg) (omap2_ctrl_base + (reg))
24 140
25void __init omap2_set_globals_control(struct omap_globals *omap2_globals) 141void __init omap2_set_globals_control(struct omap_globals *omap2_globals)
@@ -62,3 +178,268 @@ void omap_ctrl_writel(u32 val, u16 offset)
62 __raw_writel(val, OMAP_CTRL_REGADDR(offset)); 178 __raw_writel(val, OMAP_CTRL_REGADDR(offset));
63} 179}
64 180
181#if defined(CONFIG_ARCH_OMAP3) && defined(CONFIG_PM)
182/*
183 * Clears the scratchpad contents in case of cold boot-
184 * called during bootup
185 */
186void omap3_clear_scratchpad_contents(void)
187{
188 u32 max_offset = OMAP343X_SCRATCHPAD_ROM_OFFSET;
189 u32 *v_addr;
190 u32 offset = 0;
191 v_addr = OMAP2_L4_IO_ADDRESS(OMAP343X_SCRATCHPAD_ROM);
192 if (prm_read_mod_reg(OMAP3430_GR_MOD, OMAP3_PRM_RSTST_OFFSET) &
193 OMAP3430_GLOBAL_COLD_RST) {
194 for ( ; offset <= max_offset; offset += 0x4)
195 __raw_writel(0x0, (v_addr + offset));
196 prm_set_mod_reg_bits(OMAP3430_GLOBAL_COLD_RST, OMAP3430_GR_MOD,
197 OMAP3_PRM_RSTST_OFFSET);
198 }
199}
200
201/* Populate the scratchpad structure with restore structure */
202void omap3_save_scratchpad_contents(void)
203{
204 void * __iomem scratchpad_address;
205 u32 arm_context_addr;
206 struct omap3_scratchpad scratchpad_contents;
207 struct omap3_scratchpad_prcm_block prcm_block_contents;
208 struct omap3_scratchpad_sdrc_block sdrc_block_contents;
209
210 /* Populate the Scratchpad contents */
211 scratchpad_contents.boot_config_ptr = 0x0;
212 if (omap_rev() != OMAP3430_REV_ES3_0 &&
213 omap_rev() != OMAP3430_REV_ES3_1)
214 scratchpad_contents.public_restore_ptr =
215 virt_to_phys(get_restore_pointer());
216 else
217 scratchpad_contents.public_restore_ptr =
218 virt_to_phys(get_es3_restore_pointer());
219 if (omap_type() == OMAP2_DEVICE_TYPE_GP)
220 scratchpad_contents.secure_ram_restore_ptr = 0x0;
221 else
222 scratchpad_contents.secure_ram_restore_ptr =
223 (u32) __pa(omap3_secure_ram_storage);
224 scratchpad_contents.sdrc_module_semaphore = 0x0;
225 scratchpad_contents.prcm_block_offset = 0x2C;
226 scratchpad_contents.sdrc_block_offset = 0x64;
227
228 /* Populate the PRCM block contents */
229 prcm_block_contents.prm_clksrc_ctrl = prm_read_mod_reg(OMAP3430_GR_MOD,
230 OMAP3_PRM_CLKSRC_CTRL_OFFSET);
231 prcm_block_contents.prm_clksel = prm_read_mod_reg(OMAP3430_CCR_MOD,
232 OMAP3_PRM_CLKSEL_OFFSET);
233 prcm_block_contents.cm_clksel_core =
234 cm_read_mod_reg(CORE_MOD, CM_CLKSEL);
235 prcm_block_contents.cm_clksel_wkup =
236 cm_read_mod_reg(WKUP_MOD, CM_CLKSEL);
237 prcm_block_contents.cm_clken_pll =
238 cm_read_mod_reg(PLL_MOD, CM_CLKEN);
239 prcm_block_contents.cm_autoidle_pll =
240 cm_read_mod_reg(PLL_MOD, OMAP3430_CM_AUTOIDLE_PLL);
241 prcm_block_contents.cm_clksel1_pll =
242 cm_read_mod_reg(PLL_MOD, OMAP3430_CM_CLKSEL1_PLL);
243 prcm_block_contents.cm_clksel2_pll =
244 cm_read_mod_reg(PLL_MOD, OMAP3430_CM_CLKSEL2_PLL);
245 prcm_block_contents.cm_clksel3_pll =
246 cm_read_mod_reg(PLL_MOD, OMAP3430_CM_CLKSEL3);
247 prcm_block_contents.cm_clken_pll_mpu =
248 cm_read_mod_reg(MPU_MOD, OMAP3430_CM_CLKEN_PLL);
249 prcm_block_contents.cm_autoidle_pll_mpu =
250 cm_read_mod_reg(MPU_MOD, OMAP3430_CM_AUTOIDLE_PLL);
251 prcm_block_contents.cm_clksel1_pll_mpu =
252 cm_read_mod_reg(MPU_MOD, OMAP3430_CM_CLKSEL1_PLL);
253 prcm_block_contents.cm_clksel2_pll_mpu =
254 cm_read_mod_reg(MPU_MOD, OMAP3430_CM_CLKSEL2_PLL);
255 prcm_block_contents.prcm_block_size = 0x0;
256
257 /* Populate the SDRC block contents */
258 sdrc_block_contents.sysconfig =
259 (sdrc_read_reg(SDRC_SYSCONFIG) & 0xFFFF);
260 sdrc_block_contents.cs_cfg =
261 (sdrc_read_reg(SDRC_CS_CFG) & 0xFFFF);
262 sdrc_block_contents.sharing =
263 (sdrc_read_reg(SDRC_SHARING) & 0xFFFF);
264 sdrc_block_contents.err_type =
265 (sdrc_read_reg(SDRC_ERR_TYPE) & 0xFFFF);
266 sdrc_block_contents.dll_a_ctrl = sdrc_read_reg(SDRC_DLLA_CTRL);
267 sdrc_block_contents.dll_b_ctrl = 0x0;
268 /*
269 * Due to a OMAP3 errata (1.142), on EMU/HS devices SRDC should
270 * be programed to issue automatic self refresh on timeout
271 * of AUTO_CNT = 1 prior to any transition to OFF mode.
272 */
273 if ((omap_type() != OMAP2_DEVICE_TYPE_GP)
274 && (omap_rev() >= OMAP3430_REV_ES3_0))
275 sdrc_block_contents.power = (sdrc_read_reg(SDRC_POWER) &
276 ~(SDRC_POWER_AUTOCOUNT_MASK|
277 SDRC_POWER_CLKCTRL_MASK)) |
278 (1 << SDRC_POWER_AUTOCOUNT_SHIFT) |
279 SDRC_SELF_REFRESH_ON_AUTOCOUNT;
280 else
281 sdrc_block_contents.power = sdrc_read_reg(SDRC_POWER);
282
283 sdrc_block_contents.cs_0 = 0x0;
284 sdrc_block_contents.mcfg_0 = sdrc_read_reg(SDRC_MCFG_0);
285 sdrc_block_contents.mr_0 = (sdrc_read_reg(SDRC_MR_0) & 0xFFFF);
286 sdrc_block_contents.emr_1_0 = 0x0;
287 sdrc_block_contents.emr_2_0 = 0x0;
288 sdrc_block_contents.emr_3_0 = 0x0;
289 sdrc_block_contents.actim_ctrla_0 =
290 sdrc_read_reg(SDRC_ACTIM_CTRL_A_0);
291 sdrc_block_contents.actim_ctrlb_0 =
292 sdrc_read_reg(SDRC_ACTIM_CTRL_B_0);
293 sdrc_block_contents.rfr_ctrl_0 =
294 sdrc_read_reg(SDRC_RFR_CTRL_0);
295 sdrc_block_contents.cs_1 = 0x0;
296 sdrc_block_contents.mcfg_1 = sdrc_read_reg(SDRC_MCFG_1);
297 sdrc_block_contents.mr_1 = sdrc_read_reg(SDRC_MR_1) & 0xFFFF;
298 sdrc_block_contents.emr_1_1 = 0x0;
299 sdrc_block_contents.emr_2_1 = 0x0;
300 sdrc_block_contents.emr_3_1 = 0x0;
301 sdrc_block_contents.actim_ctrla_1 =
302 sdrc_read_reg(SDRC_ACTIM_CTRL_A_1);
303 sdrc_block_contents.actim_ctrlb_1 =
304 sdrc_read_reg(SDRC_ACTIM_CTRL_B_1);
305 sdrc_block_contents.rfr_ctrl_1 =
306 sdrc_read_reg(SDRC_RFR_CTRL_1);
307 sdrc_block_contents.dcdl_1_ctrl = 0x0;
308 sdrc_block_contents.dcdl_2_ctrl = 0x0;
309 sdrc_block_contents.flags = 0x0;
310 sdrc_block_contents.block_size = 0x0;
311
312 arm_context_addr = virt_to_phys(omap3_arm_context);
313
314 /* Copy all the contents to the scratchpad location */
315 scratchpad_address = OMAP2_L4_IO_ADDRESS(OMAP343X_SCRATCHPAD);
316 memcpy_toio(scratchpad_address, &scratchpad_contents,
317 sizeof(scratchpad_contents));
318 /* Scratchpad contents being 32 bits, a divide by 4 done here */
319 memcpy_toio(scratchpad_address +
320 scratchpad_contents.prcm_block_offset,
321 &prcm_block_contents, sizeof(prcm_block_contents));
322 memcpy_toio(scratchpad_address +
323 scratchpad_contents.sdrc_block_offset,
324 &sdrc_block_contents, sizeof(sdrc_block_contents));
325 /*
326 * Copies the address of the location in SDRAM where ARM
327 * registers get saved during a MPU OFF transition.
328 */
329 memcpy_toio(scratchpad_address +
330 scratchpad_contents.sdrc_block_offset +
331 sizeof(sdrc_block_contents), &arm_context_addr, 4);
332}
333
334void omap3_control_save_context(void)
335{
336 control_context.sysconfig = omap_ctrl_readl(OMAP2_CONTROL_SYSCONFIG);
337 control_context.devconf0 = omap_ctrl_readl(OMAP2_CONTROL_DEVCONF0);
338 control_context.mem_dftrw0 =
339 omap_ctrl_readl(OMAP343X_CONTROL_MEM_DFTRW0);
340 control_context.mem_dftrw1 =
341 omap_ctrl_readl(OMAP343X_CONTROL_MEM_DFTRW1);
342 control_context.msuspendmux_0 =
343 omap_ctrl_readl(OMAP2_CONTROL_MSUSPENDMUX_0);
344 control_context.msuspendmux_1 =
345 omap_ctrl_readl(OMAP2_CONTROL_MSUSPENDMUX_1);
346 control_context.msuspendmux_2 =
347 omap_ctrl_readl(OMAP2_CONTROL_MSUSPENDMUX_2);
348 control_context.msuspendmux_3 =
349 omap_ctrl_readl(OMAP2_CONTROL_MSUSPENDMUX_3);
350 control_context.msuspendmux_4 =
351 omap_ctrl_readl(OMAP2_CONTROL_MSUSPENDMUX_4);
352 control_context.msuspendmux_5 =
353 omap_ctrl_readl(OMAP2_CONTROL_MSUSPENDMUX_5);
354 control_context.sec_ctrl = omap_ctrl_readl(OMAP2_CONTROL_SEC_CTRL);
355 control_context.devconf1 = omap_ctrl_readl(OMAP343X_CONTROL_DEVCONF1);
356 control_context.csirxfe = omap_ctrl_readl(OMAP343X_CONTROL_CSIRXFE);
357 control_context.iva2_bootaddr =
358 omap_ctrl_readl(OMAP343X_CONTROL_IVA2_BOOTADDR);
359 control_context.iva2_bootmod =
360 omap_ctrl_readl(OMAP343X_CONTROL_IVA2_BOOTMOD);
361 control_context.debobs_0 = omap_ctrl_readl(OMAP343X_CONTROL_DEBOBS(0));
362 control_context.debobs_1 = omap_ctrl_readl(OMAP343X_CONTROL_DEBOBS(1));
363 control_context.debobs_2 = omap_ctrl_readl(OMAP343X_CONTROL_DEBOBS(2));
364 control_context.debobs_3 = omap_ctrl_readl(OMAP343X_CONTROL_DEBOBS(3));
365 control_context.debobs_4 = omap_ctrl_readl(OMAP343X_CONTROL_DEBOBS(4));
366 control_context.debobs_5 = omap_ctrl_readl(OMAP343X_CONTROL_DEBOBS(5));
367 control_context.debobs_6 = omap_ctrl_readl(OMAP343X_CONTROL_DEBOBS(6));
368 control_context.debobs_7 = omap_ctrl_readl(OMAP343X_CONTROL_DEBOBS(7));
369 control_context.debobs_8 = omap_ctrl_readl(OMAP343X_CONTROL_DEBOBS(8));
370 control_context.prog_io0 = omap_ctrl_readl(OMAP343X_CONTROL_PROG_IO0);
371 control_context.prog_io1 = omap_ctrl_readl(OMAP343X_CONTROL_PROG_IO1);
372 control_context.dss_dpll_spreading =
373 omap_ctrl_readl(OMAP343X_CONTROL_DSS_DPLL_SPREADING);
374 control_context.core_dpll_spreading =
375 omap_ctrl_readl(OMAP343X_CONTROL_CORE_DPLL_SPREADING);
376 control_context.per_dpll_spreading =
377 omap_ctrl_readl(OMAP343X_CONTROL_PER_DPLL_SPREADING);
378 control_context.usbhost_dpll_spreading =
379 omap_ctrl_readl(OMAP343X_CONTROL_USBHOST_DPLL_SPREADING);
380 control_context.pbias_lite =
381 omap_ctrl_readl(OMAP343X_CONTROL_PBIAS_LITE);
382 control_context.temp_sensor =
383 omap_ctrl_readl(OMAP343X_CONTROL_TEMP_SENSOR);
384 control_context.sramldo4 = omap_ctrl_readl(OMAP343X_CONTROL_SRAMLDO4);
385 control_context.sramldo5 = omap_ctrl_readl(OMAP343X_CONTROL_SRAMLDO5);
386 control_context.csi = omap_ctrl_readl(OMAP343X_CONTROL_CSI);
387 return;
388}
389
390void omap3_control_restore_context(void)
391{
392 omap_ctrl_writel(control_context.sysconfig, OMAP2_CONTROL_SYSCONFIG);
393 omap_ctrl_writel(control_context.devconf0, OMAP2_CONTROL_DEVCONF0);
394 omap_ctrl_writel(control_context.mem_dftrw0,
395 OMAP343X_CONTROL_MEM_DFTRW0);
396 omap_ctrl_writel(control_context.mem_dftrw1,
397 OMAP343X_CONTROL_MEM_DFTRW1);
398 omap_ctrl_writel(control_context.msuspendmux_0,
399 OMAP2_CONTROL_MSUSPENDMUX_0);
400 omap_ctrl_writel(control_context.msuspendmux_1,
401 OMAP2_CONTROL_MSUSPENDMUX_1);
402 omap_ctrl_writel(control_context.msuspendmux_2,
403 OMAP2_CONTROL_MSUSPENDMUX_2);
404 omap_ctrl_writel(control_context.msuspendmux_3,
405 OMAP2_CONTROL_MSUSPENDMUX_3);
406 omap_ctrl_writel(control_context.msuspendmux_4,
407 OMAP2_CONTROL_MSUSPENDMUX_4);
408 omap_ctrl_writel(control_context.msuspendmux_5,
409 OMAP2_CONTROL_MSUSPENDMUX_5);
410 omap_ctrl_writel(control_context.sec_ctrl, OMAP2_CONTROL_SEC_CTRL);
411 omap_ctrl_writel(control_context.devconf1, OMAP343X_CONTROL_DEVCONF1);
412 omap_ctrl_writel(control_context.csirxfe, OMAP343X_CONTROL_CSIRXFE);
413 omap_ctrl_writel(control_context.iva2_bootaddr,
414 OMAP343X_CONTROL_IVA2_BOOTADDR);
415 omap_ctrl_writel(control_context.iva2_bootmod,
416 OMAP343X_CONTROL_IVA2_BOOTMOD);
417 omap_ctrl_writel(control_context.debobs_0, OMAP343X_CONTROL_DEBOBS(0));
418 omap_ctrl_writel(control_context.debobs_1, OMAP343X_CONTROL_DEBOBS(1));
419 omap_ctrl_writel(control_context.debobs_2, OMAP343X_CONTROL_DEBOBS(2));
420 omap_ctrl_writel(control_context.debobs_3, OMAP343X_CONTROL_DEBOBS(3));
421 omap_ctrl_writel(control_context.debobs_4, OMAP343X_CONTROL_DEBOBS(4));
422 omap_ctrl_writel(control_context.debobs_5, OMAP343X_CONTROL_DEBOBS(5));
423 omap_ctrl_writel(control_context.debobs_6, OMAP343X_CONTROL_DEBOBS(6));
424 omap_ctrl_writel(control_context.debobs_7, OMAP343X_CONTROL_DEBOBS(7));
425 omap_ctrl_writel(control_context.debobs_8, OMAP343X_CONTROL_DEBOBS(8));
426 omap_ctrl_writel(control_context.prog_io0, OMAP343X_CONTROL_PROG_IO0);
427 omap_ctrl_writel(control_context.prog_io1, OMAP343X_CONTROL_PROG_IO1);
428 omap_ctrl_writel(control_context.dss_dpll_spreading,
429 OMAP343X_CONTROL_DSS_DPLL_SPREADING);
430 omap_ctrl_writel(control_context.core_dpll_spreading,
431 OMAP343X_CONTROL_CORE_DPLL_SPREADING);
432 omap_ctrl_writel(control_context.per_dpll_spreading,
433 OMAP343X_CONTROL_PER_DPLL_SPREADING);
434 omap_ctrl_writel(control_context.usbhost_dpll_spreading,
435 OMAP343X_CONTROL_USBHOST_DPLL_SPREADING);
436 omap_ctrl_writel(control_context.pbias_lite,
437 OMAP343X_CONTROL_PBIAS_LITE);
438 omap_ctrl_writel(control_context.temp_sensor,
439 OMAP343X_CONTROL_TEMP_SENSOR);
440 omap_ctrl_writel(control_context.sramldo4, OMAP343X_CONTROL_SRAMLDO4);
441 omap_ctrl_writel(control_context.sramldo5, OMAP343X_CONTROL_SRAMLDO5);
442 omap_ctrl_writel(control_context.csi, OMAP343X_CONTROL_CSI);
443 return;
444}
445#endif /* CONFIG_ARCH_OMAP3 && CONFIG_PM */
diff --git a/arch/arm/mach-omap2/cpuidle34xx.c b/arch/arm/mach-omap2/cpuidle34xx.c
new file mode 100644
index 000000000000..a26d6a08ae3f
--- /dev/null
+++ b/arch/arm/mach-omap2/cpuidle34xx.c
@@ -0,0 +1,318 @@
1/*
2 * linux/arch/arm/mach-omap2/cpuidle34xx.c
3 *
4 * OMAP3 CPU IDLE Routines
5 *
6 * Copyright (C) 2008 Texas Instruments, Inc.
7 * Rajendra Nayak <rnayak@ti.com>
8 *
9 * Copyright (C) 2007 Texas Instruments, Inc.
10 * Karthik Dasu <karthik-dp@ti.com>
11 *
12 * Copyright (C) 2006 Nokia Corporation
13 * Tony Lindgren <tony@atomide.com>
14 *
15 * Copyright (C) 2005 Texas Instruments, Inc.
16 * Richard Woodruff <r-woodruff2@ti.com>
17 *
18 * Based on pm.c for omap2
19 *
20 * This program is free software; you can redistribute it and/or modify
21 * it under the terms of the GNU General Public License version 2 as
22 * published by the Free Software Foundation.
23 */
24
25#include <linux/sched.h>
26#include <linux/cpuidle.h>
27
28#include <plat/prcm.h>
29#include <plat/irqs.h>
30#include <plat/powerdomain.h>
31#include <plat/clockdomain.h>
32#include <plat/control.h>
33#include <plat/serial.h>
34
35#include "pm.h"
36
37#ifdef CONFIG_CPU_IDLE
38
39#define OMAP3_MAX_STATES 7
40#define OMAP3_STATE_C1 0 /* C1 - MPU WFI + Core active */
41#define OMAP3_STATE_C2 1 /* C2 - MPU WFI + Core inactive */
42#define OMAP3_STATE_C3 2 /* C3 - MPU CSWR + Core inactive */
43#define OMAP3_STATE_C4 3 /* C4 - MPU OFF + Core iactive */
44#define OMAP3_STATE_C5 4 /* C5 - MPU RET + Core RET */
45#define OMAP3_STATE_C6 5 /* C6 - MPU OFF + Core RET */
46#define OMAP3_STATE_C7 6 /* C7 - MPU OFF + Core OFF */
47
48struct omap3_processor_cx {
49 u8 valid;
50 u8 type;
51 u32 sleep_latency;
52 u32 wakeup_latency;
53 u32 mpu_state;
54 u32 core_state;
55 u32 threshold;
56 u32 flags;
57};
58
59struct omap3_processor_cx omap3_power_states[OMAP3_MAX_STATES];
60struct omap3_processor_cx current_cx_state;
61struct powerdomain *mpu_pd, *core_pd;
62
63static int omap3_idle_bm_check(void)
64{
65 if (!omap3_can_sleep())
66 return 1;
67 return 0;
68}
69
70static int _cpuidle_allow_idle(struct powerdomain *pwrdm,
71 struct clockdomain *clkdm)
72{
73 omap2_clkdm_allow_idle(clkdm);
74 return 0;
75}
76
77static int _cpuidle_deny_idle(struct powerdomain *pwrdm,
78 struct clockdomain *clkdm)
79{
80 omap2_clkdm_deny_idle(clkdm);
81 return 0;
82}
83
84/**
85 * omap3_enter_idle - Programs OMAP3 to enter the specified state
86 * @dev: cpuidle device
87 * @state: The target state to be programmed
88 *
89 * Called from the CPUidle framework to program the device to the
90 * specified target state selected by the governor.
91 */
92static int omap3_enter_idle(struct cpuidle_device *dev,
93 struct cpuidle_state *state)
94{
95 struct omap3_processor_cx *cx = cpuidle_get_statedata(state);
96 struct timespec ts_preidle, ts_postidle, ts_idle;
97 u32 mpu_state = cx->mpu_state, core_state = cx->core_state;
98
99 current_cx_state = *cx;
100
101 /* Used to keep track of the total time in idle */
102 getnstimeofday(&ts_preidle);
103
104 local_irq_disable();
105 local_fiq_disable();
106
107 if (!enable_off_mode) {
108 if (mpu_state < PWRDM_POWER_RET)
109 mpu_state = PWRDM_POWER_RET;
110 if (core_state < PWRDM_POWER_RET)
111 core_state = PWRDM_POWER_RET;
112 }
113
114 pwrdm_set_next_pwrst(mpu_pd, mpu_state);
115 pwrdm_set_next_pwrst(core_pd, core_state);
116
117 if (omap_irq_pending() || need_resched())
118 goto return_sleep_time;
119
120 if (cx->type == OMAP3_STATE_C1) {
121 pwrdm_for_each_clkdm(mpu_pd, _cpuidle_deny_idle);
122 pwrdm_for_each_clkdm(core_pd, _cpuidle_deny_idle);
123 }
124
125 /* Execute ARM wfi */
126 omap_sram_idle();
127
128 if (cx->type == OMAP3_STATE_C1) {
129 pwrdm_for_each_clkdm(mpu_pd, _cpuidle_allow_idle);
130 pwrdm_for_each_clkdm(core_pd, _cpuidle_allow_idle);
131 }
132
133return_sleep_time:
134 getnstimeofday(&ts_postidle);
135 ts_idle = timespec_sub(ts_postidle, ts_preidle);
136
137 local_irq_enable();
138 local_fiq_enable();
139
140 return (u32)timespec_to_ns(&ts_idle)/1000;
141}
142
143/**
144 * omap3_enter_idle_bm - Checks for any bus activity
145 * @dev: cpuidle device
146 * @state: The target state to be programmed
147 *
148 * Used for C states with CPUIDLE_FLAG_CHECK_BM flag set. This
149 * function checks for any pending activity and then programs the
150 * device to the specified or a safer state.
151 */
152static int omap3_enter_idle_bm(struct cpuidle_device *dev,
153 struct cpuidle_state *state)
154{
155 struct cpuidle_state *new_state = state;
156
157 if ((state->flags & CPUIDLE_FLAG_CHECK_BM) && omap3_idle_bm_check()) {
158 BUG_ON(!dev->safe_state);
159 new_state = dev->safe_state;
160 }
161
162 dev->last_state = new_state;
163 return omap3_enter_idle(dev, new_state);
164}
165
166DEFINE_PER_CPU(struct cpuidle_device, omap3_idle_dev);
167
168/* omap3_init_power_states - Initialises the OMAP3 specific C states.
169 *
170 * Below is the desciption of each C state.
171 * C1 . MPU WFI + Core active
172 * C2 . MPU WFI + Core inactive
173 * C3 . MPU CSWR + Core inactive
174 * C4 . MPU OFF + Core inactive
175 * C5 . MPU CSWR + Core CSWR
176 * C6 . MPU OFF + Core CSWR
177 * C7 . MPU OFF + Core OFF
178 */
179void omap_init_power_states(void)
180{
181 /* C1 . MPU WFI + Core active */
182 omap3_power_states[OMAP3_STATE_C1].valid = 1;
183 omap3_power_states[OMAP3_STATE_C1].type = OMAP3_STATE_C1;
184 omap3_power_states[OMAP3_STATE_C1].sleep_latency = 2;
185 omap3_power_states[OMAP3_STATE_C1].wakeup_latency = 2;
186 omap3_power_states[OMAP3_STATE_C1].threshold = 5;
187 omap3_power_states[OMAP3_STATE_C1].mpu_state = PWRDM_POWER_ON;
188 omap3_power_states[OMAP3_STATE_C1].core_state = PWRDM_POWER_ON;
189 omap3_power_states[OMAP3_STATE_C1].flags = CPUIDLE_FLAG_TIME_VALID;
190
191 /* C2 . MPU WFI + Core inactive */
192 omap3_power_states[OMAP3_STATE_C2].valid = 1;
193 omap3_power_states[OMAP3_STATE_C2].type = OMAP3_STATE_C2;
194 omap3_power_states[OMAP3_STATE_C2].sleep_latency = 10;
195 omap3_power_states[OMAP3_STATE_C2].wakeup_latency = 10;
196 omap3_power_states[OMAP3_STATE_C2].threshold = 30;
197 omap3_power_states[OMAP3_STATE_C2].mpu_state = PWRDM_POWER_ON;
198 omap3_power_states[OMAP3_STATE_C2].core_state = PWRDM_POWER_ON;
199 omap3_power_states[OMAP3_STATE_C2].flags = CPUIDLE_FLAG_TIME_VALID;
200
201 /* C3 . MPU CSWR + Core inactive */
202 omap3_power_states[OMAP3_STATE_C3].valid = 1;
203 omap3_power_states[OMAP3_STATE_C3].type = OMAP3_STATE_C3;
204 omap3_power_states[OMAP3_STATE_C3].sleep_latency = 50;
205 omap3_power_states[OMAP3_STATE_C3].wakeup_latency = 50;
206 omap3_power_states[OMAP3_STATE_C3].threshold = 300;
207 omap3_power_states[OMAP3_STATE_C3].mpu_state = PWRDM_POWER_RET;
208 omap3_power_states[OMAP3_STATE_C3].core_state = PWRDM_POWER_ON;
209 omap3_power_states[OMAP3_STATE_C3].flags = CPUIDLE_FLAG_TIME_VALID |
210 CPUIDLE_FLAG_CHECK_BM;
211
212 /* C4 . MPU OFF + Core inactive */
213 omap3_power_states[OMAP3_STATE_C4].valid = 1;
214 omap3_power_states[OMAP3_STATE_C4].type = OMAP3_STATE_C4;
215 omap3_power_states[OMAP3_STATE_C4].sleep_latency = 1500;
216 omap3_power_states[OMAP3_STATE_C4].wakeup_latency = 1800;
217 omap3_power_states[OMAP3_STATE_C4].threshold = 4000;
218 omap3_power_states[OMAP3_STATE_C4].mpu_state = PWRDM_POWER_OFF;
219 omap3_power_states[OMAP3_STATE_C4].core_state = PWRDM_POWER_ON;
220 omap3_power_states[OMAP3_STATE_C4].flags = CPUIDLE_FLAG_TIME_VALID |
221 CPUIDLE_FLAG_CHECK_BM;
222
223 /* C5 . MPU CSWR + Core CSWR*/
224 omap3_power_states[OMAP3_STATE_C5].valid = 1;
225 omap3_power_states[OMAP3_STATE_C5].type = OMAP3_STATE_C5;
226 omap3_power_states[OMAP3_STATE_C5].sleep_latency = 2500;
227 omap3_power_states[OMAP3_STATE_C5].wakeup_latency = 7500;
228 omap3_power_states[OMAP3_STATE_C5].threshold = 12000;
229 omap3_power_states[OMAP3_STATE_C5].mpu_state = PWRDM_POWER_RET;
230 omap3_power_states[OMAP3_STATE_C5].core_state = PWRDM_POWER_RET;
231 omap3_power_states[OMAP3_STATE_C5].flags = CPUIDLE_FLAG_TIME_VALID |
232 CPUIDLE_FLAG_CHECK_BM;
233
234 /* C6 . MPU OFF + Core CSWR */
235 omap3_power_states[OMAP3_STATE_C6].valid = 1;
236 omap3_power_states[OMAP3_STATE_C6].type = OMAP3_STATE_C6;
237 omap3_power_states[OMAP3_STATE_C6].sleep_latency = 3000;
238 omap3_power_states[OMAP3_STATE_C6].wakeup_latency = 8500;
239 omap3_power_states[OMAP3_STATE_C6].threshold = 15000;
240 omap3_power_states[OMAP3_STATE_C6].mpu_state = PWRDM_POWER_OFF;
241 omap3_power_states[OMAP3_STATE_C6].core_state = PWRDM_POWER_RET;
242 omap3_power_states[OMAP3_STATE_C6].flags = CPUIDLE_FLAG_TIME_VALID |
243 CPUIDLE_FLAG_CHECK_BM;
244
245 /* C7 . MPU OFF + Core OFF */
246 omap3_power_states[OMAP3_STATE_C7].valid = 1;
247 omap3_power_states[OMAP3_STATE_C7].type = OMAP3_STATE_C7;
248 omap3_power_states[OMAP3_STATE_C7].sleep_latency = 10000;
249 omap3_power_states[OMAP3_STATE_C7].wakeup_latency = 30000;
250 omap3_power_states[OMAP3_STATE_C7].threshold = 300000;
251 omap3_power_states[OMAP3_STATE_C7].mpu_state = PWRDM_POWER_OFF;
252 omap3_power_states[OMAP3_STATE_C7].core_state = PWRDM_POWER_OFF;
253 omap3_power_states[OMAP3_STATE_C7].flags = CPUIDLE_FLAG_TIME_VALID |
254 CPUIDLE_FLAG_CHECK_BM;
255}
256
257struct cpuidle_driver omap3_idle_driver = {
258 .name = "omap3_idle",
259 .owner = THIS_MODULE,
260};
261
262/**
263 * omap3_idle_init - Init routine for OMAP3 idle
264 *
265 * Registers the OMAP3 specific cpuidle driver with the cpuidle
266 * framework with the valid set of states.
267 */
268int __init omap3_idle_init(void)
269{
270 int i, count = 0;
271 struct omap3_processor_cx *cx;
272 struct cpuidle_state *state;
273 struct cpuidle_device *dev;
274
275 mpu_pd = pwrdm_lookup("mpu_pwrdm");
276 core_pd = pwrdm_lookup("core_pwrdm");
277
278 omap_init_power_states();
279 cpuidle_register_driver(&omap3_idle_driver);
280
281 dev = &per_cpu(omap3_idle_dev, smp_processor_id());
282
283 for (i = OMAP3_STATE_C1; i < OMAP3_MAX_STATES; i++) {
284 cx = &omap3_power_states[i];
285 state = &dev->states[count];
286
287 if (!cx->valid)
288 continue;
289 cpuidle_set_statedata(state, cx);
290 state->exit_latency = cx->sleep_latency + cx->wakeup_latency;
291 state->target_residency = cx->threshold;
292 state->flags = cx->flags;
293 state->enter = (state->flags & CPUIDLE_FLAG_CHECK_BM) ?
294 omap3_enter_idle_bm : omap3_enter_idle;
295 if (cx->type == OMAP3_STATE_C1)
296 dev->safe_state = state;
297 sprintf(state->name, "C%d", count+1);
298 count++;
299 }
300
301 if (!count)
302 return -EINVAL;
303 dev->state_count = count;
304
305 if (cpuidle_register_device(dev)) {
306 printk(KERN_ERR "%s: CPUidle register device failed\n",
307 __func__);
308 return -EIO;
309 }
310
311 return 0;
312}
313#else
314int __init omap3_idle_init(void)
315{
316 return 0;
317}
318#endif /* CONFIG_CPU_IDLE */
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index faf7a1e0c525..733d3dcff98b 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -20,12 +20,12 @@
20#include <asm/mach-types.h> 20#include <asm/mach-types.h>
21#include <asm/mach/map.h> 21#include <asm/mach/map.h>
22 22
23#include <mach/control.h> 23#include <plat/control.h>
24#include <mach/tc.h> 24#include <plat/tc.h>
25#include <mach/board.h> 25#include <plat/board.h>
26#include <mach/mux.h> 26#include <plat/mux.h>
27#include <mach/gpio.h> 27#include <mach/gpio.h>
28#include <mach/mmc.h> 28#include <plat/mmc.h>
29 29
30#if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE) 30#if defined(CONFIG_VIDEO_OMAP2) || defined(CONFIG_VIDEO_OMAP2_MODULE)
31 31
@@ -136,9 +136,10 @@ static inline void omap_init_camera(void)
136 136
137#if defined(CONFIG_OMAP_MBOX_FWK) || defined(CONFIG_OMAP_MBOX_FWK_MODULE) 137#if defined(CONFIG_OMAP_MBOX_FWK) || defined(CONFIG_OMAP_MBOX_FWK_MODULE)
138 138
139#define MBOX_REG_SIZE 0x120 139#define MBOX_REG_SIZE 0x120
140 140
141static struct resource omap2_mbox_resources[] = { 141#ifdef CONFIG_ARCH_OMAP2
142static struct resource omap_mbox_resources[] = {
142 { 143 {
143 .start = OMAP24XX_MAILBOX_BASE, 144 .start = OMAP24XX_MAILBOX_BASE,
144 .end = OMAP24XX_MAILBOX_BASE + MBOX_REG_SIZE - 1, 145 .end = OMAP24XX_MAILBOX_BASE + MBOX_REG_SIZE - 1,
@@ -153,8 +154,10 @@ static struct resource omap2_mbox_resources[] = {
153 .flags = IORESOURCE_IRQ, 154 .flags = IORESOURCE_IRQ,
154 }, 155 },
155}; 156};
157#endif
156 158
157static struct resource omap3_mbox_resources[] = { 159#ifdef CONFIG_ARCH_OMAP3
160static struct resource omap_mbox_resources[] = {
158 { 161 {
159 .start = OMAP34XX_MAILBOX_BASE, 162 .start = OMAP34XX_MAILBOX_BASE,
160 .end = OMAP34XX_MAILBOX_BASE + MBOX_REG_SIZE - 1, 163 .end = OMAP34XX_MAILBOX_BASE + MBOX_REG_SIZE - 1,
@@ -165,6 +168,24 @@ static struct resource omap3_mbox_resources[] = {
165 .flags = IORESOURCE_IRQ, 168 .flags = IORESOURCE_IRQ,
166 }, 169 },
167}; 170};
171#endif
172
173#ifdef CONFIG_ARCH_OMAP4
174
175#define OMAP4_MBOX_REG_SIZE 0x130
176static struct resource omap_mbox_resources[] = {
177 {
178 .start = OMAP44XX_MAILBOX_BASE,
179 .end = OMAP44XX_MAILBOX_BASE +
180 OMAP4_MBOX_REG_SIZE - 1,
181 .flags = IORESOURCE_MEM,
182 },
183 {
184 .start = INT_44XX_MAIL_U0_MPU,
185 .flags = IORESOURCE_IRQ,
186 },
187};
188#endif
168 189
169static struct platform_device mbox_device = { 190static struct platform_device mbox_device = {
170 .name = "omap2-mailbox", 191 .name = "omap2-mailbox",
@@ -173,12 +194,9 @@ static struct platform_device mbox_device = {
173 194
174static inline void omap_init_mbox(void) 195static inline void omap_init_mbox(void)
175{ 196{
176 if (cpu_is_omap2420()) { 197 if (cpu_is_omap2420() || cpu_is_omap3430() || cpu_is_omap44xx()) {
177 mbox_device.num_resources = ARRAY_SIZE(omap2_mbox_resources); 198 mbox_device.num_resources = ARRAY_SIZE(omap_mbox_resources);
178 mbox_device.resource = omap2_mbox_resources; 199 mbox_device.resource = omap_mbox_resources;
179 } else if (cpu_is_omap3430()) {
180 mbox_device.num_resources = ARRAY_SIZE(omap3_mbox_resources);
181 mbox_device.resource = omap3_mbox_resources;
182 } else { 200 } else {
183 pr_err("%s: platform not supported\n", __func__); 201 pr_err("%s: platform not supported\n", __func__);
184 return; 202 return;
@@ -250,7 +268,7 @@ static inline void omap_init_sti(void) {}
250 268
251#if defined(CONFIG_SPI_OMAP24XX) || defined(CONFIG_SPI_OMAP24XX_MODULE) 269#if defined(CONFIG_SPI_OMAP24XX) || defined(CONFIG_SPI_OMAP24XX_MODULE)
252 270
253#include <mach/mcspi.h> 271#include <plat/mcspi.h>
254 272
255#define OMAP2_MCSPI1_BASE 0x48098000 273#define OMAP2_MCSPI1_BASE 0x48098000
256#define OMAP2_MCSPI2_BASE 0x4809a000 274#define OMAP2_MCSPI2_BASE 0x4809a000
@@ -575,7 +593,7 @@ static inline void omap2_mmc_mux(struct omap_mmc_platform_data *mmc_controller,
575 } 593 }
576 } 594 }
577 595
578 if (cpu_is_omap3430()) { 596 if (cpu_is_omap34xx()) {
579 if (controller_nr == 0) { 597 if (controller_nr == 0) {
580 omap_cfg_reg(N28_3430_MMC1_CLK); 598 omap_cfg_reg(N28_3430_MMC1_CLK);
581 omap_cfg_reg(M27_3430_MMC1_CMD); 599 omap_cfg_reg(M27_3430_MMC1_CMD);
@@ -609,6 +627,12 @@ static inline void omap2_mmc_mux(struct omap_mmc_platform_data *mmc_controller,
609 omap_cfg_reg(AG4_3430_MMC2_DAT2); 627 omap_cfg_reg(AG4_3430_MMC2_DAT2);
610 omap_cfg_reg(AF4_3430_MMC2_DAT3); 628 omap_cfg_reg(AF4_3430_MMC2_DAT3);
611 } 629 }
630 if (mmc_controller->slots[0].wires == 8) {
631 omap_cfg_reg(AE4_3430_MMC2_DAT4);
632 omap_cfg_reg(AH3_3430_MMC2_DAT5);
633 omap_cfg_reg(AF3_3430_MMC2_DAT6);
634 omap_cfg_reg(AE3_3430_MMC2_DAT7);
635 }
612 } 636 }
613 637
614 /* 638 /*
diff --git a/arch/arm/mach-omap2/gpmc-onenand.c b/arch/arm/mach-omap2/gpmc-onenand.c
index 54fec53a48e7..7bb69220adfa 100644
--- a/arch/arm/mach-omap2/gpmc-onenand.c
+++ b/arch/arm/mach-omap2/gpmc-onenand.c
@@ -17,9 +17,9 @@
17 17
18#include <asm/mach/flash.h> 18#include <asm/mach/flash.h>
19 19
20#include <mach/onenand.h> 20#include <plat/onenand.h>
21#include <mach/board.h> 21#include <plat/board.h>
22#include <mach/gpmc.h> 22#include <plat/gpmc.h>
23 23
24static struct omap_onenand_platform_data *gpmc_onenand_data; 24static struct omap_onenand_platform_data *gpmc_onenand_data;
25 25
diff --git a/arch/arm/mach-omap2/gpmc-smc91x.c b/arch/arm/mach-omap2/gpmc-smc91x.c
index df99d31d8b64..6083e21b3be6 100644
--- a/arch/arm/mach-omap2/gpmc-smc91x.c
+++ b/arch/arm/mach-omap2/gpmc-smc91x.c
@@ -17,9 +17,9 @@
17#include <linux/io.h> 17#include <linux/io.h>
18#include <linux/smc91x.h> 18#include <linux/smc91x.h>
19 19
20#include <mach/board.h> 20#include <plat/board.h>
21#include <mach/gpmc.h> 21#include <plat/gpmc.h>
22#include <mach/gpmc-smc91x.h> 22#include <plat/gpmc-smc91x.h>
23 23
24static struct omap_smc91x_platform_data *gpmc_cfg; 24static struct omap_smc91x_platform_data *gpmc_cfg;
25 25
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index f3c992e29651..e86f5ca180ea 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -24,9 +24,9 @@
24#include <linux/module.h> 24#include <linux/module.h>
25 25
26#include <asm/mach-types.h> 26#include <asm/mach-types.h>
27#include <mach/gpmc.h> 27#include <plat/gpmc.h>
28 28
29#include <mach/sdrc.h> 29#include <plat/sdrc.h>
30 30
31/* GPMC register offsets */ 31/* GPMC register offsets */
32#define GPMC_REVISION 0x00 32#define GPMC_REVISION 0x00
@@ -62,6 +62,33 @@
62#define ENABLE_PREFETCH (0x1 << 7) 62#define ENABLE_PREFETCH (0x1 << 7)
63#define DMA_MPU_MODE 2 63#define DMA_MPU_MODE 2
64 64
65/* Structure to save gpmc cs context */
66struct gpmc_cs_config {
67 u32 config1;
68 u32 config2;
69 u32 config3;
70 u32 config4;
71 u32 config5;
72 u32 config6;
73 u32 config7;
74 int is_valid;
75};
76
77/*
78 * Structure to save/restore gpmc context
79 * to support core off on OMAP3
80 */
81struct omap3_gpmc_regs {
82 u32 sysconfig;
83 u32 irqenable;
84 u32 timeout_ctrl;
85 u32 config;
86 u32 prefetch_config1;
87 u32 prefetch_config2;
88 u32 prefetch_control;
89 struct gpmc_cs_config cs_context[GPMC_CS_NUM];
90};
91
65static struct resource gpmc_mem_root; 92static struct resource gpmc_mem_root;
66static struct resource gpmc_cs_mem[GPMC_CS_NUM]; 93static struct resource gpmc_cs_mem[GPMC_CS_NUM];
67static DEFINE_SPINLOCK(gpmc_mem_lock); 94static DEFINE_SPINLOCK(gpmc_mem_lock);
@@ -261,7 +288,7 @@ static void gpmc_cs_enable_mem(int cs, u32 base, u32 size)
261 l = (base >> GPMC_CHUNK_SHIFT) & 0x3f; 288 l = (base >> GPMC_CHUNK_SHIFT) & 0x3f;
262 l &= ~(0x0f << 8); 289 l &= ~(0x0f << 8);
263 l |= ((mask >> GPMC_CHUNK_SHIFT) & 0x0f) << 8; 290 l |= ((mask >> GPMC_CHUNK_SHIFT) & 0x0f) << 8;
264 l |= 1 << 6; /* CSVALID */ 291 l |= GPMC_CONFIG7_CSVALID;
265 gpmc_cs_write_reg(cs, GPMC_CS_CONFIG7, l); 292 gpmc_cs_write_reg(cs, GPMC_CS_CONFIG7, l);
266} 293}
267 294
@@ -270,7 +297,7 @@ static void gpmc_cs_disable_mem(int cs)
270 u32 l; 297 u32 l;
271 298
272 l = gpmc_cs_read_reg(cs, GPMC_CS_CONFIG7); 299 l = gpmc_cs_read_reg(cs, GPMC_CS_CONFIG7);
273 l &= ~(1 << 6); /* CSVALID */ 300 l &= ~GPMC_CONFIG7_CSVALID;
274 gpmc_cs_write_reg(cs, GPMC_CS_CONFIG7, l); 301 gpmc_cs_write_reg(cs, GPMC_CS_CONFIG7, l);
275} 302}
276 303
@@ -290,7 +317,7 @@ static int gpmc_cs_mem_enabled(int cs)
290 u32 l; 317 u32 l;
291 318
292 l = gpmc_cs_read_reg(cs, GPMC_CS_CONFIG7); 319 l = gpmc_cs_read_reg(cs, GPMC_CS_CONFIG7);
293 return l & (1 << 6); 320 return l & GPMC_CONFIG7_CSVALID;
294} 321}
295 322
296int gpmc_cs_set_reserved(int cs, int reserved) 323int gpmc_cs_set_reserved(int cs, int reserved)
@@ -516,3 +543,68 @@ void __init gpmc_init(void)
516 gpmc_write_reg(GPMC_SYSCONFIG, l); 543 gpmc_write_reg(GPMC_SYSCONFIG, l);
517 gpmc_mem_init(); 544 gpmc_mem_init();
518} 545}
546
547#ifdef CONFIG_ARCH_OMAP3
548static struct omap3_gpmc_regs gpmc_context;
549
550void omap3_gpmc_save_context()
551{
552 int i;
553 gpmc_context.sysconfig = gpmc_read_reg(GPMC_SYSCONFIG);
554 gpmc_context.irqenable = gpmc_read_reg(GPMC_IRQENABLE);
555 gpmc_context.timeout_ctrl = gpmc_read_reg(GPMC_TIMEOUT_CONTROL);
556 gpmc_context.config = gpmc_read_reg(GPMC_CONFIG);
557 gpmc_context.prefetch_config1 = gpmc_read_reg(GPMC_PREFETCH_CONFIG1);
558 gpmc_context.prefetch_config2 = gpmc_read_reg(GPMC_PREFETCH_CONFIG2);
559 gpmc_context.prefetch_control = gpmc_read_reg(GPMC_PREFETCH_CONTROL);
560 for (i = 0; i < GPMC_CS_NUM; i++) {
561 gpmc_context.cs_context[i].is_valid = gpmc_cs_mem_enabled(i);
562 if (gpmc_context.cs_context[i].is_valid) {
563 gpmc_context.cs_context[i].config1 =
564 gpmc_cs_read_reg(i, GPMC_CS_CONFIG1);
565 gpmc_context.cs_context[i].config2 =
566 gpmc_cs_read_reg(i, GPMC_CS_CONFIG2);
567 gpmc_context.cs_context[i].config3 =
568 gpmc_cs_read_reg(i, GPMC_CS_CONFIG3);
569 gpmc_context.cs_context[i].config4 =
570 gpmc_cs_read_reg(i, GPMC_CS_CONFIG4);
571 gpmc_context.cs_context[i].config5 =
572 gpmc_cs_read_reg(i, GPMC_CS_CONFIG5);
573 gpmc_context.cs_context[i].config6 =
574 gpmc_cs_read_reg(i, GPMC_CS_CONFIG6);
575 gpmc_context.cs_context[i].config7 =
576 gpmc_cs_read_reg(i, GPMC_CS_CONFIG7);
577 }
578 }
579}
580
581void omap3_gpmc_restore_context()
582{
583 int i;
584 gpmc_write_reg(GPMC_SYSCONFIG, gpmc_context.sysconfig);
585 gpmc_write_reg(GPMC_IRQENABLE, gpmc_context.irqenable);
586 gpmc_write_reg(GPMC_TIMEOUT_CONTROL, gpmc_context.timeout_ctrl);
587 gpmc_write_reg(GPMC_CONFIG, gpmc_context.config);
588 gpmc_write_reg(GPMC_PREFETCH_CONFIG1, gpmc_context.prefetch_config1);
589 gpmc_write_reg(GPMC_PREFETCH_CONFIG2, gpmc_context.prefetch_config2);
590 gpmc_write_reg(GPMC_PREFETCH_CONTROL, gpmc_context.prefetch_control);
591 for (i = 0; i < GPMC_CS_NUM; i++) {
592 if (gpmc_context.cs_context[i].is_valid) {
593 gpmc_cs_write_reg(i, GPMC_CS_CONFIG1,
594 gpmc_context.cs_context[i].config1);
595 gpmc_cs_write_reg(i, GPMC_CS_CONFIG2,
596 gpmc_context.cs_context[i].config2);
597 gpmc_cs_write_reg(i, GPMC_CS_CONFIG3,
598 gpmc_context.cs_context[i].config3);
599 gpmc_cs_write_reg(i, GPMC_CS_CONFIG4,
600 gpmc_context.cs_context[i].config4);
601 gpmc_cs_write_reg(i, GPMC_CS_CONFIG5,
602 gpmc_context.cs_context[i].config5);
603 gpmc_cs_write_reg(i, GPMC_CS_CONFIG6,
604 gpmc_context.cs_context[i].config6);
605 gpmc_cs_write_reg(i, GPMC_CS_CONFIG7,
606 gpmc_context.cs_context[i].config7);
607 }
608 }
609}
610#endif /* CONFIG_ARCH_OMAP3 */
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index a98201cc265c..f48a4b2654dd 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -21,13 +21,14 @@
21 21
22#include <asm/cputype.h> 22#include <asm/cputype.h>
23 23
24#include <mach/common.h> 24#include <plat/common.h>
25#include <mach/control.h> 25#include <plat/control.h>
26#include <mach/cpu.h> 26#include <plat/cpu.h>
27 27
28static struct omap_chip_id omap_chip; 28static struct omap_chip_id omap_chip;
29static unsigned int omap_revision; 29static unsigned int omap_revision;
30 30
31u32 omap3_features;
31 32
32unsigned int omap_rev(void) 33unsigned int omap_rev(void)
33{ 34{
@@ -52,11 +53,11 @@ int omap_type(void)
52{ 53{
53 u32 val = 0; 54 u32 val = 0;
54 55
55 if (cpu_is_omap24xx()) 56 if (cpu_is_omap24xx()) {
56 val = omap_ctrl_readl(OMAP24XX_CONTROL_STATUS); 57 val = omap_ctrl_readl(OMAP24XX_CONTROL_STATUS);
57 else if (cpu_is_omap34xx()) 58 } else if (cpu_is_omap34xx()) {
58 val = omap_ctrl_readl(OMAP343X_CONTROL_STATUS); 59 val = omap_ctrl_readl(OMAP343X_CONTROL_STATUS);
59 else { 60 } else {
60 pr_err("Cannot detect omap type!\n"); 61 pr_err("Cannot detect omap type!\n");
61 goto out; 62 goto out;
62 } 63 }
@@ -155,12 +156,37 @@ void __init omap24xx_check_revision(void)
155 pr_info("\n"); 156 pr_info("\n");
156} 157}
157 158
158void __init omap34xx_check_revision(void) 159#define OMAP3_CHECK_FEATURE(status,feat) \
160 if (((status & OMAP3_ ##feat## _MASK) \
161 >> OMAP3_ ##feat## _SHIFT) != FEAT_ ##feat## _NONE) { \
162 omap3_features |= OMAP3_HAS_ ##feat; \
163 }
164
165void __init omap3_check_features(void)
166{
167 u32 status;
168
169 omap3_features = 0;
170
171 status = omap_ctrl_readl(OMAP3_CONTROL_OMAP_STATUS);
172
173 OMAP3_CHECK_FEATURE(status, L2CACHE);
174 OMAP3_CHECK_FEATURE(status, IVA);
175 OMAP3_CHECK_FEATURE(status, SGX);
176 OMAP3_CHECK_FEATURE(status, NEON);
177 OMAP3_CHECK_FEATURE(status, ISP);
178
179 /*
180 * TODO: Get additional info (where applicable)
181 * e.g. Size of L2 cache.
182 */
183}
184
185void __init omap3_check_revision(void)
159{ 186{
160 u32 cpuid, idcode; 187 u32 cpuid, idcode;
161 u16 hawkeye; 188 u16 hawkeye;
162 u8 rev; 189 u8 rev;
163 char *rev_name = "ES1.0";
164 190
165 /* 191 /*
166 * We cannot access revision registers on ES1.0. 192 * We cannot access revision registers on ES1.0.
@@ -170,7 +196,7 @@ void __init omap34xx_check_revision(void)
170 cpuid = read_cpuid(CPUID_ID); 196 cpuid = read_cpuid(CPUID_ID);
171 if ((((cpuid >> 4) & 0xfff) == 0xc08) && ((cpuid & 0xf) == 0x0)) { 197 if ((((cpuid >> 4) & 0xfff) == 0xc08) && ((cpuid & 0xf) == 0x0)) {
172 omap_revision = OMAP3430_REV_ES1_0; 198 omap_revision = OMAP3430_REV_ES1_0;
173 goto out; 199 return;
174 } 200 }
175 201
176 /* 202 /*
@@ -183,33 +209,115 @@ void __init omap34xx_check_revision(void)
183 hawkeye = (idcode >> 12) & 0xffff; 209 hawkeye = (idcode >> 12) & 0xffff;
184 rev = (idcode >> 28) & 0xff; 210 rev = (idcode >> 28) & 0xff;
185 211
186 if (hawkeye == 0xb7ae) { 212 switch (hawkeye) {
213 case 0xb7ae:
214 /* Handle 34xx/35xx devices */
187 switch (rev) { 215 switch (rev) {
188 case 0: 216 case 0: /* Take care of early samples */
217 case 1:
189 omap_revision = OMAP3430_REV_ES2_0; 218 omap_revision = OMAP3430_REV_ES2_0;
190 rev_name = "ES2.0";
191 break; 219 break;
192 case 2: 220 case 2:
193 omap_revision = OMAP3430_REV_ES2_1; 221 omap_revision = OMAP3430_REV_ES2_1;
194 rev_name = "ES2.1";
195 break; 222 break;
196 case 3: 223 case 3:
197 omap_revision = OMAP3430_REV_ES3_0; 224 omap_revision = OMAP3430_REV_ES3_0;
198 rev_name = "ES3.0";
199 break; 225 break;
200 case 4: 226 case 4:
201 omap_revision = OMAP3430_REV_ES3_1; 227 /* FALLTHROUGH */
202 rev_name = "ES3.1";
203 break;
204 default: 228 default:
205 /* Use the latest known revision as default */ 229 /* Use the latest known revision as default */
206 omap_revision = OMAP3430_REV_ES3_1; 230 omap_revision = OMAP3430_REV_ES3_1;
207 rev_name = "Unknown revision\n";
208 } 231 }
232 break;
233 case 0xb868:
234 /* Handle OMAP35xx/AM35xx devices
235 *
236 * Set the device to be OMAP3505 here. Actual device
237 * is identified later based on the features.
238 */
239 omap_revision = OMAP3505_REV(rev);
240 break;
241 case 0xb891:
242 /* FALLTHROUGH */
243 default:
244 /* Unknown default to latest silicon rev as default*/
245 omap_revision = OMAP3630_REV_ES1_0;
209 } 246 }
247}
210 248
211out: 249#define OMAP3_SHOW_FEATURE(feat) \
212 pr_info("OMAP%04x %s\n", omap_rev() >> 16, rev_name); 250 if (omap3_has_ ##feat()) \
251 printk(#feat" ");
252
253void __init omap3_cpuinfo(void)
254{
255 u8 rev = GET_OMAP_REVISION();
256 char cpu_name[16], cpu_rev[16];
257
258 /* OMAP3430 and OMAP3530 are assumed to be same.
259 *
260 * OMAP3525, OMAP3515 and OMAP3503 can be detected only based
261 * on available features. Upon detection, update the CPU id
262 * and CPU class bits.
263 */
264 if (cpu_is_omap3630()) {
265 strcpy(cpu_name, "OMAP3630");
266 } else if (cpu_is_omap3505()) {
267 /*
268 * AM35xx devices
269 */
270 if (omap3_has_sgx()) {
271 omap_revision = OMAP3517_REV(rev);
272 strcpy(cpu_name, "AM3517");
273 } else {
274 /* Already set in omap3_check_revision() */
275 strcpy(cpu_name, "AM3505");
276 }
277 } else if (omap3_has_iva() && omap3_has_sgx()) {
278 /* OMAP3430, OMAP3525, OMAP3515, OMAP3503 devices */
279 strcpy(cpu_name, "OMAP3430/3530");
280 } else if (omap3_has_sgx()) {
281 omap_revision = OMAP3525_REV(rev);
282 strcpy(cpu_name, "OMAP3525");
283 } else if (omap3_has_iva()) {
284 omap_revision = OMAP3515_REV(rev);
285 strcpy(cpu_name, "OMAP3515");
286 } else {
287 omap_revision = OMAP3503_REV(rev);
288 strcpy(cpu_name, "OMAP3503");
289 }
290
291 switch (rev) {
292 case OMAP_REVBITS_00:
293 strcpy(cpu_rev, "1.0");
294 break;
295 case OMAP_REVBITS_10:
296 strcpy(cpu_rev, "2.0");
297 break;
298 case OMAP_REVBITS_20:
299 strcpy(cpu_rev, "2.1");
300 break;
301 case OMAP_REVBITS_30:
302 strcpy(cpu_rev, "3.0");
303 break;
304 case OMAP_REVBITS_40:
305 /* FALLTHROUGH */
306 default:
307 /* Use the latest known revision as default */
308 strcpy(cpu_rev, "3.1");
309 }
310
311 /* Print verbose information */
312 pr_info("%s ES%s (", cpu_name, cpu_rev);
313
314 OMAP3_SHOW_FEATURE(l2cache);
315 OMAP3_SHOW_FEATURE(iva);
316 OMAP3_SHOW_FEATURE(sgx);
317 OMAP3_SHOW_FEATURE(neon);
318 OMAP3_SHOW_FEATURE(isp);
319
320 printk(")\n");
213} 321}
214 322
215/* 323/*
@@ -221,15 +329,18 @@ void __init omap2_check_revision(void)
221 * At this point we have an idea about the processor revision set 329 * At this point we have an idea about the processor revision set
222 * earlier with omap2_set_globals_tap(). 330 * earlier with omap2_set_globals_tap().
223 */ 331 */
224 if (cpu_is_omap24xx()) 332 if (cpu_is_omap24xx()) {
225 omap24xx_check_revision(); 333 omap24xx_check_revision();
226 else if (cpu_is_omap34xx()) 334 } else if (cpu_is_omap34xx()) {
227 omap34xx_check_revision(); 335 omap3_check_revision();
228 else if (cpu_is_omap44xx()) { 336 omap3_check_features();
337 omap3_cpuinfo();
338 } else if (cpu_is_omap44xx()) {
229 printk(KERN_INFO "FIXME: CPU revision = OMAP4430\n"); 339 printk(KERN_INFO "FIXME: CPU revision = OMAP4430\n");
230 return; 340 return;
231 } else 341 } else {
232 pr_err("OMAP revision unknown, please fix!\n"); 342 pr_err("OMAP revision unknown, please fix!\n");
343 }
233 344
234 /* 345 /*
235 * OK, now we know the exact revision. Initialize omap_chip bits 346 * OK, now we know the exact revision. Initialize omap_chip bits
@@ -241,6 +352,8 @@ void __init omap2_check_revision(void)
241 } else if (cpu_is_omap242x()) { 352 } else if (cpu_is_omap242x()) {
242 /* Currently only supports 2420ES2.1.1 and 2420-all */ 353 /* Currently only supports 2420ES2.1.1 and 2420-all */
243 omap_chip.oc |= CHIP_IS_OMAP2420; 354 omap_chip.oc |= CHIP_IS_OMAP2420;
355 } else if (cpu_is_omap3505() || cpu_is_omap3517()) {
356 omap_chip.oc = CHIP_IS_OMAP3430 | CHIP_IS_OMAP3430ES3_1;
244 } else if (cpu_is_omap343x()) { 357 } else if (cpu_is_omap343x()) {
245 omap_chip.oc = CHIP_IS_OMAP3430; 358 omap_chip.oc = CHIP_IS_OMAP3430;
246 if (omap_rev() == OMAP3430_REV_ES1_0) 359 if (omap_rev() == OMAP3430_REV_ES1_0)
@@ -252,6 +365,8 @@ void __init omap2_check_revision(void)
252 omap_chip.oc |= CHIP_IS_OMAP3430ES3_0; 365 omap_chip.oc |= CHIP_IS_OMAP3430ES3_0;
253 else if (omap_rev() == OMAP3430_REV_ES3_1) 366 else if (omap_rev() == OMAP3430_REV_ES3_1)
254 omap_chip.oc |= CHIP_IS_OMAP3430ES3_1; 367 omap_chip.oc |= CHIP_IS_OMAP3430ES3_1;
368 else if (omap_rev() == OMAP3630_REV_ES1_0)
369 omap_chip.oc |= CHIP_IS_OMAP3630ES1;
255 } else { 370 } else {
256 pr_err("Uninitialized omap_chip, please fix!\n"); 371 pr_err("Uninitialized omap_chip, please fix!\n");
257 } 372 }
diff --git a/arch/arm/mach-omap2/include/mach/board-zoom.h b/arch/arm/mach-omap2/include/mach/board-zoom.h
new file mode 100644
index 000000000000..c93b29e21b78
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/board-zoom.h
@@ -0,0 +1,5 @@
1/*
2 * Defines for zoom boards
3 */
4extern int __init zoom_debugboard_init(void);
5extern void __init zoom_peripherals_init(void);
diff --git a/arch/arm/mach-omap2/include/mach/clkdev.h b/arch/arm/mach-omap2/include/mach/clkdev.h
new file mode 100644
index 000000000000..53b027441c56
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/clkdev.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap2/include/mach/clkdev.h
3 */
4
5#include <plat/clkdev.h>
diff --git a/arch/arm/plat-omap/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S
index ac24050e3416..e9f255df9163 100644
--- a/arch/arm/plat-omap/include/mach/debug-macro.S
+++ b/arch/arm/mach-omap2/include/mach/debug-macro.S
@@ -1,4 +1,4 @@
1/* arch/arm/plat-omap/include/mach/debug-macro.S 1/* arch/arm/mach-omap2/include/mach/debug-macro.S
2 * 2 *
3 * Debugging macro include header 3 * Debugging macro include header
4 * 4 *
@@ -14,20 +14,9 @@
14 .macro addruart,rx 14 .macro addruart,rx
15 mrc p15, 0, \rx, c1, c0 15 mrc p15, 0, \rx, c1, c0
16 tst \rx, #1 @ MMU enabled? 16 tst \rx, #1 @ MMU enabled?
17#ifdef CONFIG_ARCH_OMAP1 17#ifdef CONFIG_ARCH_OMAP2
18 moveq \rx, #0xff000000 @ physical base address
19 movne \rx, #0xfe000000 @ virtual base
20 orr \rx, \rx, #0x00fb0000
21#ifdef CONFIG_OMAP_LL_DEBUG_UART3
22 orr \rx, \rx, #0x00009000 @ UART 3
23#endif
24#if defined(CONFIG_OMAP_LL_DEBUG_UART2) || defined(CONFIG_OMAP_LL_DEBUG_UART3)
25 orr \rx, \rx, #0x00000800 @ UART 2 & 3
26#endif
27
28#elif CONFIG_ARCH_OMAP2
29 moveq \rx, #0x48000000 @ physical base address 18 moveq \rx, #0x48000000 @ physical base address
30 movne \rx, #0xd8000000 @ virtual base 19 movne \rx, #0xfa000000 @ virtual base
31 orr \rx, \rx, #0x0006a000 20 orr \rx, \rx, #0x0006a000
32#ifdef CONFIG_OMAP_LL_DEBUG_UART2 21#ifdef CONFIG_OMAP_LL_DEBUG_UART2
33 add \rx, \rx, #0x00002000 @ UART 2 22 add \rx, \rx, #0x00002000 @ UART 2
@@ -38,7 +27,7 @@
38 27
39#elif defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4) 28#elif defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4)
40 moveq \rx, #0x48000000 @ physical base address 29 moveq \rx, #0x48000000 @ physical base address
41 movne \rx, #0xd8000000 @ virtual base 30 movne \rx, #0xfa000000 @ virtual base
42 orr \rx, \rx, #0x0006a000 31 orr \rx, \rx, #0x0006a000
43#ifdef CONFIG_OMAP_LL_DEBUG_UART2 32#ifdef CONFIG_OMAP_LL_DEBUG_UART2
44 add \rx, \rx, #0x00002000 @ UART 2 33 add \rx, \rx, #0x00002000 @ UART 2
diff --git a/arch/arm/plat-omap/include/mach/entry-macro.S b/arch/arm/mach-omap2/include/mach/entry-macro.S
index a5592991634d..c7f1720bf282 100644
--- a/arch/arm/plat-omap/include/mach/entry-macro.S
+++ b/arch/arm/mach-omap2/include/mach/entry-macro.S
@@ -15,65 +15,17 @@
15#include <mach/irqs.h> 15#include <mach/irqs.h>
16#include <asm/hardware/gic.h> 16#include <asm/hardware/gic.h>
17 17
18#if defined(CONFIG_ARCH_OMAP1) 18#include <plat/omap24xx.h>
19 19#include <plat/omap34xx.h>
20#if defined(CONFIG_ARCH_OMAP730) && \
21 (defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX))
22#error "FIXME: OMAP730 doesn't support multiple-OMAP"
23#elif defined(CONFIG_ARCH_OMAP730)
24#define INT_IH2_IRQ INT_730_IH2_IRQ
25#elif defined(CONFIG_ARCH_OMAP15XX)
26#define INT_IH2_IRQ INT_1510_IH2_IRQ
27#elif defined(CONFIG_ARCH_OMAP16XX)
28#define INT_IH2_IRQ INT_1610_IH2_IRQ
29#else
30#warning "IH2 IRQ defaulted"
31#define INT_IH2_IRQ INT_1510_IH2_IRQ
32#endif
33
34 .macro disable_fiq
35 .endm
36
37 .macro get_irqnr_preamble, base, tmp
38 .endm
39
40 .macro arch_ret_to_user, tmp1, tmp2
41 .endm
42
43 .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
44 ldr \base, =OMAP1_IO_ADDRESS(OMAP_IH1_BASE)
45 ldr \irqnr, [\base, #IRQ_ITR_REG_OFFSET]
46 ldr \tmp, [\base, #IRQ_MIR_REG_OFFSET]
47 mov \irqstat, #0xffffffff
48 bic \tmp, \irqstat, \tmp
49 tst \irqnr, \tmp
50 beq 1510f
51
52 ldr \irqnr, [\base, #IRQ_SIR_FIQ_REG_OFFSET]
53 cmp \irqnr, #0
54 ldreq \irqnr, [\base, #IRQ_SIR_IRQ_REG_OFFSET]
55 cmpeq \irqnr, #INT_IH2_IRQ
56 ldreq \base, =OMAP1_IO_ADDRESS(OMAP_IH2_BASE)
57 ldreq \irqnr, [\base, #IRQ_SIR_IRQ_REG_OFFSET]
58 addeqs \irqnr, \irqnr, #32
591510:
60 .endm
61
62#endif
63#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) || \
64 defined(CONFIG_ARCH_OMAP4)
65
66#include <mach/omap24xx.h>
67#include <mach/omap34xx.h>
68 20
69/* REVISIT: This should be set dynamically if CONFIG_MULTI_OMAP2 is selected */ 21/* REVISIT: This should be set dynamically if CONFIG_MULTI_OMAP2 is selected */
70#if defined(CONFIG_ARCH_OMAP2420) || defined(CONFIG_ARCH_OMAP2430) 22#if defined(CONFIG_ARCH_OMAP2420) || defined(CONFIG_ARCH_OMAP2430)
71#define OMAP2_VA_IC_BASE OMAP2_IO_ADDRESS(OMAP24XX_IC_BASE) 23#define OMAP2_VA_IC_BASE OMAP2_L4_IO_ADDRESS(OMAP24XX_IC_BASE)
72#elif defined(CONFIG_ARCH_OMAP34XX) 24#elif defined(CONFIG_ARCH_OMAP34XX)
73#define OMAP2_VA_IC_BASE OMAP2_IO_ADDRESS(OMAP34XX_IC_BASE) 25#define OMAP2_VA_IC_BASE OMAP2_L4_IO_ADDRESS(OMAP34XX_IC_BASE)
74#endif 26#endif
75#if defined(CONFIG_ARCH_OMAP4) 27#if defined(CONFIG_ARCH_OMAP4)
76#include <mach/omap44xx.h> 28#include <plat/omap44xx.h>
77#endif 29#endif
78#define INTCPS_SIR_IRQ_OFFSET 0x0040 /* Active interrupt offset */ 30#define INTCPS_SIR_IRQ_OFFSET 0x0040 /* Active interrupt offset */
79#define ACTIVEIRQ_MASK 0x7f /* Active interrupt bits */ 31#define ACTIVEIRQ_MASK 0x7f /* Active interrupt bits */
@@ -104,6 +56,8 @@
104 56
105 .endm 57 .endm
106#else 58#else
59#define OMAP44XX_VA_GIC_CPU_BASE OMAP2_L4_IO_ADDRESS(OMAP44XX_GIC_CPU_BASE)
60
107 /* 61 /*
108 * The interrupt numbering scheme is defined in the 62 * The interrupt numbering scheme is defined in the
109 * interrupt controller spec. To wit: 63 * interrupt controller spec. To wit:
@@ -168,5 +122,3 @@
168 122
169 .macro irq_prio_table 123 .macro irq_prio_table
170 .endm 124 .endm
171
172#endif
diff --git a/arch/arm/mach-omap2/include/mach/gpio.h b/arch/arm/mach-omap2/include/mach/gpio.h
new file mode 100644
index 000000000000..be4d290d57ee
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/gpio.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap2/include/mach/gpio.h
3 */
4
5#include <plat/gpio.h>
diff --git a/arch/arm/mach-omap2/include/mach/hardware.h b/arch/arm/mach-omap2/include/mach/hardware.h
new file mode 100644
index 000000000000..78edf9d33f71
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/hardware.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap2/include/mach/hardware.h
3 */
4
5#include <plat/hardware.h>
diff --git a/arch/arm/mach-omap2/include/mach/io.h b/arch/arm/mach-omap2/include/mach/io.h
new file mode 100644
index 000000000000..fd78f31aa1ad
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/io.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap2/include/mach/io.h
3 */
4
5#include <plat/io.h>
diff --git a/arch/arm/mach-omap2/include/mach/irqs.h b/arch/arm/mach-omap2/include/mach/irqs.h
new file mode 100644
index 000000000000..44dab7725696
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/irqs.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap2/include/mach/irqs.h
3 */
4
5#include <plat/irqs.h>
diff --git a/arch/arm/mach-omap2/include/mach/memory.h b/arch/arm/mach-omap2/include/mach/memory.h
new file mode 100644
index 000000000000..ca6d32a917dd
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/memory.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap2/include/mach/memory.h
3 */
4
5#include <plat/memory.h>
diff --git a/arch/arm/mach-omap2/include/mach/smp.h b/arch/arm/mach-omap2/include/mach/smp.h
new file mode 100644
index 000000000000..323675f21b69
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/smp.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap2/include/mach/smp.h
3 */
4
5#include <plat/smp.h>
diff --git a/arch/arm/mach-omap2/include/mach/system.h b/arch/arm/mach-omap2/include/mach/system.h
new file mode 100644
index 000000000000..d488721ab90b
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/system.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap2/include/mach/system.h
3 */
4
5#include <plat/system.h>
diff --git a/arch/arm/mach-omap2/include/mach/timex.h b/arch/arm/mach-omap2/include/mach/timex.h
new file mode 100644
index 000000000000..de9f8fc40e7c
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/timex.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap2/include/mach/timex.h
3 */
4
5#include <plat/timex.h>
diff --git a/arch/arm/mach-omap2/include/mach/uncompress.h b/arch/arm/mach-omap2/include/mach/uncompress.h
new file mode 100644
index 000000000000..78e0557bfd4e
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/uncompress.h
@@ -0,0 +1,5 @@
1/*
2 * arch/arm/mach-omap2/include/mach/uncompress.h
3 */
4
5#include <plat/uncompress.h>
diff --git a/arch/arm/plat-omap/include/mach/vmalloc.h b/arch/arm/mach-omap2/include/mach/vmalloc.h
index b97dfafeebda..9ce9b6e8ad23 100644
--- a/arch/arm/plat-omap/include/mach/vmalloc.h
+++ b/arch/arm/mach-omap2/include/mach/vmalloc.h
@@ -17,5 +17,4 @@
17 * along with this program; if not, write to the Free Software 17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */ 19 */
20#define VMALLOC_END (PAGE_OFFSET + 0x18000000) 20#define VMALLOC_END (PAGE_OFFSET + 0x38000000)
21
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 56be87d13edb..59d28b2fd8c5 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -27,24 +27,24 @@
27 27
28#include <asm/mach/map.h> 28#include <asm/mach/map.h>
29 29
30#include <mach/mux.h> 30#include <plat/mux.h>
31#include <mach/omapfb.h> 31#include <plat/omapfb.h>
32#include <mach/sram.h> 32#include <plat/sram.h>
33#include <mach/sdrc.h> 33#include <plat/sdrc.h>
34#include <mach/gpmc.h> 34#include <plat/gpmc.h>
35#include <mach/serial.h> 35#include <plat/serial.h>
36 36
37#ifndef CONFIG_ARCH_OMAP4 /* FIXME: Remove this once clkdev is ready */ 37#ifndef CONFIG_ARCH_OMAP4 /* FIXME: Remove this once clkdev is ready */
38#include "clock.h" 38#include "clock.h"
39 39
40#include <mach/omap-pm.h> 40#include <plat/omap-pm.h>
41#include <mach/powerdomain.h> 41#include <plat/powerdomain.h>
42#include "powerdomains.h" 42#include "powerdomains.h"
43 43
44#include <mach/clockdomain.h> 44#include <plat/clockdomain.h>
45#include "clockdomains.h" 45#include "clockdomains.h"
46#endif 46#endif
47#include <mach/omap_hwmod.h> 47#include <plat/omap_hwmod.h>
48#include "omap_hwmod_2420.h" 48#include "omap_hwmod_2420.h"
49#include "omap_hwmod_2430.h" 49#include "omap_hwmod_2430.h"
50#include "omap_hwmod_34xx.h" 50#include "omap_hwmod_34xx.h"
@@ -203,6 +203,24 @@ static struct map_desc omap44xx_io_desc[] __initdata = {
203 .type = MT_DEVICE, 203 .type = MT_DEVICE,
204 }, 204 },
205 { 205 {
206 .virtual = OMAP44XX_EMIF1_VIRT,
207 .pfn = __phys_to_pfn(OMAP44XX_EMIF1_PHYS),
208 .length = OMAP44XX_EMIF1_SIZE,
209 .type = MT_DEVICE,
210 },
211 {
212 .virtual = OMAP44XX_EMIF2_VIRT,
213 .pfn = __phys_to_pfn(OMAP44XX_EMIF2_PHYS),
214 .length = OMAP44XX_EMIF2_SIZE,
215 .type = MT_DEVICE,
216 },
217 {
218 .virtual = OMAP44XX_DMM_VIRT,
219 .pfn = __phys_to_pfn(OMAP44XX_DMM_PHYS),
220 .length = OMAP44XX_DMM_SIZE,
221 .type = MT_DEVICE,
222 },
223 {
206 .virtual = L4_PER_44XX_VIRT, 224 .virtual = L4_PER_44XX_VIRT,
207 .pfn = __phys_to_pfn(L4_PER_44XX_PHYS), 225 .pfn = __phys_to_pfn(L4_PER_44XX_PHYS),
208 .length = L4_PER_44XX_SIZE, 226 .length = L4_PER_44XX_SIZE,
diff --git a/arch/arm/mach-omap2/iommu2.c b/arch/arm/mach-omap2/iommu2.c
index 4a0e1cd5c1f4..6f4b7cc8f4d1 100644
--- a/arch/arm/mach-omap2/iommu2.c
+++ b/arch/arm/mach-omap2/iommu2.c
@@ -17,7 +17,7 @@
17#include <linux/module.h> 17#include <linux/module.h>
18#include <linux/stringify.h> 18#include <linux/stringify.h>
19 19
20#include <mach/iommu.h> 20#include <plat/iommu.h>
21 21
22/* 22/*
23 * omap2 architecture specific register bit definitions 23 * omap2 architecture specific register bit definitions
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index b82863887f10..e9bc782fa414 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -25,6 +25,10 @@
25#define INTC_SYSSTATUS 0x0014 25#define INTC_SYSSTATUS 0x0014
26#define INTC_SIR 0x0040 26#define INTC_SIR 0x0040
27#define INTC_CONTROL 0x0048 27#define INTC_CONTROL 0x0048
28#define INTC_PROTECTION 0x004C
29#define INTC_IDLE 0x0050
30#define INTC_THRESHOLD 0x0068
31#define INTC_MIR0 0x0084
28#define INTC_MIR_CLEAR0 0x0088 32#define INTC_MIR_CLEAR0 0x0088
29#define INTC_MIR_SET0 0x008c 33#define INTC_MIR_SET0 0x008c
30#define INTC_PENDING_IRQ0 0x0098 34#define INTC_PENDING_IRQ0 0x0098
@@ -48,6 +52,18 @@ static struct omap_irq_bank {
48 }, 52 },
49}; 53};
50 54
55/* Structure to save interrupt controller context */
56struct omap3_intc_regs {
57 u32 sysconfig;
58 u32 protection;
59 u32 idle;
60 u32 threshold;
61 u32 ilr[INTCPS_NR_IRQS];
62 u32 mir[INTCPS_NR_MIR_REGS];
63};
64
65static struct omap3_intc_regs intc_context[ARRAY_SIZE(irq_banks)];
66
51/* INTC bank register get/set */ 67/* INTC bank register get/set */
52 68
53static void intc_bank_write_reg(u32 val, struct omap_irq_bank *bank, u16 reg) 69static void intc_bank_write_reg(u32 val, struct omap_irq_bank *bank, u16 reg)
@@ -178,12 +194,20 @@ void __init omap_init_irq(void)
178 int i; 194 int i;
179 195
180 for (i = 0; i < ARRAY_SIZE(irq_banks); i++) { 196 for (i = 0; i < ARRAY_SIZE(irq_banks); i++) {
197 unsigned long base;
181 struct omap_irq_bank *bank = irq_banks + i; 198 struct omap_irq_bank *bank = irq_banks + i;
182 199
183 if (cpu_is_omap24xx()) 200 if (cpu_is_omap24xx())
184 bank->base_reg = OMAP2_IO_ADDRESS(OMAP24XX_IC_BASE); 201 base = OMAP24XX_IC_BASE;
185 else if (cpu_is_omap34xx()) 202 else if (cpu_is_omap34xx())
186 bank->base_reg = OMAP2_IO_ADDRESS(OMAP34XX_IC_BASE); 203 base = OMAP34XX_IC_BASE;
204
205 /* Static mapping, never released */
206 bank->base_reg = ioremap(base, SZ_4K);
207 if (!bank->base_reg) {
208 printk(KERN_ERR "Could not ioremap irq bank%i\n", i);
209 continue;
210 }
187 211
188 omap_irq_bank_init_one(bank); 212 omap_irq_bank_init_one(bank);
189 213
@@ -201,3 +225,53 @@ void __init omap_init_irq(void)
201 } 225 }
202} 226}
203 227
228#ifdef CONFIG_ARCH_OMAP3
229void omap_intc_save_context(void)
230{
231 int ind = 0, i = 0;
232 for (ind = 0; ind < ARRAY_SIZE(irq_banks); ind++) {
233 struct omap_irq_bank *bank = irq_banks + ind;
234 intc_context[ind].sysconfig =
235 intc_bank_read_reg(bank, INTC_SYSCONFIG);
236 intc_context[ind].protection =
237 intc_bank_read_reg(bank, INTC_PROTECTION);
238 intc_context[ind].idle =
239 intc_bank_read_reg(bank, INTC_IDLE);
240 intc_context[ind].threshold =
241 intc_bank_read_reg(bank, INTC_THRESHOLD);
242 for (i = 0; i < INTCPS_NR_IRQS; i++)
243 intc_context[ind].ilr[i] =
244 intc_bank_read_reg(bank, (0x100 + 0x4*i));
245 for (i = 0; i < INTCPS_NR_MIR_REGS; i++)
246 intc_context[ind].mir[i] =
247 intc_bank_read_reg(&irq_banks[0], INTC_MIR0 +
248 (0x20 * i));
249 }
250}
251
252void omap_intc_restore_context(void)
253{
254 int ind = 0, i = 0;
255
256 for (ind = 0; ind < ARRAY_SIZE(irq_banks); ind++) {
257 struct omap_irq_bank *bank = irq_banks + ind;
258 intc_bank_write_reg(intc_context[ind].sysconfig,
259 bank, INTC_SYSCONFIG);
260 intc_bank_write_reg(intc_context[ind].sysconfig,
261 bank, INTC_SYSCONFIG);
262 intc_bank_write_reg(intc_context[ind].protection,
263 bank, INTC_PROTECTION);
264 intc_bank_write_reg(intc_context[ind].idle,
265 bank, INTC_IDLE);
266 intc_bank_write_reg(intc_context[ind].threshold,
267 bank, INTC_THRESHOLD);
268 for (i = 0; i < INTCPS_NR_IRQS; i++)
269 intc_bank_write_reg(intc_context[ind].ilr[i],
270 bank, (0x100 + 0x4*i));
271 for (i = 0; i < INTCPS_NR_MIR_REGS; i++)
272 intc_bank_write_reg(intc_context[ind].mir[i],
273 &irq_banks[0], INTC_MIR0 + (0x20 * i));
274 }
275 /* MIRs are saved and restore with other PRCM registers */
276}
277#endif /* CONFIG_ARCH_OMAP3 */
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
index ef57b38a56a4..281ab6342448 100644
--- a/arch/arm/mach-omap2/mailbox.c
+++ b/arch/arm/mach-omap2/mailbox.c
@@ -15,9 +15,11 @@
15#include <linux/err.h> 15#include <linux/err.h>
16#include <linux/platform_device.h> 16#include <linux/platform_device.h>
17#include <linux/io.h> 17#include <linux/io.h>
18#include <mach/mailbox.h> 18#include <plat/mailbox.h>
19#include <mach/irqs.h> 19#include <mach/irqs.h>
20 20
21#define DRV_NAME "omap2-mailbox"
22
21#define MAILBOX_REVISION 0x000 23#define MAILBOX_REVISION 0x000
22#define MAILBOX_SYSCONFIG 0x010 24#define MAILBOX_SYSCONFIG 0x010
23#define MAILBOX_SYSSTATUS 0x014 25#define MAILBOX_SYSSTATUS 0x014
@@ -27,8 +29,12 @@
27#define MAILBOX_IRQSTATUS(u) (0x100 + 8 * (u)) 29#define MAILBOX_IRQSTATUS(u) (0x100 + 8 * (u))
28#define MAILBOX_IRQENABLE(u) (0x104 + 8 * (u)) 30#define MAILBOX_IRQENABLE(u) (0x104 + 8 * (u))
29 31
30#define MAILBOX_IRQ_NEWMSG(u) (1 << (2 * (u))) 32#define OMAP4_MAILBOX_IRQSTATUS(u) (0x104 + 10 * (u))
31#define MAILBOX_IRQ_NOTFULL(u) (1 << (2 * (u) + 1)) 33#define OMAP4_MAILBOX_IRQENABLE(u) (0x108 + 10 * (u))
34#define OMAP4_MAILBOX_IRQENABLE_CLR(u) (0x10c + 10 * (u))
35
36#define MAILBOX_IRQ_NEWMSG(m) (1 << (2 * (m)))
37#define MAILBOX_IRQ_NOTFULL(m) (1 << (2 * (m) + 1))
32 38
33/* SYSCONFIG: register bit definition */ 39/* SYSCONFIG: register bit definition */
34#define AUTOIDLE (1 << 0) 40#define AUTOIDLE (1 << 0)
@@ -39,7 +45,11 @@
39#define RESETDONE (1 << 0) 45#define RESETDONE (1 << 0)
40 46
41#define MBOX_REG_SIZE 0x120 47#define MBOX_REG_SIZE 0x120
48
49#define OMAP4_MBOX_REG_SIZE 0x130
50
42#define MBOX_NR_REGS (MBOX_REG_SIZE / sizeof(u32)) 51#define MBOX_NR_REGS (MBOX_REG_SIZE / sizeof(u32))
52#define OMAP4_MBOX_NR_REGS (OMAP4_MBOX_REG_SIZE / sizeof(u32))
43 53
44static void __iomem *mbox_base; 54static void __iomem *mbox_base;
45 55
@@ -56,7 +66,8 @@ struct omap_mbox2_priv {
56 unsigned long irqstatus; 66 unsigned long irqstatus;
57 u32 newmsg_bit; 67 u32 newmsg_bit;
58 u32 notfull_bit; 68 u32 notfull_bit;
59 u32 ctx[MBOX_NR_REGS]; 69 u32 ctx[OMAP4_MBOX_NR_REGS];
70 unsigned long irqdisable;
60}; 71};
61 72
62static struct clk *mbox_ick_handle; 73static struct clk *mbox_ick_handle;
@@ -82,8 +93,9 @@ static int omap2_mbox_startup(struct omap_mbox *mbox)
82 93
83 mbox_ick_handle = clk_get(NULL, "mailboxes_ick"); 94 mbox_ick_handle = clk_get(NULL, "mailboxes_ick");
84 if (IS_ERR(mbox_ick_handle)) { 95 if (IS_ERR(mbox_ick_handle)) {
85 pr_err("Can't get mailboxes_ick\n"); 96 printk(KERN_ERR "Could not get mailboxes_ick: %d\n",
86 return -ENODEV; 97 PTR_ERR(mbox_ick_handle));
98 return PTR_ERR(mbox_ick_handle);
87 } 99 }
88 clk_enable(mbox_ick_handle); 100 clk_enable(mbox_ick_handle);
89 101
@@ -115,6 +127,7 @@ static void omap2_mbox_shutdown(struct omap_mbox *mbox)
115{ 127{
116 clk_disable(mbox_ick_handle); 128 clk_disable(mbox_ick_handle);
117 clk_put(mbox_ick_handle); 129 clk_put(mbox_ick_handle);
130 mbox_ick_handle = NULL;
118} 131}
119 132
120/* Mailbox FIFO handle functions */ 133/* Mailbox FIFO handle functions */
@@ -143,7 +156,7 @@ static int omap2_mbox_fifo_full(struct omap_mbox *mbox)
143{ 156{
144 struct omap_mbox2_fifo *fifo = 157 struct omap_mbox2_fifo *fifo =
145 &((struct omap_mbox2_priv *)mbox->priv)->tx_fifo; 158 &((struct omap_mbox2_priv *)mbox->priv)->tx_fifo;
146 return (mbox_read_reg(fifo->fifo_stat)); 159 return mbox_read_reg(fifo->fifo_stat);
147} 160}
148 161
149/* Mailbox IRQ handle functions */ 162/* Mailbox IRQ handle functions */
@@ -163,10 +176,9 @@ static void omap2_mbox_disable_irq(struct omap_mbox *mbox,
163{ 176{
164 struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv; 177 struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv;
165 u32 l, bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; 178 u32 l, bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit;
166 179 l = mbox_read_reg(p->irqdisable);
167 l = mbox_read_reg(p->irqenable);
168 l &= ~bit; 180 l &= ~bit;
169 mbox_write_reg(l, p->irqenable); 181 mbox_write_reg(l, p->irqdisable);
170} 182}
171 183
172static void omap2_mbox_ack_irq(struct omap_mbox *mbox, 184static void omap2_mbox_ack_irq(struct omap_mbox *mbox,
@@ -189,15 +201,19 @@ static int omap2_mbox_is_irq(struct omap_mbox *mbox,
189 u32 enable = mbox_read_reg(p->irqenable); 201 u32 enable = mbox_read_reg(p->irqenable);
190 u32 status = mbox_read_reg(p->irqstatus); 202 u32 status = mbox_read_reg(p->irqstatus);
191 203
192 return (enable & status & bit); 204 return (int)(enable & status & bit);
193} 205}
194 206
195static void omap2_mbox_save_ctx(struct omap_mbox *mbox) 207static void omap2_mbox_save_ctx(struct omap_mbox *mbox)
196{ 208{
197 int i; 209 int i;
198 struct omap_mbox2_priv *p = mbox->priv; 210 struct omap_mbox2_priv *p = mbox->priv;
199 211 int nr_regs;
200 for (i = 0; i < MBOX_NR_REGS; i++) { 212 if (cpu_is_omap44xx())
213 nr_regs = OMAP4_MBOX_NR_REGS;
214 else
215 nr_regs = MBOX_NR_REGS;
216 for (i = 0; i < nr_regs; i++) {
201 p->ctx[i] = mbox_read_reg(i * sizeof(u32)); 217 p->ctx[i] = mbox_read_reg(i * sizeof(u32));
202 218
203 dev_dbg(mbox->dev, "%s: [%02x] %08x\n", __func__, 219 dev_dbg(mbox->dev, "%s: [%02x] %08x\n", __func__,
@@ -209,8 +225,12 @@ static void omap2_mbox_restore_ctx(struct omap_mbox *mbox)
209{ 225{
210 int i; 226 int i;
211 struct omap_mbox2_priv *p = mbox->priv; 227 struct omap_mbox2_priv *p = mbox->priv;
212 228 int nr_regs;
213 for (i = 0; i < MBOX_NR_REGS; i++) { 229 if (cpu_is_omap44xx())
230 nr_regs = OMAP4_MBOX_NR_REGS;
231 else
232 nr_regs = MBOX_NR_REGS;
233 for (i = 0; i < nr_regs; i++) {
214 mbox_write_reg(p->ctx[i], i * sizeof(u32)); 234 mbox_write_reg(p->ctx[i], i * sizeof(u32));
215 235
216 dev_dbg(mbox->dev, "%s: [%02x] %08x\n", __func__, 236 dev_dbg(mbox->dev, "%s: [%02x] %08x\n", __func__,
@@ -242,7 +262,6 @@ static struct omap_mbox_ops omap2_mbox_ops = {
242 */ 262 */
243 263
244/* FIXME: the following structs should be filled automatically by the user id */ 264/* FIXME: the following structs should be filled automatically by the user id */
245
246/* DSP */ 265/* DSP */
247static struct omap_mbox2_priv omap2_mbox_dsp_priv = { 266static struct omap_mbox2_priv omap2_mbox_dsp_priv = {
248 .tx_fifo = { 267 .tx_fifo = {
@@ -257,8 +276,36 @@ static struct omap_mbox2_priv omap2_mbox_dsp_priv = {
257 .irqstatus = MAILBOX_IRQSTATUS(0), 276 .irqstatus = MAILBOX_IRQSTATUS(0),
258 .notfull_bit = MAILBOX_IRQ_NOTFULL(0), 277 .notfull_bit = MAILBOX_IRQ_NOTFULL(0),
259 .newmsg_bit = MAILBOX_IRQ_NEWMSG(1), 278 .newmsg_bit = MAILBOX_IRQ_NEWMSG(1),
279 .irqdisable = MAILBOX_IRQENABLE(0),
280};
281
282
283
284/* OMAP4 specific data structure. Use the cpu_is_omap4xxx()
285to use this*/
286static struct omap_mbox2_priv omap2_mbox_1_priv = {
287 .tx_fifo = {
288 .msg = MAILBOX_MESSAGE(0),
289 .fifo_stat = MAILBOX_FIFOSTATUS(0),
290 },
291 .rx_fifo = {
292 .msg = MAILBOX_MESSAGE(1),
293 .msg_stat = MAILBOX_MSGSTATUS(1),
294 },
295 .irqenable = OMAP4_MAILBOX_IRQENABLE(0),
296 .irqstatus = OMAP4_MAILBOX_IRQSTATUS(0),
297 .notfull_bit = MAILBOX_IRQ_NOTFULL(0),
298 .newmsg_bit = MAILBOX_IRQ_NEWMSG(1),
299 .irqdisable = OMAP4_MAILBOX_IRQENABLE_CLR(0),
260}; 300};
261 301
302struct omap_mbox mbox_1_info = {
303 .name = "mailbox-1",
304 .ops = &omap2_mbox_ops,
305 .priv = &omap2_mbox_1_priv,
306};
307EXPORT_SYMBOL(mbox_1_info);
308
262struct omap_mbox mbox_dsp_info = { 309struct omap_mbox mbox_dsp_info = {
263 .name = "dsp", 310 .name = "dsp",
264 .ops = &omap2_mbox_ops, 311 .ops = &omap2_mbox_ops,
@@ -266,6 +313,30 @@ struct omap_mbox mbox_dsp_info = {
266}; 313};
267EXPORT_SYMBOL(mbox_dsp_info); 314EXPORT_SYMBOL(mbox_dsp_info);
268 315
316static struct omap_mbox2_priv omap2_mbox_2_priv = {
317 .tx_fifo = {
318 .msg = MAILBOX_MESSAGE(3),
319 .fifo_stat = MAILBOX_FIFOSTATUS(3),
320 },
321 .rx_fifo = {
322 .msg = MAILBOX_MESSAGE(2),
323 .msg_stat = MAILBOX_MSGSTATUS(2),
324 },
325 .irqenable = OMAP4_MAILBOX_IRQENABLE(0),
326 .irqstatus = OMAP4_MAILBOX_IRQSTATUS(0),
327 .notfull_bit = MAILBOX_IRQ_NOTFULL(3),
328 .newmsg_bit = MAILBOX_IRQ_NEWMSG(2),
329 .irqdisable = OMAP4_MAILBOX_IRQENABLE_CLR(0),
330};
331
332struct omap_mbox mbox_2_info = {
333 .name = "mailbox-2",
334 .ops = &omap2_mbox_ops,
335 .priv = &omap2_mbox_2_priv,
336};
337EXPORT_SYMBOL(mbox_2_info);
338
339
269#if defined(CONFIG_ARCH_OMAP2420) /* IVA */ 340#if defined(CONFIG_ARCH_OMAP2420) /* IVA */
270static struct omap_mbox2_priv omap2_mbox_iva_priv = { 341static struct omap_mbox2_priv omap2_mbox_iva_priv = {
271 .tx_fifo = { 342 .tx_fifo = {
@@ -280,6 +351,7 @@ static struct omap_mbox2_priv omap2_mbox_iva_priv = {
280 .irqstatus = MAILBOX_IRQSTATUS(3), 351 .irqstatus = MAILBOX_IRQSTATUS(3),
281 .notfull_bit = MAILBOX_IRQ_NOTFULL(2), 352 .notfull_bit = MAILBOX_IRQ_NOTFULL(2),
282 .newmsg_bit = MAILBOX_IRQ_NEWMSG(3), 353 .newmsg_bit = MAILBOX_IRQ_NEWMSG(3),
354 .irqdisable = MAILBOX_IRQENABLE(3),
283}; 355};
284 356
285static struct omap_mbox mbox_iva_info = { 357static struct omap_mbox mbox_iva_info = {
@@ -305,17 +377,31 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev)
305 return -ENOMEM; 377 return -ENOMEM;
306 378
307 /* DSP or IVA2 IRQ */ 379 /* DSP or IVA2 IRQ */
308 ret = platform_get_irq(pdev, 0); 380 res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
309 if (ret < 0) { 381
382 if (unlikely(!res)) {
310 dev_err(&pdev->dev, "invalid irq resource\n"); 383 dev_err(&pdev->dev, "invalid irq resource\n");
384 ret = -ENODEV;
311 goto err_dsp; 385 goto err_dsp;
312 } 386 }
313 mbox_dsp_info.irq = ret; 387 if (cpu_is_omap44xx()) {
314 388 mbox_1_info.irq = res->start;
315 ret = omap_mbox_register(&pdev->dev, &mbox_dsp_info); 389 ret = omap_mbox_register(&pdev->dev, &mbox_1_info);
390 } else {
391 mbox_dsp_info.irq = res->start;
392 ret = omap_mbox_register(&pdev->dev, &mbox_dsp_info);
393 }
316 if (ret) 394 if (ret)
317 goto err_dsp; 395 goto err_dsp;
318 396
397 if (cpu_is_omap44xx()) {
398 mbox_2_info.irq = res->start;
399 ret = omap_mbox_register(&pdev->dev, &mbox_2_info);
400 if (ret) {
401 omap_mbox_unregister(&mbox_1_info);
402 goto err_dsp;
403 }
404 }
319#if defined(CONFIG_ARCH_OMAP2420) /* IVA */ 405#if defined(CONFIG_ARCH_OMAP2420) /* IVA */
320 if (cpu_is_omap2420()) { 406 if (cpu_is_omap2420()) {
321 /* IVA IRQ */ 407 /* IVA IRQ */
@@ -335,6 +421,7 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev)
335 421
336err_iva1: 422err_iva1:
337 omap_mbox_unregister(&mbox_dsp_info); 423 omap_mbox_unregister(&mbox_dsp_info);
424
338err_dsp: 425err_dsp:
339 iounmap(mbox_base); 426 iounmap(mbox_base);
340 return ret; 427 return ret;
@@ -345,7 +432,12 @@ static int __devexit omap2_mbox_remove(struct platform_device *pdev)
345#if defined(CONFIG_ARCH_OMAP2420) 432#if defined(CONFIG_ARCH_OMAP2420)
346 omap_mbox_unregister(&mbox_iva_info); 433 omap_mbox_unregister(&mbox_iva_info);
347#endif 434#endif
348 omap_mbox_unregister(&mbox_dsp_info); 435
436 if (cpu_is_omap44xx()) {
437 omap_mbox_unregister(&mbox_2_info);
438 omap_mbox_unregister(&mbox_1_info);
439 } else
440 omap_mbox_unregister(&mbox_dsp_info);
349 iounmap(mbox_base); 441 iounmap(mbox_base);
350 return 0; 442 return 0;
351} 443}
@@ -354,7 +446,7 @@ static struct platform_driver omap2_mbox_driver = {
354 .probe = omap2_mbox_probe, 446 .probe = omap2_mbox_probe,
355 .remove = __devexit_p(omap2_mbox_remove), 447 .remove = __devexit_p(omap2_mbox_remove),
356 .driver = { 448 .driver = {
357 .name = "omap2-mailbox", 449 .name = DRV_NAME,
358 }, 450 },
359}; 451};
360 452
@@ -372,6 +464,6 @@ module_init(omap2_mbox_init);
372module_exit(omap2_mbox_exit); 464module_exit(omap2_mbox_exit);
373 465
374MODULE_LICENSE("GPL v2"); 466MODULE_LICENSE("GPL v2");
375MODULE_DESCRIPTION("omap mailbox: omap2/3 architecture specific functions"); 467MODULE_DESCRIPTION("omap mailbox: omap2/3/4 architecture specific functions");
376MODULE_AUTHOR("Hiroshi DOYU <Hiroshi.DOYU@nokia.com>, Paul Mundt"); 468MODULE_AUTHOR("Hiroshi DOYU <Hiroshi.DOYU@nokia.com>, Paul Mundt");
377MODULE_ALIAS("platform:omap2-mailbox"); 469MODULE_ALIAS("platform:"DRV_NAME);
diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c
index a846aa1ebb4d..baa451733850 100644
--- a/arch/arm/mach-omap2/mcbsp.c
+++ b/arch/arm/mach-omap2/mcbsp.c
@@ -18,10 +18,10 @@
18#include <linux/platform_device.h> 18#include <linux/platform_device.h>
19 19
20#include <mach/irqs.h> 20#include <mach/irqs.h>
21#include <mach/dma.h> 21#include <plat/dma.h>
22#include <mach/mux.h> 22#include <plat/mux.h>
23#include <mach/cpu.h> 23#include <plat/cpu.h>
24#include <mach/mcbsp.h> 24#include <plat/mcbsp.h>
25 25
26static void omap2_mcbsp2_mux_setup(void) 26static void omap2_mcbsp2_mux_setup(void)
27{ 27{
diff --git a/arch/arm/mach-omap2/mmc-twl4030.c b/arch/arm/mach-omap2/mmc-twl4030.c
index c9c59a2db4e2..0c3c72d934bf 100644
--- a/arch/arm/mach-omap2/mmc-twl4030.c
+++ b/arch/arm/mach-omap2/mmc-twl4030.c
@@ -20,9 +20,9 @@
20#include <linux/regulator/consumer.h> 20#include <linux/regulator/consumer.h>
21 21
22#include <mach/hardware.h> 22#include <mach/hardware.h>
23#include <mach/control.h> 23#include <plat/control.h>
24#include <mach/mmc.h> 24#include <plat/mmc.h>
25#include <mach/board.h> 25#include <plat/board.h>
26 26
27#include "mmc-twl4030.h" 27#include "mmc-twl4030.h"
28 28
@@ -213,7 +213,7 @@ static int twl4030_mmc_get_context_loss(struct device *dev)
213static int twl_mmc1_set_power(struct device *dev, int slot, int power_on, 213static int twl_mmc1_set_power(struct device *dev, int slot, int power_on,
214 int vdd) 214 int vdd)
215{ 215{
216 u32 reg; 216 u32 reg, prog_io;
217 int ret = 0; 217 int ret = 0;
218 struct twl_mmc_controller *c = &hsmmc[0]; 218 struct twl_mmc_controller *c = &hsmmc[0];
219 struct omap_mmc_platform_data *mmc = dev->platform_data; 219 struct omap_mmc_platform_data *mmc = dev->platform_data;
@@ -245,7 +245,14 @@ static int twl_mmc1_set_power(struct device *dev, int slot, int power_on,
245 } 245 }
246 246
247 reg = omap_ctrl_readl(control_pbias_offset); 247 reg = omap_ctrl_readl(control_pbias_offset);
248 reg |= OMAP2_PBIASSPEEDCTRL0; 248 if (cpu_is_omap3630()) {
249 /* Set MMC I/O to 52Mhz */
250 prog_io = omap_ctrl_readl(OMAP343X_CONTROL_PROG_IO1);
251 prog_io |= OMAP3630_PRG_SDMMC1_SPEEDCTRL;
252 omap_ctrl_writel(prog_io, OMAP343X_CONTROL_PROG_IO1);
253 } else {
254 reg |= OMAP2_PBIASSPEEDCTRL0;
255 }
249 reg &= ~OMAP2_PBIASLITEPWRDNZ0; 256 reg &= ~OMAP2_PBIASLITEPWRDNZ0;
250 omap_ctrl_writel(reg, control_pbias_offset); 257 omap_ctrl_writel(reg, control_pbias_offset);
251 258
@@ -489,6 +496,12 @@ void __init twl4030_mmc_init(struct twl4030_hsmmc_info *controllers)
489 /* on-chip level shifting via PBIAS0/PBIAS1 */ 496 /* on-chip level shifting via PBIAS0/PBIAS1 */
490 mmc->slots[0].set_power = twl_mmc1_set_power; 497 mmc->slots[0].set_power = twl_mmc1_set_power;
491 mmc->slots[0].set_sleep = twl_mmc1_set_sleep; 498 mmc->slots[0].set_sleep = twl_mmc1_set_sleep;
499
500 /* Omap3630 HSMMC1 supports only 4-bit */
501 if (cpu_is_omap3630() && c->wires > 4) {
502 c->wires = 4;
503 mmc->slots[0].wires = c->wires;
504 }
492 break; 505 break;
493 case 2: 506 case 2:
494 if (c->ext_clock) 507 if (c->ext_clock)
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
index b5fac32aae70..c18a94eca641 100644
--- a/arch/arm/mach-omap2/mux.c
+++ b/arch/arm/mach-omap2/mux.c
@@ -30,8 +30,8 @@
30 30
31#include <asm/system.h> 31#include <asm/system.h>
32 32
33#include <mach/control.h> 33#include <plat/control.h>
34#include <mach/mux.h> 34#include <plat/mux.h>
35 35
36#ifdef CONFIG_OMAP_MUX 36#ifdef CONFIG_OMAP_MUX
37 37
@@ -532,6 +532,14 @@ MUX_CFG_34XX("AG4_3430_MMC2_DAT2", 0x160,
532 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP) 532 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
533MUX_CFG_34XX("AF4_3430_MMC2_DAT3", 0x162, 533MUX_CFG_34XX("AF4_3430_MMC2_DAT3", 0x162,
534 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP) 534 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
535MUX_CFG_34XX("AE4_3430_MMC2_DAT4", 0x164,
536 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
537MUX_CFG_34XX("AH3_3430_MMC2_DAT5", 0x166,
538 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
539MUX_CFG_34XX("AF3_3430_MMC2_DAT6", 0x168,
540 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
541MUX_CFG_34XX("AE3_3430_MMC2_DAT7", 0x16A,
542 OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP)
535 543
536/* MMC3 */ 544/* MMC3 */
537MUX_CFG_34XX("AF10_3430_MMC3_CLK", 0x5d8, 545MUX_CFG_34XX("AF10_3430_MMC3_CLK", 0x5d8,
@@ -551,6 +559,13 @@ MUX_CFG_34XX("AF13_3430_MMC3_DAT3", 0x5e2,
551MUX_CFG_34XX("AF26_34XX_SYS_NIRQ", 0x1E0, 559MUX_CFG_34XX("AF26_34XX_SYS_NIRQ", 0x1E0,
552 OMAP3_WAKEUP_EN | OMAP34XX_PIN_INPUT_PULLUP | 560 OMAP3_WAKEUP_EN | OMAP34XX_PIN_INPUT_PULLUP |
553 OMAP34XX_MUX_MODE0) 561 OMAP34XX_MUX_MODE0)
562/* EHCI GPIO's on OMAP3EVM (Rev >= E) */
563MUX_CFG_34XX("AH14_34XX_GPIO21", 0x5ea,
564 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP)
565MUX_CFG_34XX("AF9_34XX_GPIO22", 0x5ec,
566 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP)
567MUX_CFG_34XX("U3_34XX_GPIO61", 0x0c8,
568 OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP)
554}; 569};
555 570
556#define OMAP34XX_PINS_SZ ARRAY_SIZE(omap34xx_pins) 571#define OMAP34XX_PINS_SZ ARRAY_SIZE(omap34xx_pins)
diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap-smp.c
index 48ee295db275..4890bcf4dadd 100644
--- a/arch/arm/mach-omap2/omap-smp.c
+++ b/arch/arm/mach-omap2/omap-smp.c
@@ -24,13 +24,14 @@
24#include <asm/localtimer.h> 24#include <asm/localtimer.h>
25#include <asm/smp_scu.h> 25#include <asm/smp_scu.h>
26#include <mach/hardware.h> 26#include <mach/hardware.h>
27#include <plat/common.h>
27 28
28/* Registers used for communicating startup information */ 29/* Registers used for communicating startup information */
29#define OMAP4_AUXCOREBOOT_REG0 (OMAP44XX_VA_WKUPGEN_BASE + 0x800) 30static void __iomem *omap4_auxcoreboot_reg0;
30#define OMAP4_AUXCOREBOOT_REG1 (OMAP44XX_VA_WKUPGEN_BASE + 0x804) 31static void __iomem *omap4_auxcoreboot_reg1;
31 32
32/* SCU base address */ 33/* SCU base address */
33static void __iomem *scu_base = OMAP44XX_VA_SCU_BASE; 34static void __iomem *scu_base;
34 35
35/* 36/*
36 * Use SCU config register to count number of cores 37 * Use SCU config register to count number of cores
@@ -53,8 +54,7 @@ void __cpuinit platform_secondary_init(unsigned int cpu)
53 * core (e.g. timer irq), then they will not have been enabled 54 * core (e.g. timer irq), then they will not have been enabled
54 * for us: do so 55 * for us: do so
55 */ 56 */
56 57 gic_cpu_init(0, gic_cpu_base_addr);
57 gic_cpu_init(0, OMAP2_IO_ADDRESS(OMAP44XX_GIC_CPU_BASE));
58 58
59 /* 59 /*
60 * Synchronise with the boot thread. 60 * Synchronise with the boot thread.
@@ -79,7 +79,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
79 * the AuxCoreBoot1 register is updated with cpu state 79 * the AuxCoreBoot1 register is updated with cpu state
80 * A barrier is added to ensure that write buffer is drained 80 * A barrier is added to ensure that write buffer is drained
81 */ 81 */
82 __raw_writel(cpu, OMAP4_AUXCOREBOOT_REG1); 82 __raw_writel(cpu, omap4_auxcoreboot_reg1);
83 smp_wmb(); 83 smp_wmb();
84 84
85 timeout = jiffies + (1 * HZ); 85 timeout = jiffies + (1 * HZ);
@@ -104,7 +104,7 @@ static void __init wakeup_secondary(void)
104 * A barrier is added to ensure that write buffer is drained 104 * A barrier is added to ensure that write buffer is drained
105 */ 105 */
106 __raw_writel(virt_to_phys(omap_secondary_startup), \ 106 __raw_writel(virt_to_phys(omap_secondary_startup), \
107 OMAP4_AUXCOREBOOT_REG0); 107 omap4_auxcoreboot_reg0);
108 smp_wmb(); 108 smp_wmb();
109 109
110 /* 110 /*
@@ -120,7 +120,13 @@ static void __init wakeup_secondary(void)
120 */ 120 */
121void __init smp_init_cpus(void) 121void __init smp_init_cpus(void)
122{ 122{
123 unsigned int i, ncores = get_core_count(); 123 unsigned int i, ncores;
124
125 /* Never released */
126 scu_base = ioremap(OMAP44XX_SCU_BASE, SZ_256);
127 BUG_ON(!scu_base);
128
129 ncores = get_core_count();
124 130
125 for (i = 0; i < ncores; i++) 131 for (i = 0; i < ncores; i++)
126 set_cpu_possible(i, true); 132 set_cpu_possible(i, true);
@@ -130,6 +136,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
130{ 136{
131 unsigned int ncores = get_core_count(); 137 unsigned int ncores = get_core_count();
132 unsigned int cpu = smp_processor_id(); 138 unsigned int cpu = smp_processor_id();
139 void __iomem *omap4_wkupgen_base;
133 int i; 140 int i;
134 141
135 /* sanity check */ 142 /* sanity check */
@@ -161,6 +168,12 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
161 for (i = 0; i < max_cpus; i++) 168 for (i = 0; i < max_cpus; i++)
162 set_cpu_present(i, true); 169 set_cpu_present(i, true);
163 170
171 /* Never released */
172 omap4_wkupgen_base = ioremap(OMAP44XX_WKUPGEN_BASE, SZ_4K);
173 BUG_ON(!omap4_wkupgen_base);
174 omap4_auxcoreboot_reg0 = omap4_wkupgen_base + 0x800;
175 omap4_auxcoreboot_reg1 = omap4_wkupgen_base + 0x804;
176
164 if (max_cpus > 1) { 177 if (max_cpus > 1) {
165 /* 178 /*
166 * Enable the local timer or broadcast device for the 179 * Enable the local timer or broadcast device for the
diff --git a/arch/arm/mach-omap2/omap3-iommu.c b/arch/arm/mach-omap2/omap3-iommu.c
index 194189c746c2..fbbcb5c83367 100644
--- a/arch/arm/mach-omap2/omap3-iommu.c
+++ b/arch/arm/mach-omap2/omap3-iommu.c
@@ -12,49 +12,52 @@
12 12
13#include <linux/platform_device.h> 13#include <linux/platform_device.h>
14 14
15#include <mach/iommu.h> 15#include <plat/iommu.h>
16 16
17#define OMAP3_MMU1_BASE 0x480bd400 17struct iommu_device {
18#define OMAP3_MMU2_BASE 0x5d000000 18 resource_size_t base;
19#define OMAP3_MMU1_IRQ 24 19 int irq;
20#define OMAP3_MMU2_IRQ 28 20 struct iommu_platform_data pdata;
21 21 struct resource res[2];
22
23static unsigned long iommu_base[] __initdata = {
24 OMAP3_MMU1_BASE,
25 OMAP3_MMU2_BASE,
26};
27
28static int iommu_irq[] __initdata = {
29 OMAP3_MMU1_IRQ,
30 OMAP3_MMU2_IRQ,
31}; 22};
32 23
33static const struct iommu_platform_data omap3_iommu_pdata[] __initconst = { 24static struct iommu_device devices[] = {
34 { 25 {
35 .name = "isp", 26 .base = 0x480bd400,
36 .nr_tlb_entries = 8, 27 .irq = 24,
37 .clk_name = "cam_ick", 28 .pdata = {
29 .name = "isp",
30 .nr_tlb_entries = 8,
31 .clk_name = "cam_ick",
32 },
38 }, 33 },
39#if defined(CONFIG_MPU_BRIDGE_IOMMU) 34#if defined(CONFIG_MPU_BRIDGE_IOMMU)
40 { 35 {
41 .name = "iva2", 36 .base = 0x5d000000,
42 .nr_tlb_entries = 32, 37 .irq = 28,
43 .clk_name = "iva2_ck", 38 .pdata = {
39 .name = "iva2",
40 .nr_tlb_entries = 32,
41 .clk_name = "iva2_ck",
42 },
44 }, 43 },
45#endif 44#endif
46}; 45};
47#define NR_IOMMU_DEVICES ARRAY_SIZE(omap3_iommu_pdata) 46#define NR_IOMMU_DEVICES ARRAY_SIZE(devices)
48 47
49static struct platform_device *omap3_iommu_pdev[NR_IOMMU_DEVICES]; 48static struct platform_device *omap3_iommu_pdev[NR_IOMMU_DEVICES];
50 49
51static int __init omap3_iommu_init(void) 50static int __init omap3_iommu_init(void)
52{ 51{
53 int i, err; 52 int i, err;
53 struct resource res[] = {
54 { .flags = IORESOURCE_MEM },
55 { .flags = IORESOURCE_IRQ },
56 };
54 57
55 for (i = 0; i < NR_IOMMU_DEVICES; i++) { 58 for (i = 0; i < NR_IOMMU_DEVICES; i++) {
56 struct platform_device *pdev; 59 struct platform_device *pdev;
57 struct resource res[2]; 60 const struct iommu_device *d = &devices[i];
58 61
59 pdev = platform_device_alloc("omap-iommu", i); 62 pdev = platform_device_alloc("omap-iommu", i);
60 if (!pdev) { 63 if (!pdev) {
@@ -62,19 +65,16 @@ static int __init omap3_iommu_init(void)
62 goto err_out; 65 goto err_out;
63 } 66 }
64 67
65 memset(res, 0, sizeof(res)); 68 res[0].start = d->base;
66 res[0].start = iommu_base[i]; 69 res[0].end = d->base + MMU_REG_SIZE - 1;
67 res[0].end = iommu_base[i] + MMU_REG_SIZE - 1; 70 res[1].start = res[1].end = d->irq;
68 res[0].flags = IORESOURCE_MEM;
69 res[1].start = res[1].end = iommu_irq[i];
70 res[1].flags = IORESOURCE_IRQ;
71 71
72 err = platform_device_add_resources(pdev, res, 72 err = platform_device_add_resources(pdev, res,
73 ARRAY_SIZE(res)); 73 ARRAY_SIZE(res));
74 if (err) 74 if (err)
75 goto err_out; 75 goto err_out;
76 err = platform_device_add_data(pdev, &omap3_iommu_pdata[i], 76 err = platform_device_add_data(pdev, &d->pdata,
77 sizeof(omap3_iommu_pdata[0])); 77 sizeof(d->pdata));
78 if (err) 78 if (err)
79 goto err_out; 79 goto err_out;
80 err = platform_device_add(pdev); 80 err = platform_device_add(pdev);
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index d2e0f1c95961..633b216a8b26 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -45,11 +45,11 @@
45#include <linux/mutex.h> 45#include <linux/mutex.h>
46#include <linux/bootmem.h> 46#include <linux/bootmem.h>
47 47
48#include <mach/cpu.h> 48#include <plat/cpu.h>
49#include <mach/clockdomain.h> 49#include <plat/clockdomain.h>
50#include <mach/powerdomain.h> 50#include <plat/powerdomain.h>
51#include <mach/clock.h> 51#include <plat/clock.h>
52#include <mach/omap_hwmod.h> 52#include <plat/omap_hwmod.h>
53 53
54#include "cm.h" 54#include "cm.h"
55 55
@@ -496,6 +496,7 @@ static void __iomem *_find_mpu_rt_base(struct omap_hwmod *oh, u8 index)
496 struct omap_hwmod_addr_space *mem; 496 struct omap_hwmod_addr_space *mem;
497 int i; 497 int i;
498 int found = 0; 498 int found = 0;
499 void __iomem *va_start;
499 500
500 if (!oh || oh->slaves_cnt == 0) 501 if (!oh || oh->slaves_cnt == 0)
501 return NULL; 502 return NULL;
@@ -509,16 +510,20 @@ static void __iomem *_find_mpu_rt_base(struct omap_hwmod *oh, u8 index)
509 } 510 }
510 } 511 }
511 512
512 /* XXX use ioremap() instead? */ 513 if (found) {
513 514 va_start = ioremap(mem->pa_start, mem->pa_end - mem->pa_start);
514 if (found) 515 if (!va_start) {
516 pr_err("omap_hwmod: %s: Could not ioremap\n", oh->name);
517 return NULL;
518 }
515 pr_debug("omap_hwmod: %s: MPU register target at va %p\n", 519 pr_debug("omap_hwmod: %s: MPU register target at va %p\n",
516 oh->name, OMAP2_IO_ADDRESS(mem->pa_start)); 520 oh->name, va_start);
517 else 521 } else {
518 pr_debug("omap_hwmod: %s: no MPU register target found\n", 522 pr_debug("omap_hwmod: %s: no MPU register target found\n",
519 oh->name); 523 oh->name);
524 }
520 525
521 return (found) ? OMAP2_IO_ADDRESS(mem->pa_start) : NULL; 526 return (found) ? va_start : NULL;
522} 527}
523 528
524/** 529/**
@@ -1148,6 +1153,7 @@ int omap_hwmod_unregister(struct omap_hwmod *oh)
1148 pr_debug("omap_hwmod: %s: unregistering\n", oh->name); 1153 pr_debug("omap_hwmod: %s: unregistering\n", oh->name);
1149 1154
1150 mutex_lock(&omap_hwmod_mutex); 1155 mutex_lock(&omap_hwmod_mutex);
1156 iounmap(oh->_rt_va);
1151 list_del(&oh->node); 1157 list_del(&oh->node);
1152 mutex_unlock(&omap_hwmod_mutex); 1158 mutex_unlock(&omap_hwmod_mutex);
1153 1159
diff --git a/arch/arm/mach-omap2/omap_hwmod_2420.h b/arch/arm/mach-omap2/omap_hwmod_2420.h
index 767e4965ac4e..a9ca1b99a301 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2420.h
+++ b/arch/arm/mach-omap2/omap_hwmod_2420.h
@@ -16,10 +16,10 @@
16 16
17#ifdef CONFIG_ARCH_OMAP2420 17#ifdef CONFIG_ARCH_OMAP2420
18 18
19#include <mach/omap_hwmod.h> 19#include <plat/omap_hwmod.h>
20#include <mach/irqs.h> 20#include <mach/irqs.h>
21#include <mach/cpu.h> 21#include <plat/cpu.h>
22#include <mach/dma.h> 22#include <plat/dma.h>
23 23
24#include "prm-regbits-24xx.h" 24#include "prm-regbits-24xx.h"
25 25
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430.h b/arch/arm/mach-omap2/omap_hwmod_2430.h
index a412be6420ec..59a208bea6c2 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2430.h
+++ b/arch/arm/mach-omap2/omap_hwmod_2430.h
@@ -16,10 +16,10 @@
16 16
17#ifdef CONFIG_ARCH_OMAP2430 17#ifdef CONFIG_ARCH_OMAP2430
18 18
19#include <mach/omap_hwmod.h> 19#include <plat/omap_hwmod.h>
20#include <mach/irqs.h> 20#include <mach/irqs.h>
21#include <mach/cpu.h> 21#include <plat/cpu.h>
22#include <mach/dma.h> 22#include <plat/dma.h>
23 23
24#include "prm-regbits-24xx.h" 24#include "prm-regbits-24xx.h"
25 25
diff --git a/arch/arm/mach-omap2/omap_hwmod_34xx.h b/arch/arm/mach-omap2/omap_hwmod_34xx.h
index 1e069f831575..b6076b9c364e 100644
--- a/arch/arm/mach-omap2/omap_hwmod_34xx.h
+++ b/arch/arm/mach-omap2/omap_hwmod_34xx.h
@@ -14,10 +14,10 @@
14 14
15#ifdef CONFIG_ARCH_OMAP34XX 15#ifdef CONFIG_ARCH_OMAP34XX
16 16
17#include <mach/omap_hwmod.h> 17#include <plat/omap_hwmod.h>
18#include <mach/irqs.h> 18#include <mach/irqs.h>
19#include <mach/cpu.h> 19#include <plat/cpu.h>
20#include <mach/dma.h> 20#include <plat/dma.h>
21 21
22#include "prm-regbits-34xx.h" 22#include "prm-regbits-34xx.h"
23 23
diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c
index 2fc4d6abbd0a..8baa30d2acfb 100644
--- a/arch/arm/mach-omap2/pm-debug.c
+++ b/arch/arm/mach-omap2/pm-debug.c
@@ -26,10 +26,10 @@
26#include <linux/io.h> 26#include <linux/io.h>
27#include <linux/module.h> 27#include <linux/module.h>
28 28
29#include <mach/clock.h> 29#include <plat/clock.h>
30#include <mach/board.h> 30#include <plat/board.h>
31#include <mach/powerdomain.h> 31#include <plat/powerdomain.h>
32#include <mach/clockdomain.h> 32#include <plat/clockdomain.h>
33 33
34#include "prm.h" 34#include "prm.h"
35#include "cm.h" 35#include "cm.h"
@@ -51,7 +51,8 @@ int omap2_pm_debug;
51 regs[reg_count++].val = __raw_readl(reg) 51 regs[reg_count++].val = __raw_readl(reg)
52#define DUMP_INTC_REG(reg, off) \ 52#define DUMP_INTC_REG(reg, off) \
53 regs[reg_count].name = #reg; \ 53 regs[reg_count].name = #reg; \
54 regs[reg_count++].val = __raw_readl(OMAP2_IO_ADDRESS(0x480fe000 + (off))) 54 regs[reg_count++].val = \
55 __raw_readl(OMAP2_L4_IO_ADDRESS(0x480fe000 + (off)))
55 56
56static int __init pm_dbg_init(void); 57static int __init pm_dbg_init(void);
57 58
@@ -526,6 +527,29 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *dir)
526 return 0; 527 return 0;
527} 528}
528 529
530static int option_get(void *data, u64 *val)
531{
532 u32 *option = data;
533
534 *val = *option;
535
536 return 0;
537}
538
539static int option_set(void *data, u64 val)
540{
541 u32 *option = data;
542
543 *option = val;
544
545 if (option == &enable_off_mode)
546 omap3_pm_off_mode_enable(val);
547
548 return 0;
549}
550
551DEFINE_SIMPLE_ATTRIBUTE(pm_dbg_option_fops, option_get, option_set, "%llu\n");
552
529static int __init pm_dbg_init(void) 553static int __init pm_dbg_init(void)
530{ 554{
531 int i; 555 int i;
@@ -568,6 +592,12 @@ static int __init pm_dbg_init(void)
568 592
569 } 593 }
570 594
595 (void) debugfs_create_file("enable_off_mode", S_IRUGO | S_IWUGO, d,
596 &enable_off_mode, &pm_dbg_option_fops);
597 (void) debugfs_create_file("sleep_while_idle", S_IRUGO | S_IWUGO, d,
598 &sleep_while_idle, &pm_dbg_option_fops);
599 (void) debugfs_create_file("wakeup_timer_seconds", S_IRUGO | S_IWUGO, d,
600 &wakeup_timer_seconds, &pm_dbg_option_fops);
571 pm_dbg_init_done = 1; 601 pm_dbg_init_done = 1;
572 602
573 return 0; 603 return 0;
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index 8400f5768923..0bf345db7147 100644
--- a/arch/arm/mach-omap2/pm.h
+++ b/arch/arm/mach-omap2/pm.h
@@ -11,11 +11,24 @@
11#ifndef __ARCH_ARM_MACH_OMAP2_PM_H 11#ifndef __ARCH_ARM_MACH_OMAP2_PM_H
12#define __ARCH_ARM_MACH_OMAP2_PM_H 12#define __ARCH_ARM_MACH_OMAP2_PM_H
13 13
14#include <mach/powerdomain.h> 14#include <plat/powerdomain.h>
15
16extern u32 enable_off_mode;
17extern u32 sleep_while_idle;
18
19extern void *omap3_secure_ram_storage;
20extern void omap3_pm_off_mode_enable(int);
21extern void omap_sram_idle(void);
22extern int omap3_can_sleep(void);
23extern int set_pwrdm_state(struct powerdomain *pwrdm, u32 state);
24extern int omap3_idle_init(void);
15 25
16extern int omap3_pm_get_suspend_state(struct powerdomain *pwrdm); 26extern int omap3_pm_get_suspend_state(struct powerdomain *pwrdm);
17extern int omap3_pm_set_suspend_state(struct powerdomain *pwrdm, int state); 27extern int omap3_pm_set_suspend_state(struct powerdomain *pwrdm, int state);
18 28
29extern u32 wakeup_timer_seconds;
30extern struct omap_dm_timer *gptimer_wakeup;
31
19#ifdef CONFIG_PM_DEBUG 32#ifdef CONFIG_PM_DEBUG
20extern void omap2_pm_dump(int mode, int resume, unsigned int us); 33extern void omap2_pm_dump(int mode, int resume, unsigned int us);
21extern int omap2_pm_debug; 34extern int omap2_pm_debug;
@@ -36,6 +49,7 @@ extern void omap24xx_cpu_suspend(u32 dll_ctrl, void __iomem *sdrc_dlla_ctrl,
36 void __iomem *sdrc_power); 49 void __iomem *sdrc_power);
37extern void omap34xx_cpu_suspend(u32 *addr, int save_state); 50extern void omap34xx_cpu_suspend(u32 *addr, int save_state);
38extern void save_secure_ram_context(u32 *addr); 51extern void save_secure_ram_context(u32 *addr);
52extern void omap3_save_scratchpad_contents(void);
39 53
40extern unsigned int omap24xx_idle_loop_suspend_sz; 54extern unsigned int omap24xx_idle_loop_suspend_sz;
41extern unsigned int omap34xx_suspend_sz; 55extern unsigned int omap34xx_suspend_sz;
diff --git a/arch/arm/mach-omap2/pm24xx.c b/arch/arm/mach-omap2/pm24xx.c
index bff5c4e89742..cba05b9f041f 100644
--- a/arch/arm/mach-omap2/pm24xx.c
+++ b/arch/arm/mach-omap2/pm24xx.c
@@ -36,12 +36,12 @@
36#include <asm/mach-types.h> 36#include <asm/mach-types.h>
37 37
38#include <mach/irqs.h> 38#include <mach/irqs.h>
39#include <mach/clock.h> 39#include <plat/clock.h>
40#include <mach/sram.h> 40#include <plat/sram.h>
41#include <mach/control.h> 41#include <plat/control.h>
42#include <mach/mux.h> 42#include <plat/mux.h>
43#include <mach/dma.h> 43#include <plat/dma.h>
44#include <mach/board.h> 44#include <plat/board.h>
45 45
46#include "prm.h" 46#include "prm.h"
47#include "prm-regbits-24xx.h" 47#include "prm-regbits-24xx.h"
@@ -50,8 +50,8 @@
50#include "sdrc.h" 50#include "sdrc.h"
51#include "pm.h" 51#include "pm.h"
52 52
53#include <mach/powerdomain.h> 53#include <plat/powerdomain.h>
54#include <mach/clockdomain.h> 54#include <plat/clockdomain.h>
55 55
56static void (*omap2_sram_idle)(void); 56static void (*omap2_sram_idle)(void);
57static void (*omap2_sram_suspend)(u32 dllctrl, void __iomem *sdrc_dlla_ctrl, 57static void (*omap2_sram_suspend)(u32 dllctrl, void __iomem *sdrc_dlla_ctrl,
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 89463190923a..81ed252a0f8a 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -5,6 +5,9 @@
5 * Tony Lindgren <tony@atomide.com> 5 * Tony Lindgren <tony@atomide.com>
6 * Jouni Hogander 6 * Jouni Hogander
7 * 7 *
8 * Copyright (C) 2007 Texas Instruments, Inc.
9 * Rajendra Nayak <rnayak@ti.com>
10 *
8 * Copyright (C) 2005 Texas Instruments, Inc. 11 * Copyright (C) 2005 Texas Instruments, Inc.
9 * Richard Woodruff <r-woodruff2@ti.com> 12 * Richard Woodruff <r-woodruff2@ti.com>
10 * 13 *
@@ -22,12 +25,20 @@
22#include <linux/list.h> 25#include <linux/list.h>
23#include <linux/err.h> 26#include <linux/err.h>
24#include <linux/gpio.h> 27#include <linux/gpio.h>
28#include <linux/clk.h>
29
30#include <plat/sram.h>
31#include <plat/clockdomain.h>
32#include <plat/powerdomain.h>
33#include <plat/control.h>
34#include <plat/serial.h>
35#include <plat/sdrc.h>
36#include <plat/prcm.h>
37#include <plat/gpmc.h>
38#include <plat/dma.h>
39#include <plat/dmtimer.h>
25 40
26#include <mach/sram.h> 41#include <asm/tlbflush.h>
27#include <mach/clockdomain.h>
28#include <mach/powerdomain.h>
29#include <mach/control.h>
30#include <mach/serial.h>
31 42
32#include "cm.h" 43#include "cm.h"
33#include "cm-regbits-34xx.h" 44#include "cm-regbits-34xx.h"
@@ -35,6 +46,16 @@
35 46
36#include "prm.h" 47#include "prm.h"
37#include "pm.h" 48#include "pm.h"
49#include "sdrc.h"
50
51/* Scratchpad offsets */
52#define OMAP343X_TABLE_ADDRESS_OFFSET 0x31
53#define OMAP343X_TABLE_VALUE_OFFSET 0x30
54#define OMAP343X_CONTROL_REG_VALUE_OFFSET 0x32
55
56u32 enable_off_mode;
57u32 sleep_while_idle;
58u32 wakeup_timer_seconds;
38 59
39struct power_state { 60struct power_state {
40 struct powerdomain *pwrdm; 61 struct powerdomain *pwrdm;
@@ -49,7 +70,112 @@ static LIST_HEAD(pwrst_list);
49 70
50static void (*_omap_sram_idle)(u32 *addr, int save_state); 71static void (*_omap_sram_idle)(u32 *addr, int save_state);
51 72
52static struct powerdomain *mpu_pwrdm; 73static int (*_omap_save_secure_sram)(u32 *addr);
74
75static struct powerdomain *mpu_pwrdm, *neon_pwrdm;
76static struct powerdomain *core_pwrdm, *per_pwrdm;
77static struct powerdomain *cam_pwrdm;
78
79static inline void omap3_per_save_context(void)
80{
81 omap_gpio_save_context();
82}
83
84static inline void omap3_per_restore_context(void)
85{
86 omap_gpio_restore_context();
87}
88
89static void omap3_enable_io_chain(void)
90{
91 int timeout = 0;
92
93 if (omap_rev() >= OMAP3430_REV_ES3_1) {
94 prm_set_mod_reg_bits(OMAP3430_EN_IO_CHAIN, WKUP_MOD, PM_WKEN);
95 /* Do a readback to assure write has been done */
96 prm_read_mod_reg(WKUP_MOD, PM_WKEN);
97
98 while (!(prm_read_mod_reg(WKUP_MOD, PM_WKST) &
99 OMAP3430_ST_IO_CHAIN)) {
100 timeout++;
101 if (timeout > 1000) {
102 printk(KERN_ERR "Wake up daisy chain "
103 "activation failed.\n");
104 return;
105 }
106 prm_set_mod_reg_bits(OMAP3430_ST_IO_CHAIN,
107 WKUP_MOD, PM_WKST);
108 }
109 }
110}
111
112static void omap3_disable_io_chain(void)
113{
114 if (omap_rev() >= OMAP3430_REV_ES3_1)
115 prm_clear_mod_reg_bits(OMAP3430_EN_IO_CHAIN, WKUP_MOD, PM_WKEN);
116}
117
118static void omap3_core_save_context(void)
119{
120 u32 control_padconf_off;
121
122 /* Save the padconf registers */
123 control_padconf_off = omap_ctrl_readl(OMAP343X_CONTROL_PADCONF_OFF);
124 control_padconf_off |= START_PADCONF_SAVE;
125 omap_ctrl_writel(control_padconf_off, OMAP343X_CONTROL_PADCONF_OFF);
126 /* wait for the save to complete */
127 while (!omap_ctrl_readl(OMAP343X_CONTROL_GENERAL_PURPOSE_STATUS)
128 & PADCONF_SAVE_DONE)
129 ;
130 /* Save the Interrupt controller context */
131 omap_intc_save_context();
132 /* Save the GPMC context */
133 omap3_gpmc_save_context();
134 /* Save the system control module context, padconf already save above*/
135 omap3_control_save_context();
136 omap_dma_global_context_save();
137}
138
139static void omap3_core_restore_context(void)
140{
141 /* Restore the control module context, padconf restored by h/w */
142 omap3_control_restore_context();
143 /* Restore the GPMC context */
144 omap3_gpmc_restore_context();
145 /* Restore the interrupt controller context */
146 omap_intc_restore_context();
147 omap_dma_global_context_restore();
148}
149
150/*
151 * FIXME: This function should be called before entering off-mode after
152 * OMAP3 secure services have been accessed. Currently it is only called
153 * once during boot sequence, but this works as we are not using secure
154 * services.
155 */
156static void omap3_save_secure_ram_context(u32 target_mpu_state)
157{
158 u32 ret;
159
160 if (omap_type() != OMAP2_DEVICE_TYPE_GP) {
161 /*
162 * MPU next state must be set to POWER_ON temporarily,
163 * otherwise the WFI executed inside the ROM code
164 * will hang the system.
165 */
166 pwrdm_set_next_pwrst(mpu_pwrdm, PWRDM_POWER_ON);
167 ret = _omap_save_secure_sram((u32 *)
168 __pa(omap3_secure_ram_storage));
169 pwrdm_set_next_pwrst(mpu_pwrdm, target_mpu_state);
170 /* Following is for error tracking, it should not happen */
171 if (ret) {
172 printk(KERN_ERR "save_secure_sram() returns %08x\n",
173 ret);
174 while (1)
175 ;
176 }
177 }
178}
53 179
54/* 180/*
55 * PRCM Interrupt Handler Helper Function 181 * PRCM Interrupt Handler Helper Function
@@ -161,7 +287,36 @@ static irqreturn_t prcm_interrupt_handler (int irq, void *dev_id)
161 return IRQ_HANDLED; 287 return IRQ_HANDLED;
162} 288}
163 289
164static void omap_sram_idle(void) 290static void restore_control_register(u32 val)
291{
292 __asm__ __volatile__ ("mcr p15, 0, %0, c1, c0, 0" : : "r" (val));
293}
294
295/* Function to restore the table entry that was modified for enabling MMU */
296static void restore_table_entry(void)
297{
298 u32 *scratchpad_address;
299 u32 previous_value, control_reg_value;
300 u32 *address;
301
302 scratchpad_address = OMAP2_L4_IO_ADDRESS(OMAP343X_SCRATCHPAD);
303
304 /* Get address of entry that was modified */
305 address = (u32 *)__raw_readl(scratchpad_address +
306 OMAP343X_TABLE_ADDRESS_OFFSET);
307 /* Get the previous value which needs to be restored */
308 previous_value = __raw_readl(scratchpad_address +
309 OMAP343X_TABLE_VALUE_OFFSET);
310 address = __va(address);
311 *address = previous_value;
312 flush_tlb_all();
313 control_reg_value = __raw_readl(scratchpad_address
314 + OMAP343X_CONTROL_REG_VALUE_OFFSET);
315 /* This will enable caches and prediction */
316 restore_control_register(control_reg_value);
317}
318
319void omap_sram_idle(void)
165{ 320{
166 /* Variable to tell what needs to be saved and restored 321 /* Variable to tell what needs to be saved and restored
167 * in omap_sram_idle*/ 322 * in omap_sram_idle*/
@@ -169,17 +324,32 @@ static void omap_sram_idle(void)
169 /* save_state = 1 => Only L1 and logic lost */ 324 /* save_state = 1 => Only L1 and logic lost */
170 /* save_state = 2 => Only L2 lost */ 325 /* save_state = 2 => Only L2 lost */
171 /* save_state = 3 => L1, L2 and logic lost */ 326 /* save_state = 3 => L1, L2 and logic lost */
172 int save_state = 0, mpu_next_state; 327 int save_state = 0;
328 int mpu_next_state = PWRDM_POWER_ON;
329 int per_next_state = PWRDM_POWER_ON;
330 int core_next_state = PWRDM_POWER_ON;
331 int core_prev_state, per_prev_state;
332 u32 sdrc_pwr = 0;
333 int per_state_modified = 0;
173 334
174 if (!_omap_sram_idle) 335 if (!_omap_sram_idle)
175 return; 336 return;
176 337
338 pwrdm_clear_all_prev_pwrst(mpu_pwrdm);
339 pwrdm_clear_all_prev_pwrst(neon_pwrdm);
340 pwrdm_clear_all_prev_pwrst(core_pwrdm);
341 pwrdm_clear_all_prev_pwrst(per_pwrdm);
342
177 mpu_next_state = pwrdm_read_next_pwrst(mpu_pwrdm); 343 mpu_next_state = pwrdm_read_next_pwrst(mpu_pwrdm);
178 switch (mpu_next_state) { 344 switch (mpu_next_state) {
345 case PWRDM_POWER_ON:
179 case PWRDM_POWER_RET: 346 case PWRDM_POWER_RET:
180 /* No need to save context */ 347 /* No need to save context */
181 save_state = 0; 348 save_state = 0;
182 break; 349 break;
350 case PWRDM_POWER_OFF:
351 save_state = 3;
352 break;
183 default: 353 default:
184 /* Invalid state */ 354 /* Invalid state */
185 printk(KERN_ERR "Invalid mpu state in sram_idle\n"); 355 printk(KERN_ERR "Invalid mpu state in sram_idle\n");
@@ -187,68 +357,115 @@ static void omap_sram_idle(void)
187 } 357 }
188 pwrdm_pre_transition(); 358 pwrdm_pre_transition();
189 359
190 omap2_gpio_prepare_for_retention(); 360 /* NEON control */
191 omap_uart_prepare_idle(0); 361 if (pwrdm_read_pwrst(neon_pwrdm) == PWRDM_POWER_ON)
192 omap_uart_prepare_idle(1); 362 pwrdm_set_next_pwrst(neon_pwrdm, mpu_next_state);
193 omap_uart_prepare_idle(2); 363
364 /* PER */
365 per_next_state = pwrdm_read_next_pwrst(per_pwrdm);
366 core_next_state = pwrdm_read_next_pwrst(core_pwrdm);
367 if (per_next_state < PWRDM_POWER_ON) {
368 omap_uart_prepare_idle(2);
369 omap2_gpio_prepare_for_retention();
370 if (per_next_state == PWRDM_POWER_OFF) {
371 if (core_next_state == PWRDM_POWER_ON) {
372 per_next_state = PWRDM_POWER_RET;
373 pwrdm_set_next_pwrst(per_pwrdm, per_next_state);
374 per_state_modified = 1;
375 } else
376 omap3_per_save_context();
377 }
378 }
379
380 if (pwrdm_read_pwrst(cam_pwrdm) == PWRDM_POWER_ON)
381 omap2_clkdm_deny_idle(mpu_pwrdm->pwrdm_clkdms[0]);
382
383 /* CORE */
384 if (core_next_state < PWRDM_POWER_ON) {
385 omap_uart_prepare_idle(0);
386 omap_uart_prepare_idle(1);
387 if (core_next_state == PWRDM_POWER_OFF) {
388 omap3_core_save_context();
389 omap3_prcm_save_context();
390 }
391 /* Enable IO-PAD and IO-CHAIN wakeups */
392 prm_set_mod_reg_bits(OMAP3430_EN_IO, WKUP_MOD, PM_WKEN);
393 omap3_enable_io_chain();
394 }
395
396 /*
397 * On EMU/HS devices ROM code restores a SRDC value
398 * from scratchpad which has automatic self refresh on timeout
399 * of AUTO_CNT = 1 enabled. This takes care of errata 1.142.
400 * Hence store/restore the SDRC_POWER register here.
401 */
402 if (omap_rev() >= OMAP3430_REV_ES3_0 &&
403 omap_type() != OMAP2_DEVICE_TYPE_GP &&
404 core_next_state == PWRDM_POWER_OFF)
405 sdrc_pwr = sdrc_read_reg(SDRC_POWER);
194 406
195 _omap_sram_idle(NULL, save_state); 407 /*
408 * omap3_arm_context is the location where ARM registers
409 * get saved. The restore path then reads from this
410 * location and restores them back.
411 */
412 _omap_sram_idle(omap3_arm_context, save_state);
196 cpu_init(); 413 cpu_init();
197 414
198 omap_uart_resume_idle(2); 415 /* Restore normal SDRC POWER settings */
199 omap_uart_resume_idle(1); 416 if (omap_rev() >= OMAP3430_REV_ES3_0 &&
200 omap_uart_resume_idle(0); 417 omap_type() != OMAP2_DEVICE_TYPE_GP &&
201 omap2_gpio_resume_after_retention(); 418 core_next_state == PWRDM_POWER_OFF)
419 sdrc_write_reg(sdrc_pwr, SDRC_POWER);
420
421 /* Restore table entry modified during MMU restoration */
422 if (pwrdm_read_prev_pwrst(mpu_pwrdm) == PWRDM_POWER_OFF)
423 restore_table_entry();
424
425 /* CORE */
426 if (core_next_state < PWRDM_POWER_ON) {
427 core_prev_state = pwrdm_read_prev_pwrst(core_pwrdm);
428 if (core_prev_state == PWRDM_POWER_OFF) {
429 omap3_core_restore_context();
430 omap3_prcm_restore_context();
431 omap3_sram_restore_context();
432 omap2_sms_restore_context();
433 }
434 omap_uart_resume_idle(0);
435 omap_uart_resume_idle(1);
436 if (core_next_state == PWRDM_POWER_OFF)
437 prm_clear_mod_reg_bits(OMAP3430_AUTO_OFF,
438 OMAP3430_GR_MOD,
439 OMAP3_PRM_VOLTCTRL_OFFSET);
440 }
202 441
203 pwrdm_post_transition(); 442 /* PER */
443 if (per_next_state < PWRDM_POWER_ON) {
444 per_prev_state = pwrdm_read_prev_pwrst(per_pwrdm);
445 if (per_prev_state == PWRDM_POWER_OFF)
446 omap3_per_restore_context();
447 omap2_gpio_resume_after_retention();
448 omap_uart_resume_idle(2);
449 if (per_state_modified)
450 pwrdm_set_next_pwrst(per_pwrdm, PWRDM_POWER_OFF);
451 }
204 452
205} 453 /* Disable IO-PAD and IO-CHAIN wakeup */
454 if (core_next_state < PWRDM_POWER_ON) {
455 prm_clear_mod_reg_bits(OMAP3430_EN_IO, WKUP_MOD, PM_WKEN);
456 omap3_disable_io_chain();
457 }
206 458
207/* 459 pwrdm_post_transition();
208 * Check if functional clocks are enabled before entering
209 * sleep. This function could be behind CONFIG_PM_DEBUG
210 * when all drivers are configuring their sysconfig registers
211 * properly and using their clocks properly.
212 */
213static int omap3_fclks_active(void)
214{
215 u32 fck_core1 = 0, fck_core3 = 0, fck_sgx = 0, fck_dss = 0,
216 fck_cam = 0, fck_per = 0, fck_usbhost = 0;
217 460
218 fck_core1 = cm_read_mod_reg(CORE_MOD, 461 omap2_clkdm_allow_idle(mpu_pwrdm->pwrdm_clkdms[0]);
219 CM_FCLKEN1);
220 if (omap_rev() > OMAP3430_REV_ES1_0) {
221 fck_core3 = cm_read_mod_reg(CORE_MOD,
222 OMAP3430ES2_CM_FCLKEN3);
223 fck_sgx = cm_read_mod_reg(OMAP3430ES2_SGX_MOD,
224 CM_FCLKEN);
225 fck_usbhost = cm_read_mod_reg(OMAP3430ES2_USBHOST_MOD,
226 CM_FCLKEN);
227 } else
228 fck_sgx = cm_read_mod_reg(GFX_MOD,
229 OMAP3430ES2_CM_FCLKEN3);
230 fck_dss = cm_read_mod_reg(OMAP3430_DSS_MOD,
231 CM_FCLKEN);
232 fck_cam = cm_read_mod_reg(OMAP3430_CAM_MOD,
233 CM_FCLKEN);
234 fck_per = cm_read_mod_reg(OMAP3430_PER_MOD,
235 CM_FCLKEN);
236
237 /* Ignore UART clocks. These are handled by UART core (serial.c) */
238 fck_core1 &= ~(OMAP3430_EN_UART1 | OMAP3430_EN_UART2);
239 fck_per &= ~OMAP3430_EN_UART3;
240
241 if (fck_core1 | fck_core3 | fck_sgx | fck_dss |
242 fck_cam | fck_per | fck_usbhost)
243 return 1;
244 return 0;
245} 462}
246 463
247static int omap3_can_sleep(void) 464int omap3_can_sleep(void)
248{ 465{
249 if (!omap_uart_can_sleep()) 466 if (!sleep_while_idle)
250 return 0; 467 return 0;
251 if (omap3_fclks_active()) 468 if (!omap_uart_can_sleep())
252 return 0; 469 return 0;
253 return 1; 470 return 1;
254} 471}
@@ -256,7 +473,7 @@ static int omap3_can_sleep(void)
256/* This sets pwrdm state (other than mpu & core. Currently only ON & 473/* This sets pwrdm state (other than mpu & core. Currently only ON &
257 * RET are supported. Function is assuming that clkdm doesn't have 474 * RET are supported. Function is assuming that clkdm doesn't have
258 * hw_sup mode enabled. */ 475 * hw_sup mode enabled. */
259static int set_pwrdm_state(struct powerdomain *pwrdm, u32 state) 476int set_pwrdm_state(struct powerdomain *pwrdm, u32 state)
260{ 477{
261 u32 cur_state; 478 u32 cur_state;
262 int sleep_switch = 0; 479 int sleep_switch = 0;
@@ -306,7 +523,7 @@ static void omap3_pm_idle(void)
306 if (!omap3_can_sleep()) 523 if (!omap3_can_sleep())
307 goto out; 524 goto out;
308 525
309 if (omap_irq_pending()) 526 if (omap_irq_pending() || need_resched())
310 goto out; 527 goto out;
311 528
312 omap_sram_idle(); 529 omap_sram_idle();
@@ -319,6 +536,22 @@ out:
319#ifdef CONFIG_SUSPEND 536#ifdef CONFIG_SUSPEND
320static suspend_state_t suspend_state; 537static suspend_state_t suspend_state;
321 538
539static void omap2_pm_wakeup_on_timer(u32 seconds)
540{
541 u32 tick_rate, cycles;
542
543 if (!seconds)
544 return;
545
546 tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gptimer_wakeup));
547 cycles = tick_rate * seconds;
548 omap_dm_timer_stop(gptimer_wakeup);
549 omap_dm_timer_set_load_start(gptimer_wakeup, 0, 0xffffffff - cycles);
550
551 pr_info("PM: Resume timer in %d secs (%d ticks at %d ticks/sec.)\n",
552 seconds, cycles, tick_rate);
553}
554
322static int omap3_pm_prepare(void) 555static int omap3_pm_prepare(void)
323{ 556{
324 disable_hlt(); 557 disable_hlt();
@@ -330,6 +563,9 @@ static int omap3_pm_suspend(void)
330 struct power_state *pwrst; 563 struct power_state *pwrst;
331 int state, ret = 0; 564 int state, ret = 0;
332 565
566 if (wakeup_timer_seconds)
567 omap2_pm_wakeup_on_timer(wakeup_timer_seconds);
568
333 /* Read current next_pwrsts */ 569 /* Read current next_pwrsts */
334 list_for_each_entry(pwrst, &pwrst_list, node) 570 list_for_each_entry(pwrst, &pwrst_list, node)
335 pwrst->saved_state = pwrdm_read_next_pwrst(pwrst->pwrdm); 571 pwrst->saved_state = pwrdm_read_next_pwrst(pwrst->pwrdm);
@@ -690,6 +926,22 @@ static void __init prcm_setup_regs(void)
690 omap3_d2d_idle(); 926 omap3_d2d_idle();
691} 927}
692 928
929void omap3_pm_off_mode_enable(int enable)
930{
931 struct power_state *pwrst;
932 u32 state;
933
934 if (enable)
935 state = PWRDM_POWER_OFF;
936 else
937 state = PWRDM_POWER_RET;
938
939 list_for_each_entry(pwrst, &pwrst_list, node) {
940 pwrst->next_state = state;
941 set_pwrdm_state(pwrst->pwrdm, state);
942 }
943}
944
693int omap3_pm_get_suspend_state(struct powerdomain *pwrdm) 945int omap3_pm_get_suspend_state(struct powerdomain *pwrdm)
694{ 946{
695 struct power_state *pwrst; 947 struct power_state *pwrst;
@@ -749,6 +1001,15 @@ static int __init clkdms_setup(struct clockdomain *clkdm, void *unused)
749 return 0; 1001 return 0;
750} 1002}
751 1003
1004void omap_push_sram_idle(void)
1005{
1006 _omap_sram_idle = omap_sram_push(omap34xx_cpu_suspend,
1007 omap34xx_cpu_suspend_sz);
1008 if (omap_type() != OMAP2_DEVICE_TYPE_GP)
1009 _omap_save_secure_sram = omap_sram_push(save_secure_ram_context,
1010 save_secure_ram_context_sz);
1011}
1012
752static int __init omap3_pm_init(void) 1013static int __init omap3_pm_init(void)
753{ 1014{
754 struct power_state *pwrst, *tmp; 1015 struct power_state *pwrst, *tmp;
@@ -786,15 +1047,47 @@ static int __init omap3_pm_init(void)
786 goto err2; 1047 goto err2;
787 } 1048 }
788 1049
789 _omap_sram_idle = omap_sram_push(omap34xx_cpu_suspend, 1050 neon_pwrdm = pwrdm_lookup("neon_pwrdm");
790 omap34xx_cpu_suspend_sz); 1051 per_pwrdm = pwrdm_lookup("per_pwrdm");
1052 core_pwrdm = pwrdm_lookup("core_pwrdm");
1053 cam_pwrdm = pwrdm_lookup("cam_pwrdm");
791 1054
1055 omap_push_sram_idle();
792#ifdef CONFIG_SUSPEND 1056#ifdef CONFIG_SUSPEND
793 suspend_set_ops(&omap_pm_ops); 1057 suspend_set_ops(&omap_pm_ops);
794#endif /* CONFIG_SUSPEND */ 1058#endif /* CONFIG_SUSPEND */
795 1059
796 pm_idle = omap3_pm_idle; 1060 pm_idle = omap3_pm_idle;
1061 omap3_idle_init();
1062
1063 pwrdm_add_wkdep(neon_pwrdm, mpu_pwrdm);
1064 /*
1065 * REVISIT: This wkdep is only necessary when GPIO2-6 are enabled for
1066 * IO-pad wakeup. Otherwise it will unnecessarily waste power
1067 * waking up PER with every CORE wakeup - see
1068 * http://marc.info/?l=linux-omap&m=121852150710062&w=2
1069 */
1070 pwrdm_add_wkdep(per_pwrdm, core_pwrdm);
1071
1072 if (omap_type() != OMAP2_DEVICE_TYPE_GP) {
1073 omap3_secure_ram_storage =
1074 kmalloc(0x803F, GFP_KERNEL);
1075 if (!omap3_secure_ram_storage)
1076 printk(KERN_ERR "Memory allocation failed when"
1077 "allocating for secure sram context\n");
1078
1079 local_irq_disable();
1080 local_fiq_disable();
1081
1082 omap_dma_global_context_save();
1083 omap3_save_secure_ram_context(PWRDM_POWER_ON);
1084 omap_dma_global_context_restore();
1085
1086 local_irq_enable();
1087 local_fiq_enable();
1088 }
797 1089
1090 omap3_save_scratchpad_contents();
798err1: 1091err1:
799 return ret; 1092 return ret;
800err2: 1093err2:
diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c
index f00289abd30f..b6990e377783 100644
--- a/arch/arm/mach-omap2/powerdomain.c
+++ b/arch/arm/mach-omap2/powerdomain.c
@@ -31,9 +31,9 @@
31#include "prm.h" 31#include "prm.h"
32#include "prm-regbits-34xx.h" 32#include "prm-regbits-34xx.h"
33 33
34#include <mach/cpu.h> 34#include <plat/cpu.h>
35#include <mach/powerdomain.h> 35#include <plat/powerdomain.h>
36#include <mach/clockdomain.h> 36#include <plat/clockdomain.h>
37 37
38#include "pm.h" 38#include "pm.h"
39 39
diff --git a/arch/arm/mach-omap2/powerdomains.h b/arch/arm/mach-omap2/powerdomains.h
index 691470ea4c6a..057b2e3e2c35 100644
--- a/arch/arm/mach-omap2/powerdomains.h
+++ b/arch/arm/mach-omap2/powerdomains.h
@@ -63,7 +63,7 @@
63 * XXX encode hardware fixed wakeup dependencies -- esp. for 3430 CORE 63 * XXX encode hardware fixed wakeup dependencies -- esp. for 3430 CORE
64 */ 64 */
65 65
66#include <mach/powerdomain.h> 66#include <plat/powerdomain.h>
67 67
68#include "prcm-common.h" 68#include "prcm-common.h"
69#include "prm.h" 69#include "prm.h"
diff --git a/arch/arm/mach-omap2/powerdomains24xx.h b/arch/arm/mach-omap2/powerdomains24xx.h
index 9f08dc3f7fd2..bd249a495aa9 100644
--- a/arch/arm/mach-omap2/powerdomains24xx.h
+++ b/arch/arm/mach-omap2/powerdomains24xx.h
@@ -20,7 +20,7 @@
20 * the array in mach-omap2/powerdomains.h. 20 * the array in mach-omap2/powerdomains.h.
21 */ 21 */
22 22
23#include <mach/powerdomain.h> 23#include <plat/powerdomain.h>
24 24
25#include "prcm-common.h" 25#include "prcm-common.h"
26#include "prm.h" 26#include "prm.h"
diff --git a/arch/arm/mach-omap2/powerdomains34xx.h b/arch/arm/mach-omap2/powerdomains34xx.h
index 4dcf94b800ab..fd09b0827df0 100644
--- a/arch/arm/mach-omap2/powerdomains34xx.h
+++ b/arch/arm/mach-omap2/powerdomains34xx.h
@@ -20,7 +20,7 @@
20 * the array in mach-omap2/powerdomains.h. 20 * the array in mach-omap2/powerdomains.h.
21 */ 21 */
22 22
23#include <mach/powerdomain.h> 23#include <plat/powerdomain.h>
24 24
25#include "prcm-common.h" 25#include "prcm-common.h"
26#include "prm.h" 26#include "prm.h"
@@ -338,7 +338,13 @@ static struct powerdomain usbhost_pwrdm = {
338 .sleepdep_srcs = dss_per_usbhost_sleepdeps, 338 .sleepdep_srcs = dss_per_usbhost_sleepdeps,
339 .pwrsts = PWRSTS_OFF_RET_ON, 339 .pwrsts = PWRSTS_OFF_RET_ON,
340 .pwrsts_logic_ret = PWRDM_POWER_RET, 340 .pwrsts_logic_ret = PWRDM_POWER_RET,
341 .flags = PWRDM_HAS_HDWR_SAR, /* for USBHOST ctrlr only */ 341 /*
342 * REVISIT: Enabling usb host save and restore mechanism seems to
343 * leave the usb host domain permanently in ACTIVE mode after
344 * changing the usb host power domain state from OFF to active once.
345 * Disabling for now.
346 */
347 /*.flags = PWRDM_HAS_HDWR_SAR,*/ /* for USBHOST ctrlr only */
342 .banks = 1, 348 .banks = 1,
343 .pwrsts_mem_ret = { 349 .pwrsts_mem_ret = {
344 [0] = PWRDM_POWER_RET, /* MEMRETSTATE */ 350 [0] = PWRDM_POWER_RET, /* MEMRETSTATE */
diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c
index ced555a4cd1a..029d376198d4 100644
--- a/arch/arm/mach-omap2/prcm.c
+++ b/arch/arm/mach-omap2/prcm.c
@@ -7,6 +7,9 @@
7 * 7 *
8 * Written by Tony Lindgren <tony.lindgren@nokia.com> 8 * Written by Tony Lindgren <tony.lindgren@nokia.com>
9 * 9 *
10 * Copyright (C) 2007 Texas Instruments, Inc.
11 * Rajendra Nayak <rnayak@ti.com>
12 *
10 * Some pieces of code Copyright (C) 2005 Texas Instruments, Inc. 13 * Some pieces of code Copyright (C) 2005 Texas Instruments, Inc.
11 * 14 *
12 * This program is free software; you can redistribute it and/or modify 15 * This program is free software; you can redistribute it and/or modify
@@ -19,10 +22,13 @@
19#include <linux/io.h> 22#include <linux/io.h>
20#include <linux/delay.h> 23#include <linux/delay.h>
21 24
22#include <mach/common.h> 25#include <plat/common.h>
23#include <mach/prcm.h> 26#include <plat/prcm.h>
27#include <plat/irqs.h>
28#include <plat/control.h>
24 29
25#include "clock.h" 30#include "clock.h"
31#include "cm.h"
26#include "prm.h" 32#include "prm.h"
27#include "prm-regbits-24xx.h" 33#include "prm-regbits-24xx.h"
28 34
@@ -31,6 +37,89 @@ static void __iomem *cm_base;
31 37
32#define MAX_MODULE_ENABLE_WAIT 100000 38#define MAX_MODULE_ENABLE_WAIT 100000
33 39
40struct omap3_prcm_regs {
41 u32 control_padconf_sys_nirq;
42 u32 iva2_cm_clksel1;
43 u32 iva2_cm_clksel2;
44 u32 cm_sysconfig;
45 u32 sgx_cm_clksel;
46 u32 wkup_cm_clksel;
47 u32 dss_cm_clksel;
48 u32 cam_cm_clksel;
49 u32 per_cm_clksel;
50 u32 emu_cm_clksel;
51 u32 emu_cm_clkstctrl;
52 u32 pll_cm_autoidle2;
53 u32 pll_cm_clksel4;
54 u32 pll_cm_clksel5;
55 u32 pll_cm_clken;
56 u32 pll_cm_clken2;
57 u32 cm_polctrl;
58 u32 iva2_cm_fclken;
59 u32 iva2_cm_clken_pll;
60 u32 core_cm_fclken1;
61 u32 core_cm_fclken3;
62 u32 sgx_cm_fclken;
63 u32 wkup_cm_fclken;
64 u32 dss_cm_fclken;
65 u32 cam_cm_fclken;
66 u32 per_cm_fclken;
67 u32 usbhost_cm_fclken;
68 u32 core_cm_iclken1;
69 u32 core_cm_iclken2;
70 u32 core_cm_iclken3;
71 u32 sgx_cm_iclken;
72 u32 wkup_cm_iclken;
73 u32 dss_cm_iclken;
74 u32 cam_cm_iclken;
75 u32 per_cm_iclken;
76 u32 usbhost_cm_iclken;
77 u32 iva2_cm_autiidle2;
78 u32 mpu_cm_autoidle2;
79 u32 pll_cm_autoidle;
80 u32 iva2_cm_clkstctrl;
81 u32 mpu_cm_clkstctrl;
82 u32 core_cm_clkstctrl;
83 u32 sgx_cm_clkstctrl;
84 u32 dss_cm_clkstctrl;
85 u32 cam_cm_clkstctrl;
86 u32 per_cm_clkstctrl;
87 u32 neon_cm_clkstctrl;
88 u32 usbhost_cm_clkstctrl;
89 u32 core_cm_autoidle1;
90 u32 core_cm_autoidle2;
91 u32 core_cm_autoidle3;
92 u32 wkup_cm_autoidle;
93 u32 dss_cm_autoidle;
94 u32 cam_cm_autoidle;
95 u32 per_cm_autoidle;
96 u32 usbhost_cm_autoidle;
97 u32 sgx_cm_sleepdep;
98 u32 dss_cm_sleepdep;
99 u32 cam_cm_sleepdep;
100 u32 per_cm_sleepdep;
101 u32 usbhost_cm_sleepdep;
102 u32 cm_clkout_ctrl;
103 u32 prm_clkout_ctrl;
104 u32 sgx_pm_wkdep;
105 u32 dss_pm_wkdep;
106 u32 cam_pm_wkdep;
107 u32 per_pm_wkdep;
108 u32 neon_pm_wkdep;
109 u32 usbhost_pm_wkdep;
110 u32 core_pm_mpugrpsel1;
111 u32 iva2_pm_ivagrpsel1;
112 u32 core_pm_mpugrpsel3;
113 u32 core_pm_ivagrpsel3;
114 u32 wkup_pm_mpugrpsel;
115 u32 wkup_pm_ivagrpsel;
116 u32 per_pm_mpugrpsel;
117 u32 per_pm_ivagrpsel;
118 u32 wkup_pm_wken;
119};
120
121struct omap3_prcm_regs prcm_context;
122
34u32 omap_prcm_get_reset_sources(void) 123u32 omap_prcm_get_reset_sources(void)
35{ 124{
36 /* XXX This presumably needs modification for 34XX */ 125 /* XXX This presumably needs modification for 34XX */
@@ -46,9 +135,18 @@ void omap_prcm_arch_reset(char mode)
46 135
47 if (cpu_is_omap24xx()) 136 if (cpu_is_omap24xx())
48 prcm_offs = WKUP_MOD; 137 prcm_offs = WKUP_MOD;
49 else if (cpu_is_omap34xx()) 138 else if (cpu_is_omap34xx()) {
139 u32 l;
140
50 prcm_offs = OMAP3430_GR_MOD; 141 prcm_offs = OMAP3430_GR_MOD;
51 else 142 l = ('B' << 24) | ('M' << 16) | mode;
143 /* Reserve the first word in scratchpad for communicating
144 * with the boot ROM. A pointer to a data structure
145 * describing the boot process can be stored there,
146 * cf. OMAP34xx TRM, Initialization / Software Booting
147 * Configuration. */
148 omap_writel(l, OMAP343X_SCRATCHPAD + 4);
149 } else
52 WARN_ON(1); 150 WARN_ON(1);
53 151
54 prm_set_mod_reg_bits(OMAP_RST_DPLL3, prcm_offs, RM_RSTCTRL); 152 prm_set_mod_reg_bits(OMAP_RST_DPLL3, prcm_offs, RM_RSTCTRL);
@@ -168,3 +266,308 @@ void __init omap2_set_globals_prcm(struct omap_globals *omap2_globals)
168 prm_base = omap2_globals->prm; 266 prm_base = omap2_globals->prm;
169 cm_base = omap2_globals->cm; 267 cm_base = omap2_globals->cm;
170} 268}
269
270#ifdef CONFIG_ARCH_OMAP3
271void omap3_prcm_save_context(void)
272{
273 prcm_context.control_padconf_sys_nirq =
274 omap_ctrl_readl(OMAP343X_CONTROL_PADCONF_SYSNIRQ);
275 prcm_context.iva2_cm_clksel1 =
276 cm_read_mod_reg(OMAP3430_IVA2_MOD, CM_CLKSEL1);
277 prcm_context.iva2_cm_clksel2 =
278 cm_read_mod_reg(OMAP3430_IVA2_MOD, CM_CLKSEL2);
279 prcm_context.cm_sysconfig = __raw_readl(OMAP3430_CM_SYSCONFIG);
280 prcm_context.sgx_cm_clksel =
281 cm_read_mod_reg(OMAP3430ES2_SGX_MOD, CM_CLKSEL);
282 prcm_context.wkup_cm_clksel = cm_read_mod_reg(WKUP_MOD, CM_CLKSEL);
283 prcm_context.dss_cm_clksel =
284 cm_read_mod_reg(OMAP3430_DSS_MOD, CM_CLKSEL);
285 prcm_context.cam_cm_clksel =
286 cm_read_mod_reg(OMAP3430_CAM_MOD, CM_CLKSEL);
287 prcm_context.per_cm_clksel =
288 cm_read_mod_reg(OMAP3430_PER_MOD, CM_CLKSEL);
289 prcm_context.emu_cm_clksel =
290 cm_read_mod_reg(OMAP3430_EMU_MOD, CM_CLKSEL1);
291 prcm_context.emu_cm_clkstctrl =
292 cm_read_mod_reg(OMAP3430_EMU_MOD, CM_CLKSTCTRL);
293 prcm_context.pll_cm_autoidle2 =
294 cm_read_mod_reg(PLL_MOD, CM_AUTOIDLE2);
295 prcm_context.pll_cm_clksel4 =
296 cm_read_mod_reg(PLL_MOD, OMAP3430ES2_CM_CLKSEL4);
297 prcm_context.pll_cm_clksel5 =
298 cm_read_mod_reg(PLL_MOD, OMAP3430ES2_CM_CLKSEL5);
299 prcm_context.pll_cm_clken =
300 cm_read_mod_reg(PLL_MOD, CM_CLKEN);
301 prcm_context.pll_cm_clken2 =
302 cm_read_mod_reg(PLL_MOD, OMAP3430ES2_CM_CLKEN2);
303 prcm_context.cm_polctrl = __raw_readl(OMAP3430_CM_POLCTRL);
304 prcm_context.iva2_cm_fclken =
305 cm_read_mod_reg(OMAP3430_IVA2_MOD, CM_FCLKEN);
306 prcm_context.iva2_cm_clken_pll = cm_read_mod_reg(OMAP3430_IVA2_MOD,
307 OMAP3430_CM_CLKEN_PLL);
308 prcm_context.core_cm_fclken1 =
309 cm_read_mod_reg(CORE_MOD, CM_FCLKEN1);
310 prcm_context.core_cm_fclken3 =
311 cm_read_mod_reg(CORE_MOD, OMAP3430ES2_CM_FCLKEN3);
312 prcm_context.sgx_cm_fclken =
313 cm_read_mod_reg(OMAP3430ES2_SGX_MOD, CM_FCLKEN);
314 prcm_context.wkup_cm_fclken =
315 cm_read_mod_reg(WKUP_MOD, CM_FCLKEN);
316 prcm_context.dss_cm_fclken =
317 cm_read_mod_reg(OMAP3430_DSS_MOD, CM_FCLKEN);
318 prcm_context.cam_cm_fclken =
319 cm_read_mod_reg(OMAP3430_CAM_MOD, CM_FCLKEN);
320 prcm_context.per_cm_fclken =
321 cm_read_mod_reg(OMAP3430_PER_MOD, CM_FCLKEN);
322 prcm_context.usbhost_cm_fclken =
323 cm_read_mod_reg(OMAP3430ES2_USBHOST_MOD, CM_FCLKEN);
324 prcm_context.core_cm_iclken1 =
325 cm_read_mod_reg(CORE_MOD, CM_ICLKEN1);
326 prcm_context.core_cm_iclken2 =
327 cm_read_mod_reg(CORE_MOD, CM_ICLKEN2);
328 prcm_context.core_cm_iclken3 =
329 cm_read_mod_reg(CORE_MOD, CM_ICLKEN3);
330 prcm_context.sgx_cm_iclken =
331 cm_read_mod_reg(OMAP3430ES2_SGX_MOD, CM_ICLKEN);
332 prcm_context.wkup_cm_iclken =
333 cm_read_mod_reg(WKUP_MOD, CM_ICLKEN);
334 prcm_context.dss_cm_iclken =
335 cm_read_mod_reg(OMAP3430_DSS_MOD, CM_ICLKEN);
336 prcm_context.cam_cm_iclken =
337 cm_read_mod_reg(OMAP3430_CAM_MOD, CM_ICLKEN);
338 prcm_context.per_cm_iclken =
339 cm_read_mod_reg(OMAP3430_PER_MOD, CM_ICLKEN);
340 prcm_context.usbhost_cm_iclken =
341 cm_read_mod_reg(OMAP3430ES2_USBHOST_MOD, CM_ICLKEN);
342 prcm_context.iva2_cm_autiidle2 =
343 cm_read_mod_reg(OMAP3430_IVA2_MOD, CM_AUTOIDLE2);
344 prcm_context.mpu_cm_autoidle2 =
345 cm_read_mod_reg(MPU_MOD, CM_AUTOIDLE2);
346 prcm_context.pll_cm_autoidle =
347 cm_read_mod_reg(PLL_MOD, CM_AUTOIDLE);
348 prcm_context.iva2_cm_clkstctrl =
349 cm_read_mod_reg(OMAP3430_IVA2_MOD, CM_CLKSTCTRL);
350 prcm_context.mpu_cm_clkstctrl =
351 cm_read_mod_reg(MPU_MOD, CM_CLKSTCTRL);
352 prcm_context.core_cm_clkstctrl =
353 cm_read_mod_reg(CORE_MOD, CM_CLKSTCTRL);
354 prcm_context.sgx_cm_clkstctrl =
355 cm_read_mod_reg(OMAP3430ES2_SGX_MOD, CM_CLKSTCTRL);
356 prcm_context.dss_cm_clkstctrl =
357 cm_read_mod_reg(OMAP3430_DSS_MOD, CM_CLKSTCTRL);
358 prcm_context.cam_cm_clkstctrl =
359 cm_read_mod_reg(OMAP3430_CAM_MOD, CM_CLKSTCTRL);
360 prcm_context.per_cm_clkstctrl =
361 cm_read_mod_reg(OMAP3430_PER_MOD, CM_CLKSTCTRL);
362 prcm_context.neon_cm_clkstctrl =
363 cm_read_mod_reg(OMAP3430_NEON_MOD, CM_CLKSTCTRL);
364 prcm_context.usbhost_cm_clkstctrl =
365 cm_read_mod_reg(OMAP3430ES2_USBHOST_MOD, CM_CLKSTCTRL);
366 prcm_context.core_cm_autoidle1 =
367 cm_read_mod_reg(CORE_MOD, CM_AUTOIDLE1);
368 prcm_context.core_cm_autoidle2 =
369 cm_read_mod_reg(CORE_MOD, CM_AUTOIDLE2);
370 prcm_context.core_cm_autoidle3 =
371 cm_read_mod_reg(CORE_MOD, CM_AUTOIDLE3);
372 prcm_context.wkup_cm_autoidle =
373 cm_read_mod_reg(WKUP_MOD, CM_AUTOIDLE);
374 prcm_context.dss_cm_autoidle =
375 cm_read_mod_reg(OMAP3430_DSS_MOD, CM_AUTOIDLE);
376 prcm_context.cam_cm_autoidle =
377 cm_read_mod_reg(OMAP3430_CAM_MOD, CM_AUTOIDLE);
378 prcm_context.per_cm_autoidle =
379 cm_read_mod_reg(OMAP3430_PER_MOD, CM_AUTOIDLE);
380 prcm_context.usbhost_cm_autoidle =
381 cm_read_mod_reg(OMAP3430ES2_USBHOST_MOD, CM_AUTOIDLE);
382 prcm_context.sgx_cm_sleepdep =
383 cm_read_mod_reg(OMAP3430ES2_SGX_MOD, OMAP3430_CM_SLEEPDEP);
384 prcm_context.dss_cm_sleepdep =
385 cm_read_mod_reg(OMAP3430_DSS_MOD, OMAP3430_CM_SLEEPDEP);
386 prcm_context.cam_cm_sleepdep =
387 cm_read_mod_reg(OMAP3430_CAM_MOD, OMAP3430_CM_SLEEPDEP);
388 prcm_context.per_cm_sleepdep =
389 cm_read_mod_reg(OMAP3430_PER_MOD, OMAP3430_CM_SLEEPDEP);
390 prcm_context.usbhost_cm_sleepdep =
391 cm_read_mod_reg(OMAP3430ES2_USBHOST_MOD, OMAP3430_CM_SLEEPDEP);
392 prcm_context.cm_clkout_ctrl = cm_read_mod_reg(OMAP3430_CCR_MOD,
393 OMAP3_CM_CLKOUT_CTRL_OFFSET);
394 prcm_context.prm_clkout_ctrl = prm_read_mod_reg(OMAP3430_CCR_MOD,
395 OMAP3_PRM_CLKOUT_CTRL_OFFSET);
396 prcm_context.sgx_pm_wkdep =
397 prm_read_mod_reg(OMAP3430ES2_SGX_MOD, PM_WKDEP);
398 prcm_context.dss_pm_wkdep =
399 prm_read_mod_reg(OMAP3430_DSS_MOD, PM_WKDEP);
400 prcm_context.cam_pm_wkdep =
401 prm_read_mod_reg(OMAP3430_CAM_MOD, PM_WKDEP);
402 prcm_context.per_pm_wkdep =
403 prm_read_mod_reg(OMAP3430_PER_MOD, PM_WKDEP);
404 prcm_context.neon_pm_wkdep =
405 prm_read_mod_reg(OMAP3430_NEON_MOD, PM_WKDEP);
406 prcm_context.usbhost_pm_wkdep =
407 prm_read_mod_reg(OMAP3430ES2_USBHOST_MOD, PM_WKDEP);
408 prcm_context.core_pm_mpugrpsel1 =
409 prm_read_mod_reg(CORE_MOD, OMAP3430_PM_MPUGRPSEL1);
410 prcm_context.iva2_pm_ivagrpsel1 =
411 prm_read_mod_reg(OMAP3430_IVA2_MOD, OMAP3430_PM_IVAGRPSEL1);
412 prcm_context.core_pm_mpugrpsel3 =
413 prm_read_mod_reg(CORE_MOD, OMAP3430ES2_PM_MPUGRPSEL3);
414 prcm_context.core_pm_ivagrpsel3 =
415 prm_read_mod_reg(CORE_MOD, OMAP3430ES2_PM_IVAGRPSEL3);
416 prcm_context.wkup_pm_mpugrpsel =
417 prm_read_mod_reg(WKUP_MOD, OMAP3430_PM_MPUGRPSEL);
418 prcm_context.wkup_pm_ivagrpsel =
419 prm_read_mod_reg(WKUP_MOD, OMAP3430_PM_IVAGRPSEL);
420 prcm_context.per_pm_mpugrpsel =
421 prm_read_mod_reg(OMAP3430_PER_MOD, OMAP3430_PM_MPUGRPSEL);
422 prcm_context.per_pm_ivagrpsel =
423 prm_read_mod_reg(OMAP3430_PER_MOD, OMAP3430_PM_IVAGRPSEL);
424 prcm_context.wkup_pm_wken = prm_read_mod_reg(WKUP_MOD, PM_WKEN);
425 return;
426}
427
428void omap3_prcm_restore_context(void)
429{
430 omap_ctrl_writel(prcm_context.control_padconf_sys_nirq,
431 OMAP343X_CONTROL_PADCONF_SYSNIRQ);
432 cm_write_mod_reg(prcm_context.iva2_cm_clksel1, OMAP3430_IVA2_MOD,
433 CM_CLKSEL1);
434 cm_write_mod_reg(prcm_context.iva2_cm_clksel2, OMAP3430_IVA2_MOD,
435 CM_CLKSEL2);
436 __raw_writel(prcm_context.cm_sysconfig, OMAP3430_CM_SYSCONFIG);
437 cm_write_mod_reg(prcm_context.sgx_cm_clksel, OMAP3430ES2_SGX_MOD,
438 CM_CLKSEL);
439 cm_write_mod_reg(prcm_context.wkup_cm_clksel, WKUP_MOD, CM_CLKSEL);
440 cm_write_mod_reg(prcm_context.dss_cm_clksel, OMAP3430_DSS_MOD,
441 CM_CLKSEL);
442 cm_write_mod_reg(prcm_context.cam_cm_clksel, OMAP3430_CAM_MOD,
443 CM_CLKSEL);
444 cm_write_mod_reg(prcm_context.per_cm_clksel, OMAP3430_PER_MOD,
445 CM_CLKSEL);
446 cm_write_mod_reg(prcm_context.emu_cm_clksel, OMAP3430_EMU_MOD,
447 CM_CLKSEL1);
448 cm_write_mod_reg(prcm_context.emu_cm_clkstctrl, OMAP3430_EMU_MOD,
449 CM_CLKSTCTRL);
450 cm_write_mod_reg(prcm_context.pll_cm_autoidle2, PLL_MOD,
451 CM_AUTOIDLE2);
452 cm_write_mod_reg(prcm_context.pll_cm_clksel4, PLL_MOD,
453 OMAP3430ES2_CM_CLKSEL4);
454 cm_write_mod_reg(prcm_context.pll_cm_clksel5, PLL_MOD,
455 OMAP3430ES2_CM_CLKSEL5);
456 cm_write_mod_reg(prcm_context.pll_cm_clken, PLL_MOD, CM_CLKEN);
457 cm_write_mod_reg(prcm_context.pll_cm_clken2, PLL_MOD,
458 OMAP3430ES2_CM_CLKEN2);
459 __raw_writel(prcm_context.cm_polctrl, OMAP3430_CM_POLCTRL);
460 cm_write_mod_reg(prcm_context.iva2_cm_fclken, OMAP3430_IVA2_MOD,
461 CM_FCLKEN);
462 cm_write_mod_reg(prcm_context.iva2_cm_clken_pll, OMAP3430_IVA2_MOD,
463 OMAP3430_CM_CLKEN_PLL);
464 cm_write_mod_reg(prcm_context.core_cm_fclken1, CORE_MOD, CM_FCLKEN1);
465 cm_write_mod_reg(prcm_context.core_cm_fclken3, CORE_MOD,
466 OMAP3430ES2_CM_FCLKEN3);
467 cm_write_mod_reg(prcm_context.sgx_cm_fclken, OMAP3430ES2_SGX_MOD,
468 CM_FCLKEN);
469 cm_write_mod_reg(prcm_context.wkup_cm_fclken, WKUP_MOD, CM_FCLKEN);
470 cm_write_mod_reg(prcm_context.dss_cm_fclken, OMAP3430_DSS_MOD,
471 CM_FCLKEN);
472 cm_write_mod_reg(prcm_context.cam_cm_fclken, OMAP3430_CAM_MOD,
473 CM_FCLKEN);
474 cm_write_mod_reg(prcm_context.per_cm_fclken, OMAP3430_PER_MOD,
475 CM_FCLKEN);
476 cm_write_mod_reg(prcm_context.usbhost_cm_fclken,
477 OMAP3430ES2_USBHOST_MOD, CM_FCLKEN);
478 cm_write_mod_reg(prcm_context.core_cm_iclken1, CORE_MOD, CM_ICLKEN1);
479 cm_write_mod_reg(prcm_context.core_cm_iclken2, CORE_MOD, CM_ICLKEN2);
480 cm_write_mod_reg(prcm_context.core_cm_iclken3, CORE_MOD, CM_ICLKEN3);
481 cm_write_mod_reg(prcm_context.sgx_cm_iclken, OMAP3430ES2_SGX_MOD,
482 CM_ICLKEN);
483 cm_write_mod_reg(prcm_context.wkup_cm_iclken, WKUP_MOD, CM_ICLKEN);
484 cm_write_mod_reg(prcm_context.dss_cm_iclken, OMAP3430_DSS_MOD,
485 CM_ICLKEN);
486 cm_write_mod_reg(prcm_context.cam_cm_iclken, OMAP3430_CAM_MOD,
487 CM_ICLKEN);
488 cm_write_mod_reg(prcm_context.per_cm_iclken, OMAP3430_PER_MOD,
489 CM_ICLKEN);
490 cm_write_mod_reg(prcm_context.usbhost_cm_iclken,
491 OMAP3430ES2_USBHOST_MOD, CM_ICLKEN);
492 cm_write_mod_reg(prcm_context.iva2_cm_autiidle2, OMAP3430_IVA2_MOD,
493 CM_AUTOIDLE2);
494 cm_write_mod_reg(prcm_context.mpu_cm_autoidle2, MPU_MOD, CM_AUTOIDLE2);
495 cm_write_mod_reg(prcm_context.pll_cm_autoidle, PLL_MOD, CM_AUTOIDLE);
496 cm_write_mod_reg(prcm_context.iva2_cm_clkstctrl, OMAP3430_IVA2_MOD,
497 CM_CLKSTCTRL);
498 cm_write_mod_reg(prcm_context.mpu_cm_clkstctrl, MPU_MOD, CM_CLKSTCTRL);
499 cm_write_mod_reg(prcm_context.core_cm_clkstctrl, CORE_MOD,
500 CM_CLKSTCTRL);
501 cm_write_mod_reg(prcm_context.sgx_cm_clkstctrl, OMAP3430ES2_SGX_MOD,
502 CM_CLKSTCTRL);
503 cm_write_mod_reg(prcm_context.dss_cm_clkstctrl, OMAP3430_DSS_MOD,
504 CM_CLKSTCTRL);
505 cm_write_mod_reg(prcm_context.cam_cm_clkstctrl, OMAP3430_CAM_MOD,
506 CM_CLKSTCTRL);
507 cm_write_mod_reg(prcm_context.per_cm_clkstctrl, OMAP3430_PER_MOD,
508 CM_CLKSTCTRL);
509 cm_write_mod_reg(prcm_context.neon_cm_clkstctrl, OMAP3430_NEON_MOD,
510 CM_CLKSTCTRL);
511 cm_write_mod_reg(prcm_context.usbhost_cm_clkstctrl,
512 OMAP3430ES2_USBHOST_MOD, CM_CLKSTCTRL);
513 cm_write_mod_reg(prcm_context.core_cm_autoidle1, CORE_MOD,
514 CM_AUTOIDLE1);
515 cm_write_mod_reg(prcm_context.core_cm_autoidle2, CORE_MOD,
516 CM_AUTOIDLE2);
517 cm_write_mod_reg(prcm_context.core_cm_autoidle3, CORE_MOD,
518 CM_AUTOIDLE3);
519 cm_write_mod_reg(prcm_context.wkup_cm_autoidle, WKUP_MOD, CM_AUTOIDLE);
520 cm_write_mod_reg(prcm_context.dss_cm_autoidle, OMAP3430_DSS_MOD,
521 CM_AUTOIDLE);
522 cm_write_mod_reg(prcm_context.cam_cm_autoidle, OMAP3430_CAM_MOD,
523 CM_AUTOIDLE);
524 cm_write_mod_reg(prcm_context.per_cm_autoidle, OMAP3430_PER_MOD,
525 CM_AUTOIDLE);
526 cm_write_mod_reg(prcm_context.usbhost_cm_autoidle,
527 OMAP3430ES2_USBHOST_MOD, CM_AUTOIDLE);
528 cm_write_mod_reg(prcm_context.sgx_cm_sleepdep, OMAP3430ES2_SGX_MOD,
529 OMAP3430_CM_SLEEPDEP);
530 cm_write_mod_reg(prcm_context.dss_cm_sleepdep, OMAP3430_DSS_MOD,
531 OMAP3430_CM_SLEEPDEP);
532 cm_write_mod_reg(prcm_context.cam_cm_sleepdep, OMAP3430_CAM_MOD,
533 OMAP3430_CM_SLEEPDEP);
534 cm_write_mod_reg(prcm_context.per_cm_sleepdep, OMAP3430_PER_MOD,
535 OMAP3430_CM_SLEEPDEP);
536 cm_write_mod_reg(prcm_context.usbhost_cm_sleepdep,
537 OMAP3430ES2_USBHOST_MOD, OMAP3430_CM_SLEEPDEP);
538 cm_write_mod_reg(prcm_context.cm_clkout_ctrl, OMAP3430_CCR_MOD,
539 OMAP3_CM_CLKOUT_CTRL_OFFSET);
540 prm_write_mod_reg(prcm_context.prm_clkout_ctrl, OMAP3430_CCR_MOD,
541 OMAP3_PRM_CLKOUT_CTRL_OFFSET);
542 prm_write_mod_reg(prcm_context.sgx_pm_wkdep, OMAP3430ES2_SGX_MOD,
543 PM_WKDEP);
544 prm_write_mod_reg(prcm_context.dss_pm_wkdep, OMAP3430_DSS_MOD,
545 PM_WKDEP);
546 prm_write_mod_reg(prcm_context.cam_pm_wkdep, OMAP3430_CAM_MOD,
547 PM_WKDEP);
548 prm_write_mod_reg(prcm_context.per_pm_wkdep, OMAP3430_PER_MOD,
549 PM_WKDEP);
550 prm_write_mod_reg(prcm_context.neon_pm_wkdep, OMAP3430_NEON_MOD,
551 PM_WKDEP);
552 prm_write_mod_reg(prcm_context.usbhost_pm_wkdep,
553 OMAP3430ES2_USBHOST_MOD, PM_WKDEP);
554 prm_write_mod_reg(prcm_context.core_pm_mpugrpsel1, CORE_MOD,
555 OMAP3430_PM_MPUGRPSEL1);
556 prm_write_mod_reg(prcm_context.iva2_pm_ivagrpsel1, OMAP3430_IVA2_MOD,
557 OMAP3430_PM_IVAGRPSEL1);
558 prm_write_mod_reg(prcm_context.core_pm_mpugrpsel3, CORE_MOD,
559 OMAP3430ES2_PM_MPUGRPSEL3);
560 prm_write_mod_reg(prcm_context.core_pm_ivagrpsel3, CORE_MOD,
561 OMAP3430ES2_PM_IVAGRPSEL3);
562 prm_write_mod_reg(prcm_context.wkup_pm_mpugrpsel, WKUP_MOD,
563 OMAP3430_PM_MPUGRPSEL);
564 prm_write_mod_reg(prcm_context.wkup_pm_ivagrpsel, WKUP_MOD,
565 OMAP3430_PM_IVAGRPSEL);
566 prm_write_mod_reg(prcm_context.per_pm_mpugrpsel, OMAP3430_PER_MOD,
567 OMAP3430_PM_MPUGRPSEL);
568 prm_write_mod_reg(prcm_context.per_pm_ivagrpsel, OMAP3430_PER_MOD,
569 OMAP3430_PM_IVAGRPSEL);
570 prm_write_mod_reg(prcm_context.wkup_pm_wken, WKUP_MOD, PM_WKEN);
571 return;
572}
573#endif
diff --git a/arch/arm/mach-omap2/prm-regbits-34xx.h b/arch/arm/mach-omap2/prm-regbits-34xx.h
index 9fd03a2ec95c..8f21bae6dc1c 100644
--- a/arch/arm/mach-omap2/prm-regbits-34xx.h
+++ b/arch/arm/mach-omap2/prm-regbits-34xx.h
@@ -365,6 +365,7 @@
365/* PM_PREPWSTST_GFX specific bits */ 365/* PM_PREPWSTST_GFX specific bits */
366 366
367/* PM_WKEN_WKUP specific bits */ 367/* PM_WKEN_WKUP specific bits */
368#define OMAP3430_EN_IO_CHAIN (1 << 16)
368#define OMAP3430_EN_IO (1 << 8) 369#define OMAP3430_EN_IO (1 << 8)
369#define OMAP3430_EN_GPIO1 (1 << 3) 370#define OMAP3430_EN_GPIO1 (1 << 3)
370 371
@@ -373,6 +374,7 @@
373/* PM_IVA2GRPSEL_WKUP specific bits */ 374/* PM_IVA2GRPSEL_WKUP specific bits */
374 375
375/* PM_WKST_WKUP specific bits */ 376/* PM_WKST_WKUP specific bits */
377#define OMAP3430_ST_IO_CHAIN (1 << 16)
376#define OMAP3430_ST_IO (1 << 8) 378#define OMAP3430_ST_IO (1 << 8)
377 379
378/* PRM_CLKSEL */ 380/* PRM_CLKSEL */
diff --git a/arch/arm/mach-omap2/prm.h b/arch/arm/mach-omap2/prm.h
index 03c467c35f54..a117f853ea39 100644
--- a/arch/arm/mach-omap2/prm.h
+++ b/arch/arm/mach-omap2/prm.h
@@ -17,11 +17,11 @@
17#include "prcm-common.h" 17#include "prcm-common.h"
18 18
19#define OMAP2420_PRM_REGADDR(module, reg) \ 19#define OMAP2420_PRM_REGADDR(module, reg) \
20 OMAP2_IO_ADDRESS(OMAP2420_PRM_BASE + (module) + (reg)) 20 OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE + (module) + (reg))
21#define OMAP2430_PRM_REGADDR(module, reg) \ 21#define OMAP2430_PRM_REGADDR(module, reg) \
22 OMAP2_IO_ADDRESS(OMAP2430_PRM_BASE + (module) + (reg)) 22 OMAP2_L4_IO_ADDRESS(OMAP2430_PRM_BASE + (module) + (reg))
23#define OMAP34XX_PRM_REGADDR(module, reg) \ 23#define OMAP34XX_PRM_REGADDR(module, reg) \
24 OMAP2_IO_ADDRESS(OMAP3430_PRM_BASE + (module) + (reg)) 24 OMAP2_L4_IO_ADDRESS(OMAP3430_PRM_BASE + (module) + (reg))
25 25
26/* 26/*
27 * Architecture-specific global PRM registers 27 * Architecture-specific global PRM registers
diff --git a/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h b/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h
new file mode 100644
index 000000000000..8bfaf342a028
--- /dev/null
+++ b/arch/arm/mach-omap2/sdram-hynix-h8mbx00u0mer-0em.h
@@ -0,0 +1,51 @@
1/*
2 * SDRC register values for the Hynix H8MBX00U0MER-0EM
3 *
4 * Copyright (C) 2009 Texas Instruments, Inc.
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 version 2 as
8 * published by the Free Software Foundation.
9 */
10
11#ifndef __ARCH_ARM_MACH_OMAP2_SDRAM_HYNIX_H8MBX00U0MER0EM
12#define __ARCH_ARM_MACH_OMAP2_SDRAM_HYNIX_H8MBX00U0MER0EM
13
14#include <plat/sdrc.h>
15
16/* Hynix H8MBX00U0MER-0EM */
17static struct omap_sdrc_params h8mbx00u0mer0em_sdrc_params[] = {
18 [0] = {
19 .rate = 200000000,
20 .actim_ctrla = 0xa2e1b4c6,
21 .actim_ctrlb = 0x0002131c,
22 .rfr_ctrl = 0x0005e601,
23 .mr = 0x00000032,
24 },
25 [1] = {
26 .rate = 166000000,
27 .actim_ctrla = 0x629db4c6,
28 .actim_ctrlb = 0x00012214,
29 .rfr_ctrl = 0x0004dc01,
30 .mr = 0x00000032,
31 },
32 [2] = {
33 .rate = 100000000,
34 .actim_ctrla = 0x51912284,
35 .actim_ctrlb = 0x0002120e,
36 .rfr_ctrl = 0x0002d101,
37 .mr = 0x00000022,
38 },
39 [3] = {
40 .rate = 83000000,
41 .actim_ctrla = 0x31512283,
42 .actim_ctrlb = 0x0001220a,
43 .rfr_ctrl = 0x00025501,
44 .mr = 0x00000022,
45 },
46 [4] = {
47 .rate = 0
48 },
49};
50
51#endif
diff --git a/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h b/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
index 02e1c2d4705f..a391b4939f74 100644
--- a/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
+++ b/arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
@@ -14,7 +14,7 @@
14#ifndef ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H32M32LF 14#ifndef ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H32M32LF
15#define ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H32M32LF 15#define ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H32M32LF
16 16
17#include <mach/sdrc.h> 17#include <plat/sdrc.h>
18 18
19/* Micron MT46H32M32LF-6 */ 19/* Micron MT46H32M32LF-6 */
20/* XXX Using ARE = 0x1 (no autorefresh burst) -- can this be changed? */ 20/* XXX Using ARE = 0x1 (no autorefresh burst) -- can this be changed? */
diff --git a/arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h b/arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
index 3751d293cb1f..0e518a72831f 100644
--- a/arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
+++ b/arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
@@ -14,7 +14,7 @@
14#ifndef ARCH_ARM_MACH_OMAP2_SDRAM_QIMONDA_HYB18M512160AF6 14#ifndef ARCH_ARM_MACH_OMAP2_SDRAM_QIMONDA_HYB18M512160AF6
15#define ARCH_ARM_MACH_OMAP2_SDRAM_QIMONDA_HYB18M512160AF6 15#define ARCH_ARM_MACH_OMAP2_SDRAM_QIMONDA_HYB18M512160AF6
16 16
17#include <mach/sdrc.h> 17#include <plat/sdrc.h>
18 18
19/* Qimonda HYB18M512160AF-6 */ 19/* Qimonda HYB18M512160AF-6 */
20static struct omap_sdrc_params hyb18m512160af6_sdrc_params[] = { 20static struct omap_sdrc_params hyb18m512160af6_sdrc_params[] = {
diff --git a/arch/arm/mach-omap2/sdrc.c b/arch/arm/mach-omap2/sdrc.c
index 9e3bd4fa7810..9a592199321c 100644
--- a/arch/arm/mach-omap2/sdrc.c
+++ b/arch/arm/mach-omap2/sdrc.c
@@ -23,13 +23,13 @@
23#include <linux/clk.h> 23#include <linux/clk.h>
24#include <linux/io.h> 24#include <linux/io.h>
25 25
26#include <mach/common.h> 26#include <plat/common.h>
27#include <mach/clock.h> 27#include <plat/clock.h>
28#include <mach/sram.h> 28#include <plat/sram.h>
29 29
30#include "prm.h" 30#include "prm.h"
31 31
32#include <mach/sdrc.h> 32#include <plat/sdrc.h>
33#include "sdrc.h" 33#include "sdrc.h"
34 34
35static struct omap_sdrc_params *sdrc_init_params_cs0, *sdrc_init_params_cs1; 35static struct omap_sdrc_params *sdrc_init_params_cs0, *sdrc_init_params_cs1;
@@ -37,12 +37,38 @@ static struct omap_sdrc_params *sdrc_init_params_cs0, *sdrc_init_params_cs1;
37void __iomem *omap2_sdrc_base; 37void __iomem *omap2_sdrc_base;
38void __iomem *omap2_sms_base; 38void __iomem *omap2_sms_base;
39 39
40struct omap2_sms_regs {
41 u32 sms_sysconfig;
42};
43
44static struct omap2_sms_regs sms_context;
45
40/* SDRC_POWER register bits */ 46/* SDRC_POWER register bits */
41#define SDRC_POWER_EXTCLKDIS_SHIFT 3 47#define SDRC_POWER_EXTCLKDIS_SHIFT 3
42#define SDRC_POWER_PWDENA_SHIFT 2 48#define SDRC_POWER_PWDENA_SHIFT 2
43#define SDRC_POWER_PAGEPOLICY_SHIFT 0 49#define SDRC_POWER_PAGEPOLICY_SHIFT 0
44 50
45/** 51/**
52 * omap2_sms_save_context - Save SMS registers
53 *
54 * Save SMS registers that need to be restored after off mode.
55 */
56void omap2_sms_save_context(void)
57{
58 sms_context.sms_sysconfig = sms_read_reg(SMS_SYSCONFIG);
59}
60
61/**
62 * omap2_sms_restore_context - Restore SMS registers
63 *
64 * Restore SMS registers that need to be Restored after off mode.
65 */
66void omap2_sms_restore_context(void)
67{
68 sms_write_reg(sms_context.sms_sysconfig, SMS_SYSCONFIG);
69}
70
71/**
46 * omap2_sdrc_get_params - return SDRC register values for a given clock rate 72 * omap2_sdrc_get_params - return SDRC register values for a given clock rate
47 * @r: SDRC clock rate (in Hz) 73 * @r: SDRC clock rate (in Hz)
48 * @sdrc_cs0: chip select 0 ram timings ** 74 * @sdrc_cs0: chip select 0 ram timings **
@@ -132,4 +158,5 @@ void __init omap2_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
132 l = (1 << SDRC_POWER_EXTCLKDIS_SHIFT) | 158 l = (1 << SDRC_POWER_EXTCLKDIS_SHIFT) |
133 (1 << SDRC_POWER_PAGEPOLICY_SHIFT); 159 (1 << SDRC_POWER_PAGEPOLICY_SHIFT);
134 sdrc_write_reg(l, SDRC_POWER); 160 sdrc_write_reg(l, SDRC_POWER);
161 omap2_sms_save_context();
135} 162}
diff --git a/arch/arm/mach-omap2/sdrc.h b/arch/arm/mach-omap2/sdrc.h
index 0837eda5f2b6..48207b018989 100644
--- a/arch/arm/mach-omap2/sdrc.h
+++ b/arch/arm/mach-omap2/sdrc.h
@@ -15,7 +15,7 @@
15 */ 15 */
16#undef DEBUG 16#undef DEBUG
17 17
18#include <mach/sdrc.h> 18#include <plat/sdrc.h>
19 19
20#ifndef __ASSEMBLER__ 20#ifndef __ASSEMBLER__
21extern void __iomem *omap2_sdrc_base; 21extern void __iomem *omap2_sdrc_base;
@@ -48,9 +48,12 @@ static inline u32 sms_read_reg(u16 reg)
48 return __raw_readl(OMAP_SMS_REGADDR(reg)); 48 return __raw_readl(OMAP_SMS_REGADDR(reg));
49} 49}
50#else 50#else
51#define OMAP242X_SDRC_REGADDR(reg) OMAP2_IO_ADDRESS(OMAP2420_SDRC_BASE + (reg)) 51#define OMAP242X_SDRC_REGADDR(reg) \
52#define OMAP243X_SDRC_REGADDR(reg) OMAP2_IO_ADDRESS(OMAP243X_SDRC_BASE + (reg)) 52 OMAP2_L3_IO_ADDRESS(OMAP2420_SDRC_BASE + (reg))
53#define OMAP34XX_SDRC_REGADDR(reg) OMAP2_IO_ADDRESS(OMAP343X_SDRC_BASE + (reg)) 53#define OMAP243X_SDRC_REGADDR(reg) \
54 OMAP2_L3_IO_ADDRESS(OMAP243X_SDRC_BASE + (reg))
55#define OMAP34XX_SDRC_REGADDR(reg) \
56 OMAP2_L3_IO_ADDRESS(OMAP343X_SDRC_BASE + (reg))
54#endif /* __ASSEMBLER__ */ 57#endif /* __ASSEMBLER__ */
55 58
56#endif 59#endif
diff --git a/arch/arm/mach-omap2/sdrc2xxx.c b/arch/arm/mach-omap2/sdrc2xxx.c
index feaec7eaf6bd..0f4d27aef44d 100644
--- a/arch/arm/mach-omap2/sdrc2xxx.c
+++ b/arch/arm/mach-omap2/sdrc2xxx.c
@@ -24,13 +24,13 @@
24#include <linux/clk.h> 24#include <linux/clk.h>
25#include <linux/io.h> 25#include <linux/io.h>
26 26
27#include <mach/common.h> 27#include <plat/common.h>
28#include <mach/clock.h> 28#include <plat/clock.h>
29#include <mach/sram.h> 29#include <plat/sram.h>
30 30
31#include "prm.h" 31#include "prm.h"
32#include "clock.h" 32#include "clock.h"
33#include <mach/sdrc.h> 33#include <plat/sdrc.h>
34#include "sdrc.h" 34#include "sdrc.h"
35 35
36/* Memory timing, DLL mode flags */ 36/* Memory timing, DLL mode flags */
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index 54dfeb5d5667..2e17b57f5b23 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -24,10 +24,10 @@
24#include <linux/clk.h> 24#include <linux/clk.h>
25#include <linux/io.h> 25#include <linux/io.h>
26 26
27#include <mach/common.h> 27#include <plat/common.h>
28#include <mach/board.h> 28#include <plat/board.h>
29#include <mach/clock.h> 29#include <plat/clock.h>
30#include <mach/control.h> 30#include <plat/control.h>
31 31
32#include "prm.h" 32#include "prm.h"
33#include "pm.h" 33#include "pm.h"
@@ -73,7 +73,6 @@ static LIST_HEAD(uart_list);
73 73
74static struct plat_serial8250_port serial_platform_data0[] = { 74static struct plat_serial8250_port serial_platform_data0[] = {
75 { 75 {
76 .membase = OMAP2_IO_ADDRESS(OMAP_UART1_BASE),
77 .mapbase = OMAP_UART1_BASE, 76 .mapbase = OMAP_UART1_BASE,
78 .irq = 72, 77 .irq = 72,
79 .flags = UPF_BOOT_AUTOCONF, 78 .flags = UPF_BOOT_AUTOCONF,
@@ -87,7 +86,6 @@ static struct plat_serial8250_port serial_platform_data0[] = {
87 86
88static struct plat_serial8250_port serial_platform_data1[] = { 87static struct plat_serial8250_port serial_platform_data1[] = {
89 { 88 {
90 .membase = OMAP2_IO_ADDRESS(OMAP_UART2_BASE),
91 .mapbase = OMAP_UART2_BASE, 89 .mapbase = OMAP_UART2_BASE,
92 .irq = 73, 90 .irq = 73,
93 .flags = UPF_BOOT_AUTOCONF, 91 .flags = UPF_BOOT_AUTOCONF,
@@ -101,7 +99,6 @@ static struct plat_serial8250_port serial_platform_data1[] = {
101 99
102static struct plat_serial8250_port serial_platform_data2[] = { 100static struct plat_serial8250_port serial_platform_data2[] = {
103 { 101 {
104 .membase = OMAP2_IO_ADDRESS(OMAP_UART3_BASE),
105 .mapbase = OMAP_UART3_BASE, 102 .mapbase = OMAP_UART3_BASE,
106 .irq = 74, 103 .irq = 74,
107 .flags = UPF_BOOT_AUTOCONF, 104 .flags = UPF_BOOT_AUTOCONF,
@@ -116,7 +113,6 @@ static struct plat_serial8250_port serial_platform_data2[] = {
116#ifdef CONFIG_ARCH_OMAP4 113#ifdef CONFIG_ARCH_OMAP4
117static struct plat_serial8250_port serial_platform_data3[] = { 114static struct plat_serial8250_port serial_platform_data3[] = {
118 { 115 {
119 .membase = OMAP2_IO_ADDRESS(OMAP_UART4_BASE),
120 .mapbase = OMAP_UART4_BASE, 116 .mapbase = OMAP_UART4_BASE,
121 .irq = 70, 117 .irq = 70,
122 .flags = UPF_BOOT_AUTOCONF, 118 .flags = UPF_BOOT_AUTOCONF,
@@ -159,8 +155,6 @@ static inline void __init omap_uart_reset(struct omap_uart_state *uart)
159 155
160#if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP3) 156#if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP3)
161 157
162static int enable_off_mode; /* to be removed by full off-mode patches */
163
164static void omap_uart_save_context(struct omap_uart_state *uart) 158static void omap_uart_save_context(struct omap_uart_state *uart)
165{ 159{
166 u16 lcr = 0; 160 u16 lcr = 0;
@@ -539,7 +533,7 @@ static inline void omap_uart_idle_init(struct omap_uart_state *uart) {}
539#define DEV_CREATE_FILE(dev, attr) 533#define DEV_CREATE_FILE(dev, attr)
540#endif /* CONFIG_PM */ 534#endif /* CONFIG_PM */
541 535
542static struct omap_uart_state omap_uart[OMAP_MAX_NR_PORTS] = { 536static struct omap_uart_state omap_uart[] = {
543 { 537 {
544 .pdev = { 538 .pdev = {
545 .name = "serial8250", 539 .name = "serial8250",
@@ -589,12 +583,22 @@ void __init omap_serial_early_init(void)
589 * if not needed. 583 * if not needed.
590 */ 584 */
591 585
592 for (i = 0; i < OMAP_MAX_NR_PORTS; i++) { 586 for (i = 0; i < ARRAY_SIZE(omap_uart); i++) {
593 struct omap_uart_state *uart = &omap_uart[i]; 587 struct omap_uart_state *uart = &omap_uart[i];
594 struct platform_device *pdev = &uart->pdev; 588 struct platform_device *pdev = &uart->pdev;
595 struct device *dev = &pdev->dev; 589 struct device *dev = &pdev->dev;
596 struct plat_serial8250_port *p = dev->platform_data; 590 struct plat_serial8250_port *p = dev->platform_data;
597 591
592 /*
593 * Module 4KB + L4 interconnect 4KB
594 * Static mapping, never released
595 */
596 p->membase = ioremap(p->mapbase, SZ_8K);
597 if (!p->membase) {
598 printk(KERN_ERR "ioremap failed for uart%i\n", i + 1);
599 continue;
600 }
601
598 sprintf(name, "uart%d_ick", i+1); 602 sprintf(name, "uart%d_ick", i+1);
599 uart->ick = clk_get(NULL, name); 603 uart->ick = clk_get(NULL, name);
600 if (IS_ERR(uart->ick)) { 604 if (IS_ERR(uart->ick)) {
@@ -631,7 +635,7 @@ void __init omap_serial_init(void)
631{ 635{
632 int i; 636 int i;
633 637
634 for (i = 0; i < OMAP_MAX_NR_PORTS; i++) { 638 for (i = 0; i < ARRAY_SIZE(omap_uart); i++) {
635 struct omap_uart_state *uart = &omap_uart[i]; 639 struct omap_uart_state *uart = &omap_uart[i];
636 struct platform_device *pdev = &uart->pdev; 640 struct platform_device *pdev = &uart->pdev;
637 struct device *dev = &pdev->dev; 641 struct device *dev = &pdev->dev;
diff --git a/arch/arm/mach-omap2/sleep24xx.S b/arch/arm/mach-omap2/sleep24xx.S
index 130aadbfa083..c7780cc8d919 100644
--- a/arch/arm/mach-omap2/sleep24xx.S
+++ b/arch/arm/mach-omap2/sleep24xx.S
@@ -29,7 +29,7 @@
29#include <asm/assembler.h> 29#include <asm/assembler.h>
30#include <mach/io.h> 30#include <mach/io.h>
31 31
32#include <mach/omap24xx.h> 32#include <plat/omap24xx.h>
33 33
34#include "sdrc.h" 34#include "sdrc.h"
35 35
diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-omap2/sleep34xx.S
index e5e2553e79a6..15268f8b61de 100644
--- a/arch/arm/mach-omap2/sleep34xx.S
+++ b/arch/arm/mach-omap2/sleep34xx.S
@@ -27,22 +27,35 @@
27#include <linux/linkage.h> 27#include <linux/linkage.h>
28#include <asm/assembler.h> 28#include <asm/assembler.h>
29#include <mach/io.h> 29#include <mach/io.h>
30#include <mach/control.h> 30#include <plat/control.h>
31 31
32#include "cm.h"
32#include "prm.h" 33#include "prm.h"
33#include "sdrc.h" 34#include "sdrc.h"
34 35
35#define PM_PREPWSTST_CORE_V OMAP34XX_PRM_REGADDR(CORE_MOD, \ 36#define PM_PREPWSTST_CORE_V OMAP34XX_PRM_REGADDR(CORE_MOD, \
36 OMAP3430_PM_PREPWSTST) 37 OMAP3430_PM_PREPWSTST)
38#define PM_PREPWSTST_CORE_P 0x48306AE8
37#define PM_PREPWSTST_MPU_V OMAP34XX_PRM_REGADDR(MPU_MOD, \ 39#define PM_PREPWSTST_MPU_V OMAP34XX_PRM_REGADDR(MPU_MOD, \
38 OMAP3430_PM_PREPWSTST) 40 OMAP3430_PM_PREPWSTST)
39#define PM_PWSTCTRL_MPU_P OMAP34XX_PRM_REGADDR(MPU_MOD, PM_PWSTCTRL) 41#define PM_PWSTCTRL_MPU_P OMAP3430_PRM_BASE + MPU_MOD + PM_PWSTCTRL
42#define CM_IDLEST1_CORE_V OMAP34XX_CM_REGADDR(CORE_MOD, CM_IDLEST1)
43#define SRAM_BASE_P 0x40200000
44#define CONTROL_STAT 0x480022F0
40#define SCRATCHPAD_MEM_OFFS 0x310 /* Move this as correct place is 45#define SCRATCHPAD_MEM_OFFS 0x310 /* Move this as correct place is
41 * available */ 46 * available */
42#define SCRATCHPAD_BASE_P OMAP343X_CTRL_REGADDR(\ 47#define SCRATCHPAD_BASE_P (OMAP343X_CTRL_BASE + OMAP343X_CONTROL_MEM_WKUP\
43 OMAP343X_CONTROL_MEM_WKUP +\ 48 + SCRATCHPAD_MEM_OFFS)
44 SCRATCHPAD_MEM_OFFS)
45#define SDRC_POWER_V OMAP34XX_SDRC_REGADDR(SDRC_POWER) 49#define SDRC_POWER_V OMAP34XX_SDRC_REGADDR(SDRC_POWER)
50#define SDRC_SYSCONFIG_P (OMAP343X_SDRC_BASE + SDRC_SYSCONFIG)
51#define SDRC_MR_0_P (OMAP343X_SDRC_BASE + SDRC_MR_0)
52#define SDRC_EMR2_0_P (OMAP343X_SDRC_BASE + SDRC_EMR2_0)
53#define SDRC_MANUAL_0_P (OMAP343X_SDRC_BASE + SDRC_MANUAL_0)
54#define SDRC_MR_1_P (OMAP343X_SDRC_BASE + SDRC_MR_1)
55#define SDRC_EMR2_1_P (OMAP343X_SDRC_BASE + SDRC_EMR2_1)
56#define SDRC_MANUAL_1_P (OMAP343X_SDRC_BASE + SDRC_MANUAL_1)
57#define SDRC_DLLA_STATUS_V OMAP34XX_SDRC_REGADDR(SDRC_DLLA_STATUS)
58#define SDRC_DLLA_CTRL_V OMAP34XX_SDRC_REGADDR(SDRC_DLLA_CTRL)
46 59
47 .text 60 .text
48/* Function call to get the restore pointer for resume from OFF */ 61/* Function call to get the restore pointer for resume from OFF */
@@ -51,7 +64,93 @@ ENTRY(get_restore_pointer)
51 adr r0, restore 64 adr r0, restore
52 ldmfd sp!, {pc} @ restore regs and return 65 ldmfd sp!, {pc} @ restore regs and return
53ENTRY(get_restore_pointer_sz) 66ENTRY(get_restore_pointer_sz)
54 .word . - get_restore_pointer_sz 67 .word . - get_restore_pointer
68
69 .text
70/* Function call to get the restore pointer for for ES3 to resume from OFF */
71ENTRY(get_es3_restore_pointer)
72 stmfd sp!, {lr} @ save registers on stack
73 adr r0, restore_es3
74 ldmfd sp!, {pc} @ restore regs and return
75ENTRY(get_es3_restore_pointer_sz)
76 .word . - get_es3_restore_pointer
77
78ENTRY(es3_sdrc_fix)
79 ldr r4, sdrc_syscfg @ get config addr
80 ldr r5, [r4] @ get value
81 tst r5, #0x100 @ is part access blocked
82 it eq
83 biceq r5, r5, #0x100 @ clear bit if set
84 str r5, [r4] @ write back change
85 ldr r4, sdrc_mr_0 @ get config addr
86 ldr r5, [r4] @ get value
87 str r5, [r4] @ write back change
88 ldr r4, sdrc_emr2_0 @ get config addr
89 ldr r5, [r4] @ get value
90 str r5, [r4] @ write back change
91 ldr r4, sdrc_manual_0 @ get config addr
92 mov r5, #0x2 @ autorefresh command
93 str r5, [r4] @ kick off refreshes
94 ldr r4, sdrc_mr_1 @ get config addr
95 ldr r5, [r4] @ get value
96 str r5, [r4] @ write back change
97 ldr r4, sdrc_emr2_1 @ get config addr
98 ldr r5, [r4] @ get value
99 str r5, [r4] @ write back change
100 ldr r4, sdrc_manual_1 @ get config addr
101 mov r5, #0x2 @ autorefresh command
102 str r5, [r4] @ kick off refreshes
103 bx lr
104sdrc_syscfg:
105 .word SDRC_SYSCONFIG_P
106sdrc_mr_0:
107 .word SDRC_MR_0_P
108sdrc_emr2_0:
109 .word SDRC_EMR2_0_P
110sdrc_manual_0:
111 .word SDRC_MANUAL_0_P
112sdrc_mr_1:
113 .word SDRC_MR_1_P
114sdrc_emr2_1:
115 .word SDRC_EMR2_1_P
116sdrc_manual_1:
117 .word SDRC_MANUAL_1_P
118ENTRY(es3_sdrc_fix_sz)
119 .word . - es3_sdrc_fix
120
121/* Function to call rom code to save secure ram context */
122ENTRY(save_secure_ram_context)
123 stmfd sp!, {r1-r12, lr} @ save registers on stack
124save_secure_ram_debug:
125 /* b save_secure_ram_debug */ @ enable to debug save code
126 adr r3, api_params @ r3 points to parameters
127 str r0, [r3,#0x4] @ r0 has sdram address
128 ldr r12, high_mask
129 and r3, r3, r12
130 ldr r12, sram_phy_addr_mask
131 orr r3, r3, r12
132 mov r0, #25 @ set service ID for PPA
133 mov r12, r0 @ copy secure service ID in r12
134 mov r1, #0 @ set task id for ROM code in r1
135 mov r2, #4 @ set some flags in r2, r6
136 mov r6, #0xff
137 mcr p15, 0, r0, c7, c10, 4 @ data write barrier
138 mcr p15, 0, r0, c7, c10, 5 @ data memory barrier
139 .word 0xE1600071 @ call SMI monitor (smi #1)
140 nop
141 nop
142 nop
143 nop
144 ldmfd sp!, {r1-r12, pc}
145sram_phy_addr_mask:
146 .word SRAM_BASE_P
147high_mask:
148 .word 0xffff
149api_params:
150 .word 0x4, 0x0, 0x0, 0x1, 0x1
151ENTRY(save_secure_ram_context_sz)
152 .word . - save_secure_ram_context
153
55/* 154/*
56 * Forces OMAP into idle state 155 * Forces OMAP into idle state
57 * 156 *
@@ -92,11 +191,29 @@ loop:
92 nop 191 nop
93 nop 192 nop
94 nop 193 nop
95 bl i_dll_wait 194 bl wait_sdrc_ok
96 195
97 ldmfd sp!, {r0-r12, pc} @ restore regs and return 196 ldmfd sp!, {r0-r12, pc} @ restore regs and return
197restore_es3:
198 /*b restore_es3*/ @ Enable to debug restore code
199 ldr r5, pm_prepwstst_core_p
200 ldr r4, [r5]
201 and r4, r4, #0x3
202 cmp r4, #0x0 @ Check if previous power state of CORE is OFF
203 bne restore
204 adr r0, es3_sdrc_fix
205 ldr r1, sram_base
206 ldr r2, es3_sdrc_fix_sz
207 mov r2, r2, ror #2
208copy_to_sram:
209 ldmia r0!, {r3} @ val = *src
210 stmia r1!, {r3} @ *dst = val
211 subs r2, r2, #0x1 @ num_words--
212 bne copy_to_sram
213 ldr r1, sram_base
214 blx r1
98restore: 215restore:
99 /* b restore*/ @ Enable to debug restore code 216 /* b restore*/ @ Enable to debug restore code
100 /* Check what was the reason for mpu reset and store the reason in r9*/ 217 /* Check what was the reason for mpu reset and store the reason in r9*/
101 /* 1 - Only L1 and logic lost */ 218 /* 1 - Only L1 and logic lost */
102 /* 2 - Only L2 lost - In this case, we wont be here */ 219 /* 2 - Only L2 lost - In this case, we wont be here */
@@ -108,9 +225,44 @@ restore:
108 moveq r9, #0x3 @ MPU OFF => L1 and L2 lost 225 moveq r9, #0x3 @ MPU OFF => L1 and L2 lost
109 movne r9, #0x1 @ Only L1 and L2 lost => avoid L2 invalidation 226 movne r9, #0x1 @ Only L1 and L2 lost => avoid L2 invalidation
110 bne logic_l1_restore 227 bne logic_l1_restore
228 ldr r0, control_stat
229 ldr r1, [r0]
230 and r1, #0x700
231 cmp r1, #0x300
232 beq l2_inv_gp
233 mov r0, #40 @ set service ID for PPA
234 mov r12, r0 @ copy secure Service ID in r12
235 mov r1, #0 @ set task id for ROM code in r1
236 mov r2, #4 @ set some flags in r2, r6
237 mov r6, #0xff
238 adr r3, l2_inv_api_params @ r3 points to dummy parameters
239 mcr p15, 0, r0, c7, c10, 4 @ data write barrier
240 mcr p15, 0, r0, c7, c10, 5 @ data memory barrier
241 .word 0xE1600071 @ call SMI monitor (smi #1)
242 /* Write to Aux control register to set some bits */
243 mov r0, #42 @ set service ID for PPA
244 mov r12, r0 @ copy secure Service ID in r12
245 mov r1, #0 @ set task id for ROM code in r1
246 mov r2, #4 @ set some flags in r2, r6
247 mov r6, #0xff
248 adr r3, write_aux_control_params @ r3 points to parameters
249 mcr p15, 0, r0, c7, c10, 4 @ data write barrier
250 mcr p15, 0, r0, c7, c10, 5 @ data memory barrier
251 .word 0xE1600071 @ call SMI monitor (smi #1)
252
253 b logic_l1_restore
254l2_inv_api_params:
255 .word 0x1, 0x00
256write_aux_control_params:
257 .word 0x1, 0x72
258l2_inv_gp:
111 /* Execute smi to invalidate L2 cache */ 259 /* Execute smi to invalidate L2 cache */
112 mov r12, #0x1 @ set up to invalide L2 260 mov r12, #0x1 @ set up to invalide L2
113smi: .word 0xE1600070 @ Call SMI monitor (smieq) 261smi: .word 0xE1600070 @ Call SMI monitor (smieq)
262 /* Write to Aux control register to set some bits */
263 mov r0, #0x72
264 mov r12, #0x3
265 .word 0xE1600070 @ Call SMI monitor (smieq)
114logic_l1_restore: 266logic_l1_restore:
115 mov r1, #0 267 mov r1, #0
116 /* Invalidate all instruction caches to PoU 268 /* Invalidate all instruction caches to PoU
@@ -391,33 +543,55 @@ skip_l2_inval:
391 nop 543 nop
392 nop 544 nop
393 nop 545 nop
394 bl i_dll_wait 546 bl wait_sdrc_ok
395 /* restore regs and return */ 547 /* restore regs and return */
396 ldmfd sp!, {r0-r12, pc} 548 ldmfd sp!, {r0-r12, pc}
397 549
398i_dll_wait: 550/* Make sure SDRC accesses are ok */
399 ldr r4, clk_stabilize_delay 551wait_sdrc_ok:
552 ldr r4, cm_idlest1_core
553 ldr r5, [r4]
554 and r5, r5, #0x2
555 cmp r5, #0
556 bne wait_sdrc_ok
557 ldr r4, sdrc_power
558 ldr r5, [r4]
559 bic r5, r5, #0x40
560 str r5, [r4]
561wait_dll_lock:
562 /* Is dll in lock mode? */
563 ldr r4, sdrc_dlla_ctrl
564 ldr r5, [r4]
565 tst r5, #0x4
566 bxne lr
567 /* wait till dll locks */
568 ldr r4, sdrc_dlla_status
569 ldr r5, [r4]
570 and r5, r5, #0x4
571 cmp r5, #0x4
572 bne wait_dll_lock
573 bx lr
400 574
401i_dll_delay: 575cm_idlest1_core:
402 subs r4, r4, #0x1 576 .word CM_IDLEST1_CORE_V
403 bne i_dll_delay 577sdrc_dlla_status:
404 ldr r4, sdrc_power 578 .word SDRC_DLLA_STATUS_V
405 ldr r5, [r4] 579sdrc_dlla_ctrl:
406 bic r5, r5, #0x40 580 .word SDRC_DLLA_CTRL_V
407 str r5, [r4]
408 bx lr
409pm_prepwstst_core: 581pm_prepwstst_core:
410 .word PM_PREPWSTST_CORE_V 582 .word PM_PREPWSTST_CORE_V
583pm_prepwstst_core_p:
584 .word PM_PREPWSTST_CORE_P
411pm_prepwstst_mpu: 585pm_prepwstst_mpu:
412 .word PM_PREPWSTST_MPU_V 586 .word PM_PREPWSTST_MPU_V
413pm_pwstctrl_mpu: 587pm_pwstctrl_mpu:
414 .word PM_PWSTCTRL_MPU_P 588 .word PM_PWSTCTRL_MPU_P
415scratchpad_base: 589scratchpad_base:
416 .word SCRATCHPAD_BASE_P 590 .word SCRATCHPAD_BASE_P
591sram_base:
592 .word SRAM_BASE_P + 0x8000
417sdrc_power: 593sdrc_power:
418 .word SDRC_POWER_V 594 .word SDRC_POWER_V
419context_mem:
420 .word 0x803E3E14
421clk_stabilize_delay: 595clk_stabilize_delay:
422 .word 0x000001FF 596 .word 0x000001FF
423assoc_mask: 597assoc_mask:
@@ -432,5 +606,7 @@ table_entry:
432 .word 0x00000C02 606 .word 0x00000C02
433cache_pred_disable_mask: 607cache_pred_disable_mask:
434 .word 0xFFFFE7FB 608 .word 0xFFFFE7FB
609control_stat:
610 .word CONTROL_STAT
435ENTRY(omap34xx_cpu_suspend_sz) 611ENTRY(omap34xx_cpu_suspend_sz)
436 .word . - omap34xx_cpu_suspend 612 .word . - omap34xx_cpu_suspend
diff --git a/arch/arm/mach-omap2/sram242x.S b/arch/arm/mach-omap2/sram242x.S
index 9b62208658bc..92e6e1a12af8 100644
--- a/arch/arm/mach-omap2/sram242x.S
+++ b/arch/arm/mach-omap2/sram242x.S
@@ -128,7 +128,7 @@ omap242x_sdi_prcm_voltctrl:
128prcm_mask_val: 128prcm_mask_val:
129 .word 0xFFFF3FFC 129 .word 0xFFFF3FFC
130omap242x_sdi_timer_32ksynct_cr: 130omap242x_sdi_timer_32ksynct_cr:
131 .word OMAP2_IO_ADDRESS(OMAP2420_32KSYNCT_BASE + 0x010) 131 .word OMAP2_L4_IO_ADDRESS(OMAP2420_32KSYNCT_BASE + 0x010)
132ENTRY(omap242x_sram_ddr_init_sz) 132ENTRY(omap242x_sram_ddr_init_sz)
133 .word . - omap242x_sram_ddr_init 133 .word . - omap242x_sram_ddr_init
134 134
@@ -224,7 +224,7 @@ omap242x_srs_prcm_voltctrl:
224ddr_prcm_mask_val: 224ddr_prcm_mask_val:
225 .word 0xFFFF3FFC 225 .word 0xFFFF3FFC
226omap242x_srs_timer_32ksynct: 226omap242x_srs_timer_32ksynct:
227 .word OMAP2_IO_ADDRESS(OMAP2420_32KSYNCT_BASE + 0x010) 227 .word OMAP2_L4_IO_ADDRESS(OMAP2420_32KSYNCT_BASE + 0x010)
228 228
229ENTRY(omap242x_sram_reprogram_sdrc_sz) 229ENTRY(omap242x_sram_reprogram_sdrc_sz)
230 .word . - omap242x_sram_reprogram_sdrc 230 .word . - omap242x_sram_reprogram_sdrc
diff --git a/arch/arm/mach-omap2/sram243x.S b/arch/arm/mach-omap2/sram243x.S
index df2cd9277c00..ab4973695c71 100644
--- a/arch/arm/mach-omap2/sram243x.S
+++ b/arch/arm/mach-omap2/sram243x.S
@@ -128,7 +128,7 @@ omap243x_sdi_prcm_voltctrl:
128prcm_mask_val: 128prcm_mask_val:
129 .word 0xFFFF3FFC 129 .word 0xFFFF3FFC
130omap243x_sdi_timer_32ksynct_cr: 130omap243x_sdi_timer_32ksynct_cr:
131 .word OMAP2_IO_ADDRESS(OMAP2430_32KSYNCT_BASE + 0x010) 131 .word OMAP2_L4_IO_ADDRESS(OMAP2430_32KSYNCT_BASE + 0x010)
132ENTRY(omap243x_sram_ddr_init_sz) 132ENTRY(omap243x_sram_ddr_init_sz)
133 .word . - omap243x_sram_ddr_init 133 .word . - omap243x_sram_ddr_init
134 134
@@ -224,7 +224,7 @@ omap243x_srs_prcm_voltctrl:
224ddr_prcm_mask_val: 224ddr_prcm_mask_val:
225 .word 0xFFFF3FFC 225 .word 0xFFFF3FFC
226omap243x_srs_timer_32ksynct: 226omap243x_srs_timer_32ksynct:
227 .word OMAP2_IO_ADDRESS(OMAP2430_32KSYNCT_BASE + 0x010) 227 .word OMAP2_L4_IO_ADDRESS(OMAP2430_32KSYNCT_BASE + 0x010)
228 228
229ENTRY(omap243x_sram_reprogram_sdrc_sz) 229ENTRY(omap243x_sram_reprogram_sdrc_sz)
230 .word . - omap243x_sram_reprogram_sdrc 230 .word . - omap243x_sram_reprogram_sdrc
diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
index e2338c0aebcf..cd04deaa88c5 100644
--- a/arch/arm/mach-omap2/timer-gp.c
+++ b/arch/arm/mach-omap2/timer-gp.c
@@ -37,7 +37,7 @@
37#include <linux/clockchips.h> 37#include <linux/clockchips.h>
38 38
39#include <asm/mach/time.h> 39#include <asm/mach/time.h>
40#include <mach/dmtimer.h> 40#include <plat/dmtimer.h>
41#include <asm/localtimer.h> 41#include <asm/localtimer.h>
42 42
43/* MAX_GPTIMER_ID: number of GPTIMERs on the chip */ 43/* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
@@ -47,6 +47,7 @@ static struct omap_dm_timer *gptimer;
47static struct clock_event_device clockevent_gpt; 47static struct clock_event_device clockevent_gpt;
48static u8 __initdata gptimer_id = 1; 48static u8 __initdata gptimer_id = 1;
49static u8 __initdata inited; 49static u8 __initdata inited;
50struct omap_dm_timer *gptimer_wakeup;
50 51
51static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id) 52static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id)
52{ 53{
@@ -134,6 +135,7 @@ static void __init omap2_gp_clockevent_init(void)
134 135
135 gptimer = omap_dm_timer_request_specific(gptimer_id); 136 gptimer = omap_dm_timer_request_specific(gptimer_id);
136 BUG_ON(gptimer == NULL); 137 BUG_ON(gptimer == NULL);
138 gptimer_wakeup = gptimer;
137 139
138#if defined(CONFIG_OMAP_32K_TIMER) 140#if defined(CONFIG_OMAP_32K_TIMER)
139 src = OMAP_TIMER_SRC_32_KHZ; 141 src = OMAP_TIMER_SRC_32_KHZ;
@@ -231,7 +233,8 @@ static void __init omap2_gp_clocksource_init(void)
231static void __init omap2_gp_timer_init(void) 233static void __init omap2_gp_timer_init(void)
232{ 234{
233#ifdef CONFIG_LOCAL_TIMERS 235#ifdef CONFIG_LOCAL_TIMERS
234 twd_base = OMAP2_IO_ADDRESS(OMAP44XX_LOCAL_TWD_BASE); 236 twd_base = ioremap(OMAP44XX_LOCAL_TWD_BASE, SZ_256);
237 BUG_ON(!twd_base);
235#endif 238#endif
236 omap_dm_timer_init(); 239 omap_dm_timer_init();
237 240
diff --git a/arch/arm/mach-omap2/usb-ehci.c b/arch/arm/mach-omap2/usb-ehci.c
new file mode 100644
index 000000000000..e448abd5ec5d
--- /dev/null
+++ b/arch/arm/mach-omap2/usb-ehci.c
@@ -0,0 +1,192 @@
1/*
2 * linux/arch/arm/mach-omap2/usb-ehci.c
3 *
4 * This file will contain the board specific details for the
5 * Synopsys EHCI host controller on OMAP3430
6 *
7 * Copyright (C) 2007 Texas Instruments
8 * Author: Vikram Pandita <vikram.pandita@ti.com>
9 *
10 * Generalization by:
11 * Felipe Balbi <felipe.balbi@nokia.com>
12 *
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License version 2 as
15 * published by the Free Software Foundation.
16 */
17
18#include <linux/types.h>
19#include <linux/errno.h>
20#include <linux/delay.h>
21#include <linux/platform_device.h>
22#include <linux/clk.h>
23#include <asm/io.h>
24#include <plat/mux.h>
25
26#include <mach/hardware.h>
27#include <mach/irqs.h>
28#include <plat/usb.h>
29
30#if defined(CONFIG_USB_EHCI_HCD) || defined(CONFIG_USB_EHCI_HCD_MODULE)
31
32static struct resource ehci_resources[] = {
33 {
34 .start = OMAP34XX_EHCI_BASE,
35 .end = OMAP34XX_EHCI_BASE + SZ_1K - 1,
36 .flags = IORESOURCE_MEM,
37 },
38 {
39 .start = OMAP34XX_UHH_CONFIG_BASE,
40 .end = OMAP34XX_UHH_CONFIG_BASE + SZ_1K - 1,
41 .flags = IORESOURCE_MEM,
42 },
43 {
44 .start = OMAP34XX_USBTLL_BASE,
45 .end = OMAP34XX_USBTLL_BASE + SZ_4K - 1,
46 .flags = IORESOURCE_MEM,
47 },
48 { /* general IRQ */
49 .start = INT_34XX_EHCI_IRQ,
50 .flags = IORESOURCE_IRQ,
51 }
52};
53
54static u64 ehci_dmamask = ~(u32)0;
55static struct platform_device ehci_device = {
56 .name = "ehci-omap",
57 .id = 0,
58 .dev = {
59 .dma_mask = &ehci_dmamask,
60 .coherent_dma_mask = 0xffffffff,
61 .platform_data = NULL,
62 },
63 .num_resources = ARRAY_SIZE(ehci_resources),
64 .resource = ehci_resources,
65};
66
67/* MUX settings for EHCI pins */
68/*
69 * setup_ehci_io_mux - initialize IO pad mux for USBHOST
70 */
71static void setup_ehci_io_mux(enum ehci_hcd_omap_mode *port_mode)
72{
73 switch (port_mode[0]) {
74 case EHCI_HCD_OMAP_MODE_PHY:
75 omap_cfg_reg(Y9_3430_USB1HS_PHY_STP);
76 omap_cfg_reg(Y8_3430_USB1HS_PHY_CLK);
77 omap_cfg_reg(AA14_3430_USB1HS_PHY_DIR);
78 omap_cfg_reg(AA11_3430_USB1HS_PHY_NXT);
79 omap_cfg_reg(W13_3430_USB1HS_PHY_DATA0);
80 omap_cfg_reg(W12_3430_USB1HS_PHY_DATA1);
81 omap_cfg_reg(W11_3430_USB1HS_PHY_DATA2);
82 omap_cfg_reg(Y11_3430_USB1HS_PHY_DATA3);
83 omap_cfg_reg(W9_3430_USB1HS_PHY_DATA4);
84 omap_cfg_reg(Y12_3430_USB1HS_PHY_DATA5);
85 omap_cfg_reg(W8_3430_USB1HS_PHY_DATA6);
86 omap_cfg_reg(Y13_3430_USB1HS_PHY_DATA7);
87 break;
88 case EHCI_HCD_OMAP_MODE_TLL:
89 omap_cfg_reg(Y9_3430_USB1HS_TLL_STP);
90 omap_cfg_reg(Y8_3430_USB1HS_TLL_CLK);
91 omap_cfg_reg(AA14_3430_USB1HS_TLL_DIR);
92 omap_cfg_reg(AA11_3430_USB1HS_TLL_NXT);
93 omap_cfg_reg(W13_3430_USB1HS_TLL_DATA0);
94 omap_cfg_reg(W12_3430_USB1HS_TLL_DATA1);
95 omap_cfg_reg(W11_3430_USB1HS_TLL_DATA2);
96 omap_cfg_reg(Y11_3430_USB1HS_TLL_DATA3);
97 omap_cfg_reg(W9_3430_USB1HS_TLL_DATA4);
98 omap_cfg_reg(Y12_3430_USB1HS_TLL_DATA5);
99 omap_cfg_reg(W8_3430_USB1HS_TLL_DATA6);
100 omap_cfg_reg(Y13_3430_USB1HS_TLL_DATA7);
101 break;
102 case EHCI_HCD_OMAP_MODE_UNKNOWN:
103 /* FALLTHROUGH */
104 default:
105 break;
106 }
107
108 switch (port_mode[1]) {
109 case EHCI_HCD_OMAP_MODE_PHY:
110 omap_cfg_reg(AA10_3430_USB2HS_PHY_STP);
111 omap_cfg_reg(AA8_3430_USB2HS_PHY_CLK);
112 omap_cfg_reg(AA9_3430_USB2HS_PHY_DIR);
113 omap_cfg_reg(AB11_3430_USB2HS_PHY_NXT);
114 omap_cfg_reg(AB10_3430_USB2HS_PHY_DATA0);
115 omap_cfg_reg(AB9_3430_USB2HS_PHY_DATA1);
116 omap_cfg_reg(W3_3430_USB2HS_PHY_DATA2);
117 omap_cfg_reg(T4_3430_USB2HS_PHY_DATA3);
118 omap_cfg_reg(T3_3430_USB2HS_PHY_DATA4);
119 omap_cfg_reg(R3_3430_USB2HS_PHY_DATA5);
120 omap_cfg_reg(R4_3430_USB2HS_PHY_DATA6);
121 omap_cfg_reg(T2_3430_USB2HS_PHY_DATA7);
122 break;
123 case EHCI_HCD_OMAP_MODE_TLL:
124 omap_cfg_reg(AA10_3430_USB2HS_TLL_STP);
125 omap_cfg_reg(AA8_3430_USB2HS_TLL_CLK);
126 omap_cfg_reg(AA9_3430_USB2HS_TLL_DIR);
127 omap_cfg_reg(AB11_3430_USB2HS_TLL_NXT);
128 omap_cfg_reg(AB10_3430_USB2HS_TLL_DATA0);
129 omap_cfg_reg(AB9_3430_USB2HS_TLL_DATA1);
130 omap_cfg_reg(W3_3430_USB2HS_TLL_DATA2);
131 omap_cfg_reg(T4_3430_USB2HS_TLL_DATA3);
132 omap_cfg_reg(T3_3430_USB2HS_TLL_DATA4);
133 omap_cfg_reg(R3_3430_USB2HS_TLL_DATA5);
134 omap_cfg_reg(R4_3430_USB2HS_TLL_DATA6);
135 omap_cfg_reg(T2_3430_USB2HS_TLL_DATA7);
136 break;
137 case EHCI_HCD_OMAP_MODE_UNKNOWN:
138 /* FALLTHROUGH */
139 default:
140 break;
141 }
142
143 switch (port_mode[2]) {
144 case EHCI_HCD_OMAP_MODE_PHY:
145 printk(KERN_WARNING "Port3 can't be used in PHY mode\n");
146 break;
147 case EHCI_HCD_OMAP_MODE_TLL:
148 omap_cfg_reg(AB3_3430_USB3HS_TLL_STP);
149 omap_cfg_reg(AA6_3430_USB3HS_TLL_CLK);
150 omap_cfg_reg(AA3_3430_USB3HS_TLL_DIR);
151 omap_cfg_reg(Y3_3430_USB3HS_TLL_NXT);
152 omap_cfg_reg(AA5_3430_USB3HS_TLL_DATA0);
153 omap_cfg_reg(Y4_3430_USB3HS_TLL_DATA1);
154 omap_cfg_reg(Y5_3430_USB3HS_TLL_DATA2);
155 omap_cfg_reg(W5_3430_USB3HS_TLL_DATA3);
156 omap_cfg_reg(AB12_3430_USB3HS_TLL_DATA4);
157 omap_cfg_reg(AB13_3430_USB3HS_TLL_DATA5);
158 omap_cfg_reg(AA13_3430_USB3HS_TLL_DATA6);
159 omap_cfg_reg(AA12_3430_USB3HS_TLL_DATA7);
160 break;
161 case EHCI_HCD_OMAP_MODE_UNKNOWN:
162 /* FALLTHROUGH */
163 default:
164 break;
165 }
166
167 return;
168}
169
170void __init usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata)
171{
172 platform_device_add_data(&ehci_device, pdata, sizeof(*pdata));
173
174 /* Setup Pin IO MUX for EHCI */
175 if (cpu_is_omap34xx())
176 setup_ehci_io_mux(pdata->port_mode);
177
178 if (platform_device_register(&ehci_device) < 0) {
179 printk(KERN_ERR "Unable to register HS-USB (EHCI) device\n");
180 return;
181 }
182}
183
184#else
185
186void __init usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata)
187
188{
189}
190
191#endif /* CONFIG_USB_EHCI_HCD */
192
diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c
index 1145a2562b0f..a80441dd19b8 100644
--- a/arch/arm/mach-omap2/usb-musb.c
+++ b/arch/arm/mach-omap2/usb-musb.c
@@ -28,8 +28,8 @@
28 28
29#include <mach/hardware.h> 29#include <mach/hardware.h>
30#include <mach/irqs.h> 30#include <mach/irqs.h>
31#include <mach/mux.h> 31#include <plat/mux.h>
32#include <mach/usb.h> 32#include <plat/usb.h>
33 33
34#ifdef CONFIG_USB_MUSB_SOC 34#ifdef CONFIG_USB_MUSB_SOC
35 35
diff --git a/arch/arm/mach-omap2/usb-tusb6010.c b/arch/arm/mach-omap2/usb-tusb6010.c
index 8622c24cd270..10a2013c1104 100644
--- a/arch/arm/mach-omap2/usb-tusb6010.c
+++ b/arch/arm/mach-omap2/usb-tusb6010.c
@@ -16,8 +16,8 @@
16 16
17#include <linux/usb/musb.h> 17#include <linux/usb/musb.h>
18 18
19#include <mach/gpmc.h> 19#include <plat/gpmc.h>
20#include <mach/mux.h> 20#include <plat/mux.h>
21 21
22 22
23static u8 async_cs, sync_cs; 23static u8 async_cs, sync_cs;
diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
index 64b3f52bd9b2..f348ddfb0492 100644
--- a/arch/arm/plat-omap/Kconfig
+++ b/arch/arm/plat-omap/Kconfig
@@ -165,7 +165,7 @@ config OMAP_DM_TIMER
165choice 165choice
166 prompt "Low-level debug console UART" 166 prompt "Low-level debug console UART"
167 depends on ARCH_OMAP 167 depends on ARCH_OMAP
168 default OMAP_LL_DEBUG_UART1 168 default OMAP_LL_DEBUG_NONE
169 169
170config OMAP_LL_DEBUG_UART1 170config OMAP_LL_DEBUG_UART1
171 bool "UART1" 171 bool "UART1"
@@ -176,6 +176,9 @@ config OMAP_LL_DEBUG_UART2
176config OMAP_LL_DEBUG_UART3 176config OMAP_LL_DEBUG_UART3
177 bool "UART3" 177 bool "UART3"
178 178
179config OMAP_LL_DEBUG_NONE
180 bool "None"
181
179endchoice 182endchoice
180 183
181config OMAP_SERIAL_WAKE 184config OMAP_SERIAL_WAKE
diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c
index bf880e966d3b..681bfc37ebb2 100644
--- a/arch/arm/plat-omap/clock.c
+++ b/arch/arm/plat-omap/clock.c
@@ -24,7 +24,7 @@
24#include <linux/debugfs.h> 24#include <linux/debugfs.h>
25#include <linux/io.h> 25#include <linux/io.h>
26 26
27#include <mach/clock.h> 27#include <plat/clock.h>
28 28
29static LIST_HEAD(clocks); 29static LIST_HEAD(clocks);
30static DEFINE_MUTEX(clocks_mutex); 30static DEFINE_MUTEX(clocks_mutex);
diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
index 3a4768d55895..cc050b3313bd 100644
--- a/arch/arm/plat-omap/common.c
+++ b/arch/arm/plat-omap/common.c
@@ -29,13 +29,13 @@
29#include <asm/mach/map.h> 29#include <asm/mach/map.h>
30#include <asm/setup.h> 30#include <asm/setup.h>
31 31
32#include <mach/common.h> 32#include <plat/common.h>
33#include <mach/board.h> 33#include <plat/board.h>
34#include <mach/control.h> 34#include <plat/control.h>
35#include <mach/mux.h> 35#include <plat/mux.h>
36#include <mach/fpga.h> 36#include <plat/fpga.h>
37 37
38#include <mach/clock.h> 38#include <plat/clock.h>
39 39
40#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) 40#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3)
41# include "../mach-omap2/sdrc.h" 41# include "../mach-omap2/sdrc.h"
@@ -49,6 +49,9 @@ int omap_bootloader_tag_len;
49struct omap_board_config_kernel *omap_board_config; 49struct omap_board_config_kernel *omap_board_config;
50int omap_board_config_size; 50int omap_board_config_size;
51 51
52/* used by omap-smp.c and board-4430sdp.c */
53void __iomem *gic_cpu_base_addr;
54
52static const void *get_config(u16 tag, size_t len, int skip, size_t *len_out) 55static const void *get_config(u16 tag, size_t len, int skip, size_t *len_out)
53{ 56{
54 struct omap_board_config_kernel *kinfo = NULL; 57 struct omap_board_config_kernel *kinfo = NULL;
@@ -224,12 +227,12 @@ static void __init __omap2_set_globals(struct omap_globals *omap2_globals)
224 227
225static struct omap_globals omap242x_globals = { 228static struct omap_globals omap242x_globals = {
226 .class = OMAP242X_CLASS, 229 .class = OMAP242X_CLASS,
227 .tap = OMAP2_IO_ADDRESS(0x48014000), 230 .tap = OMAP2_L4_IO_ADDRESS(0x48014000),
228 .sdrc = OMAP2_IO_ADDRESS(OMAP2420_SDRC_BASE), 231 .sdrc = OMAP2_L3_IO_ADDRESS(OMAP2420_SDRC_BASE),
229 .sms = OMAP2_IO_ADDRESS(OMAP2420_SMS_BASE), 232 .sms = OMAP2_L3_IO_ADDRESS(OMAP2420_SMS_BASE),
230 .ctrl = OMAP2_IO_ADDRESS(OMAP2420_CTRL_BASE), 233 .ctrl = OMAP2_L4_IO_ADDRESS(OMAP2420_CTRL_BASE),
231 .prm = OMAP2_IO_ADDRESS(OMAP2420_PRM_BASE), 234 .prm = OMAP2_L4_IO_ADDRESS(OMAP2420_PRM_BASE),
232 .cm = OMAP2_IO_ADDRESS(OMAP2420_CM_BASE), 235 .cm = OMAP2_L4_IO_ADDRESS(OMAP2420_CM_BASE),
233}; 236};
234 237
235void __init omap2_set_globals_242x(void) 238void __init omap2_set_globals_242x(void)
@@ -242,12 +245,12 @@ void __init omap2_set_globals_242x(void)
242 245
243static struct omap_globals omap243x_globals = { 246static struct omap_globals omap243x_globals = {
244 .class = OMAP243X_CLASS, 247 .class = OMAP243X_CLASS,
245 .tap = OMAP2_IO_ADDRESS(0x4900a000), 248 .tap = OMAP2_L4_IO_ADDRESS(0x4900a000),
246 .sdrc = OMAP2_IO_ADDRESS(OMAP243X_SDRC_BASE), 249 .sdrc = OMAP2_L3_IO_ADDRESS(OMAP243X_SDRC_BASE),
247 .sms = OMAP2_IO_ADDRESS(OMAP243X_SMS_BASE), 250 .sms = OMAP2_L3_IO_ADDRESS(OMAP243X_SMS_BASE),
248 .ctrl = OMAP2_IO_ADDRESS(OMAP243X_CTRL_BASE), 251 .ctrl = OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE),
249 .prm = OMAP2_IO_ADDRESS(OMAP2430_PRM_BASE), 252 .prm = OMAP2_L4_IO_ADDRESS(OMAP2430_PRM_BASE),
250 .cm = OMAP2_IO_ADDRESS(OMAP2430_CM_BASE), 253 .cm = OMAP2_L4_IO_ADDRESS(OMAP2430_CM_BASE),
251}; 254};
252 255
253void __init omap2_set_globals_243x(void) 256void __init omap2_set_globals_243x(void)
@@ -260,12 +263,12 @@ void __init omap2_set_globals_243x(void)
260 263
261static struct omap_globals omap343x_globals = { 264static struct omap_globals omap343x_globals = {
262 .class = OMAP343X_CLASS, 265 .class = OMAP343X_CLASS,
263 .tap = OMAP2_IO_ADDRESS(0x4830A000), 266 .tap = OMAP2_L4_IO_ADDRESS(0x4830A000),
264 .sdrc = OMAP2_IO_ADDRESS(OMAP343X_SDRC_BASE), 267 .sdrc = OMAP2_L3_IO_ADDRESS(OMAP343X_SDRC_BASE),
265 .sms = OMAP2_IO_ADDRESS(OMAP343X_SMS_BASE), 268 .sms = OMAP2_L3_IO_ADDRESS(OMAP343X_SMS_BASE),
266 .ctrl = OMAP2_IO_ADDRESS(OMAP343X_CTRL_BASE), 269 .ctrl = OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE),
267 .prm = OMAP2_IO_ADDRESS(OMAP3430_PRM_BASE), 270 .prm = OMAP2_L4_IO_ADDRESS(OMAP3430_PRM_BASE),
268 .cm = OMAP2_IO_ADDRESS(OMAP3430_CM_BASE), 271 .cm = OMAP2_L4_IO_ADDRESS(OMAP3430_CM_BASE),
269}; 272};
270 273
271void __init omap2_set_globals_343x(void) 274void __init omap2_set_globals_343x(void)
@@ -277,10 +280,10 @@ void __init omap2_set_globals_343x(void)
277#if defined(CONFIG_ARCH_OMAP4) 280#if defined(CONFIG_ARCH_OMAP4)
278static struct omap_globals omap4_globals = { 281static struct omap_globals omap4_globals = {
279 .class = OMAP443X_CLASS, 282 .class = OMAP443X_CLASS,
280 .tap = OMAP2_IO_ADDRESS(0x4830a000), 283 .tap = OMAP2_L4_IO_ADDRESS(0x4830a000),
281 .ctrl = OMAP2_IO_ADDRESS(OMAP443X_CTRL_BASE), 284 .ctrl = OMAP2_L4_IO_ADDRESS(OMAP443X_CTRL_BASE),
282 .prm = OMAP2_IO_ADDRESS(OMAP4430_PRM_BASE), 285 .prm = OMAP2_L4_IO_ADDRESS(OMAP4430_PRM_BASE),
283 .cm = OMAP2_IO_ADDRESS(OMAP4430_CM_BASE), 286 .cm = OMAP2_L4_IO_ADDRESS(OMAP4430_CM_BASE),
284}; 287};
285 288
286void __init omap2_set_globals_443x(void) 289void __init omap2_set_globals_443x(void)
diff --git a/arch/arm/plat-omap/cpu-omap.c b/arch/arm/plat-omap/cpu-omap.c
index 341235c278ac..f8ddbdd8b076 100644
--- a/arch/arm/plat-omap/cpu-omap.c
+++ b/arch/arm/plat-omap/cpu-omap.c
@@ -23,7 +23,7 @@
23#include <linux/io.h> 23#include <linux/io.h>
24 24
25#include <mach/hardware.h> 25#include <mach/hardware.h>
26#include <mach/clock.h> 26#include <plat/clock.h>
27#include <asm/system.h> 27#include <asm/system.h>
28 28
29#define VERY_HI_RATE 900000000 29#define VERY_HI_RATE 900000000
diff --git a/arch/arm/plat-omap/debug-devices.c b/arch/arm/plat-omap/debug-devices.c
index f6684832ca8f..09c1107637f6 100644
--- a/arch/arm/plat-omap/debug-devices.c
+++ b/arch/arm/plat-omap/debug-devices.c
@@ -16,7 +16,7 @@
16 16
17#include <mach/hardware.h> 17#include <mach/hardware.h>
18 18
19#include <mach/board.h> 19#include <plat/board.h>
20#include <mach/gpio.h> 20#include <mach/gpio.h>
21 21
22 22
diff --git a/arch/arm/plat-omap/debug-leds.c b/arch/arm/plat-omap/debug-leds.c
index 9395898dd49a..6c768b71ad64 100644
--- a/arch/arm/plat-omap/debug-leds.c
+++ b/arch/arm/plat-omap/debug-leds.c
@@ -18,7 +18,7 @@
18#include <asm/system.h> 18#include <asm/system.h>
19#include <asm/mach-types.h> 19#include <asm/mach-types.h>
20 20
21#include <mach/fpga.h> 21#include <plat/fpga.h>
22#include <mach/gpio.h> 22#include <mach/gpio.h>
23 23
24 24
diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c
index a64b692a1bfe..f86617869b38 100644
--- a/arch/arm/plat-omap/devices.c
+++ b/arch/arm/plat-omap/devices.c
@@ -19,15 +19,15 @@
19#include <asm/mach-types.h> 19#include <asm/mach-types.h>
20#include <asm/mach/map.h> 20#include <asm/mach/map.h>
21 21
22#include <mach/tc.h> 22#include <plat/tc.h>
23#include <mach/control.h> 23#include <plat/control.h>
24#include <mach/board.h> 24#include <plat/board.h>
25#include <mach/mmc.h> 25#include <plat/mmc.h>
26#include <mach/mux.h> 26#include <plat/mux.h>
27#include <mach/gpio.h> 27#include <mach/gpio.h>
28#include <mach/menelaus.h> 28#include <plat/menelaus.h>
29#include <mach/mcbsp.h> 29#include <plat/mcbsp.h>
30#include <mach/dsp_common.h> 30#include <plat/dsp_common.h>
31 31
32#if defined(CONFIG_OMAP_DSP) || defined(CONFIG_OMAP_DSP_MODULE) 32#if defined(CONFIG_OMAP_DSP) || defined(CONFIG_OMAP_DSP_MODULE)
33 33
@@ -113,17 +113,17 @@ static void omap_init_kp(void)
113 omap_cfg_reg(E19_1610_KBR4); 113 omap_cfg_reg(E19_1610_KBR4);
114 omap_cfg_reg(N19_1610_KBR5); 114 omap_cfg_reg(N19_1610_KBR5);
115 } else if (machine_is_omap_perseus2() || machine_is_omap_fsample()) { 115 } else if (machine_is_omap_perseus2() || machine_is_omap_fsample()) {
116 omap_cfg_reg(E2_730_KBR0); 116 omap_cfg_reg(E2_7XX_KBR0);
117 omap_cfg_reg(J7_730_KBR1); 117 omap_cfg_reg(J7_7XX_KBR1);
118 omap_cfg_reg(E1_730_KBR2); 118 omap_cfg_reg(E1_7XX_KBR2);
119 omap_cfg_reg(F3_730_KBR3); 119 omap_cfg_reg(F3_7XX_KBR3);
120 omap_cfg_reg(D2_730_KBR4); 120 omap_cfg_reg(D2_7XX_KBR4);
121 121
122 omap_cfg_reg(C2_730_KBC0); 122 omap_cfg_reg(C2_7XX_KBC0);
123 omap_cfg_reg(D3_730_KBC1); 123 omap_cfg_reg(D3_7XX_KBC1);
124 omap_cfg_reg(E4_730_KBC2); 124 omap_cfg_reg(E4_7XX_KBC2);
125 omap_cfg_reg(F4_730_KBC3); 125 omap_cfg_reg(F4_7XX_KBC3);
126 omap_cfg_reg(E3_730_KBC4); 126 omap_cfg_reg(E3_7XX_KBC4);
127 } else if (machine_is_omap_h4()) { 127 } else if (machine_is_omap_h4()) {
128 omap_cfg_reg(T19_24XX_KBR0); 128 omap_cfg_reg(T19_24XX_KBR0);
129 omap_cfg_reg(R19_24XX_KBR1); 129 omap_cfg_reg(R19_24XX_KBR1);
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 68eaae324b6a..be4ce070fb4c 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -32,9 +32,9 @@
32 32
33#include <asm/system.h> 33#include <asm/system.h>
34#include <mach/hardware.h> 34#include <mach/hardware.h>
35#include <mach/dma.h> 35#include <plat/dma.h>
36 36
37#include <mach/tc.h> 37#include <plat/tc.h>
38 38
39#undef DEBUG 39#undef DEBUG
40 40
@@ -54,6 +54,12 @@ enum { DMA_CHAIN_STARTED, DMA_CHAIN_NOTSTARTED };
54 54
55static int enable_1510_mode; 55static int enable_1510_mode;
56 56
57static struct omap_dma_global_context_registers {
58 u32 dma_irqenable_l0;
59 u32 dma_ocp_sysconfig;
60 u32 dma_gcr;
61} omap_dma_global_context;
62
57struct omap_dma_lch { 63struct omap_dma_lch {
58 int next_lch; 64 int next_lch;
59 int dev_id; 65 int dev_id;
@@ -2355,44 +2361,83 @@ void omap_stop_lcd_dma(void)
2355} 2361}
2356EXPORT_SYMBOL(omap_stop_lcd_dma); 2362EXPORT_SYMBOL(omap_stop_lcd_dma);
2357 2363
2364void omap_dma_global_context_save(void)
2365{
2366 omap_dma_global_context.dma_irqenable_l0 =
2367 dma_read(IRQENABLE_L0);
2368 omap_dma_global_context.dma_ocp_sysconfig =
2369 dma_read(OCP_SYSCONFIG);
2370 omap_dma_global_context.dma_gcr = dma_read(GCR);
2371}
2372
2373void omap_dma_global_context_restore(void)
2374{
2375 int ch;
2376
2377 dma_write(omap_dma_global_context.dma_gcr, GCR);
2378 dma_write(omap_dma_global_context.dma_ocp_sysconfig,
2379 OCP_SYSCONFIG);
2380 dma_write(omap_dma_global_context.dma_irqenable_l0,
2381 IRQENABLE_L0);
2382
2383 /*
2384 * A bug in ROM code leaves IRQ status for channels 0 and 1 uncleared
2385 * after secure sram context save and restore. Hence we need to
2386 * manually clear those IRQs to avoid spurious interrupts. This
2387 * affects only secure devices.
2388 */
2389 if (cpu_is_omap34xx() && (omap_type() != OMAP2_DEVICE_TYPE_GP))
2390 dma_write(0x3 , IRQSTATUS_L0);
2391
2392 for (ch = 0; ch < dma_chan_count; ch++)
2393 if (dma_chan[ch].dev_id != -1)
2394 omap_clear_dma(ch);
2395}
2396
2358/*----------------------------------------------------------------------------*/ 2397/*----------------------------------------------------------------------------*/
2359 2398
2360static int __init omap_init_dma(void) 2399static int __init omap_init_dma(void)
2361{ 2400{
2401 unsigned long base;
2362 int ch, r; 2402 int ch, r;
2363 2403
2364 if (cpu_class_is_omap1()) { 2404 if (cpu_class_is_omap1()) {
2365 omap_dma_base = OMAP1_IO_ADDRESS(OMAP1_DMA_BASE); 2405 base = OMAP1_DMA_BASE;
2366 dma_lch_count = OMAP1_LOGICAL_DMA_CH_COUNT; 2406 dma_lch_count = OMAP1_LOGICAL_DMA_CH_COUNT;
2367 } else if (cpu_is_omap24xx()) { 2407 } else if (cpu_is_omap24xx()) {
2368 omap_dma_base = OMAP2_IO_ADDRESS(OMAP24XX_DMA4_BASE); 2408 base = OMAP24XX_DMA4_BASE;
2369 dma_lch_count = OMAP_DMA4_LOGICAL_DMA_CH_COUNT; 2409 dma_lch_count = OMAP_DMA4_LOGICAL_DMA_CH_COUNT;
2370 } else if (cpu_is_omap34xx()) { 2410 } else if (cpu_is_omap34xx()) {
2371 omap_dma_base = OMAP2_IO_ADDRESS(OMAP34XX_DMA4_BASE); 2411 base = OMAP34XX_DMA4_BASE;
2372 dma_lch_count = OMAP_DMA4_LOGICAL_DMA_CH_COUNT; 2412 dma_lch_count = OMAP_DMA4_LOGICAL_DMA_CH_COUNT;
2373 } else if (cpu_is_omap44xx()) { 2413 } else if (cpu_is_omap44xx()) {
2374 omap_dma_base = OMAP2_IO_ADDRESS(OMAP44XX_DMA4_BASE); 2414 base = OMAP44XX_DMA4_BASE;
2375 dma_lch_count = OMAP_DMA4_LOGICAL_DMA_CH_COUNT; 2415 dma_lch_count = OMAP_DMA4_LOGICAL_DMA_CH_COUNT;
2376 } else { 2416 } else {
2377 pr_err("DMA init failed for unsupported omap\n"); 2417 pr_err("DMA init failed for unsupported omap\n");
2378 return -ENODEV; 2418 return -ENODEV;
2379 } 2419 }
2380 2420
2421 omap_dma_base = ioremap(base, SZ_4K);
2422 BUG_ON(!omap_dma_base);
2423
2381 if (cpu_class_is_omap2() && omap_dma_reserve_channels 2424 if (cpu_class_is_omap2() && omap_dma_reserve_channels
2382 && (omap_dma_reserve_channels <= dma_lch_count)) 2425 && (omap_dma_reserve_channels <= dma_lch_count))
2383 dma_lch_count = omap_dma_reserve_channels; 2426 dma_lch_count = omap_dma_reserve_channels;
2384 2427
2385 dma_chan = kzalloc(sizeof(struct omap_dma_lch) * dma_lch_count, 2428 dma_chan = kzalloc(sizeof(struct omap_dma_lch) * dma_lch_count,
2386 GFP_KERNEL); 2429 GFP_KERNEL);
2387 if (!dma_chan) 2430 if (!dma_chan) {
2388 return -ENOMEM; 2431 r = -ENOMEM;
2432 goto out_unmap;
2433 }
2389 2434
2390 if (cpu_class_is_omap2()) { 2435 if (cpu_class_is_omap2()) {
2391 dma_linked_lch = kzalloc(sizeof(struct dma_link_info) * 2436 dma_linked_lch = kzalloc(sizeof(struct dma_link_info) *
2392 dma_lch_count, GFP_KERNEL); 2437 dma_lch_count, GFP_KERNEL);
2393 if (!dma_linked_lch) { 2438 if (!dma_linked_lch) {
2394 kfree(dma_chan); 2439 r = -ENOMEM;
2395 return -ENOMEM; 2440 goto out_free;
2396 } 2441 }
2397 } 2442 }
2398 2443
@@ -2466,7 +2511,7 @@ static int __init omap_init_dma(void)
2466 for (i = 0; i < ch; i++) 2511 for (i = 0; i < ch; i++)
2467 free_irq(omap1_dma_irq[i], 2512 free_irq(omap1_dma_irq[i],
2468 (void *) (i + 1)); 2513 (void *) (i + 1));
2469 return r; 2514 goto out_free;
2470 } 2515 }
2471 } 2516 }
2472 } 2517 }
@@ -2484,8 +2529,8 @@ static int __init omap_init_dma(void)
2484 setup_irq(irq, &omap24xx_dma_irq); 2529 setup_irq(irq, &omap24xx_dma_irq);
2485 } 2530 }
2486 2531
2487 /* Enable smartidle idlemodes and autoidle */
2488 if (cpu_is_omap34xx()) { 2532 if (cpu_is_omap34xx()) {
2533 /* Enable smartidle idlemodes and autoidle */
2489 u32 v = dma_read(OCP_SYSCONFIG); 2534 u32 v = dma_read(OCP_SYSCONFIG);
2490 v &= ~(DMA_SYSCONFIG_MIDLEMODE_MASK | 2535 v &= ~(DMA_SYSCONFIG_MIDLEMODE_MASK |
2491 DMA_SYSCONFIG_SIDLEMODE_MASK | 2536 DMA_SYSCONFIG_SIDLEMODE_MASK |
@@ -2494,6 +2539,13 @@ static int __init omap_init_dma(void)
2494 DMA_SYSCONFIG_SIDLEMODE(DMA_IDLEMODE_SMARTIDLE) | 2539 DMA_SYSCONFIG_SIDLEMODE(DMA_IDLEMODE_SMARTIDLE) |
2495 DMA_SYSCONFIG_AUTOIDLE); 2540 DMA_SYSCONFIG_AUTOIDLE);
2496 dma_write(v , OCP_SYSCONFIG); 2541 dma_write(v , OCP_SYSCONFIG);
2542 /* reserve dma channels 0 and 1 in high security devices */
2543 if (omap_type() != OMAP2_DEVICE_TYPE_GP) {
2544 printk(KERN_INFO "Reserving DMA channels 0 and 1 for "
2545 "HS ROM code\n");
2546 dma_chan[0].dev_id = 0;
2547 dma_chan[1].dev_id = 1;
2548 }
2497 } 2549 }
2498 2550
2499 2551
@@ -2508,11 +2560,19 @@ static int __init omap_init_dma(void)
2508 "(error %d)\n", r); 2560 "(error %d)\n", r);
2509 for (i = 0; i < dma_chan_count; i++) 2561 for (i = 0; i < dma_chan_count; i++)
2510 free_irq(omap1_dma_irq[i], (void *) (i + 1)); 2562 free_irq(omap1_dma_irq[i], (void *) (i + 1));
2511 return r; 2563 goto out_free;
2512 } 2564 }
2513 } 2565 }
2514 2566
2515 return 0; 2567 return 0;
2568
2569out_free:
2570 kfree(dma_chan);
2571
2572out_unmap:
2573 iounmap(omap_dma_base);
2574
2575 return r;
2516} 2576}
2517 2577
2518arch_initcall(omap_init_dma); 2578arch_initcall(omap_init_dma);
diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
index d325b54daeb5..64f407ee0f4e 100644
--- a/arch/arm/plat-omap/dmtimer.c
+++ b/arch/arm/plat-omap/dmtimer.c
@@ -38,7 +38,7 @@
38#include <linux/io.h> 38#include <linux/io.h>
39#include <linux/module.h> 39#include <linux/module.h>
40#include <mach/hardware.h> 40#include <mach/hardware.h>
41#include <mach/dmtimer.h> 41#include <plat/dmtimer.h>
42#include <mach/irqs.h> 42#include <mach/irqs.h>
43 43
44/* register offsets */ 44/* register offsets */
@@ -742,16 +742,17 @@ EXPORT_SYMBOL_GPL(omap_dm_timers_active);
742int __init omap_dm_timer_init(void) 742int __init omap_dm_timer_init(void)
743{ 743{
744 struct omap_dm_timer *timer; 744 struct omap_dm_timer *timer;
745 int i; 745 int i, map_size = SZ_8K; /* Module 4KB + L4 4KB except on omap1 */
746 746
747 if (!(cpu_is_omap16xx() || cpu_class_is_omap2())) 747 if (!(cpu_is_omap16xx() || cpu_class_is_omap2()))
748 return -ENODEV; 748 return -ENODEV;
749 749
750 spin_lock_init(&dm_timer_lock); 750 spin_lock_init(&dm_timer_lock);
751 751
752 if (cpu_class_is_omap1()) 752 if (cpu_class_is_omap1()) {
753 dm_timers = omap1_dm_timers; 753 dm_timers = omap1_dm_timers;
754 else if (cpu_is_omap24xx()) { 754 map_size = SZ_2K;
755 } else if (cpu_is_omap24xx()) {
755 dm_timers = omap2_dm_timers; 756 dm_timers = omap2_dm_timers;
756 dm_source_names = omap2_dm_source_names; 757 dm_source_names = omap2_dm_source_names;
757 dm_source_clocks = omap2_dm_source_clocks; 758 dm_source_clocks = omap2_dm_source_clocks;
@@ -774,10 +775,11 @@ int __init omap_dm_timer_init(void)
774 775
775 for (i = 0; i < dm_timer_count; i++) { 776 for (i = 0; i < dm_timer_count; i++) {
776 timer = &dm_timers[i]; 777 timer = &dm_timers[i];
777 if (cpu_class_is_omap1()) 778
778 timer->io_base = OMAP1_IO_ADDRESS(timer->phys_base); 779 /* Static mapping, never released */
779 else 780 timer->io_base = ioremap(timer->phys_base, map_size);
780 timer->io_base = OMAP2_IO_ADDRESS(timer->phys_base); 781 BUG_ON(!timer->io_base);
782
781#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \ 783#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \
782 defined(CONFIG_ARCH_OMAP4) 784 defined(CONFIG_ARCH_OMAP4)
783 if (cpu_class_is_omap2()) { 785 if (cpu_class_is_omap2()) {
diff --git a/arch/arm/plat-omap/fb.c b/arch/arm/plat-omap/fb.c
index 3746222bed10..78a4ce538dbd 100644
--- a/arch/arm/plat-omap/fb.c
+++ b/arch/arm/plat-omap/fb.c
@@ -32,9 +32,9 @@
32#include <mach/hardware.h> 32#include <mach/hardware.h>
33#include <asm/mach/map.h> 33#include <asm/mach/map.h>
34 34
35#include <mach/board.h> 35#include <plat/board.h>
36#include <mach/sram.h> 36#include <plat/sram.h>
37#include <mach/omapfb.h> 37#include <plat/omapfb.h>
38 38
39#if defined(CONFIG_FB_OMAP) || defined(CONFIG_FB_OMAP_MODULE) 39#if defined(CONFIG_FB_OMAP) || defined(CONFIG_FB_OMAP_MODULE)
40 40
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
index 7c345b757df1..055160e0620e 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -31,7 +31,7 @@
31/* 31/*
32 * OMAP1510 GPIO registers 32 * OMAP1510 GPIO registers
33 */ 33 */
34#define OMAP1510_GPIO_BASE OMAP1_IO_ADDRESS(0xfffce000) 34#define OMAP1510_GPIO_BASE 0xfffce000
35#define OMAP1510_GPIO_DATA_INPUT 0x00 35#define OMAP1510_GPIO_DATA_INPUT 0x00
36#define OMAP1510_GPIO_DATA_OUTPUT 0x04 36#define OMAP1510_GPIO_DATA_OUTPUT 0x04
37#define OMAP1510_GPIO_DIR_CONTROL 0x08 37#define OMAP1510_GPIO_DIR_CONTROL 0x08
@@ -45,10 +45,10 @@
45/* 45/*
46 * OMAP1610 specific GPIO registers 46 * OMAP1610 specific GPIO registers
47 */ 47 */
48#define OMAP1610_GPIO1_BASE OMAP1_IO_ADDRESS(0xfffbe400) 48#define OMAP1610_GPIO1_BASE 0xfffbe400
49#define OMAP1610_GPIO2_BASE OMAP1_IO_ADDRESS(0xfffbec00) 49#define OMAP1610_GPIO2_BASE 0xfffbec00
50#define OMAP1610_GPIO3_BASE OMAP1_IO_ADDRESS(0xfffbb400) 50#define OMAP1610_GPIO3_BASE 0xfffbb400
51#define OMAP1610_GPIO4_BASE OMAP1_IO_ADDRESS(0xfffbbc00) 51#define OMAP1610_GPIO4_BASE 0xfffbbc00
52#define OMAP1610_GPIO_REVISION 0x0000 52#define OMAP1610_GPIO_REVISION 0x0000
53#define OMAP1610_GPIO_SYSCONFIG 0x0010 53#define OMAP1610_GPIO_SYSCONFIG 0x0010
54#define OMAP1610_GPIO_SYSSTATUS 0x0014 54#define OMAP1610_GPIO_SYSSTATUS 0x0014
@@ -68,52 +68,36 @@
68#define OMAP1610_GPIO_SET_DATAOUT 0x00f0 68#define OMAP1610_GPIO_SET_DATAOUT 0x00f0
69 69
70/* 70/*
71 * OMAP730 specific GPIO registers 71 * OMAP7XX specific GPIO registers
72 */ 72 */
73#define OMAP730_GPIO1_BASE OMAP1_IO_ADDRESS(0xfffbc000) 73#define OMAP7XX_GPIO1_BASE 0xfffbc000
74#define OMAP730_GPIO2_BASE OMAP1_IO_ADDRESS(0xfffbc800) 74#define OMAP7XX_GPIO2_BASE 0xfffbc800
75#define OMAP730_GPIO3_BASE OMAP1_IO_ADDRESS(0xfffbd000) 75#define OMAP7XX_GPIO3_BASE 0xfffbd000
76#define OMAP730_GPIO4_BASE OMAP1_IO_ADDRESS(0xfffbd800) 76#define OMAP7XX_GPIO4_BASE 0xfffbd800
77#define OMAP730_GPIO5_BASE OMAP1_IO_ADDRESS(0xfffbe000) 77#define OMAP7XX_GPIO5_BASE 0xfffbe000
78#define OMAP730_GPIO6_BASE OMAP1_IO_ADDRESS(0xfffbe800) 78#define OMAP7XX_GPIO6_BASE 0xfffbe800
79#define OMAP730_GPIO_DATA_INPUT 0x00 79#define OMAP7XX_GPIO_DATA_INPUT 0x00
80#define OMAP730_GPIO_DATA_OUTPUT 0x04 80#define OMAP7XX_GPIO_DATA_OUTPUT 0x04
81#define OMAP730_GPIO_DIR_CONTROL 0x08 81#define OMAP7XX_GPIO_DIR_CONTROL 0x08
82#define OMAP730_GPIO_INT_CONTROL 0x0c 82#define OMAP7XX_GPIO_INT_CONTROL 0x0c
83#define OMAP730_GPIO_INT_MASK 0x10 83#define OMAP7XX_GPIO_INT_MASK 0x10
84#define OMAP730_GPIO_INT_STATUS 0x14 84#define OMAP7XX_GPIO_INT_STATUS 0x14
85 85
86/* 86#define OMAP1_MPUIO_VBASE OMAP1_MPUIO_BASE
87 * OMAP850 specific GPIO registers
88 */
89#define OMAP850_GPIO1_BASE OMAP1_IO_ADDRESS(0xfffbc000)
90#define OMAP850_GPIO2_BASE OMAP1_IO_ADDRESS(0xfffbc800)
91#define OMAP850_GPIO3_BASE OMAP1_IO_ADDRESS(0xfffbd000)
92#define OMAP850_GPIO4_BASE OMAP1_IO_ADDRESS(0xfffbd800)
93#define OMAP850_GPIO5_BASE OMAP1_IO_ADDRESS(0xfffbe000)
94#define OMAP850_GPIO6_BASE OMAP1_IO_ADDRESS(0xfffbe800)
95#define OMAP850_GPIO_DATA_INPUT 0x00
96#define OMAP850_GPIO_DATA_OUTPUT 0x04
97#define OMAP850_GPIO_DIR_CONTROL 0x08
98#define OMAP850_GPIO_INT_CONTROL 0x0c
99#define OMAP850_GPIO_INT_MASK 0x10
100#define OMAP850_GPIO_INT_STATUS 0x14
101
102#define OMAP1_MPUIO_VBASE OMAP1_IO_ADDRESS(OMAP1_MPUIO_BASE)
103 87
104/* 88/*
105 * omap24xx specific GPIO registers 89 * omap24xx specific GPIO registers
106 */ 90 */
107#define OMAP242X_GPIO1_BASE OMAP2_IO_ADDRESS(0x48018000) 91#define OMAP242X_GPIO1_BASE 0x48018000
108#define OMAP242X_GPIO2_BASE OMAP2_IO_ADDRESS(0x4801a000) 92#define OMAP242X_GPIO2_BASE 0x4801a000
109#define OMAP242X_GPIO3_BASE OMAP2_IO_ADDRESS(0x4801c000) 93#define OMAP242X_GPIO3_BASE 0x4801c000
110#define OMAP242X_GPIO4_BASE OMAP2_IO_ADDRESS(0x4801e000) 94#define OMAP242X_GPIO4_BASE 0x4801e000
111 95
112#define OMAP243X_GPIO1_BASE OMAP2_IO_ADDRESS(0x4900C000) 96#define OMAP243X_GPIO1_BASE 0x4900C000
113#define OMAP243X_GPIO2_BASE OMAP2_IO_ADDRESS(0x4900E000) 97#define OMAP243X_GPIO2_BASE 0x4900E000
114#define OMAP243X_GPIO3_BASE OMAP2_IO_ADDRESS(0x49010000) 98#define OMAP243X_GPIO3_BASE 0x49010000
115#define OMAP243X_GPIO4_BASE OMAP2_IO_ADDRESS(0x49012000) 99#define OMAP243X_GPIO4_BASE 0x49012000
116#define OMAP243X_GPIO5_BASE OMAP2_IO_ADDRESS(0x480B6000) 100#define OMAP243X_GPIO5_BASE 0x480B6000
117 101
118#define OMAP24XX_GPIO_REVISION 0x0000 102#define OMAP24XX_GPIO_REVISION 0x0000
119#define OMAP24XX_GPIO_SYSCONFIG 0x0010 103#define OMAP24XX_GPIO_SYSCONFIG 0x0010
@@ -170,24 +154,25 @@
170 * omap34xx specific GPIO registers 154 * omap34xx specific GPIO registers
171 */ 155 */
172 156
173#define OMAP34XX_GPIO1_BASE OMAP2_IO_ADDRESS(0x48310000) 157#define OMAP34XX_GPIO1_BASE 0x48310000
174#define OMAP34XX_GPIO2_BASE OMAP2_IO_ADDRESS(0x49050000) 158#define OMAP34XX_GPIO2_BASE 0x49050000
175#define OMAP34XX_GPIO3_BASE OMAP2_IO_ADDRESS(0x49052000) 159#define OMAP34XX_GPIO3_BASE 0x49052000
176#define OMAP34XX_GPIO4_BASE OMAP2_IO_ADDRESS(0x49054000) 160#define OMAP34XX_GPIO4_BASE 0x49054000
177#define OMAP34XX_GPIO5_BASE OMAP2_IO_ADDRESS(0x49056000) 161#define OMAP34XX_GPIO5_BASE 0x49056000
178#define OMAP34XX_GPIO6_BASE OMAP2_IO_ADDRESS(0x49058000) 162#define OMAP34XX_GPIO6_BASE 0x49058000
179 163
180/* 164/*
181 * OMAP44XX specific GPIO registers 165 * OMAP44XX specific GPIO registers
182 */ 166 */
183#define OMAP44XX_GPIO1_BASE OMAP2_IO_ADDRESS(0x4a310000) 167#define OMAP44XX_GPIO1_BASE 0x4a310000
184#define OMAP44XX_GPIO2_BASE OMAP2_IO_ADDRESS(0x48055000) 168#define OMAP44XX_GPIO2_BASE 0x48055000
185#define OMAP44XX_GPIO3_BASE OMAP2_IO_ADDRESS(0x48057000) 169#define OMAP44XX_GPIO3_BASE 0x48057000
186#define OMAP44XX_GPIO4_BASE OMAP2_IO_ADDRESS(0x48059000) 170#define OMAP44XX_GPIO4_BASE 0x48059000
187#define OMAP44XX_GPIO5_BASE OMAP2_IO_ADDRESS(0x4805B000) 171#define OMAP44XX_GPIO5_BASE 0x4805B000
188#define OMAP44XX_GPIO6_BASE OMAP2_IO_ADDRESS(0x4805D000) 172#define OMAP44XX_GPIO6_BASE 0x4805D000
189 173
190struct gpio_bank { 174struct gpio_bank {
175 unsigned long pbase;
191 void __iomem *base; 176 void __iomem *base;
192 u16 irq; 177 u16 irq;
193 u16 virtual_irq_start; 178 u16 virtual_irq_start;
@@ -210,101 +195,134 @@ struct gpio_bank {
210 spinlock_t lock; 195 spinlock_t lock;
211 struct gpio_chip chip; 196 struct gpio_chip chip;
212 struct clk *dbck; 197 struct clk *dbck;
198 u32 mod_usage;
213}; 199};
214 200
215#define METHOD_MPUIO 0 201#define METHOD_MPUIO 0
216#define METHOD_GPIO_1510 1 202#define METHOD_GPIO_1510 1
217#define METHOD_GPIO_1610 2 203#define METHOD_GPIO_1610 2
218#define METHOD_GPIO_730 3 204#define METHOD_GPIO_7XX 3
219#define METHOD_GPIO_850 4
220#define METHOD_GPIO_24XX 5 205#define METHOD_GPIO_24XX 5
221 206
222#ifdef CONFIG_ARCH_OMAP16XX 207#ifdef CONFIG_ARCH_OMAP16XX
223static struct gpio_bank gpio_bank_1610[5] = { 208static struct gpio_bank gpio_bank_1610[5] = {
224 { OMAP1_MPUIO_VBASE, INT_MPUIO, IH_MPUIO_BASE, METHOD_MPUIO}, 209 { OMAP1_MPUIO_VBASE, NULL, INT_MPUIO, IH_MPUIO_BASE,
225 { OMAP1610_GPIO1_BASE, INT_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_1610 }, 210 METHOD_MPUIO },
226 { OMAP1610_GPIO2_BASE, INT_1610_GPIO_BANK2, IH_GPIO_BASE + 16, METHOD_GPIO_1610 }, 211 { OMAP1610_GPIO1_BASE, NULL, INT_GPIO_BANK1, IH_GPIO_BASE,
227 { OMAP1610_GPIO3_BASE, INT_1610_GPIO_BANK3, IH_GPIO_BASE + 32, METHOD_GPIO_1610 }, 212 METHOD_GPIO_1610 },
228 { OMAP1610_GPIO4_BASE, INT_1610_GPIO_BANK4, IH_GPIO_BASE + 48, METHOD_GPIO_1610 }, 213 { OMAP1610_GPIO2_BASE, NULL, INT_1610_GPIO_BANK2, IH_GPIO_BASE + 16,
214 METHOD_GPIO_1610 },
215 { OMAP1610_GPIO3_BASE, NULL, INT_1610_GPIO_BANK3, IH_GPIO_BASE + 32,
216 METHOD_GPIO_1610 },
217 { OMAP1610_GPIO4_BASE, NULL, INT_1610_GPIO_BANK4, IH_GPIO_BASE + 48,
218 METHOD_GPIO_1610 },
229}; 219};
230#endif 220#endif
231 221
232#ifdef CONFIG_ARCH_OMAP15XX 222#ifdef CONFIG_ARCH_OMAP15XX
233static struct gpio_bank gpio_bank_1510[2] = { 223static struct gpio_bank gpio_bank_1510[2] = {
234 { OMAP1_MPUIO_VBASE, INT_MPUIO, IH_MPUIO_BASE, METHOD_MPUIO }, 224 { OMAP1_MPUIO_VBASE, NULL, INT_MPUIO, IH_MPUIO_BASE,
235 { OMAP1510_GPIO_BASE, INT_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_1510 } 225 METHOD_MPUIO },
236}; 226 { OMAP1510_GPIO_BASE, NULL, INT_GPIO_BANK1, IH_GPIO_BASE,
237#endif 227 METHOD_GPIO_1510 }
238
239#ifdef CONFIG_ARCH_OMAP730
240static struct gpio_bank gpio_bank_730[7] = {
241 { OMAP1_MPUIO_VBASE, INT_730_MPUIO, IH_MPUIO_BASE, METHOD_MPUIO },
242 { OMAP730_GPIO1_BASE, INT_730_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_730 },
243 { OMAP730_GPIO2_BASE, INT_730_GPIO_BANK2, IH_GPIO_BASE + 32, METHOD_GPIO_730 },
244 { OMAP730_GPIO3_BASE, INT_730_GPIO_BANK3, IH_GPIO_BASE + 64, METHOD_GPIO_730 },
245 { OMAP730_GPIO4_BASE, INT_730_GPIO_BANK4, IH_GPIO_BASE + 96, METHOD_GPIO_730 },
246 { OMAP730_GPIO5_BASE, INT_730_GPIO_BANK5, IH_GPIO_BASE + 128, METHOD_GPIO_730 },
247 { OMAP730_GPIO6_BASE, INT_730_GPIO_BANK6, IH_GPIO_BASE + 160, METHOD_GPIO_730 },
248}; 228};
249#endif 229#endif
250 230
251#ifdef CONFIG_ARCH_OMAP850 231#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
252static struct gpio_bank gpio_bank_850[7] = { 232static struct gpio_bank gpio_bank_7xx[7] = {
253 { OMAP1_MPUIO_VBASE, INT_850_MPUIO, IH_MPUIO_BASE, METHOD_MPUIO }, 233 { OMAP1_MPUIO_VBASE, NULL, INT_7XX_MPUIO, IH_MPUIO_BASE,
254 { OMAP850_GPIO1_BASE, INT_850_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_850 }, 234 METHOD_MPUIO },
255 { OMAP850_GPIO2_BASE, INT_850_GPIO_BANK2, IH_GPIO_BASE + 32, METHOD_GPIO_850 }, 235 { OMAP7XX_GPIO1_BASE, NULL, INT_7XX_GPIO_BANK1, IH_GPIO_BASE,
256 { OMAP850_GPIO3_BASE, INT_850_GPIO_BANK3, IH_GPIO_BASE + 64, METHOD_GPIO_850 }, 236 METHOD_GPIO_7XX },
257 { OMAP850_GPIO4_BASE, INT_850_GPIO_BANK4, IH_GPIO_BASE + 96, METHOD_GPIO_850 }, 237 { OMAP7XX_GPIO2_BASE, NULL, INT_7XX_GPIO_BANK2, IH_GPIO_BASE + 32,
258 { OMAP850_GPIO5_BASE, INT_850_GPIO_BANK5, IH_GPIO_BASE + 128, METHOD_GPIO_850 }, 238 METHOD_GPIO_7XX },
259 { OMAP850_GPIO6_BASE, INT_850_GPIO_BANK6, IH_GPIO_BASE + 160, METHOD_GPIO_850 }, 239 { OMAP7XX_GPIO3_BASE, NULL, INT_7XX_GPIO_BANK3, IH_GPIO_BASE + 64,
240 METHOD_GPIO_7XX },
241 { OMAP7XX_GPIO4_BASE, NULL, INT_7XX_GPIO_BANK4, IH_GPIO_BASE + 96,
242 METHOD_GPIO_7XX },
243 { OMAP7XX_GPIO5_BASE, NULL, INT_7XX_GPIO_BANK5, IH_GPIO_BASE + 128,
244 METHOD_GPIO_7XX },
245 { OMAP7XX_GPIO6_BASE, NULL, INT_7XX_GPIO_BANK6, IH_GPIO_BASE + 160,
246 METHOD_GPIO_7XX },
260}; 247};
261#endif 248#endif
262 249
263
264#ifdef CONFIG_ARCH_OMAP24XX 250#ifdef CONFIG_ARCH_OMAP24XX
265 251
266static struct gpio_bank gpio_bank_242x[4] = { 252static struct gpio_bank gpio_bank_242x[4] = {
267 { OMAP242X_GPIO1_BASE, INT_24XX_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_24XX }, 253 { OMAP242X_GPIO1_BASE, NULL, INT_24XX_GPIO_BANK1, IH_GPIO_BASE,
268 { OMAP242X_GPIO2_BASE, INT_24XX_GPIO_BANK2, IH_GPIO_BASE + 32, METHOD_GPIO_24XX }, 254 METHOD_GPIO_24XX },
269 { OMAP242X_GPIO3_BASE, INT_24XX_GPIO_BANK3, IH_GPIO_BASE + 64, METHOD_GPIO_24XX }, 255 { OMAP242X_GPIO2_BASE, NULL, INT_24XX_GPIO_BANK2, IH_GPIO_BASE + 32,
270 { OMAP242X_GPIO4_BASE, INT_24XX_GPIO_BANK4, IH_GPIO_BASE + 96, METHOD_GPIO_24XX }, 256 METHOD_GPIO_24XX },
257 { OMAP242X_GPIO3_BASE, NULL, INT_24XX_GPIO_BANK3, IH_GPIO_BASE + 64,
258 METHOD_GPIO_24XX },
259 { OMAP242X_GPIO4_BASE, NULL, INT_24XX_GPIO_BANK4, IH_GPIO_BASE + 96,
260 METHOD_GPIO_24XX },
271}; 261};
272 262
273static struct gpio_bank gpio_bank_243x[5] = { 263static struct gpio_bank gpio_bank_243x[5] = {
274 { OMAP243X_GPIO1_BASE, INT_24XX_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_24XX }, 264 { OMAP243X_GPIO1_BASE, NULL, INT_24XX_GPIO_BANK1, IH_GPIO_BASE,
275 { OMAP243X_GPIO2_BASE, INT_24XX_GPIO_BANK2, IH_GPIO_BASE + 32, METHOD_GPIO_24XX }, 265 METHOD_GPIO_24XX },
276 { OMAP243X_GPIO3_BASE, INT_24XX_GPIO_BANK3, IH_GPIO_BASE + 64, METHOD_GPIO_24XX }, 266 { OMAP243X_GPIO2_BASE, NULL, INT_24XX_GPIO_BANK2, IH_GPIO_BASE + 32,
277 { OMAP243X_GPIO4_BASE, INT_24XX_GPIO_BANK4, IH_GPIO_BASE + 96, METHOD_GPIO_24XX }, 267 METHOD_GPIO_24XX },
278 { OMAP243X_GPIO5_BASE, INT_24XX_GPIO_BANK5, IH_GPIO_BASE + 128, METHOD_GPIO_24XX }, 268 { OMAP243X_GPIO3_BASE, NULL, INT_24XX_GPIO_BANK3, IH_GPIO_BASE + 64,
269 METHOD_GPIO_24XX },
270 { OMAP243X_GPIO4_BASE, NULL, INT_24XX_GPIO_BANK4, IH_GPIO_BASE + 96,
271 METHOD_GPIO_24XX },
272 { OMAP243X_GPIO5_BASE, NULL, INT_24XX_GPIO_BANK5, IH_GPIO_BASE + 128,
273 METHOD_GPIO_24XX },
279}; 274};
280 275
281#endif 276#endif
282 277
283#ifdef CONFIG_ARCH_OMAP34XX 278#ifdef CONFIG_ARCH_OMAP34XX
284static struct gpio_bank gpio_bank_34xx[6] = { 279static struct gpio_bank gpio_bank_34xx[6] = {
285 { OMAP34XX_GPIO1_BASE, INT_34XX_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_24XX }, 280 { OMAP34XX_GPIO1_BASE, NULL, INT_34XX_GPIO_BANK1, IH_GPIO_BASE,
286 { OMAP34XX_GPIO2_BASE, INT_34XX_GPIO_BANK2, IH_GPIO_BASE + 32, METHOD_GPIO_24XX }, 281 METHOD_GPIO_24XX },
287 { OMAP34XX_GPIO3_BASE, INT_34XX_GPIO_BANK3, IH_GPIO_BASE + 64, METHOD_GPIO_24XX }, 282 { OMAP34XX_GPIO2_BASE, NULL, INT_34XX_GPIO_BANK2, IH_GPIO_BASE + 32,
288 { OMAP34XX_GPIO4_BASE, INT_34XX_GPIO_BANK4, IH_GPIO_BASE + 96, METHOD_GPIO_24XX }, 283 METHOD_GPIO_24XX },
289 { OMAP34XX_GPIO5_BASE, INT_34XX_GPIO_BANK5, IH_GPIO_BASE + 128, METHOD_GPIO_24XX }, 284 { OMAP34XX_GPIO3_BASE, NULL, INT_34XX_GPIO_BANK3, IH_GPIO_BASE + 64,
290 { OMAP34XX_GPIO6_BASE, INT_34XX_GPIO_BANK6, IH_GPIO_BASE + 160, METHOD_GPIO_24XX }, 285 METHOD_GPIO_24XX },
286 { OMAP34XX_GPIO4_BASE, NULL, INT_34XX_GPIO_BANK4, IH_GPIO_BASE + 96,
287 METHOD_GPIO_24XX },
288 { OMAP34XX_GPIO5_BASE, NULL, INT_34XX_GPIO_BANK5, IH_GPIO_BASE + 128,
289 METHOD_GPIO_24XX },
290 { OMAP34XX_GPIO6_BASE, NULL, INT_34XX_GPIO_BANK6, IH_GPIO_BASE + 160,
291 METHOD_GPIO_24XX },
291}; 292};
292 293
294struct omap3_gpio_regs {
295 u32 sysconfig;
296 u32 irqenable1;
297 u32 irqenable2;
298 u32 wake_en;
299 u32 ctrl;
300 u32 oe;
301 u32 leveldetect0;
302 u32 leveldetect1;
303 u32 risingdetect;
304 u32 fallingdetect;
305 u32 dataout;
306 u32 setwkuena;
307 u32 setdataout;
308};
309
310static struct omap3_gpio_regs gpio_context[OMAP34XX_NR_GPIOS];
293#endif 311#endif
294 312
295#ifdef CONFIG_ARCH_OMAP4 313#ifdef CONFIG_ARCH_OMAP4
296static struct gpio_bank gpio_bank_44xx[6] = { 314static struct gpio_bank gpio_bank_44xx[6] = {
297 { OMAP44XX_GPIO1_BASE, INT_44XX_GPIO_BANK1, IH_GPIO_BASE, \ 315 { OMAP44XX_GPIO1_BASE, NULL, INT_44XX_GPIO_BANK1, IH_GPIO_BASE,
298 METHOD_GPIO_24XX }, 316 METHOD_GPIO_24XX },
299 { OMAP44XX_GPIO2_BASE, INT_44XX_GPIO_BANK2, IH_GPIO_BASE + 32, \ 317 { OMAP44XX_GPIO2_BASE, NULL, INT_44XX_GPIO_BANK2, IH_GPIO_BASE + 32,
300 METHOD_GPIO_24XX }, 318 METHOD_GPIO_24XX },
301 { OMAP44XX_GPIO3_BASE, INT_44XX_GPIO_BANK3, IH_GPIO_BASE + 64, \ 319 { OMAP44XX_GPIO3_BASE, NULL, INT_44XX_GPIO_BANK3, IH_GPIO_BASE + 64,
302 METHOD_GPIO_24XX }, 320 METHOD_GPIO_24XX },
303 { OMAP44XX_GPIO4_BASE, INT_44XX_GPIO_BANK4, IH_GPIO_BASE + 96, \ 321 { OMAP44XX_GPIO4_BASE, NULL, INT_44XX_GPIO_BANK4, IH_GPIO_BASE + 96,
304 METHOD_GPIO_24XX }, 322 METHOD_GPIO_24XX },
305 { OMAP44XX_GPIO5_BASE, INT_44XX_GPIO_BANK5, IH_GPIO_BASE + 128, \ 323 { OMAP44XX_GPIO5_BASE, NULL, INT_44XX_GPIO_BANK5, IH_GPIO_BASE + 128,
306 METHOD_GPIO_24XX }, 324 METHOD_GPIO_24XX },
307 { OMAP44XX_GPIO6_BASE, INT_44XX_GPIO_BANK6, IH_GPIO_BASE + 160, \ 325 { OMAP44XX_GPIO6_BASE, NULL, INT_44XX_GPIO_BANK6, IH_GPIO_BASE + 160,
308 METHOD_GPIO_24XX }, 326 METHOD_GPIO_24XX },
309}; 327};
310 328
@@ -402,14 +420,9 @@ static void _set_gpio_direction(struct gpio_bank *bank, int gpio, int is_input)
402 reg += OMAP1610_GPIO_DIRECTION; 420 reg += OMAP1610_GPIO_DIRECTION;
403 break; 421 break;
404#endif 422#endif
405#ifdef CONFIG_ARCH_OMAP730 423#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
406 case METHOD_GPIO_730: 424 case METHOD_GPIO_7XX:
407 reg += OMAP730_GPIO_DIR_CONTROL; 425 reg += OMAP7XX_GPIO_DIR_CONTROL;
408 break;
409#endif
410#ifdef CONFIG_ARCH_OMAP850
411 case METHOD_GPIO_850:
412 reg += OMAP850_GPIO_DIR_CONTROL;
413 break; 426 break;
414#endif 427#endif
415#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) 428#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
@@ -469,19 +482,9 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
469 l = 1 << gpio; 482 l = 1 << gpio;
470 break; 483 break;
471#endif 484#endif
472#ifdef CONFIG_ARCH_OMAP730 485#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
473 case METHOD_GPIO_730: 486 case METHOD_GPIO_7XX:
474 reg += OMAP730_GPIO_DATA_OUTPUT; 487 reg += OMAP7XX_GPIO_DATA_OUTPUT;
475 l = __raw_readl(reg);
476 if (enable)
477 l |= 1 << gpio;
478 else
479 l &= ~(1 << gpio);
480 break;
481#endif
482#ifdef CONFIG_ARCH_OMAP850
483 case METHOD_GPIO_850:
484 reg += OMAP850_GPIO_DATA_OUTPUT;
485 l = __raw_readl(reg); 488 l = __raw_readl(reg);
486 if (enable) 489 if (enable)
487 l |= 1 << gpio; 490 l |= 1 << gpio;
@@ -537,14 +540,9 @@ static int _get_gpio_datain(struct gpio_bank *bank, int gpio)
537 reg += OMAP1610_GPIO_DATAIN; 540 reg += OMAP1610_GPIO_DATAIN;
538 break; 541 break;
539#endif 542#endif
540#ifdef CONFIG_ARCH_OMAP730 543#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
541 case METHOD_GPIO_730: 544 case METHOD_GPIO_7XX:
542 reg += OMAP730_GPIO_DATA_INPUT; 545 reg += OMAP7XX_GPIO_DATA_INPUT;
543 break;
544#endif
545#ifdef CONFIG_ARCH_OMAP850
546 case METHOD_GPIO_850:
547 reg += OMAP850_GPIO_DATA_INPUT;
548 break; 546 break;
549#endif 547#endif
550#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) 548#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
@@ -588,14 +586,9 @@ static int _get_gpio_dataout(struct gpio_bank *bank, int gpio)
588 reg += OMAP1610_GPIO_DATAOUT; 586 reg += OMAP1610_GPIO_DATAOUT;
589 break; 587 break;
590#endif 588#endif
591#ifdef CONFIG_ARCH_OMAP730 589#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
592 case METHOD_GPIO_730: 590 case METHOD_GPIO_7XX:
593 reg += OMAP730_GPIO_DATA_OUTPUT; 591 reg += OMAP7XX_GPIO_DATA_OUTPUT;
594 break;
595#endif
596#ifdef CONFIG_ARCH_OMAP850
597 case METHOD_GPIO_850:
598 reg += OMAP850_GPIO_DATA_OUTPUT;
599 break; 592 break;
600#endif 593#endif
601#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) || \ 594#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) || \
@@ -636,6 +629,10 @@ void omap_set_gpio_debounce(int gpio, int enable)
636#else 629#else
637 reg += OMAP24XX_GPIO_DEBOUNCE_EN; 630 reg += OMAP24XX_GPIO_DEBOUNCE_EN;
638#endif 631#endif
632 if (!(bank->mod_usage & l)) {
633 printk(KERN_ERR "GPIO %d not requested\n", gpio);
634 return;
635 }
639 636
640 spin_lock_irqsave(&bank->lock, flags); 637 spin_lock_irqsave(&bank->lock, flags);
641 val = __raw_readl(reg); 638 val = __raw_readl(reg);
@@ -671,6 +668,11 @@ void omap_set_gpio_debounce_time(int gpio, int enc_time)
671 bank = get_gpio_bank(gpio); 668 bank = get_gpio_bank(gpio);
672 reg = bank->base; 669 reg = bank->base;
673 670
671 if (!bank->mod_usage) {
672 printk(KERN_ERR "GPIO not requested\n");
673 return;
674 }
675
674 enc_time &= 0xff; 676 enc_time &= 0xff;
675#ifdef CONFIG_ARCH_OMAP4 677#ifdef CONFIG_ARCH_OMAP4
676 reg += OMAP4_GPIO_DEBOUNCINGTIME; 678 reg += OMAP4_GPIO_DEBOUNCINGTIME;
@@ -797,21 +799,9 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)
797 __raw_writel(1 << gpio, bank->base + OMAP1610_GPIO_CLEAR_WAKEUPENA); 799 __raw_writel(1 << gpio, bank->base + OMAP1610_GPIO_CLEAR_WAKEUPENA);
798 break; 800 break;
799#endif 801#endif
800#ifdef CONFIG_ARCH_OMAP730 802#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
801 case METHOD_GPIO_730: 803 case METHOD_GPIO_7XX:
802 reg += OMAP730_GPIO_INT_CONTROL; 804 reg += OMAP7XX_GPIO_INT_CONTROL;
803 l = __raw_readl(reg);
804 if (trigger & IRQ_TYPE_EDGE_RISING)
805 l |= 1 << gpio;
806 else if (trigger & IRQ_TYPE_EDGE_FALLING)
807 l &= ~(1 << gpio);
808 else
809 goto bad;
810 break;
811#endif
812#ifdef CONFIG_ARCH_OMAP850
813 case METHOD_GPIO_850:
814 reg += OMAP850_GPIO_INT_CONTROL;
815 l = __raw_readl(reg); 805 l = __raw_readl(reg);
816 if (trigger & IRQ_TYPE_EDGE_RISING) 806 if (trigger & IRQ_TYPE_EDGE_RISING)
817 l |= 1 << gpio; 807 l |= 1 << gpio;
@@ -897,14 +887,9 @@ static void _clear_gpio_irqbank(struct gpio_bank *bank, int gpio_mask)
897 reg += OMAP1610_GPIO_IRQSTATUS1; 887 reg += OMAP1610_GPIO_IRQSTATUS1;
898 break; 888 break;
899#endif 889#endif
900#ifdef CONFIG_ARCH_OMAP730 890#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
901 case METHOD_GPIO_730: 891 case METHOD_GPIO_7XX:
902 reg += OMAP730_GPIO_INT_STATUS; 892 reg += OMAP7XX_GPIO_INT_STATUS;
903 break;
904#endif
905#ifdef CONFIG_ARCH_OMAP850
906 case METHOD_GPIO_850:
907 reg += OMAP850_GPIO_INT_STATUS;
908 break; 893 break;
909#endif 894#endif
910#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) 895#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
@@ -971,16 +956,9 @@ static u32 _get_gpio_irqbank_mask(struct gpio_bank *bank)
971 mask = 0xffff; 956 mask = 0xffff;
972 break; 957 break;
973#endif 958#endif
974#ifdef CONFIG_ARCH_OMAP730 959#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
975 case METHOD_GPIO_730: 960 case METHOD_GPIO_7XX:
976 reg += OMAP730_GPIO_INT_MASK; 961 reg += OMAP7XX_GPIO_INT_MASK;
977 mask = 0xffffffff;
978 inv = 1;
979 break;
980#endif
981#ifdef CONFIG_ARCH_OMAP850
982 case METHOD_GPIO_850:
983 reg += OMAP850_GPIO_INT_MASK;
984 mask = 0xffffffff; 962 mask = 0xffffffff;
985 inv = 1; 963 inv = 1;
986 break; 964 break;
@@ -1044,19 +1022,9 @@ static void _enable_gpio_irqbank(struct gpio_bank *bank, int gpio_mask, int enab
1044 l = gpio_mask; 1022 l = gpio_mask;
1045 break; 1023 break;
1046#endif 1024#endif
1047#ifdef CONFIG_ARCH_OMAP730 1025#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
1048 case METHOD_GPIO_730: 1026 case METHOD_GPIO_7XX:
1049 reg += OMAP730_GPIO_INT_MASK; 1027 reg += OMAP7XX_GPIO_INT_MASK;
1050 l = __raw_readl(reg);
1051 if (enable)
1052 l &= ~(gpio_mask);
1053 else
1054 l |= gpio_mask;
1055 break;
1056#endif
1057#ifdef CONFIG_ARCH_OMAP850
1058 case METHOD_GPIO_850:
1059 reg += OMAP850_GPIO_INT_MASK;
1060 l = __raw_readl(reg); 1028 l = __raw_readl(reg);
1061 if (enable) 1029 if (enable)
1062 l &= ~(gpio_mask); 1030 l &= ~(gpio_mask);
@@ -1186,6 +1154,16 @@ static int omap_gpio_request(struct gpio_chip *chip, unsigned offset)
1186 __raw_writel(__raw_readl(reg) | (1 << offset), reg); 1154 __raw_writel(__raw_readl(reg) | (1 << offset), reg);
1187 } 1155 }
1188#endif 1156#endif
1157 if (!cpu_class_is_omap1()) {
1158 if (!bank->mod_usage) {
1159 u32 ctrl;
1160 ctrl = __raw_readl(bank->base + OMAP24XX_GPIO_CTRL);
1161 ctrl &= 0xFFFFFFFE;
1162 /* Module is enabled, clocks are not gated */
1163 __raw_writel(ctrl, bank->base + OMAP24XX_GPIO_CTRL);
1164 }
1165 bank->mod_usage |= 1 << offset;
1166 }
1189 spin_unlock_irqrestore(&bank->lock, flags); 1167 spin_unlock_irqrestore(&bank->lock, flags);
1190 1168
1191 return 0; 1169 return 0;
@@ -1212,6 +1190,16 @@ static void omap_gpio_free(struct gpio_chip *chip, unsigned offset)
1212 __raw_writel(1 << offset, reg); 1190 __raw_writel(1 << offset, reg);
1213 } 1191 }
1214#endif 1192#endif
1193 if (!cpu_class_is_omap1()) {
1194 bank->mod_usage &= ~(1 << offset);
1195 if (!bank->mod_usage) {
1196 u32 ctrl;
1197 ctrl = __raw_readl(bank->base + OMAP24XX_GPIO_CTRL);
1198 /* Module is disabled, clocks are gated */
1199 ctrl |= 1;
1200 __raw_writel(ctrl, bank->base + OMAP24XX_GPIO_CTRL);
1201 }
1202 }
1215 _reset_gpio(bank, bank->chip.base + offset); 1203 _reset_gpio(bank, bank->chip.base + offset);
1216 spin_unlock_irqrestore(&bank->lock, flags); 1204 spin_unlock_irqrestore(&bank->lock, flags);
1217} 1205}
@@ -1249,13 +1237,9 @@ static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
1249 if (bank->method == METHOD_GPIO_1610) 1237 if (bank->method == METHOD_GPIO_1610)
1250 isr_reg = bank->base + OMAP1610_GPIO_IRQSTATUS1; 1238 isr_reg = bank->base + OMAP1610_GPIO_IRQSTATUS1;
1251#endif 1239#endif
1252#ifdef CONFIG_ARCH_OMAP730 1240#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
1253 if (bank->method == METHOD_GPIO_730) 1241 if (bank->method == METHOD_GPIO_7XX)
1254 isr_reg = bank->base + OMAP730_GPIO_INT_STATUS; 1242 isr_reg = bank->base + OMAP7XX_GPIO_INT_STATUS;
1255#endif
1256#ifdef CONFIG_ARCH_OMAP850
1257 if (bank->method == METHOD_GPIO_850)
1258 isr_reg = bank->base + OMAP850_GPIO_INT_STATUS;
1259#endif 1243#endif
1260#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) 1244#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
1261 if (bank->method == METHOD_GPIO_24XX) 1245 if (bank->method == METHOD_GPIO_24XX)
@@ -1524,11 +1508,8 @@ static int gpio_is_input(struct gpio_bank *bank, int mask)
1524 case METHOD_GPIO_1610: 1508 case METHOD_GPIO_1610:
1525 reg += OMAP1610_GPIO_DIRECTION; 1509 reg += OMAP1610_GPIO_DIRECTION;
1526 break; 1510 break;
1527 case METHOD_GPIO_730: 1511 case METHOD_GPIO_7XX:
1528 reg += OMAP730_GPIO_DIR_CONTROL; 1512 reg += OMAP7XX_GPIO_DIR_CONTROL;
1529 break;
1530 case METHOD_GPIO_850:
1531 reg += OMAP850_GPIO_DIR_CONTROL;
1532 break; 1513 break;
1533 case METHOD_GPIO_24XX: 1514 case METHOD_GPIO_24XX:
1534 reg += OMAP24XX_GPIO_OE; 1515 reg += OMAP24XX_GPIO_OE;
@@ -1607,6 +1588,23 @@ static struct clk * gpio5_fck;
1607static struct clk *gpio_iclks[OMAP34XX_NR_GPIOS]; 1588static struct clk *gpio_iclks[OMAP34XX_NR_GPIOS];
1608#endif 1589#endif
1609 1590
1591static void __init omap_gpio_show_rev(void)
1592{
1593 u32 rev;
1594
1595 if (cpu_is_omap16xx())
1596 rev = __raw_readw(gpio_bank[1].base + OMAP1610_GPIO_REVISION);
1597 else if (cpu_is_omap24xx() || cpu_is_omap34xx())
1598 rev = __raw_readl(gpio_bank[0].base + OMAP24XX_GPIO_REVISION);
1599 else if (cpu_is_omap44xx())
1600 rev = __raw_readl(gpio_bank[0].base + OMAP4_GPIO_REVISION);
1601 else
1602 return;
1603
1604 printk(KERN_INFO "OMAP GPIO hardware version %d.%d\n",
1605 (rev >> 4) & 0x0f, rev & 0x0f);
1606}
1607
1610/* This lock class tells lockdep that GPIO irqs are in a different 1608/* This lock class tells lockdep that GPIO irqs are in a different
1611 * category than their parents, so it won't report false recursion. 1609 * category than their parents, so it won't report false recursion.
1612 */ 1610 */
@@ -1617,6 +1615,7 @@ static int __init _omap_gpio_init(void)
1617 int i; 1615 int i;
1618 int gpio = 0; 1616 int gpio = 0;
1619 struct gpio_bank *bank; 1617 struct gpio_bank *bank;
1618 int bank_size = SZ_8K; /* Module 4KB + L4 4KB except on omap1 */
1620 char clk_name[11]; 1619 char clk_name[11];
1621 1620
1622 initialized = 1; 1621 initialized = 1;
@@ -1679,77 +1678,45 @@ static int __init _omap_gpio_init(void)
1679 1678
1680#ifdef CONFIG_ARCH_OMAP15XX 1679#ifdef CONFIG_ARCH_OMAP15XX
1681 if (cpu_is_omap15xx()) { 1680 if (cpu_is_omap15xx()) {
1682 printk(KERN_INFO "OMAP1510 GPIO hardware\n");
1683 gpio_bank_count = 2; 1681 gpio_bank_count = 2;
1684 gpio_bank = gpio_bank_1510; 1682 gpio_bank = gpio_bank_1510;
1683 bank_size = SZ_2K;
1685 } 1684 }
1686#endif 1685#endif
1687#if defined(CONFIG_ARCH_OMAP16XX) 1686#if defined(CONFIG_ARCH_OMAP16XX)
1688 if (cpu_is_omap16xx()) { 1687 if (cpu_is_omap16xx()) {
1689 u32 rev;
1690
1691 gpio_bank_count = 5; 1688 gpio_bank_count = 5;
1692 gpio_bank = gpio_bank_1610; 1689 gpio_bank = gpio_bank_1610;
1693 rev = __raw_readw(gpio_bank[1].base + OMAP1610_GPIO_REVISION); 1690 bank_size = SZ_2K;
1694 printk(KERN_INFO "OMAP GPIO hardware version %d.%d\n",
1695 (rev >> 4) & 0x0f, rev & 0x0f);
1696 } 1691 }
1697#endif 1692#endif
1698#ifdef CONFIG_ARCH_OMAP730 1693#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
1699 if (cpu_is_omap730()) { 1694 if (cpu_is_omap7xx()) {
1700 printk(KERN_INFO "OMAP730 GPIO hardware\n");
1701 gpio_bank_count = 7;
1702 gpio_bank = gpio_bank_730;
1703 }
1704#endif
1705#ifdef CONFIG_ARCH_OMAP850
1706 if (cpu_is_omap850()) {
1707 printk(KERN_INFO "OMAP850 GPIO hardware\n");
1708 gpio_bank_count = 7; 1695 gpio_bank_count = 7;
1709 gpio_bank = gpio_bank_850; 1696 gpio_bank = gpio_bank_7xx;
1697 bank_size = SZ_2K;
1710 } 1698 }
1711#endif 1699#endif
1712
1713#ifdef CONFIG_ARCH_OMAP24XX 1700#ifdef CONFIG_ARCH_OMAP24XX
1714 if (cpu_is_omap242x()) { 1701 if (cpu_is_omap242x()) {
1715 int rev;
1716
1717 gpio_bank_count = 4; 1702 gpio_bank_count = 4;
1718 gpio_bank = gpio_bank_242x; 1703 gpio_bank = gpio_bank_242x;
1719 rev = __raw_readl(gpio_bank[0].base + OMAP24XX_GPIO_REVISION);
1720 printk(KERN_INFO "OMAP242x GPIO hardware version %d.%d\n",
1721 (rev >> 4) & 0x0f, rev & 0x0f);
1722 } 1704 }
1723 if (cpu_is_omap243x()) { 1705 if (cpu_is_omap243x()) {
1724 int rev;
1725
1726 gpio_bank_count = 5; 1706 gpio_bank_count = 5;
1727 gpio_bank = gpio_bank_243x; 1707 gpio_bank = gpio_bank_243x;
1728 rev = __raw_readl(gpio_bank[0].base + OMAP24XX_GPIO_REVISION);
1729 printk(KERN_INFO "OMAP243x GPIO hardware version %d.%d\n",
1730 (rev >> 4) & 0x0f, rev & 0x0f);
1731 } 1708 }
1732#endif 1709#endif
1733#ifdef CONFIG_ARCH_OMAP34XX 1710#ifdef CONFIG_ARCH_OMAP34XX
1734 if (cpu_is_omap34xx()) { 1711 if (cpu_is_omap34xx()) {
1735 int rev;
1736
1737 gpio_bank_count = OMAP34XX_NR_GPIOS; 1712 gpio_bank_count = OMAP34XX_NR_GPIOS;
1738 gpio_bank = gpio_bank_34xx; 1713 gpio_bank = gpio_bank_34xx;
1739 rev = __raw_readl(gpio_bank[0].base + OMAP24XX_GPIO_REVISION);
1740 printk(KERN_INFO "OMAP34xx GPIO hardware version %d.%d\n",
1741 (rev >> 4) & 0x0f, rev & 0x0f);
1742 } 1714 }
1743#endif 1715#endif
1744#ifdef CONFIG_ARCH_OMAP4 1716#ifdef CONFIG_ARCH_OMAP4
1745 if (cpu_is_omap44xx()) { 1717 if (cpu_is_omap44xx()) {
1746 int rev;
1747
1748 gpio_bank_count = OMAP34XX_NR_GPIOS; 1718 gpio_bank_count = OMAP34XX_NR_GPIOS;
1749 gpio_bank = gpio_bank_44xx; 1719 gpio_bank = gpio_bank_44xx;
1750 rev = __raw_readl(gpio_bank[0].base + OMAP4_GPIO_REVISION);
1751 printk(KERN_INFO "OMAP44xx GPIO hardware version %d.%d\n",
1752 (rev >> 4) & 0x0f, rev & 0x0f);
1753 } 1720 }
1754#endif 1721#endif
1755 for (i = 0; i < gpio_bank_count; i++) { 1722 for (i = 0; i < gpio_bank_count; i++) {
@@ -1757,6 +1724,14 @@ static int __init _omap_gpio_init(void)
1757 1724
1758 bank = &gpio_bank[i]; 1725 bank = &gpio_bank[i];
1759 spin_lock_init(&bank->lock); 1726 spin_lock_init(&bank->lock);
1727
1728 /* Static mapping, never released */
1729 bank->base = ioremap(bank->pbase, bank_size);
1730 if (!bank->base) {
1731 printk(KERN_ERR "Could not ioremap gpio bank%i\n", i);
1732 continue;
1733 }
1734
1760 if (bank_is_mpuio(bank)) 1735 if (bank_is_mpuio(bank))
1761 __raw_writew(0xffff, bank->base + OMAP_MPUIO_GPIO_MASKIT); 1736 __raw_writew(0xffff, bank->base + OMAP_MPUIO_GPIO_MASKIT);
1762 if (cpu_is_omap15xx() && bank->method == METHOD_GPIO_1510) { 1737 if (cpu_is_omap15xx() && bank->method == METHOD_GPIO_1510) {
@@ -1768,11 +1743,11 @@ static int __init _omap_gpio_init(void)
1768 __raw_writew(0xffff, bank->base + OMAP1610_GPIO_IRQSTATUS1); 1743 __raw_writew(0xffff, bank->base + OMAP1610_GPIO_IRQSTATUS1);
1769 __raw_writew(0x0014, bank->base + OMAP1610_GPIO_SYSCONFIG); 1744 __raw_writew(0x0014, bank->base + OMAP1610_GPIO_SYSCONFIG);
1770 } 1745 }
1771 if (cpu_is_omap7xx() && bank->method == METHOD_GPIO_730) { 1746 if (cpu_is_omap7xx() && bank->method == METHOD_GPIO_7XX) {
1772 __raw_writel(0xffffffff, bank->base + OMAP730_GPIO_INT_MASK); 1747 __raw_writel(0xffffffff, bank->base + OMAP7XX_GPIO_INT_MASK);
1773 __raw_writel(0x00000000, bank->base + OMAP730_GPIO_INT_STATUS); 1748 __raw_writel(0x00000000, bank->base + OMAP7XX_GPIO_INT_STATUS);
1774 1749
1775 gpio_count = 32; /* 730 has 32-bit GPIOs */ 1750 gpio_count = 32; /* 7xx has 32-bit GPIOs */
1776 } 1751 }
1777 1752
1778#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) || \ 1753#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) || \
@@ -1804,6 +1779,8 @@ static int __init _omap_gpio_init(void)
1804 gpio_count = 32; 1779 gpio_count = 32;
1805 } 1780 }
1806#endif 1781#endif
1782
1783 bank->mod_usage = 0;
1807 /* REVISIT eventually switch from OMAP-specific gpio structs 1784 /* REVISIT eventually switch from OMAP-specific gpio structs
1808 * over to the generic ones 1785 * over to the generic ones
1809 */ 1786 */
@@ -1862,6 +1839,8 @@ static int __init _omap_gpio_init(void)
1862 if (cpu_is_omap34xx()) 1839 if (cpu_is_omap34xx())
1863 omap_writel(1 << 0, 0x48306814); 1840 omap_writel(1 << 0, 0x48306814);
1864 1841
1842 omap_gpio_show_rev();
1843
1865 return 0; 1844 return 0;
1866} 1845}
1867 1846
@@ -2106,6 +2085,81 @@ void omap2_gpio_resume_after_retention(void)
2106 2085
2107#endif 2086#endif
2108 2087
2088#ifdef CONFIG_ARCH_OMAP34XX
2089/* save the registers of bank 2-6 */
2090void omap_gpio_save_context(void)
2091{
2092 int i;
2093
2094 /* saving banks from 2-6 only since GPIO1 is in WKUP */
2095 for (i = 1; i < gpio_bank_count; i++) {
2096 struct gpio_bank *bank = &gpio_bank[i];
2097 gpio_context[i].sysconfig =
2098 __raw_readl(bank->base + OMAP24XX_GPIO_SYSCONFIG);
2099 gpio_context[i].irqenable1 =
2100 __raw_readl(bank->base + OMAP24XX_GPIO_IRQENABLE1);
2101 gpio_context[i].irqenable2 =
2102 __raw_readl(bank->base + OMAP24XX_GPIO_IRQENABLE2);
2103 gpio_context[i].wake_en =
2104 __raw_readl(bank->base + OMAP24XX_GPIO_WAKE_EN);
2105 gpio_context[i].ctrl =
2106 __raw_readl(bank->base + OMAP24XX_GPIO_CTRL);
2107 gpio_context[i].oe =
2108 __raw_readl(bank->base + OMAP24XX_GPIO_OE);
2109 gpio_context[i].leveldetect0 =
2110 __raw_readl(bank->base + OMAP24XX_GPIO_LEVELDETECT0);
2111 gpio_context[i].leveldetect1 =
2112 __raw_readl(bank->base + OMAP24XX_GPIO_LEVELDETECT1);
2113 gpio_context[i].risingdetect =
2114 __raw_readl(bank->base + OMAP24XX_GPIO_RISINGDETECT);
2115 gpio_context[i].fallingdetect =
2116 __raw_readl(bank->base + OMAP24XX_GPIO_FALLINGDETECT);
2117 gpio_context[i].dataout =
2118 __raw_readl(bank->base + OMAP24XX_GPIO_DATAOUT);
2119 gpio_context[i].setwkuena =
2120 __raw_readl(bank->base + OMAP24XX_GPIO_SETWKUENA);
2121 gpio_context[i].setdataout =
2122 __raw_readl(bank->base + OMAP24XX_GPIO_SETDATAOUT);
2123 }
2124}
2125
2126/* restore the required registers of bank 2-6 */
2127void omap_gpio_restore_context(void)
2128{
2129 int i;
2130
2131 for (i = 1; i < gpio_bank_count; i++) {
2132 struct gpio_bank *bank = &gpio_bank[i];
2133 __raw_writel(gpio_context[i].sysconfig,
2134 bank->base + OMAP24XX_GPIO_SYSCONFIG);
2135 __raw_writel(gpio_context[i].irqenable1,
2136 bank->base + OMAP24XX_GPIO_IRQENABLE1);
2137 __raw_writel(gpio_context[i].irqenable2,
2138 bank->base + OMAP24XX_GPIO_IRQENABLE2);
2139 __raw_writel(gpio_context[i].wake_en,
2140 bank->base + OMAP24XX_GPIO_WAKE_EN);
2141 __raw_writel(gpio_context[i].ctrl,
2142 bank->base + OMAP24XX_GPIO_CTRL);
2143 __raw_writel(gpio_context[i].oe,
2144 bank->base + OMAP24XX_GPIO_OE);
2145 __raw_writel(gpio_context[i].leveldetect0,
2146 bank->base + OMAP24XX_GPIO_LEVELDETECT0);
2147 __raw_writel(gpio_context[i].leveldetect1,
2148 bank->base + OMAP24XX_GPIO_LEVELDETECT1);
2149 __raw_writel(gpio_context[i].risingdetect,
2150 bank->base + OMAP24XX_GPIO_RISINGDETECT);
2151 __raw_writel(gpio_context[i].fallingdetect,
2152 bank->base + OMAP24XX_GPIO_FALLINGDETECT);
2153 __raw_writel(gpio_context[i].dataout,
2154 bank->base + OMAP24XX_GPIO_DATAOUT);
2155 __raw_writel(gpio_context[i].setwkuena,
2156 bank->base + OMAP24XX_GPIO_SETWKUENA);
2157 __raw_writel(gpio_context[i].setdataout,
2158 bank->base + OMAP24XX_GPIO_SETDATAOUT);
2159 }
2160}
2161#endif
2162
2109/* 2163/*
2110 * This may get called early from board specific init 2164 * This may get called early from board specific init
2111 * for boards that have interrupts routed via FPGA. 2165 * for boards that have interrupts routed via FPGA.
@@ -2160,8 +2214,7 @@ static int dbg_gpio_show(struct seq_file *s, void *unused)
2160 2214
2161 if (bank_is_mpuio(bank)) 2215 if (bank_is_mpuio(bank))
2162 gpio = OMAP_MPUIO(0); 2216 gpio = OMAP_MPUIO(0);
2163 else if (cpu_class_is_omap2() || cpu_is_omap730() || 2217 else if (cpu_class_is_omap2() || cpu_is_omap7xx())
2164 cpu_is_omap850())
2165 bankwidth = 32; 2218 bankwidth = 32;
2166 2219
2167 for (j = 0; j < bankwidth; j++, gpio++, mask <<= 1) { 2220 for (j = 0; j < bankwidth; j++, gpio++, mask <<= 1) {
diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c
index 8b848391f0c8..c08362dbb8ed 100644
--- a/arch/arm/plat-omap/i2c.c
+++ b/arch/arm/plat-omap/i2c.c
@@ -27,7 +27,7 @@
27#include <linux/platform_device.h> 27#include <linux/platform_device.h>
28#include <linux/i2c.h> 28#include <linux/i2c.h>
29#include <mach/irqs.h> 29#include <mach/irqs.h>
30#include <mach/mux.h> 30#include <plat/mux.h>
31 31
32#define OMAP_I2C_SIZE 0x3f 32#define OMAP_I2C_SIZE 0x3f
33#define OMAP1_I2C_BASE 0xfffb3800 33#define OMAP1_I2C_BASE 0xfffb3800
diff --git a/arch/arm/plat-omap/include/mach/blizzard.h b/arch/arm/plat-omap/include/plat/blizzard.h
index 8d160f171372..8d160f171372 100644
--- a/arch/arm/plat-omap/include/mach/blizzard.h
+++ b/arch/arm/plat-omap/include/plat/blizzard.h
diff --git a/arch/arm/plat-omap/include/mach/board-ams-delta.h b/arch/arm/plat-omap/include/plat/board-ams-delta.h
index 51b102dc906b..51b102dc906b 100644
--- a/arch/arm/plat-omap/include/mach/board-ams-delta.h
+++ b/arch/arm/plat-omap/include/plat/board-ams-delta.h
diff --git a/arch/arm/plat-omap/include/mach/board-sx1.h b/arch/arm/plat-omap/include/plat/board-sx1.h
index 355adbdaae33..355adbdaae33 100644
--- a/arch/arm/plat-omap/include/mach/board-sx1.h
+++ b/arch/arm/plat-omap/include/plat/board-sx1.h
diff --git a/arch/arm/plat-omap/include/mach/board-voiceblue.h b/arch/arm/plat-omap/include/plat/board-voiceblue.h
index 27916b210f57..27916b210f57 100644
--- a/arch/arm/plat-omap/include/mach/board-voiceblue.h
+++ b/arch/arm/plat-omap/include/plat/board-voiceblue.h
diff --git a/arch/arm/plat-omap/include/mach/board.h b/arch/arm/plat-omap/include/plat/board.h
index 8e913c322810..abb17b604f82 100644
--- a/arch/arm/plat-omap/include/mach/board.h
+++ b/arch/arm/plat-omap/include/plat/board.h
@@ -12,7 +12,19 @@
12 12
13#include <linux/types.h> 13#include <linux/types.h>
14 14
15#include <mach/gpio-switch.h> 15#include <plat/gpio-switch.h>
16
17/*
18 * OMAP35x EVM revision
19 * Run time detection of EVM revision is done by reading Ethernet
20 * PHY ID -
21 * GEN_1 = 0x01150000
22 * GEN_2 = 0x92200000
23 */
24enum {
25 OMAP3EVM_BOARD_GEN_1 = 0, /* EVM Rev between A - D */
26 OMAP3EVM_BOARD_GEN_2, /* EVM Rev >= Rev E */
27};
16 28
17/* Different peripheral ids */ 29/* Different peripheral ids */
18#define OMAP_TAG_CLOCK 0x4f01 30#define OMAP_TAG_CLOCK 0x4f01
@@ -157,4 +169,10 @@ extern int omap_board_config_size;
157/* for TI reference platforms sharing the same debug card */ 169/* for TI reference platforms sharing the same debug card */
158extern int debug_card_init(u32 addr, unsigned gpio); 170extern int debug_card_init(u32 addr, unsigned gpio);
159 171
172/* OMAP3EVM revision */
173#if defined(CONFIG_MACH_OMAP3EVM)
174u8 get_omap3_evm_rev(void);
175#else
176#define get_omap3_evm_rev() (-EINVAL)
177#endif
160#endif 178#endif
diff --git a/arch/arm/plat-omap/include/mach/clkdev.h b/arch/arm/plat-omap/include/plat/clkdev.h
index 730c49d1ebd8..730c49d1ebd8 100644
--- a/arch/arm/plat-omap/include/mach/clkdev.h
+++ b/arch/arm/plat-omap/include/plat/clkdev.h
diff --git a/arch/arm/plat-omap/include/mach/clock.h b/arch/arm/plat-omap/include/plat/clock.h
index 4b8b0d65cbf2..4b8b0d65cbf2 100644
--- a/arch/arm/plat-omap/include/mach/clock.h
+++ b/arch/arm/plat-omap/include/plat/clock.h
diff --git a/arch/arm/plat-omap/include/mach/clockdomain.h b/arch/arm/plat-omap/include/plat/clockdomain.h
index 99ebd886f134..eb734826e64e 100644
--- a/arch/arm/plat-omap/include/mach/clockdomain.h
+++ b/arch/arm/plat-omap/include/plat/clockdomain.h
@@ -16,9 +16,9 @@
16#ifndef __ASM_ARM_ARCH_OMAP_CLOCKDOMAIN_H 16#ifndef __ASM_ARM_ARCH_OMAP_CLOCKDOMAIN_H
17#define __ASM_ARM_ARCH_OMAP_CLOCKDOMAIN_H 17#define __ASM_ARM_ARCH_OMAP_CLOCKDOMAIN_H
18 18
19#include <mach/powerdomain.h> 19#include <plat/powerdomain.h>
20#include <mach/clock.h> 20#include <plat/clock.h>
21#include <mach/cpu.h> 21#include <plat/cpu.h>
22 22
23/* Clockdomain capability flags */ 23/* Clockdomain capability flags */
24#define CLKDM_CAN_FORCE_SLEEP (1 << 0) 24#define CLKDM_CAN_FORCE_SLEEP (1 << 0)
diff --git a/arch/arm/plat-omap/include/mach/common.h b/arch/arm/plat-omap/include/plat/common.h
index fdeab421b4dc..064f1730f43b 100644
--- a/arch/arm/plat-omap/include/mach/common.h
+++ b/arch/arm/plat-omap/include/plat/common.h
@@ -31,6 +31,9 @@
31 31
32struct sys_timer; 32struct sys_timer;
33 33
34/* used by omap-smp.c and board-4430sdp.c */
35extern void __iomem *gic_cpu_base_addr;
36
34extern void omap_map_common_io(void); 37extern void omap_map_common_io(void);
35extern struct sys_timer omap_timer; 38extern struct sys_timer omap_timer;
36#if defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE) 39#if defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE)
diff --git a/arch/arm/plat-omap/include/mach/control.h b/arch/arm/plat-omap/include/plat/control.h
index 826d317cdbec..2ae884378638 100644
--- a/arch/arm/plat-omap/include/mach/control.h
+++ b/arch/arm/plat-omap/include/plat/control.h
@@ -20,15 +20,18 @@
20 20
21#ifndef __ASSEMBLY__ 21#ifndef __ASSEMBLY__
22#define OMAP242X_CTRL_REGADDR(reg) \ 22#define OMAP242X_CTRL_REGADDR(reg) \
23 OMAP2_IO_ADDRESS(OMAP242X_CTRL_BASE + (reg)) 23 OMAP2_L4_IO_ADDRESS(OMAP242X_CTRL_BASE + (reg))
24#define OMAP243X_CTRL_REGADDR(reg) \ 24#define OMAP243X_CTRL_REGADDR(reg) \
25 OMAP2_IO_ADDRESS(OMAP243X_CTRL_BASE + (reg)) 25 OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE + (reg))
26#define OMAP343X_CTRL_REGADDR(reg) \ 26#define OMAP343X_CTRL_REGADDR(reg) \
27 OMAP2_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg)) 27 OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg))
28#else 28#else
29#define OMAP242X_CTRL_REGADDR(reg) OMAP2_IO_ADDRESS(OMAP242X_CTRL_BASE + (reg)) 29#define OMAP242X_CTRL_REGADDR(reg) \
30#define OMAP243X_CTRL_REGADDR(reg) OMAP2_IO_ADDRESS(OMAP243X_CTRL_BASE + (reg)) 30 OMAP2_L4_IO_ADDRESS(OMAP242X_CTRL_BASE + (reg))
31#define OMAP343X_CTRL_REGADDR(reg) OMAP2_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg)) 31#define OMAP243X_CTRL_REGADDR(reg) \
32 OMAP2_L4_IO_ADDRESS(OMAP243X_CTRL_BASE + (reg))
33#define OMAP343X_CTRL_REGADDR(reg) \
34 OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg))
32#endif /* __ASSEMBLY__ */ 35#endif /* __ASSEMBLY__ */
33 36
34/* 37/*
@@ -109,6 +112,8 @@
109#define OMAP24XX_CONTROL_TEST_KEY_8 (OMAP2_CONTROL_GENERAL + 0x00e0) 112#define OMAP24XX_CONTROL_TEST_KEY_8 (OMAP2_CONTROL_GENERAL + 0x00e0)
110#define OMAP24XX_CONTROL_TEST_KEY_9 (OMAP2_CONTROL_GENERAL + 0x00e4) 113#define OMAP24XX_CONTROL_TEST_KEY_9 (OMAP2_CONTROL_GENERAL + 0x00e4)
111 114
115#define OMAP343X_CONTROL_PADCONF_SYSNIRQ (OMAP2_CONTROL_INTERFACE + 0x01b0)
116
112/* 34xx-only CONTROL_GENERAL register offsets */ 117/* 34xx-only CONTROL_GENERAL register offsets */
113#define OMAP343X_CONTROL_PADCONF_OFF (OMAP2_CONTROL_GENERAL + 0x0000) 118#define OMAP343X_CONTROL_PADCONF_OFF (OMAP2_CONTROL_GENERAL + 0x0000)
114#define OMAP343X_CONTROL_MEM_DFTRW0 (OMAP2_CONTROL_GENERAL + 0x0008) 119#define OMAP343X_CONTROL_MEM_DFTRW0 (OMAP2_CONTROL_GENERAL + 0x0008)
@@ -141,8 +146,51 @@
141#define OMAP343X_CONTROL_TEST_KEY_13 (OMAP2_CONTROL_GENERAL + 0x00fc) 146#define OMAP343X_CONTROL_TEST_KEY_13 (OMAP2_CONTROL_GENERAL + 0x00fc)
142#define OMAP343X_CONTROL_IVA2_BOOTADDR (OMAP2_CONTROL_GENERAL + 0x0190) 147#define OMAP343X_CONTROL_IVA2_BOOTADDR (OMAP2_CONTROL_GENERAL + 0x0190)
143#define OMAP343X_CONTROL_IVA2_BOOTMOD (OMAP2_CONTROL_GENERAL + 0x0194) 148#define OMAP343X_CONTROL_IVA2_BOOTMOD (OMAP2_CONTROL_GENERAL + 0x0194)
144#define OMAP343X_CONTROL_PBIAS_LITE (OMAP2_CONTROL_GENERAL + 0x02b0) 149#define OMAP343X_CONTROL_DEBOBS(i) (OMAP2_CONTROL_GENERAL + 0x01B0 \
145#define OMAP343X_CONTROL_TEMP_SENSOR (OMAP2_CONTROL_GENERAL + 0x02b4) 150 + ((i) >> 1) * 4 + (!(i) & 1) * 2)
151#define OMAP343X_CONTROL_PROG_IO0 (OMAP2_CONTROL_GENERAL + 0x01D4)
152#define OMAP343X_CONTROL_PROG_IO1 (OMAP2_CONTROL_GENERAL + 0x01D8)
153#define OMAP343X_CONTROL_DSS_DPLL_SPREADING (OMAP2_CONTROL_GENERAL + 0x01E0)
154#define OMAP343X_CONTROL_CORE_DPLL_SPREADING (OMAP2_CONTROL_GENERAL + 0x01E4)
155#define OMAP343X_CONTROL_PER_DPLL_SPREADING (OMAP2_CONTROL_GENERAL + 0x01E8)
156#define OMAP343X_CONTROL_USBHOST_DPLL_SPREADING (OMAP2_CONTROL_GENERAL + 0x01EC)
157#define OMAP343X_CONTROL_PBIAS_LITE (OMAP2_CONTROL_GENERAL + 0x02B0)
158#define OMAP343X_CONTROL_TEMP_SENSOR (OMAP2_CONTROL_GENERAL + 0x02B4)
159#define OMAP343X_CONTROL_SRAMLDO4 (OMAP2_CONTROL_GENERAL + 0x02B8)
160#define OMAP343X_CONTROL_SRAMLDO5 (OMAP2_CONTROL_GENERAL + 0x02C0)
161#define OMAP343X_CONTROL_CSI (OMAP2_CONTROL_GENERAL + 0x02C4)
162
163
164/* 34xx PADCONF register offsets */
165#define OMAP343X_PADCONF_ETK(i) (OMAP2_CONTROL_PADCONFS + 0x5a8 + \
166 (i)*2)
167#define OMAP343X_PADCONF_ETK_CLK OMAP343X_PADCONF_ETK(0)
168#define OMAP343X_PADCONF_ETK_CTL OMAP343X_PADCONF_ETK(1)
169#define OMAP343X_PADCONF_ETK_D0 OMAP343X_PADCONF_ETK(2)
170#define OMAP343X_PADCONF_ETK_D1 OMAP343X_PADCONF_ETK(3)
171#define OMAP343X_PADCONF_ETK_D2 OMAP343X_PADCONF_ETK(4)
172#define OMAP343X_PADCONF_ETK_D3 OMAP343X_PADCONF_ETK(5)
173#define OMAP343X_PADCONF_ETK_D4 OMAP343X_PADCONF_ETK(6)
174#define OMAP343X_PADCONF_ETK_D5 OMAP343X_PADCONF_ETK(7)
175#define OMAP343X_PADCONF_ETK_D6 OMAP343X_PADCONF_ETK(8)
176#define OMAP343X_PADCONF_ETK_D7 OMAP343X_PADCONF_ETK(9)
177#define OMAP343X_PADCONF_ETK_D8 OMAP343X_PADCONF_ETK(10)
178#define OMAP343X_PADCONF_ETK_D9 OMAP343X_PADCONF_ETK(11)
179#define OMAP343X_PADCONF_ETK_D10 OMAP343X_PADCONF_ETK(12)
180#define OMAP343X_PADCONF_ETK_D11 OMAP343X_PADCONF_ETK(13)
181#define OMAP343X_PADCONF_ETK_D12 OMAP343X_PADCONF_ETK(14)
182#define OMAP343X_PADCONF_ETK_D13 OMAP343X_PADCONF_ETK(15)
183#define OMAP343X_PADCONF_ETK_D14 OMAP343X_PADCONF_ETK(16)
184#define OMAP343X_PADCONF_ETK_D15 OMAP343X_PADCONF_ETK(17)
185
186/* 34xx GENERAL_WKUP regist offsets */
187#define OMAP343X_CONTROL_WKUP_DEBOBSMUX(i) (OMAP343X_CONTROL_GENERAL_WKUP + \
188 0x008 + (i))
189#define OMAP343X_CONTROL_WKUP_DEBOBS0 (OMAP343X_CONTROL_GENERAL_WKUP + 0x008)
190#define OMAP343X_CONTROL_WKUP_DEBOBS1 (OMAP343X_CONTROL_GENERAL_WKUP + 0x00C)
191#define OMAP343X_CONTROL_WKUP_DEBOBS2 (OMAP343X_CONTROL_GENERAL_WKUP + 0x010)
192#define OMAP343X_CONTROL_WKUP_DEBOBS3 (OMAP343X_CONTROL_GENERAL_WKUP + 0x014)
193#define OMAP343X_CONTROL_WKUP_DEBOBS4 (OMAP343X_CONTROL_GENERAL_WKUP + 0x018)
146 194
147/* 34xx D2D idle-related pins, handled by PM core */ 195/* 34xx D2D idle-related pins, handled by PM core */
148#define OMAP3_PADCONF_SAD2D_MSTANDBY 0x250 196#define OMAP3_PADCONF_SAD2D_MSTANDBY 0x250
@@ -193,6 +241,9 @@
193#define OMAP2_PBIASLITEPWRDNZ0 (1 << 1) 241#define OMAP2_PBIASLITEPWRDNZ0 (1 << 1)
194#define OMAP2_PBIASLITEVMODE0 (1 << 0) 242#define OMAP2_PBIASLITEVMODE0 (1 << 0)
195 243
244/* CONTROL_PROG_IO1 bits */
245#define OMAP3630_PRG_SDMMC1_SPEEDCTRL (1 << 20)
246
196/* CONTROL_IVA2_BOOTMOD bits */ 247/* CONTROL_IVA2_BOOTMOD bits */
197#define OMAP3_IVA2_BOOTMOD_SHIFT 0 248#define OMAP3_IVA2_BOOTMOD_SHIFT 0
198#define OMAP3_IVA2_BOOTMOD_MASK (0xf << 0) 249#define OMAP3_IVA2_BOOTMOD_MASK (0xf << 0)
@@ -202,6 +253,44 @@
202#define OMAP3_PADCONF_WAKEUPEVENT0 (1 << 15) 253#define OMAP3_PADCONF_WAKEUPEVENT0 (1 << 15)
203#define OMAP3_PADCONF_WAKEUPENABLE0 (1 << 14) 254#define OMAP3_PADCONF_WAKEUPENABLE0 (1 << 14)
204 255
256#define OMAP343X_SCRATCHPAD_ROM (OMAP343X_CTRL_BASE + 0x860)
257#define OMAP343X_SCRATCHPAD (OMAP343X_CTRL_BASE + 0x910)
258#define OMAP343X_SCRATCHPAD_ROM_OFFSET 0x19C
259
260/*
261 * CONTROL OMAP STATUS register to identify OMAP3 features
262 */
263#define OMAP3_CONTROL_OMAP_STATUS 0x044c
264
265#define OMAP3_SGX_SHIFT 13
266#define OMAP3_SGX_MASK (3 << OMAP3_SGX_SHIFT)
267#define FEAT_SGX_FULL 0
268#define FEAT_SGX_HALF 1
269#define FEAT_SGX_NONE 2
270
271#define OMAP3_IVA_SHIFT 12
272#define OMAP3_IVA_MASK (1 << OMAP3_SGX_SHIFT)
273#define FEAT_IVA 0
274#define FEAT_IVA_NONE 1
275
276#define OMAP3_L2CACHE_SHIFT 10
277#define OMAP3_L2CACHE_MASK (3 << OMAP3_L2CACHE_SHIFT)
278#define FEAT_L2CACHE_NONE 0
279#define FEAT_L2CACHE_64KB 1
280#define FEAT_L2CACHE_128KB 2
281#define FEAT_L2CACHE_256KB 3
282
283#define OMAP3_ISP_SHIFT 5
284#define OMAP3_ISP_MASK (1<< OMAP3_ISP_SHIFT)
285#define FEAT_ISP 0
286#define FEAT_ISP_NONE 1
287
288#define OMAP3_NEON_SHIFT 4
289#define OMAP3_NEON_MASK (1<< OMAP3_NEON_SHIFT)
290#define FEAT_NEON 0
291#define FEAT_NEON_NONE 1
292
293
205#ifndef __ASSEMBLY__ 294#ifndef __ASSEMBLY__
206#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \ 295#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \
207 defined(CONFIG_ARCH_OMAP4) 296 defined(CONFIG_ARCH_OMAP4)
@@ -212,6 +301,15 @@ extern u32 omap_ctrl_readl(u16 offset);
212extern void omap_ctrl_writeb(u8 val, u16 offset); 301extern void omap_ctrl_writeb(u8 val, u16 offset);
213extern void omap_ctrl_writew(u16 val, u16 offset); 302extern void omap_ctrl_writew(u16 val, u16 offset);
214extern void omap_ctrl_writel(u32 val, u16 offset); 303extern void omap_ctrl_writel(u32 val, u16 offset);
304
305extern void omap3_save_scratchpad_contents(void);
306extern void omap3_clear_scratchpad_contents(void);
307extern u32 *get_restore_pointer(void);
308extern u32 *get_es3_restore_pointer(void);
309extern u32 omap3_arm_context[128];
310extern void omap3_control_save_context(void);
311extern void omap3_control_restore_context(void);
312
215#else 313#else
216#define omap_ctrl_base_get() 0 314#define omap_ctrl_base_get() 0
217#define omap_ctrl_readb(x) 0 315#define omap_ctrl_readb(x) 0
diff --git a/arch/arm/plat-omap/include/mach/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
index f129efb3075e..2e1789001dfe 100644
--- a/arch/arm/plat-omap/include/mach/cpu.h
+++ b/arch/arm/plat-omap/include/plat/cpu.h
@@ -30,6 +30,8 @@
30#ifndef __ASM_ARCH_OMAP_CPU_H 30#ifndef __ASM_ARCH_OMAP_CPU_H
31#define __ASM_ARCH_OMAP_CPU_H 31#define __ASM_ARCH_OMAP_CPU_H
32 32
33#include <linux/bitops.h>
34
33/* 35/*
34 * Omap device type i.e. EMU/HS/TST/GP/BAD 36 * Omap device type i.e. EMU/HS/TST/GP/BAD
35 */ 37 */
@@ -57,6 +59,23 @@ struct omap_chip_id {
57unsigned int omap_rev(void); 59unsigned int omap_rev(void);
58 60
59/* 61/*
62 * Define CPU revision bits
63 *
64 * Verbose meaning of the revision bits may be different for a silicon
65 * family. This difference can be handled separately.
66 */
67#define OMAP_REVBITS_00 0x00
68#define OMAP_REVBITS_10 0x10
69#define OMAP_REVBITS_20 0x20
70#define OMAP_REVBITS_30 0x30
71#define OMAP_REVBITS_40 0x40
72
73/*
74 * Get the CPU revision for OMAP devices
75 */
76#define GET_OMAP_REVISION() ((omap_rev() >> 8) & 0xff)
77
78/*
60 * Test if multicore OMAP support is needed 79 * Test if multicore OMAP support is needed
61 */ 80 */
62#undef MULTI_OMAP1 81#undef MULTI_OMAP1
@@ -161,6 +180,7 @@ IS_OMAP_CLASS(34xx, 0x34)
161IS_OMAP_SUBCLASS(242x, 0x242) 180IS_OMAP_SUBCLASS(242x, 0x242)
162IS_OMAP_SUBCLASS(243x, 0x243) 181IS_OMAP_SUBCLASS(243x, 0x243)
163IS_OMAP_SUBCLASS(343x, 0x343) 182IS_OMAP_SUBCLASS(343x, 0x343)
183IS_OMAP_SUBCLASS(363x, 0x363)
164 184
165#define cpu_is_omap7xx() 0 185#define cpu_is_omap7xx() 0
166#define cpu_is_omap15xx() 0 186#define cpu_is_omap15xx() 0
@@ -264,6 +284,8 @@ IS_OMAP_SUBCLASS(343x, 0x343)
264 * cpu_is_omap2423(): True for OMAP2423 284 * cpu_is_omap2423(): True for OMAP2423
265 * cpu_is_omap2430(): True for OMAP2430 285 * cpu_is_omap2430(): True for OMAP2430
266 * cpu_is_omap3430(): True for OMAP3430 286 * cpu_is_omap3430(): True for OMAP3430
287 * cpu_is_omap3505(): True for OMAP3505
288 * cpu_is_omap3517(): True for OMAP3517
267 */ 289 */
268#define GET_OMAP_TYPE ((omap_rev() >> 16) & 0xffff) 290#define GET_OMAP_TYPE ((omap_rev() >> 16) & 0xffff)
269 291
@@ -287,6 +309,8 @@ IS_OMAP_TYPE(2422, 0x2422)
287IS_OMAP_TYPE(2423, 0x2423) 309IS_OMAP_TYPE(2423, 0x2423)
288IS_OMAP_TYPE(2430, 0x2430) 310IS_OMAP_TYPE(2430, 0x2430)
289IS_OMAP_TYPE(3430, 0x3430) 311IS_OMAP_TYPE(3430, 0x3430)
312IS_OMAP_TYPE(3505, 0x3505)
313IS_OMAP_TYPE(3517, 0x3517)
290 314
291#define cpu_is_omap310() 0 315#define cpu_is_omap310() 0
292#define cpu_is_omap730() 0 316#define cpu_is_omap730() 0
@@ -301,7 +325,14 @@ IS_OMAP_TYPE(3430, 0x3430)
301#define cpu_is_omap2422() 0 325#define cpu_is_omap2422() 0
302#define cpu_is_omap2423() 0 326#define cpu_is_omap2423() 0
303#define cpu_is_omap2430() 0 327#define cpu_is_omap2430() 0
328#define cpu_is_omap3503() 0
329#define cpu_is_omap3515() 0
330#define cpu_is_omap3525() 0
331#define cpu_is_omap3530() 0
332#define cpu_is_omap3505() 0
333#define cpu_is_omap3517() 0
304#define cpu_is_omap3430() 0 334#define cpu_is_omap3430() 0
335#define cpu_is_omap3630() 0
305 336
306/* 337/*
307 * Whether we have MULTI_OMAP1 or not, we still need to distinguish 338 * Whether we have MULTI_OMAP1 or not, we still need to distinguish
@@ -351,7 +382,27 @@ IS_OMAP_TYPE(3430, 0x3430)
351 382
352#if defined(CONFIG_ARCH_OMAP34XX) 383#if defined(CONFIG_ARCH_OMAP34XX)
353# undef cpu_is_omap3430 384# undef cpu_is_omap3430
385# undef cpu_is_omap3503
386# undef cpu_is_omap3515
387# undef cpu_is_omap3525
388# undef cpu_is_omap3530
389# undef cpu_is_omap3505
390# undef cpu_is_omap3517
354# define cpu_is_omap3430() is_omap3430() 391# define cpu_is_omap3430() is_omap3430()
392# define cpu_is_omap3503() (cpu_is_omap3430() && \
393 (!omap3_has_iva()) && \
394 (!omap3_has_sgx()))
395# define cpu_is_omap3515() (cpu_is_omap3430() && \
396 (omap3_has_iva()) && \
397 (!omap3_has_sgx()))
398# define cpu_is_omap3525() (cpu_is_omap3430() && \
399 (omap3_has_sgx()) && \
400 (!omap3_has_iva()))
401# define cpu_is_omap3530() (cpu_is_omap3430())
402# define cpu_is_omap3505() is_omap3505()
403# define cpu_is_omap3517() is_omap3517()
404# undef cpu_is_omap3630
405# define cpu_is_omap3630() is_omap363x()
355#endif 406#endif
356 407
357# if defined(CONFIG_ARCH_OMAP4) 408# if defined(CONFIG_ARCH_OMAP4)
@@ -382,6 +433,16 @@ IS_OMAP_TYPE(3430, 0x3430)
382#define OMAP3430_REV_ES3_0 0x34303034 433#define OMAP3430_REV_ES3_0 0x34303034
383#define OMAP3430_REV_ES3_1 0x34304034 434#define OMAP3430_REV_ES3_1 0x34304034
384 435
436#define OMAP3630_REV_ES1_0 0x36300034
437
438#define OMAP35XX_CLASS 0x35000034
439#define OMAP3503_REV(v) (OMAP35XX_CLASS | (0x3503 << 16) | (v << 12))
440#define OMAP3515_REV(v) (OMAP35XX_CLASS | (0x3515 << 16) | (v << 12))
441#define OMAP3525_REV(v) (OMAP35XX_CLASS | (0x3525 << 16) | (v << 12))
442#define OMAP3530_REV(v) (OMAP35XX_CLASS | (0x3530 << 16) | (v << 12))
443#define OMAP3505_REV(v) (OMAP35XX_CLASS | (0x3505 << 16) | (v << 12))
444#define OMAP3517_REV(v) (OMAP35XX_CLASS | (0x3517 << 16) | (v << 12))
445
385#define OMAP443X_CLASS 0x44300034 446#define OMAP443X_CLASS 0x44300034
386 447
387/* 448/*
@@ -405,6 +466,7 @@ IS_OMAP_TYPE(3430, 0x3430)
405#define CHIP_IS_OMAP3430ES2 (1 << 4) 466#define CHIP_IS_OMAP3430ES2 (1 << 4)
406#define CHIP_IS_OMAP3430ES3_0 (1 << 5) 467#define CHIP_IS_OMAP3430ES3_0 (1 << 5)
407#define CHIP_IS_OMAP3430ES3_1 (1 << 6) 468#define CHIP_IS_OMAP3430ES3_1 (1 << 6)
469#define CHIP_IS_OMAP3630ES1 (1 << 7)
408 470
409#define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430) 471#define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430)
410 472
@@ -416,11 +478,36 @@ IS_OMAP_TYPE(3430, 0x3430)
416 */ 478 */
417#define CHIP_GE_OMAP3430ES2 (CHIP_IS_OMAP3430ES2 | \ 479#define CHIP_GE_OMAP3430ES2 (CHIP_IS_OMAP3430ES2 | \
418 CHIP_IS_OMAP3430ES3_0 | \ 480 CHIP_IS_OMAP3430ES3_0 | \
419 CHIP_IS_OMAP3430ES3_1) 481 CHIP_IS_OMAP3430ES3_1 | \
420#define CHIP_GE_OMAP3430ES3_1 (CHIP_IS_OMAP3430ES3_1) 482 CHIP_IS_OMAP3630ES1)
483#define CHIP_GE_OMAP3430ES3_1 (CHIP_IS_OMAP3430ES3_1 | \
484 CHIP_IS_OMAP3630ES1)
421 485
422 486
423int omap_chip_is(struct omap_chip_id oci); 487int omap_chip_is(struct omap_chip_id oci);
424void omap2_check_revision(void); 488void omap2_check_revision(void);
425 489
490/*
491 * Runtime detection of OMAP3 features
492 */
493extern u32 omap3_features;
494
495#define OMAP3_HAS_L2CACHE BIT(0)
496#define OMAP3_HAS_IVA BIT(1)
497#define OMAP3_HAS_SGX BIT(2)
498#define OMAP3_HAS_NEON BIT(3)
499#define OMAP3_HAS_ISP BIT(4)
500
501#define OMAP3_HAS_FEATURE(feat,flag) \
502static inline unsigned int omap3_has_ ##feat(void) \
503{ \
504 return (omap3_features & OMAP3_HAS_ ##flag); \
505} \
506
507OMAP3_HAS_FEATURE(l2cache, L2CACHE)
508OMAP3_HAS_FEATURE(sgx, SGX)
509OMAP3_HAS_FEATURE(iva, IVA)
510OMAP3_HAS_FEATURE(neon, NEON)
511OMAP3_HAS_FEATURE(isp, ISP)
512
426#endif 513#endif
diff --git a/arch/arm/plat-omap/include/mach/dma.h b/arch/arm/plat-omap/include/plat/dma.h
index 72f680b7180d..1c017b29b7e9 100644
--- a/arch/arm/plat-omap/include/mach/dma.h
+++ b/arch/arm/plat-omap/include/plat/dma.h
@@ -633,6 +633,11 @@ extern void omap_set_dma_dst_endian_type(int lch, enum end_type etype);
633extern void omap_set_dma_src_endian_type(int lch, enum end_type etype); 633extern void omap_set_dma_src_endian_type(int lch, enum end_type etype);
634extern int omap_get_dma_index(int lch, int *ei, int *fi); 634extern int omap_get_dma_index(int lch, int *ei, int *fi);
635 635
636void omap_dma_global_context_save(void);
637void omap_dma_global_context_restore(void);
638
639extern void omap_dma_disable_irq(int lch);
640
636/* Chaining APIs */ 641/* Chaining APIs */
637#ifndef CONFIG_ARCH_OMAP1 642#ifndef CONFIG_ARCH_OMAP1
638extern int omap_request_dma_chain(int dev_id, const char *dev_name, 643extern int omap_request_dma_chain(int dev_id, const char *dev_name,
diff --git a/arch/arm/plat-omap/include/mach/dmtimer.h b/arch/arm/plat-omap/include/plat/dmtimer.h
index 20f1054c0a80..20f1054c0a80 100644
--- a/arch/arm/plat-omap/include/mach/dmtimer.h
+++ b/arch/arm/plat-omap/include/plat/dmtimer.h
diff --git a/arch/arm/plat-omap/include/mach/dsp_common.h b/arch/arm/plat-omap/include/plat/dsp_common.h
index da97736f3efa..da97736f3efa 100644
--- a/arch/arm/plat-omap/include/mach/dsp_common.h
+++ b/arch/arm/plat-omap/include/plat/dsp_common.h
diff --git a/arch/arm/plat-omap/include/mach/fpga.h b/arch/arm/plat-omap/include/plat/fpga.h
index f1864a652f7a..f1864a652f7a 100644
--- a/arch/arm/plat-omap/include/mach/fpga.h
+++ b/arch/arm/plat-omap/include/plat/fpga.h
diff --git a/arch/arm/plat-omap/include/mach/gpio-switch.h b/arch/arm/plat-omap/include/plat/gpio-switch.h
index 10da0e07c0cf..10da0e07c0cf 100644
--- a/arch/arm/plat-omap/include/mach/gpio-switch.h
+++ b/arch/arm/plat-omap/include/plat/gpio-switch.h
diff --git a/arch/arm/plat-omap/include/mach/gpio.h b/arch/arm/plat-omap/include/plat/gpio.h
index 633ff688b928..de7c54731cbe 100644
--- a/arch/arm/plat-omap/include/mach/gpio.h
+++ b/arch/arm/plat-omap/include/plat/gpio.h
@@ -76,7 +76,8 @@ extern void omap2_gpio_prepare_for_retention(void);
76extern void omap2_gpio_resume_after_retention(void); 76extern void omap2_gpio_resume_after_retention(void);
77extern void omap_set_gpio_debounce(int gpio, int enable); 77extern void omap_set_gpio_debounce(int gpio, int enable);
78extern void omap_set_gpio_debounce_time(int gpio, int enable); 78extern void omap_set_gpio_debounce_time(int gpio, int enable);
79 79extern void omap_gpio_save_context(void);
80extern void omap_gpio_restore_context(void);
80/*-------------------------------------------------------------------------*/ 81/*-------------------------------------------------------------------------*/
81 82
82/* Wrappers for "new style" GPIO calls, using the new infrastructure 83/* Wrappers for "new style" GPIO calls, using the new infrastructure
diff --git a/arch/arm/plat-omap/include/mach/gpmc-smc91x.h b/arch/arm/plat-omap/include/plat/gpmc-smc91x.h
index b64fbee4d567..b64fbee4d567 100644
--- a/arch/arm/plat-omap/include/mach/gpmc-smc91x.h
+++ b/arch/arm/plat-omap/include/plat/gpmc-smc91x.h
diff --git a/arch/arm/plat-omap/include/mach/gpmc.h b/arch/arm/plat-omap/include/plat/gpmc.h
index 9c99cda77ba6..696e0ca051b7 100644
--- a/arch/arm/plat-omap/include/mach/gpmc.h
+++ b/arch/arm/plat-omap/include/plat/gpmc.h
@@ -52,6 +52,7 @@
52#define GPMC_CONFIG1_FCLK_DIV2 (GPMC_CONFIG1_FCLK_DIV(1)) 52#define GPMC_CONFIG1_FCLK_DIV2 (GPMC_CONFIG1_FCLK_DIV(1))
53#define GPMC_CONFIG1_FCLK_DIV3 (GPMC_CONFIG1_FCLK_DIV(2)) 53#define GPMC_CONFIG1_FCLK_DIV3 (GPMC_CONFIG1_FCLK_DIV(2))
54#define GPMC_CONFIG1_FCLK_DIV4 (GPMC_CONFIG1_FCLK_DIV(3)) 54#define GPMC_CONFIG1_FCLK_DIV4 (GPMC_CONFIG1_FCLK_DIV(3))
55#define GPMC_CONFIG7_CSVALID (1 << 6)
55 56
56/* 57/*
57 * Note that all values in this struct are in nanoseconds, while 58 * Note that all values in this struct are in nanoseconds, while
@@ -107,6 +108,8 @@ extern int gpmc_prefetch_enable(int cs, int dma_mode,
107 unsigned int u32_count, int is_write); 108 unsigned int u32_count, int is_write);
108extern void gpmc_prefetch_reset(void); 109extern void gpmc_prefetch_reset(void);
109extern int gpmc_prefetch_status(void); 110extern int gpmc_prefetch_status(void);
111extern void omap3_gpmc_save_context(void);
112extern void omap3_gpmc_restore_context(void);
110extern void __init gpmc_init(void); 113extern void __init gpmc_init(void);
111 114
112#endif 115#endif
diff --git a/arch/arm/plat-omap/include/mach/hardware.h b/arch/arm/plat-omap/include/plat/hardware.h
index 26c1fbff08aa..d5b26adfb890 100644
--- a/arch/arm/plat-omap/include/mach/hardware.h
+++ b/arch/arm/plat-omap/include/plat/hardware.h
@@ -39,9 +39,9 @@
39#include <asm/sizes.h> 39#include <asm/sizes.h>
40#ifndef __ASSEMBLER__ 40#ifndef __ASSEMBLER__
41#include <asm/types.h> 41#include <asm/types.h>
42#include <mach/cpu.h> 42#include <plat/cpu.h>
43#endif 43#endif
44#include <mach/serial.h> 44#include <plat/serial.h>
45 45
46/* 46/*
47 * --------------------------------------------------------------------------- 47 * ---------------------------------------------------------------------------
@@ -280,11 +280,11 @@
280 * --------------------------------------------------------------------------- 280 * ---------------------------------------------------------------------------
281 */ 281 */
282 282
283#include "omap730.h" 283#include <plat/omap7xx.h>
284#include "omap1510.h" 284#include <plat/omap1510.h>
285#include "omap16xx.h" 285#include <plat/omap16xx.h>
286#include "omap24xx.h" 286#include <plat/omap24xx.h>
287#include "omap34xx.h" 287#include <plat/omap34xx.h>
288#include "omap44xx.h" 288#include <plat/omap44xx.h>
289 289
290#endif /* __ASM_ARCH_OMAP_HARDWARE_H */ 290#endif /* __ASM_ARCH_OMAP_HARDWARE_H */
diff --git a/arch/arm/plat-omap/include/mach/hwa742.h b/arch/arm/plat-omap/include/plat/hwa742.h
index 886248d32b49..886248d32b49 100644
--- a/arch/arm/plat-omap/include/mach/hwa742.h
+++ b/arch/arm/plat-omap/include/plat/hwa742.h
diff --git a/arch/arm/plat-omap/include/mach/io.h b/arch/arm/plat-omap/include/plat/io.h
index 8d32df32b0b1..7e5319f907d1 100644
--- a/arch/arm/plat-omap/include/mach/io.h
+++ b/arch/arm/plat-omap/include/plat/io.h
@@ -63,8 +63,24 @@
63#define OMAP1_IO_OFFSET 0x01000000 /* Virtual IO = 0xfefb0000 */ 63#define OMAP1_IO_OFFSET 0x01000000 /* Virtual IO = 0xfefb0000 */
64#define OMAP1_IO_ADDRESS(pa) IOMEM((pa) - OMAP1_IO_OFFSET) 64#define OMAP1_IO_ADDRESS(pa) IOMEM((pa) - OMAP1_IO_OFFSET)
65 65
66#define OMAP2_IO_OFFSET 0x90000000 66#define OMAP2_L3_IO_OFFSET 0x90000000
67#define OMAP2_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_IO_OFFSET) /* L3 and L4 */ 67#define OMAP2_L3_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_L3_IO_OFFSET) /* L3 */
68
69
70#define OMAP2_L4_IO_OFFSET 0xb2000000
71#define OMAP2_L4_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_L4_IO_OFFSET) /* L4 */
72
73#define OMAP4_L3_IO_OFFSET 0xb4000000
74#define OMAP4_L3_IO_ADDRESS(pa) IOMEM((pa) + OMAP4_L3_IO_OFFSET) /* L3 */
75
76#define OMAP4_L3_PER_IO_OFFSET 0xb1100000
77#define OMAP4_L3_PER_IO_ADDRESS(pa) IOMEM((pa) + OMAP4_L3_PER_IO_OFFSET)
78
79#define OMAP4_GPMC_IO_OFFSET 0xa9000000
80#define OMAP4_GPMC_IO_ADDRESS(pa) IOMEM((pa) + OMAP4_GPMC_IO_OFFSET)
81
82#define OMAP2_EMU_IO_OFFSET 0xaa800000 /* Emulation */
83#define OMAP2_EMU_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_EMU_IO_OFFSET)
68 84
69/* 85/*
70 * ---------------------------------------------------------------------------- 86 * ----------------------------------------------------------------------------
@@ -83,24 +99,27 @@
83 */ 99 */
84 100
85/* We map both L3 and L4 on OMAP2 */ 101/* We map both L3 and L4 on OMAP2 */
86#define L3_24XX_PHYS L3_24XX_BASE /* 0x68000000 */ 102#define L3_24XX_PHYS L3_24XX_BASE /* 0x68000000 --> 0xf8000000*/
87#define L3_24XX_VIRT 0xf8000000 103#define L3_24XX_VIRT (L3_24XX_PHYS + OMAP2_L3_IO_OFFSET)
88#define L3_24XX_SIZE SZ_1M /* 44kB of 128MB used, want 1MB sect */ 104#define L3_24XX_SIZE SZ_1M /* 44kB of 128MB used, want 1MB sect */
89#define L4_24XX_PHYS L4_24XX_BASE /* 0x48000000 */ 105#define L4_24XX_PHYS L4_24XX_BASE /* 0x48000000 --> 0xfa000000 */
90#define L4_24XX_VIRT 0xd8000000 106#define L4_24XX_VIRT (L4_24XX_PHYS + OMAP2_L4_IO_OFFSET)
91#define L4_24XX_SIZE SZ_1M /* 1MB of 128MB used, want 1MB sect */ 107#define L4_24XX_SIZE SZ_1M /* 1MB of 128MB used, want 1MB sect */
92 108
93#define L4_WK_243X_PHYS L4_WK_243X_BASE /* 0x49000000 */ 109#define L4_WK_243X_PHYS L4_WK_243X_BASE /* 0x49000000 --> 0xfb000000 */
94#define L4_WK_243X_VIRT 0xd9000000 110#define L4_WK_243X_VIRT (L4_WK_243X_PHYS + OMAP2_L4_IO_OFFSET)
95#define L4_WK_243X_SIZE SZ_1M 111#define L4_WK_243X_SIZE SZ_1M
96#define OMAP243X_GPMC_PHYS OMAP243X_GPMC_BASE /* 0x49000000 */ 112#define OMAP243X_GPMC_PHYS OMAP243X_GPMC_BASE
97#define OMAP243X_GPMC_VIRT 0xFE000000 113#define OMAP243X_GPMC_VIRT (OMAP243X_GPMC_PHYS + OMAP2_L3_IO_OFFSET)
114 /* 0x6e000000 --> 0xfe000000 */
98#define OMAP243X_GPMC_SIZE SZ_1M 115#define OMAP243X_GPMC_SIZE SZ_1M
99#define OMAP243X_SDRC_PHYS OMAP243X_SDRC_BASE 116#define OMAP243X_SDRC_PHYS OMAP243X_SDRC_BASE
100#define OMAP243X_SDRC_VIRT 0xFD000000 117 /* 0x6D000000 --> 0xfd000000 */
118#define OMAP243X_SDRC_VIRT (OMAP243X_SDRC_PHYS + OMAP2_L3_IO_OFFSET)
101#define OMAP243X_SDRC_SIZE SZ_1M 119#define OMAP243X_SDRC_SIZE SZ_1M
102#define OMAP243X_SMS_PHYS OMAP243X_SMS_BASE 120#define OMAP243X_SMS_PHYS OMAP243X_SMS_BASE
103#define OMAP243X_SMS_VIRT 0xFC000000 121 /* 0x6c000000 --> 0xfc000000 */
122#define OMAP243X_SMS_VIRT (OMAP243X_SMS_PHYS + OMAP2_L3_IO_OFFSET)
104#define OMAP243X_SMS_SIZE SZ_1M 123#define OMAP243X_SMS_SIZE SZ_1M
105 124
106/* DSP */ 125/* DSP */
@@ -121,12 +140,12 @@
121 */ 140 */
122 141
123/* We map both L3 and L4 on OMAP3 */ 142/* We map both L3 and L4 on OMAP3 */
124#define L3_34XX_PHYS L3_34XX_BASE /* 0x68000000 */ 143#define L3_34XX_PHYS L3_34XX_BASE /* 0x68000000 --> 0xf8000000 */
125#define L3_34XX_VIRT 0xf8000000 144#define L3_34XX_VIRT (L3_34XX_PHYS + OMAP2_L3_IO_OFFSET)
126#define L3_34XX_SIZE SZ_1M /* 44kB of 128MB used, want 1MB sect */ 145#define L3_34XX_SIZE SZ_1M /* 44kB of 128MB used, want 1MB sect */
127 146
128#define L4_34XX_PHYS L4_34XX_BASE /* 0x48000000 */ 147#define L4_34XX_PHYS L4_34XX_BASE /* 0x48000000 --> 0xfa000000 */
129#define L4_34XX_VIRT 0xd8000000 148#define L4_34XX_VIRT (L4_34XX_PHYS + OMAP2_L4_IO_OFFSET)
130#define L4_34XX_SIZE SZ_4M /* 1MB of 128MB used, want 1MB sect */ 149#define L4_34XX_SIZE SZ_4M /* 1MB of 128MB used, want 1MB sect */
131 150
132/* 151/*
@@ -134,28 +153,33 @@
134 * VPOM3430 was not working for Int controller 153 * VPOM3430 was not working for Int controller
135 */ 154 */
136 155
137#define L4_WK_34XX_PHYS L4_WK_34XX_BASE /* 0x48300000 */ 156#define L4_WK_34XX_PHYS L4_WK_34XX_BASE /* 0x48300000 --> 0xfa300000 */
138#define L4_WK_34XX_VIRT 0xd8300000 157#define L4_WK_34XX_VIRT (L4_WK_34XX_PHYS + OMAP2_L4_IO_OFFSET)
139#define L4_WK_34XX_SIZE SZ_1M 158#define L4_WK_34XX_SIZE SZ_1M
140 159
141#define L4_PER_34XX_PHYS L4_PER_34XX_BASE /* 0x49000000 */ 160#define L4_PER_34XX_PHYS L4_PER_34XX_BASE
142#define L4_PER_34XX_VIRT 0xd9000000 161 /* 0x49000000 --> 0xfb000000 */
162#define L4_PER_34XX_VIRT (L4_PER_34XX_PHYS + OMAP2_L4_IO_OFFSET)
143#define L4_PER_34XX_SIZE SZ_1M 163#define L4_PER_34XX_SIZE SZ_1M
144 164
145#define L4_EMU_34XX_PHYS L4_EMU_34XX_BASE /* 0x54000000 */ 165#define L4_EMU_34XX_PHYS L4_EMU_34XX_BASE
146#define L4_EMU_34XX_VIRT 0xe4000000 166 /* 0x54000000 --> 0xfe800000 */
147#define L4_EMU_34XX_SIZE SZ_64M 167#define L4_EMU_34XX_VIRT (L4_EMU_34XX_PHYS + OMAP2_EMU_IO_OFFSET)
168#define L4_EMU_34XX_SIZE SZ_8M
148 169
149#define OMAP34XX_GPMC_PHYS OMAP34XX_GPMC_BASE /* 0x6E000000 */ 170#define OMAP34XX_GPMC_PHYS OMAP34XX_GPMC_BASE
150#define OMAP34XX_GPMC_VIRT 0xFE000000 171 /* 0x6e000000 --> 0xfe000000 */
172#define OMAP34XX_GPMC_VIRT (OMAP34XX_GPMC_PHYS + OMAP2_L3_IO_OFFSET)
151#define OMAP34XX_GPMC_SIZE SZ_1M 173#define OMAP34XX_GPMC_SIZE SZ_1M
152 174
153#define OMAP343X_SMS_PHYS OMAP343X_SMS_BASE /* 0x6C000000 */ 175#define OMAP343X_SMS_PHYS OMAP343X_SMS_BASE
154#define OMAP343X_SMS_VIRT 0xFC000000 176 /* 0x6c000000 --> 0xfc000000 */
177#define OMAP343X_SMS_VIRT (OMAP343X_SMS_PHYS + OMAP2_L3_IO_OFFSET)
155#define OMAP343X_SMS_SIZE SZ_1M 178#define OMAP343X_SMS_SIZE SZ_1M
156 179
157#define OMAP343X_SDRC_PHYS OMAP343X_SDRC_BASE /* 0x6D000000 */ 180#define OMAP343X_SDRC_PHYS OMAP343X_SDRC_BASE
158#define OMAP343X_SDRC_VIRT 0xFD000000 181 /* 0x6D000000 --> 0xfd000000 */
182#define OMAP343X_SDRC_VIRT (OMAP343X_SDRC_PHYS + OMAP2_L3_IO_OFFSET)
159#define OMAP343X_SDRC_SIZE SZ_1M 183#define OMAP343X_SDRC_SIZE SZ_1M
160 184
161/* DSP */ 185/* DSP */
@@ -176,32 +200,54 @@
176 */ 200 */
177 201
178/* We map both L3 and L4 on OMAP4 */ 202/* We map both L3 and L4 on OMAP4 */
179#define L3_44XX_PHYS L3_44XX_BASE 203#define L3_44XX_PHYS L3_44XX_BASE /* 0x44000000 --> 0xf8000000 */
180#define L3_44XX_VIRT 0xd4000000 204#define L3_44XX_VIRT (L3_44XX_PHYS + OMAP4_L3_IO_OFFSET)
181#define L3_44XX_SIZE SZ_1M 205#define L3_44XX_SIZE SZ_1M
182 206
183#define L4_44XX_PHYS L4_44XX_BASE 207#define L4_44XX_PHYS L4_44XX_BASE /* 0x4a000000 --> 0xfc000000 */
184#define L4_44XX_VIRT 0xda000000 208#define L4_44XX_VIRT (L4_44XX_PHYS + OMAP2_L4_IO_OFFSET)
185#define L4_44XX_SIZE SZ_4M 209#define L4_44XX_SIZE SZ_4M
186 210
187 211
188#define L4_WK_44XX_PHYS L4_WK_44XX_BASE 212#define L4_WK_44XX_PHYS L4_WK_44XX_BASE /* 0x4a300000 --> 0xfc300000 */
189#define L4_WK_44XX_VIRT 0xda300000 213#define L4_WK_44XX_VIRT (L4_WK_44XX_PHYS + OMAP2_L4_IO_OFFSET)
190#define L4_WK_44XX_SIZE SZ_1M 214#define L4_WK_44XX_SIZE SZ_1M
191 215
192#define L4_PER_44XX_PHYS L4_PER_44XX_BASE 216#define L4_PER_44XX_PHYS L4_PER_44XX_BASE
193#define L4_PER_44XX_VIRT 0xd8000000 217 /* 0x48000000 --> 0xfa000000 */
218#define L4_PER_44XX_VIRT (L4_PER_44XX_PHYS + OMAP2_L4_IO_OFFSET)
194#define L4_PER_44XX_SIZE SZ_4M 219#define L4_PER_44XX_SIZE SZ_4M
195 220
221#define L4_ABE_44XX_PHYS L4_ABE_44XX_BASE
222 /* 0x49000000 --> 0xfb000000 */
223#define L4_ABE_44XX_VIRT (L4_ABE_44XX_PHYS + OMAP2_L4_IO_OFFSET)
224#define L4_ABE_44XX_SIZE SZ_1M
225
196#define L4_EMU_44XX_PHYS L4_EMU_44XX_BASE 226#define L4_EMU_44XX_PHYS L4_EMU_44XX_BASE
197#define L4_EMU_44XX_VIRT 0xe4000000 227 /* 0x54000000 --> 0xfe800000 */
198#define L4_EMU_44XX_SIZE SZ_64M 228#define L4_EMU_44XX_VIRT (L4_EMU_44XX_PHYS + OMAP2_EMU_IO_OFFSET)
229#define L4_EMU_44XX_SIZE SZ_8M
199 230
200#define OMAP44XX_GPMC_PHYS OMAP44XX_GPMC_BASE 231#define OMAP44XX_GPMC_PHYS OMAP44XX_GPMC_BASE
201#define OMAP44XX_GPMC_VIRT 0xe0000000 232 /* 0x50000000 --> 0xf9000000 */
233#define OMAP44XX_GPMC_VIRT (OMAP44XX_GPMC_PHYS + OMAP4_GPMC_IO_OFFSET)
202#define OMAP44XX_GPMC_SIZE SZ_1M 234#define OMAP44XX_GPMC_SIZE SZ_1M
203 235
204 236
237#define OMAP44XX_EMIF1_PHYS OMAP44XX_EMIF1_BASE
238 /* 0x4c000000 --> 0xfd100000 */
239#define OMAP44XX_EMIF1_VIRT (OMAP44XX_EMIF1_PHYS + OMAP4_L3_PER_IO_OFFSET)
240#define OMAP44XX_EMIF1_SIZE SZ_1M
241
242#define OMAP44XX_EMIF2_PHYS OMAP44XX_EMIF2_BASE
243 /* 0x4d000000 --> 0xfd200000 */
244#define OMAP44XX_EMIF2_VIRT (OMAP44XX_EMIF2_PHYS + OMAP4_L3_PER_IO_OFFSET)
245#define OMAP44XX_EMIF2_SIZE SZ_1M
246
247#define OMAP44XX_DMM_PHYS OMAP44XX_DMM_BASE
248 /* 0x4e000000 --> 0xfd300000 */
249#define OMAP44XX_DMM_VIRT (OMAP44XX_DMM_PHYS + OMAP4_L3_PER_IO_OFFSET)
250#define OMAP44XX_DMM_SIZE SZ_1M
205/* 251/*
206 * ---------------------------------------------------------------------------- 252 * ----------------------------------------------------------------------------
207 * Omap specific register access 253 * Omap specific register access
diff --git a/arch/arm/plat-omap/include/mach/iommu.h b/arch/arm/plat-omap/include/plat/iommu.h
index 46d41ac83dbf..0752af9d099e 100644
--- a/arch/arm/plat-omap/include/mach/iommu.h
+++ b/arch/arm/plat-omap/include/plat/iommu.h
@@ -107,7 +107,7 @@ struct iommu_platform_data {
107#if defined(CONFIG_ARCH_OMAP1) 107#if defined(CONFIG_ARCH_OMAP1)
108#error "iommu for this processor not implemented yet" 108#error "iommu for this processor not implemented yet"
109#else 109#else
110#include <mach/iommu2.h> 110#include <plat/iommu2.h>
111#endif 111#endif
112 112
113/* 113/*
diff --git a/arch/arm/plat-omap/include/mach/iommu2.h b/arch/arm/plat-omap/include/plat/iommu2.h
index 10ad05f410e9..10ad05f410e9 100644
--- a/arch/arm/plat-omap/include/mach/iommu2.h
+++ b/arch/arm/plat-omap/include/plat/iommu2.h
diff --git a/arch/arm/plat-omap/include/mach/iovmm.h b/arch/arm/plat-omap/include/plat/iovmm.h
index bdc7ce5d7a4a..bdc7ce5d7a4a 100644
--- a/arch/arm/plat-omap/include/mach/iovmm.h
+++ b/arch/arm/plat-omap/include/plat/iovmm.h
diff --git a/arch/arm/plat-omap/include/mach/irda.h b/arch/arm/plat-omap/include/plat/irda.h
index 40f60339d1c6..40f60339d1c6 100644
--- a/arch/arm/plat-omap/include/mach/irda.h
+++ b/arch/arm/plat-omap/include/plat/irda.h
diff --git a/arch/arm/plat-omap/include/mach/irqs.h b/arch/arm/plat-omap/include/plat/irqs.h
index 28a165058b61..ce5dd2d1dc21 100644
--- a/arch/arm/plat-omap/include/mach/irqs.h
+++ b/arch/arm/plat-omap/include/plat/irqs.h
@@ -86,49 +86,26 @@
86#define INT_1610_SSR_FIFO_0 29 86#define INT_1610_SSR_FIFO_0 29
87 87
88/* 88/*
89 * OMAP-730 specific IRQ numbers for interrupt handler 1 89 * OMAP-7xx specific IRQ numbers for interrupt handler 1
90 */ 90 */
91#define INT_730_IH2_FIQ 0 91#define INT_7XX_IH2_FIQ 0
92#define INT_730_IH2_IRQ 1 92#define INT_7XX_IH2_IRQ 1
93#define INT_730_USB_NON_ISO 2 93#define INT_7XX_USB_NON_ISO 2
94#define INT_730_USB_ISO 3 94#define INT_7XX_USB_ISO 3
95#define INT_730_ICR 4 95#define INT_7XX_ICR 4
96#define INT_730_EAC 5 96#define INT_7XX_EAC 5
97#define INT_730_GPIO_BANK1 6 97#define INT_7XX_GPIO_BANK1 6
98#define INT_730_GPIO_BANK2 7 98#define INT_7XX_GPIO_BANK2 7
99#define INT_730_GPIO_BANK3 8 99#define INT_7XX_GPIO_BANK3 8
100#define INT_730_McBSP2TX 10 100#define INT_7XX_McBSP2TX 10
101#define INT_730_McBSP2RX 11 101#define INT_7XX_McBSP2RX 11
102#define INT_730_McBSP2RX_OVF 12 102#define INT_7XX_McBSP2RX_OVF 12
103#define INT_730_LCD_LINE 14 103#define INT_7XX_LCD_LINE 14
104#define INT_730_GSM_PROTECT 15 104#define INT_7XX_GSM_PROTECT 15
105#define INT_730_TIMER3 16 105#define INT_7XX_TIMER3 16
106#define INT_730_GPIO_BANK5 17 106#define INT_7XX_GPIO_BANK5 17
107#define INT_730_GPIO_BANK6 18 107#define INT_7XX_GPIO_BANK6 18
108#define INT_730_SPGIO_WR 29 108#define INT_7XX_SPGIO_WR 29
109
110/*
111 * OMAP-850 specific IRQ numbers for interrupt handler 1
112 */
113#define INT_850_IH2_FIQ 0
114#define INT_850_IH2_IRQ 1
115#define INT_850_USB_NON_ISO 2
116#define INT_850_USB_ISO 3
117#define INT_850_ICR 4
118#define INT_850_EAC 5
119#define INT_850_GPIO_BANK1 6
120#define INT_850_GPIO_BANK2 7
121#define INT_850_GPIO_BANK3 8
122#define INT_850_McBSP2TX 10
123#define INT_850_McBSP2RX 11
124#define INT_850_McBSP2RX_OVF 12
125#define INT_850_LCD_LINE 14
126#define INT_850_GSM_PROTECT 15
127#define INT_850_TIMER3 16
128#define INT_850_GPIO_BANK5 17
129#define INT_850_GPIO_BANK6 18
130#define INT_850_SPGIO_WR 29
131
132 109
133/* 110/*
134 * IRQ numbers for interrupt handler 2 111 * IRQ numbers for interrupt handler 2
@@ -206,120 +183,62 @@
206#define INT_1610_SHA1MD5 (91 + IH2_BASE) 183#define INT_1610_SHA1MD5 (91 + IH2_BASE)
207 184
208/* 185/*
209 * OMAP-730 specific IRQ numbers for interrupt handler 2 186 * OMAP-7xx specific IRQ numbers for interrupt handler 2
210 */ 187 */
211#define INT_730_HW_ERRORS (0 + IH2_BASE) 188#define INT_7XX_HW_ERRORS (0 + IH2_BASE)
212#define INT_730_NFIQ_PWR_FAIL (1 + IH2_BASE) 189#define INT_7XX_NFIQ_PWR_FAIL (1 + IH2_BASE)
213#define INT_730_CFCD (2 + IH2_BASE) 190#define INT_7XX_CFCD (2 + IH2_BASE)
214#define INT_730_CFIREQ (3 + IH2_BASE) 191#define INT_7XX_CFIREQ (3 + IH2_BASE)
215#define INT_730_I2C (4 + IH2_BASE) 192#define INT_7XX_I2C (4 + IH2_BASE)
216#define INT_730_PCC (5 + IH2_BASE) 193#define INT_7XX_PCC (5 + IH2_BASE)
217#define INT_730_MPU_EXT_NIRQ (6 + IH2_BASE) 194#define INT_7XX_MPU_EXT_NIRQ (6 + IH2_BASE)
218#define INT_730_SPI_100K_1 (7 + IH2_BASE) 195#define INT_7XX_SPI_100K_1 (7 + IH2_BASE)
219#define INT_730_SYREN_SPI (8 + IH2_BASE) 196#define INT_7XX_SYREN_SPI (8 + IH2_BASE)
220#define INT_730_VLYNQ (9 + IH2_BASE) 197#define INT_7XX_VLYNQ (9 + IH2_BASE)
221#define INT_730_GPIO_BANK4 (10 + IH2_BASE) 198#define INT_7XX_GPIO_BANK4 (10 + IH2_BASE)
222#define INT_730_McBSP1TX (11 + IH2_BASE) 199#define INT_7XX_McBSP1TX (11 + IH2_BASE)
223#define INT_730_McBSP1RX (12 + IH2_BASE) 200#define INT_7XX_McBSP1RX (12 + IH2_BASE)
224#define INT_730_McBSP1RX_OF (13 + IH2_BASE) 201#define INT_7XX_McBSP1RX_OF (13 + IH2_BASE)
225#define INT_730_UART_MODEM_IRDA_2 (14 + IH2_BASE) 202#define INT_7XX_UART_MODEM_IRDA_2 (14 + IH2_BASE)
226#define INT_730_UART_MODEM_1 (15 + IH2_BASE) 203#define INT_7XX_UART_MODEM_1 (15 + IH2_BASE)
227#define INT_730_MCSI (16 + IH2_BASE) 204#define INT_7XX_MCSI (16 + IH2_BASE)
228#define INT_730_uWireTX (17 + IH2_BASE) 205#define INT_7XX_uWireTX (17 + IH2_BASE)
229#define INT_730_uWireRX (18 + IH2_BASE) 206#define INT_7XX_uWireRX (18 + IH2_BASE)
230#define INT_730_SMC_CD (19 + IH2_BASE) 207#define INT_7XX_SMC_CD (19 + IH2_BASE)
231#define INT_730_SMC_IREQ (20 + IH2_BASE) 208#define INT_7XX_SMC_IREQ (20 + IH2_BASE)
232#define INT_730_HDQ_1WIRE (21 + IH2_BASE) 209#define INT_7XX_HDQ_1WIRE (21 + IH2_BASE)
233#define INT_730_TIMER32K (22 + IH2_BASE) 210#define INT_7XX_TIMER32K (22 + IH2_BASE)
234#define INT_730_MMC_SDIO (23 + IH2_BASE) 211#define INT_7XX_MMC_SDIO (23 + IH2_BASE)
235#define INT_730_UPLD (24 + IH2_BASE) 212#define INT_7XX_UPLD (24 + IH2_BASE)
236#define INT_730_USB_HHC_1 (27 + IH2_BASE) 213#define INT_7XX_USB_HHC_1 (27 + IH2_BASE)
237#define INT_730_USB_HHC_2 (28 + IH2_BASE) 214#define INT_7XX_USB_HHC_2 (28 + IH2_BASE)
238#define INT_730_USB_GENI (29 + IH2_BASE) 215#define INT_7XX_USB_GENI (29 + IH2_BASE)
239#define INT_730_USB_OTG (30 + IH2_BASE) 216#define INT_7XX_USB_OTG (30 + IH2_BASE)
240#define INT_730_CAMERA_IF (31 + IH2_BASE) 217#define INT_7XX_CAMERA_IF (31 + IH2_BASE)
241#define INT_730_RNG (32 + IH2_BASE) 218#define INT_7XX_RNG (32 + IH2_BASE)
242#define INT_730_DUAL_MODE_TIMER (33 + IH2_BASE) 219#define INT_7XX_DUAL_MODE_TIMER (33 + IH2_BASE)
243#define INT_730_DBB_RF_EN (34 + IH2_BASE) 220#define INT_7XX_DBB_RF_EN (34 + IH2_BASE)
244#define INT_730_MPUIO_KEYPAD (35 + IH2_BASE) 221#define INT_7XX_MPUIO_KEYPAD (35 + IH2_BASE)
245#define INT_730_SHA1_MD5 (36 + IH2_BASE) 222#define INT_7XX_SHA1_MD5 (36 + IH2_BASE)
246#define INT_730_SPI_100K_2 (37 + IH2_BASE) 223#define INT_7XX_SPI_100K_2 (37 + IH2_BASE)
247#define INT_730_RNG_IDLE (38 + IH2_BASE) 224#define INT_7XX_RNG_IDLE (38 + IH2_BASE)
248#define INT_730_MPUIO (39 + IH2_BASE) 225#define INT_7XX_MPUIO (39 + IH2_BASE)
249#define INT_730_LLPC_LCD_CTRL_CAN_BE_OFF (40 + IH2_BASE) 226#define INT_7XX_LLPC_LCD_CTRL_CAN_BE_OFF (40 + IH2_BASE)
250#define INT_730_LLPC_OE_FALLING (41 + IH2_BASE) 227#define INT_7XX_LLPC_OE_FALLING (41 + IH2_BASE)
251#define INT_730_LLPC_OE_RISING (42 + IH2_BASE) 228#define INT_7XX_LLPC_OE_RISING (42 + IH2_BASE)
252#define INT_730_LLPC_VSYNC (43 + IH2_BASE) 229#define INT_7XX_LLPC_VSYNC (43 + IH2_BASE)
253#define INT_730_WAKE_UP_REQ (46 + IH2_BASE) 230#define INT_7XX_WAKE_UP_REQ (46 + IH2_BASE)
254#define INT_730_DMA_CH6 (53 + IH2_BASE) 231#define INT_7XX_DMA_CH6 (53 + IH2_BASE)
255#define INT_730_DMA_CH7 (54 + IH2_BASE) 232#define INT_7XX_DMA_CH7 (54 + IH2_BASE)
256#define INT_730_DMA_CH8 (55 + IH2_BASE) 233#define INT_7XX_DMA_CH8 (55 + IH2_BASE)
257#define INT_730_DMA_CH9 (56 + IH2_BASE) 234#define INT_7XX_DMA_CH9 (56 + IH2_BASE)
258#define INT_730_DMA_CH10 (57 + IH2_BASE) 235#define INT_7XX_DMA_CH10 (57 + IH2_BASE)
259#define INT_730_DMA_CH11 (58 + IH2_BASE) 236#define INT_7XX_DMA_CH11 (58 + IH2_BASE)
260#define INT_730_DMA_CH12 (59 + IH2_BASE) 237#define INT_7XX_DMA_CH12 (59 + IH2_BASE)
261#define INT_730_DMA_CH13 (60 + IH2_BASE) 238#define INT_7XX_DMA_CH13 (60 + IH2_BASE)
262#define INT_730_DMA_CH14 (61 + IH2_BASE) 239#define INT_7XX_DMA_CH14 (61 + IH2_BASE)
263#define INT_730_DMA_CH15 (62 + IH2_BASE) 240#define INT_7XX_DMA_CH15 (62 + IH2_BASE)
264#define INT_730_NAND (63 + IH2_BASE) 241#define INT_7XX_NAND (63 + IH2_BASE)
265
266/*
267 * OMAP-850 specific IRQ numbers for interrupt handler 2
268 */
269#define INT_850_HW_ERRORS (0 + IH2_BASE)
270#define INT_850_NFIQ_PWR_FAIL (1 + IH2_BASE)
271#define INT_850_CFCD (2 + IH2_BASE)
272#define INT_850_CFIREQ (3 + IH2_BASE)
273#define INT_850_I2C (4 + IH2_BASE)
274#define INT_850_PCC (5 + IH2_BASE)
275#define INT_850_MPU_EXT_NIRQ (6 + IH2_BASE)
276#define INT_850_SPI_100K_1 (7 + IH2_BASE)
277#define INT_850_SYREN_SPI (8 + IH2_BASE)
278#define INT_850_VLYNQ (9 + IH2_BASE)
279#define INT_850_GPIO_BANK4 (10 + IH2_BASE)
280#define INT_850_McBSP1TX (11 + IH2_BASE)
281#define INT_850_McBSP1RX (12 + IH2_BASE)
282#define INT_850_McBSP1RX_OF (13 + IH2_BASE)
283#define INT_850_UART_MODEM_IRDA_2 (14 + IH2_BASE)
284#define INT_850_UART_MODEM_1 (15 + IH2_BASE)
285#define INT_850_MCSI (16 + IH2_BASE)
286#define INT_850_uWireTX (17 + IH2_BASE)
287#define INT_850_uWireRX (18 + IH2_BASE)
288#define INT_850_SMC_CD (19 + IH2_BASE)
289#define INT_850_SMC_IREQ (20 + IH2_BASE)
290#define INT_850_HDQ_1WIRE (21 + IH2_BASE)
291#define INT_850_TIMER32K (22 + IH2_BASE)
292#define INT_850_MMC_SDIO (23 + IH2_BASE)
293#define INT_850_UPLD (24 + IH2_BASE)
294#define INT_850_USB_HHC_1 (27 + IH2_BASE)
295#define INT_850_USB_HHC_2 (28 + IH2_BASE)
296#define INT_850_USB_GENI (29 + IH2_BASE)
297#define INT_850_USB_OTG (30 + IH2_BASE)
298#define INT_850_CAMERA_IF (31 + IH2_BASE)
299#define INT_850_RNG (32 + IH2_BASE)
300#define INT_850_DUAL_MODE_TIMER (33 + IH2_BASE)
301#define INT_850_DBB_RF_EN (34 + IH2_BASE)
302#define INT_850_MPUIO_KEYPAD (35 + IH2_BASE)
303#define INT_850_SHA1_MD5 (36 + IH2_BASE)
304#define INT_850_SPI_100K_2 (37 + IH2_BASE)
305#define INT_850_RNG_IDLE (38 + IH2_BASE)
306#define INT_850_MPUIO (39 + IH2_BASE)
307#define INT_850_LLPC_LCD_CTRL_CAN_BE_OFF (40 + IH2_BASE)
308#define INT_850_LLPC_OE_FALLING (41 + IH2_BASE)
309#define INT_850_LLPC_OE_RISING (42 + IH2_BASE)
310#define INT_850_LLPC_VSYNC (43 + IH2_BASE)
311#define INT_850_WAKE_UP_REQ (46 + IH2_BASE)
312#define INT_850_DMA_CH6 (53 + IH2_BASE)
313#define INT_850_DMA_CH7 (54 + IH2_BASE)
314#define INT_850_DMA_CH8 (55 + IH2_BASE)
315#define INT_850_DMA_CH9 (56 + IH2_BASE)
316#define INT_850_DMA_CH10 (57 + IH2_BASE)
317#define INT_850_DMA_CH11 (58 + IH2_BASE)
318#define INT_850_DMA_CH12 (59 + IH2_BASE)
319#define INT_850_DMA_CH13 (60 + IH2_BASE)
320#define INT_850_DMA_CH14 (61 + IH2_BASE)
321#define INT_850_DMA_CH15 (62 + IH2_BASE)
322#define INT_850_NAND (63 + IH2_BASE)
323 242
324#define INT_24XX_SYS_NIRQ 7 243#define INT_24XX_SYS_NIRQ 7
325#define INT_24XX_SDMA_IRQ0 12 244#define INT_24XX_SDMA_IRQ0 12
@@ -558,9 +477,14 @@
558 477
559#define OMAP_IRQ_BIT(irq) (1 << ((irq) % 32)) 478#define OMAP_IRQ_BIT(irq) (1 << ((irq) % 32))
560 479
480#define INTCPS_NR_MIR_REGS 3
481#define INTCPS_NR_IRQS 96
482
561#ifndef __ASSEMBLY__ 483#ifndef __ASSEMBLY__
562extern void omap_init_irq(void); 484extern void omap_init_irq(void);
563extern int omap_irq_pending(void); 485extern int omap_irq_pending(void);
486void omap_intc_save_context(void);
487void omap_intc_restore_context(void);
564#endif 488#endif
565 489
566#include <mach/hardware.h> 490#include <mach/hardware.h>
diff --git a/arch/arm/plat-omap/include/mach/keypad.h b/arch/arm/plat-omap/include/plat/keypad.h
index 3ae52ccc793c..3ae52ccc793c 100644
--- a/arch/arm/plat-omap/include/mach/keypad.h
+++ b/arch/arm/plat-omap/include/plat/keypad.h
diff --git a/arch/arm/plat-omap/include/mach/lcd_mipid.h b/arch/arm/plat-omap/include/plat/lcd_mipid.h
index 8e52c6572281..8e52c6572281 100644
--- a/arch/arm/plat-omap/include/mach/lcd_mipid.h
+++ b/arch/arm/plat-omap/include/plat/lcd_mipid.h
diff --git a/arch/arm/plat-omap/include/mach/led.h b/arch/arm/plat-omap/include/plat/led.h
index 25e451e7e2fd..25e451e7e2fd 100644
--- a/arch/arm/plat-omap/include/mach/led.h
+++ b/arch/arm/plat-omap/include/plat/led.h
diff --git a/arch/arm/plat-omap/include/mach/mailbox.h b/arch/arm/plat-omap/include/plat/mailbox.h
index b7a6991814ec..729166b76a7c 100644
--- a/arch/arm/plat-omap/include/mach/mailbox.h
+++ b/arch/arm/plat-omap/include/plat/mailbox.h
@@ -6,9 +6,9 @@
6#include <linux/wait.h> 6#include <linux/wait.h>
7#include <linux/workqueue.h> 7#include <linux/workqueue.h>
8#include <linux/blkdev.h> 8#include <linux/blkdev.h>
9#include <linux/interrupt.h>
9 10
10typedef u32 mbox_msg_t; 11typedef u32 mbox_msg_t;
11typedef void (mbox_receiver_t)(mbox_msg_t msg);
12struct omap_mbox; 12struct omap_mbox;
13 13
14typedef int __bitwise omap_mbox_irq_t; 14typedef int __bitwise omap_mbox_irq_t;
@@ -29,8 +29,10 @@ struct omap_mbox_ops {
29 int (*fifo_empty)(struct omap_mbox *mbox); 29 int (*fifo_empty)(struct omap_mbox *mbox);
30 int (*fifo_full)(struct omap_mbox *mbox); 30 int (*fifo_full)(struct omap_mbox *mbox);
31 /* irq */ 31 /* irq */
32 void (*enable_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); 32 void (*enable_irq)(struct omap_mbox *mbox,
33 void (*disable_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); 33 omap_mbox_irq_t irq);
34 void (*disable_irq)(struct omap_mbox *mbox,
35 omap_mbox_irq_t irq);
34 void (*ack_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); 36 void (*ack_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq);
35 int (*is_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq); 37 int (*is_irq)(struct omap_mbox *mbox, omap_mbox_irq_t irq);
36 /* ctx */ 38 /* ctx */
@@ -42,6 +44,7 @@ struct omap_mbox_queue {
42 spinlock_t lock; 44 spinlock_t lock;
43 struct request_queue *queue; 45 struct request_queue *queue;
44 struct work_struct work; 46 struct work_struct work;
47 struct tasklet_struct tasklet;
45 int (*callback)(void *); 48 int (*callback)(void *);
46 struct omap_mbox *mbox; 49 struct omap_mbox *mbox;
47}; 50};
@@ -64,7 +67,7 @@ struct omap_mbox {
64 void (*err_notify)(void); 67 void (*err_notify)(void);
65}; 68};
66 69
67int omap_mbox_msg_send(struct omap_mbox *, mbox_msg_t msg, void *); 70int omap_mbox_msg_send(struct omap_mbox *, mbox_msg_t msg);
68void omap_mbox_init_seq(struct omap_mbox *); 71void omap_mbox_init_seq(struct omap_mbox *);
69 72
70struct omap_mbox *omap_mbox_get(const char *); 73struct omap_mbox *omap_mbox_get(const char *);
@@ -93,4 +96,16 @@ static inline void omap_mbox_restore_ctx(struct omap_mbox *mbox)
93 mbox->ops->restore_ctx(mbox); 96 mbox->ops->restore_ctx(mbox);
94} 97}
95 98
99static inline void omap_mbox_enable_irq(struct omap_mbox *mbox,
100 omap_mbox_irq_t irq)
101{
102 mbox->ops->enable_irq(mbox, irq);
103}
104
105static inline void omap_mbox_disable_irq(struct omap_mbox *mbox,
106 omap_mbox_irq_t irq)
107{
108 mbox->ops->disable_irq(mbox, irq);
109}
110
96#endif /* MAILBOX_H */ 111#endif /* MAILBOX_H */
diff --git a/arch/arm/plat-omap/include/mach/mcbsp.h b/arch/arm/plat-omap/include/plat/mcbsp.h
index e0d6eca222cc..4f22e5bb7ff7 100644
--- a/arch/arm/plat-omap/include/mach/mcbsp.h
+++ b/arch/arm/plat-omap/include/plat/mcbsp.h
@@ -28,10 +28,10 @@
28#include <linux/spinlock.h> 28#include <linux/spinlock.h>
29 29
30#include <mach/hardware.h> 30#include <mach/hardware.h>
31#include <mach/clock.h> 31#include <plat/clock.h>
32 32
33#define OMAP730_MCBSP1_BASE 0xfffb1000 33#define OMAP7XX_MCBSP1_BASE 0xfffb1000
34#define OMAP730_MCBSP2_BASE 0xfffb1800 34#define OMAP7XX_MCBSP2_BASE 0xfffb1800
35 35
36#define OMAP1510_MCBSP1_BASE 0xe1011800 36#define OMAP1510_MCBSP1_BASE 0xe1011800
37#define OMAP1510_MCBSP2_BASE 0xfffb1000 37#define OMAP1510_MCBSP2_BASE 0xfffb1000
@@ -58,7 +58,7 @@
58#define OMAP44XX_MCBSP3_BASE 0x49026000 58#define OMAP44XX_MCBSP3_BASE 0x49026000
59#define OMAP44XX_MCBSP4_BASE 0x48074000 59#define OMAP44XX_MCBSP4_BASE 0x48074000
60 60
61#if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP730) 61#if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
62 62
63#define OMAP_MCBSP_REG_DRR2 0x00 63#define OMAP_MCBSP_REG_DRR2 0x00
64#define OMAP_MCBSP_REG_DRR1 0x02 64#define OMAP_MCBSP_REG_DRR1 0x02
diff --git a/arch/arm/plat-omap/include/mach/mcspi.h b/arch/arm/plat-omap/include/plat/mcspi.h
index 1254e4945b6f..1254e4945b6f 100644
--- a/arch/arm/plat-omap/include/mach/mcspi.h
+++ b/arch/arm/plat-omap/include/plat/mcspi.h
diff --git a/arch/arm/plat-omap/include/mach/memory.h b/arch/arm/plat-omap/include/plat/memory.h
index 3325f7b49eaa..3325f7b49eaa 100644
--- a/arch/arm/plat-omap/include/mach/memory.h
+++ b/arch/arm/plat-omap/include/plat/memory.h
diff --git a/arch/arm/plat-omap/include/mach/menelaus.h b/arch/arm/plat-omap/include/plat/menelaus.h
index 3122bf68c7ce..3122bf68c7ce 100644
--- a/arch/arm/plat-omap/include/mach/menelaus.h
+++ b/arch/arm/plat-omap/include/plat/menelaus.h
diff --git a/arch/arm/plat-omap/include/mach/mmc.h b/arch/arm/plat-omap/include/plat/mmc.h
index 7229b9593301..29937137bf3e 100644
--- a/arch/arm/plat-omap/include/mach/mmc.h
+++ b/arch/arm/plat-omap/include/plat/mmc.h
@@ -15,7 +15,7 @@
15#include <linux/device.h> 15#include <linux/device.h>
16#include <linux/mmc/host.h> 16#include <linux/mmc/host.h>
17 17
18#include <mach/board.h> 18#include <plat/board.h>
19 19
20#define OMAP15XX_NR_MMC 1 20#define OMAP15XX_NR_MMC 1
21#define OMAP16XX_NR_MMC 2 21#define OMAP16XX_NR_MMC 2
diff --git a/arch/arm/plat-omap/include/mach/mux.h b/arch/arm/plat-omap/include/plat/mux.h
index 0f49d2d563d9..ba77de601501 100644
--- a/arch/arm/plat-omap/include/mach/mux.h
+++ b/arch/arm/plat-omap/include/plat/mux.h
@@ -51,23 +51,13 @@
51 .pu_pd_reg = PU_PD_SEL_##reg, \ 51 .pu_pd_reg = PU_PD_SEL_##reg, \
52 .pu_pd_val = status, 52 .pu_pd_val = status,
53 53
54#define MUX_REG_730(reg, mode_offset, mode) .mux_reg_name = "OMAP730_IO_CONF_"#reg, \ 54#define MUX_REG_7XX(reg, mode_offset, mode) .mux_reg_name = "OMAP7XX_IO_CONF_"#reg, \
55 .mux_reg = OMAP730_IO_CONF_##reg, \ 55 .mux_reg = OMAP7XX_IO_CONF_##reg, \
56 .mask_offset = mode_offset, \ 56 .mask_offset = mode_offset, \
57 .mask = mode, 57 .mask = mode,
58 58
59#define PULL_REG_730(reg, bit, status) .pull_name = "OMAP730_IO_CONF_"#reg, \ 59#define PULL_REG_7XX(reg, bit, status) .pull_name = "OMAP7XX_IO_CONF_"#reg, \
60 .pull_reg = OMAP730_IO_CONF_##reg, \ 60 .pull_reg = OMAP7XX_IO_CONF_##reg, \
61 .pull_bit = bit, \
62 .pull_val = status,
63
64#define MUX_REG_850(reg, mode_offset, mode) .mux_reg_name = "OMAP850_IO_CONF_"#reg, \
65 .mux_reg = OMAP850_IO_CONF_##reg, \
66 .mask_offset = mode_offset, \
67 .mask = mode,
68
69#define PULL_REG_850(reg, bit, status) .pull_name = "OMAP850_IO_CONF_"#reg, \
70 .pull_reg = OMAP850_IO_CONF_##reg, \
71 .pull_bit = bit, \ 61 .pull_bit = bit, \
72 .pull_val = status, 62 .pull_val = status,
73 63
@@ -84,21 +74,12 @@
84#define PU_PD_REG(reg, status) .pu_pd_reg = PU_PD_SEL_##reg, \ 74#define PU_PD_REG(reg, status) .pu_pd_reg = PU_PD_SEL_##reg, \
85 .pu_pd_val = status, 75 .pu_pd_val = status,
86 76
87#define MUX_REG_730(reg, mode_offset, mode) \ 77#define MUX_REG_7XX(reg, mode_offset, mode) \
88 .mux_reg = OMAP730_IO_CONF_##reg, \ 78 .mux_reg = OMAP7XX_IO_CONF_##reg, \
89 .mask_offset = mode_offset, \ 79 .mask_offset = mode_offset, \
90 .mask = mode, 80 .mask = mode,
91 81
92#define PULL_REG_730(reg, bit, status) .pull_reg = OMAP730_IO_CONF_##reg, \ 82#define PULL_REG_7XX(reg, bit, status) .pull_reg = OMAP7XX_IO_CONF_##reg, \
93 .pull_bit = bit, \
94 .pull_val = status,
95
96#define MUX_REG_850(reg, mode_offset, mode) \
97 .mux_reg = OMAP850_IO_CONF_##reg, \
98 .mask_offset = mode_offset, \
99 .mask = mode,
100
101#define PULL_REG_850(reg, bit, status) .pull_reg = OMAP850_IO_CONF_##reg, \
102 .pull_bit = bit, \ 83 .pull_bit = bit, \
103 .pull_val = status, 84 .pull_val = status,
104 85
@@ -118,32 +99,21 @@
118 99
119/* 100/*
120 * OMAP730/850 has a slightly different config for the pin mux. 101 * OMAP730/850 has a slightly different config for the pin mux.
121 * - config regs are the OMAP730_IO_CONF_x regs (see omap730.h) regs and 102 * - config regs are the OMAP7XX_IO_CONF_x regs (see omap730.h) regs and
122 * not the FUNC_MUX_CTRL_x regs from hardware.h 103 * not the FUNC_MUX_CTRL_x regs from hardware.h
123 * - for pull-up/down, only has one enable bit which is is in the same register 104 * - for pull-up/down, only has one enable bit which is is in the same register
124 * as mux config 105 * as mux config
125 */ 106 */
126#define MUX_CFG_730(desc, mux_reg, mode_offset, mode, \ 107#define MUX_CFG_7XX(desc, mux_reg, mode_offset, mode, \
127 pull_bit, pull_status, debug_status)\
128{ \
129 .name = desc, \
130 .debug = debug_status, \
131 MUX_REG_730(mux_reg, mode_offset, mode) \
132 PULL_REG_730(mux_reg, pull_bit, pull_status) \
133 PU_PD_REG(NA, 0) \
134},
135
136#define MUX_CFG_850(desc, mux_reg, mode_offset, mode, \
137 pull_bit, pull_status, debug_status)\ 108 pull_bit, pull_status, debug_status)\
138{ \ 109{ \
139 .name = desc, \ 110 .name = desc, \
140 .debug = debug_status, \ 111 .debug = debug_status, \
141 MUX_REG_850(mux_reg, mode_offset, mode) \ 112 MUX_REG_7XX(mux_reg, mode_offset, mode) \
142 PULL_REG_850(mux_reg, pull_bit, pull_status) \ 113 PULL_REG_7XX(mux_reg, pull_bit, pull_status) \
143 PU_PD_REG(NA, 0) \ 114 PU_PD_REG(NA, 0) \
144}, 115},
145 116
146
147#define MUX_CFG_24XX(desc, reg_offset, mode, \ 117#define MUX_CFG_24XX(desc, reg_offset, mode, \
148 pull_en, pull_mode, dbg) \ 118 pull_en, pull_mode, dbg) \
149{ \ 119{ \
@@ -232,45 +202,30 @@ struct pin_config {
232 202
233}; 203};
234 204
235enum omap730_index { 205enum omap7xx_index {
236 /* OMAP 730 keyboard */ 206 /* OMAP 730 keyboard */
237 E2_730_KBR0, 207 E2_7XX_KBR0,
238 J7_730_KBR1, 208 J7_7XX_KBR1,
239 E1_730_KBR2, 209 E1_7XX_KBR2,
240 F3_730_KBR3, 210 F3_7XX_KBR3,
241 D2_730_KBR4, 211 D2_7XX_KBR4,
242 C2_730_KBC0, 212 C2_7XX_KBC0,
243 D3_730_KBC1, 213 D3_7XX_KBC1,
244 E4_730_KBC2, 214 E4_7XX_KBC2,
245 F4_730_KBC3, 215 F4_7XX_KBC3,
246 E3_730_KBC4, 216 E3_7XX_KBC4,
247 217
248 /* USB */ 218 /* USB */
249 AA17_730_USB_DM, 219 AA17_7XX_USB_DM,
250 W16_730_USB_PU_EN, 220 W16_7XX_USB_PU_EN,
251 W17_730_USB_VBUSI, 221 W17_7XX_USB_VBUSI,
222
223 /* MMC */
224 MMC_7XX_CMD,
225 MMC_7XX_CLK,
226 MMC_7XX_DAT0,
252}; 227};
253 228
254enum omap850_index {
255 /* OMAP 850 keyboard */
256 E2_850_KBR0,
257 J7_850_KBR1,
258 E1_850_KBR2,
259 F3_850_KBR3,
260 D2_850_KBR4,
261 C2_850_KBC0,
262 D3_850_KBC1,
263 E4_850_KBC2,
264 F4_850_KBC3,
265 E3_850_KBC4,
266
267 /* USB */
268 AA17_850_USB_DM,
269 W16_850_USB_PU_EN,
270 W17_850_USB_VBUSI,
271};
272
273
274enum omap1xxx_index { 229enum omap1xxx_index {
275 /* UART1 (BT_UART_GATING)*/ 230 /* UART1 (BT_UART_GATING)*/
276 UART1_TX = 0, 231 UART1_TX = 0,
@@ -879,6 +834,10 @@ enum omap34xx_index {
879 AH4_3430_MMC2_DAT1, 834 AH4_3430_MMC2_DAT1,
880 AG4_3430_MMC2_DAT2, 835 AG4_3430_MMC2_DAT2,
881 AF4_3430_MMC2_DAT3, 836 AF4_3430_MMC2_DAT3,
837 AE4_3430_MMC2_DAT4,
838 AH3_3430_MMC2_DAT5,
839 AF3_3430_MMC2_DAT6,
840 AE3_3430_MMC2_DAT7,
882 841
883 /* MMC3 */ 842 /* MMC3 */
884 AF10_3430_MMC3_CLK, 843 AF10_3430_MMC3_CLK,
@@ -890,6 +849,11 @@ enum omap34xx_index {
890 849
891 /* SYS_NIRQ T2 INT1 */ 850 /* SYS_NIRQ T2 INT1 */
892 AF26_34XX_SYS_NIRQ, 851 AF26_34XX_SYS_NIRQ,
852
853 /* EHCI GPIO's for OMAP3EVM (Rev >= E) */
854 AH14_34XX_GPIO21,
855 AF9_34XX_GPIO22,
856 U3_34XX_GPIO61,
893}; 857};
894 858
895struct omap_mux_cfg { 859struct omap_mux_cfg {
diff --git a/arch/arm/plat-omap/include/mach/nand.h b/arch/arm/plat-omap/include/plat/nand.h
index 631a7bed1eef..631a7bed1eef 100644
--- a/arch/arm/plat-omap/include/mach/nand.h
+++ b/arch/arm/plat-omap/include/plat/nand.h
diff --git a/arch/arm/plat-omap/include/mach/omap-alsa.h b/arch/arm/plat-omap/include/plat/omap-alsa.h
index bdf30a0f87f2..b53055b390d0 100644
--- a/arch/arm/plat-omap/include/mach/omap-alsa.h
+++ b/arch/arm/plat-omap/include/plat/omap-alsa.h
@@ -40,10 +40,10 @@
40#ifndef __OMAP_ALSA_H 40#ifndef __OMAP_ALSA_H
41#define __OMAP_ALSA_H 41#define __OMAP_ALSA_H
42 42
43#include <mach/dma.h> 43#include <plat/dma.h>
44#include <sound/core.h> 44#include <sound/core.h>
45#include <sound/pcm.h> 45#include <sound/pcm.h>
46#include <mach/mcbsp.h> 46#include <plat/mcbsp.h>
47#include <linux/platform_device.h> 47#include <linux/platform_device.h>
48 48
49#define DMA_BUF_SIZE (1024 * 8) 49#define DMA_BUF_SIZE (1024 * 8)
diff --git a/arch/arm/plat-omap/include/mach/omap-pm.h b/arch/arm/plat-omap/include/plat/omap-pm.h
index 3ee41d711492..3ee41d711492 100644
--- a/arch/arm/plat-omap/include/mach/omap-pm.h
+++ b/arch/arm/plat-omap/include/plat/omap-pm.h
diff --git a/arch/arm/plat-omap/include/mach/omap1510.h b/arch/arm/plat-omap/include/plat/omap1510.h
index d24004668138..d24004668138 100644
--- a/arch/arm/plat-omap/include/mach/omap1510.h
+++ b/arch/arm/plat-omap/include/plat/omap1510.h
diff --git a/arch/arm/plat-omap/include/mach/omap16xx.h b/arch/arm/plat-omap/include/plat/omap16xx.h
index 0e69b504c25f..0e69b504c25f 100644
--- a/arch/arm/plat-omap/include/mach/omap16xx.h
+++ b/arch/arm/plat-omap/include/plat/omap16xx.h
diff --git a/arch/arm/plat-omap/include/mach/omap24xx.h b/arch/arm/plat-omap/include/plat/omap24xx.h
index 696edfc145a6..696edfc145a6 100644
--- a/arch/arm/plat-omap/include/mach/omap24xx.h
+++ b/arch/arm/plat-omap/include/plat/omap24xx.h
diff --git a/arch/arm/plat-omap/include/mach/omap34xx.h b/arch/arm/plat-omap/include/plat/omap34xx.h
index f8d186a73712..077f05979f86 100644
--- a/arch/arm/plat-omap/include/mach/omap34xx.h
+++ b/arch/arm/plat-omap/include/plat/omap34xx.h
@@ -72,16 +72,15 @@
72#define OMAP3430_ISP_CSI2A_END (OMAP3430_ISP_CSI2A_BASE + 0x16F) 72#define OMAP3430_ISP_CSI2A_END (OMAP3430_ISP_CSI2A_BASE + 0x16F)
73#define OMAP3430_ISP_CSI2PHY_END (OMAP3430_ISP_CSI2PHY_BASE + 0x007) 73#define OMAP3430_ISP_CSI2PHY_END (OMAP3430_ISP_CSI2PHY_BASE + 0x007)
74 74
75#define OMAP34XX_IVA_INTC_BASE 0x40000000
76#define OMAP34XX_HSUSB_OTG_BASE (L4_34XX_BASE + 0xAB000) 75#define OMAP34XX_HSUSB_OTG_BASE (L4_34XX_BASE + 0xAB000)
77#define OMAP34XX_HSUSB_HOST_BASE (L4_34XX_BASE + 0x64000)
78#define OMAP34XX_USBTLL_BASE (L4_34XX_BASE + 0x62000) 76#define OMAP34XX_USBTLL_BASE (L4_34XX_BASE + 0x62000)
77#define OMAP34XX_UHH_CONFIG_BASE (L4_34XX_BASE + 0x64000)
78#define OMAP34XX_OHCI_BASE (L4_34XX_BASE + 0x64400)
79#define OMAP34XX_EHCI_BASE (L4_34XX_BASE + 0x64800)
80#define OMAP34XX_SR1_BASE 0x480C9000
81#define OMAP34XX_SR2_BASE 0x480CB000
79 82
80#define OMAP34XX_MAILBOX_BASE (L4_34XX_BASE + 0x94000) 83#define OMAP34XX_MAILBOX_BASE (L4_34XX_BASE + 0x94000)
81 84
82#define OMAP34XX_DSP_BASE 0x58000000
83#define OMAP34XX_DSP_MEM_BASE (OMAP34XX_DSP_BASE + 0x0)
84#define OMAP34XX_DSP_IPI_BASE (OMAP34XX_DSP_BASE + 0x1000000)
85#define OMAP34XX_DSP_MMU_BASE (OMAP34XX_DSP_BASE + 0x2000000)
86#endif /* __ASM_ARCH_OMAP34XX_H */ 85#endif /* __ASM_ARCH_OMAP34XX_H */
87 86
diff --git a/arch/arm/plat-omap/include/mach/omap44xx.h b/arch/arm/plat-omap/include/plat/omap44xx.h
index b3ba5ac7b4a4..e52902a15c1a 100644
--- a/arch/arm/plat-omap/include/mach/omap44xx.h
+++ b/arch/arm/plat-omap/include/plat/omap44xx.h
@@ -22,6 +22,9 @@
22#define L4_PER_44XX_BASE 0x48000000 22#define L4_PER_44XX_BASE 0x48000000
23#define L4_EMU_44XX_BASE 0x54000000 23#define L4_EMU_44XX_BASE 0x54000000
24#define L3_44XX_BASE 0x44000000 24#define L3_44XX_BASE 0x44000000
25#define OMAP44XX_EMIF1_BASE 0x4c000000
26#define OMAP44XX_EMIF2_BASE 0x4d000000
27#define OMAP44XX_DMM_BASE 0x4e000000
25#define OMAP4430_32KSYNCT_BASE 0x4a304000 28#define OMAP4430_32KSYNCT_BASE 0x4a304000
26#define OMAP4430_CM_BASE 0x4a004000 29#define OMAP4430_CM_BASE 0x4a004000
27#define OMAP4430_PRM_BASE 0x48306000 30#define OMAP4430_PRM_BASE 0x48306000
@@ -33,14 +36,11 @@
33#define IRQ_SIR_IRQ 0x0040 36#define IRQ_SIR_IRQ 0x0040
34#define OMAP44XX_GIC_DIST_BASE 0x48241000 37#define OMAP44XX_GIC_DIST_BASE 0x48241000
35#define OMAP44XX_GIC_CPU_BASE 0x48240100 38#define OMAP44XX_GIC_CPU_BASE 0x48240100
36#define OMAP44XX_VA_GIC_CPU_BASE OMAP2_IO_ADDRESS(OMAP44XX_GIC_CPU_BASE)
37#define OMAP44XX_SCU_BASE 0x48240000 39#define OMAP44XX_SCU_BASE 0x48240000
38#define OMAP44XX_VA_SCU_BASE OMAP2_IO_ADDRESS(OMAP44XX_SCU_BASE)
39#define OMAP44XX_LOCAL_TWD_BASE 0x48240600 40#define OMAP44XX_LOCAL_TWD_BASE 0x48240600
40#define OMAP44XX_VA_LOCAL_TWD_BASE OMAP2_IO_ADDRESS(OMAP44XX_LOCAL_TWD_BASE)
41#define OMAP44XX_LOCAL_TWD_SIZE 0x00000100
42#define OMAP44XX_WKUPGEN_BASE 0x48281000 41#define OMAP44XX_WKUPGEN_BASE 0x48281000
43#define OMAP44XX_VA_WKUPGEN_BASE OMAP2_IO_ADDRESS(OMAP44XX_WKUPGEN_BASE) 42
43#define OMAP44XX_MAILBOX_BASE (L4_44XX_BASE + 0xF4000)
44 44
45#endif /* __ASM_ARCH_OMAP44XX_H */ 45#endif /* __ASM_ARCH_OMAP44XX_H */
46 46
diff --git a/arch/arm/plat-omap/include/mach/omap730.h b/arch/arm/plat-omap/include/plat/omap730.h
index 14272bc1a6fd..14272bc1a6fd 100644
--- a/arch/arm/plat-omap/include/mach/omap730.h
+++ b/arch/arm/plat-omap/include/plat/omap730.h
diff --git a/arch/arm/plat-omap/include/plat/omap7xx.h b/arch/arm/plat-omap/include/plat/omap7xx.h
new file mode 100644
index 000000000000..53f52414b0e9
--- /dev/null
+++ b/arch/arm/plat-omap/include/plat/omap7xx.h
@@ -0,0 +1,104 @@
1/* arch/arm/plat-omap/include/mach/omap7xx.h
2 *
3 * Hardware definitions for TI OMAP7XX processor.
4 *
5 * Cleanup for Linux-2.6 by Dirk Behme <dirk.behme@de.bosch.com>
6 * Adapted for omap850 by Zebediah C. McClure <zmc@lurian.net>
7 * Adapted for omap7xx by Alistair Buxton <a.j.buxton@gmail.com>
8 *
9 * This program is free software; you can redistribute it and/or modify it
10 * under the terms of the GNU General Public License as published by the
11 * Free Software Foundation; either version 2 of the License, or (at your
12 * option) any later version.
13 *
14 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
15 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
16 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
17 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
20 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
21 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 *
25 * You should have received a copy of the GNU General Public License along
26 * with this program; if not, write to the Free Software Foundation, Inc.,
27 * 675 Mass Ave, Cambridge, MA 02139, USA.
28 */
29
30#ifndef __ASM_ARCH_OMAP7XX_H
31#define __ASM_ARCH_OMAP7XX_H
32
33/*
34 * ----------------------------------------------------------------------------
35 * Base addresses
36 * ----------------------------------------------------------------------------
37 */
38
39/* Syntax: XX_BASE = Virtual base address, XX_START = Physical base address */
40
41#define OMAP7XX_DSP_BASE 0xE0000000
42#define OMAP7XX_DSP_SIZE 0x50000
43#define OMAP7XX_DSP_START 0xE0000000
44
45#define OMAP7XX_DSPREG_BASE 0xE1000000
46#define OMAP7XX_DSPREG_SIZE SZ_128K
47#define OMAP7XX_DSPREG_START 0xE1000000
48
49/*
50 * ----------------------------------------------------------------------------
51 * OMAP7XX specific configuration registers
52 * ----------------------------------------------------------------------------
53 */
54#define OMAP7XX_CONFIG_BASE 0xfffe1000
55#define OMAP7XX_IO_CONF_0 0xfffe1070
56#define OMAP7XX_IO_CONF_1 0xfffe1074
57#define OMAP7XX_IO_CONF_2 0xfffe1078
58#define OMAP7XX_IO_CONF_3 0xfffe107c
59#define OMAP7XX_IO_CONF_4 0xfffe1080
60#define OMAP7XX_IO_CONF_5 0xfffe1084
61#define OMAP7XX_IO_CONF_6 0xfffe1088
62#define OMAP7XX_IO_CONF_7 0xfffe108c
63#define OMAP7XX_IO_CONF_8 0xfffe1090
64#define OMAP7XX_IO_CONF_9 0xfffe1094
65#define OMAP7XX_IO_CONF_10 0xfffe1098
66#define OMAP7XX_IO_CONF_11 0xfffe109c
67#define OMAP7XX_IO_CONF_12 0xfffe10a0
68#define OMAP7XX_IO_CONF_13 0xfffe10a4
69
70#define OMAP7XX_MODE_1 0xfffe1010
71#define OMAP7XX_MODE_2 0xfffe1014
72
73/* CSMI specials: in terms of base + offset */
74#define OMAP7XX_MODE2_OFFSET 0x14
75
76/*
77 * ----------------------------------------------------------------------------
78 * OMAP7XX traffic controller configuration registers
79 * ----------------------------------------------------------------------------
80 */
81#define OMAP7XX_FLASH_CFG_0 0xfffecc10
82#define OMAP7XX_FLASH_ACFG_0 0xfffecc50
83#define OMAP7XX_FLASH_CFG_1 0xfffecc14
84#define OMAP7XX_FLASH_ACFG_1 0xfffecc54
85
86/*
87 * ----------------------------------------------------------------------------
88 * OMAP7XX DSP control registers
89 * ----------------------------------------------------------------------------
90 */
91#define OMAP7XX_ICR_BASE 0xfffbb800
92#define OMAP7XX_DSP_M_CTL 0xfffbb804
93#define OMAP7XX_DSP_MMU_BASE 0xfffed200
94
95/*
96 * ----------------------------------------------------------------------------
97 * OMAP7XX PCC_UPLD configuration registers
98 * ----------------------------------------------------------------------------
99 */
100#define OMAP7XX_PCC_UPLD_CTRL_BASE (0xfffe0900)
101#define OMAP7XX_PCC_UPLD_CTRL (OMAP7XX_PCC_UPLD_CTRL_BASE + 0x00)
102
103#endif /* __ASM_ARCH_OMAP7XX_H */
104
diff --git a/arch/arm/plat-omap/include/mach/omap850.h b/arch/arm/plat-omap/include/plat/omap850.h
index c33f67981712..c33f67981712 100644
--- a/arch/arm/plat-omap/include/mach/omap850.h
+++ b/arch/arm/plat-omap/include/plat/omap850.h
diff --git a/arch/arm/plat-omap/include/mach/omap_device.h b/arch/arm/plat-omap/include/plat/omap_device.h
index bd0e136db337..11a9773a4e7f 100644
--- a/arch/arm/plat-omap/include/mach/omap_device.h
+++ b/arch/arm/plat-omap/include/plat/omap_device.h
@@ -34,7 +34,7 @@
34#include <linux/kernel.h> 34#include <linux/kernel.h>
35#include <linux/platform_device.h> 35#include <linux/platform_device.h>
36 36
37#include <mach/omap_hwmod.h> 37#include <plat/omap_hwmod.h>
38 38
39/* omap_device._state values */ 39/* omap_device._state values */
40#define OMAP_DEVICE_STATE_UNKNOWN 0 40#define OMAP_DEVICE_STATE_UNKNOWN 0
diff --git a/arch/arm/plat-omap/include/mach/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
index 1f79c20e2929..dbdd123eca16 100644
--- a/arch/arm/plat-omap/include/mach/omap_hwmod.h
+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
@@ -35,7 +35,7 @@
35#include <linux/kernel.h> 35#include <linux/kernel.h>
36#include <linux/ioport.h> 36#include <linux/ioport.h>
37 37
38#include <mach/cpu.h> 38#include <plat/cpu.h>
39 39
40struct omap_device; 40struct omap_device;
41 41
diff --git a/arch/arm/plat-omap/include/mach/omapfb.h b/arch/arm/plat-omap/include/plat/omapfb.h
index b226bdf45739..bfef7ab95f17 100644
--- a/arch/arm/plat-omap/include/mach/omapfb.h
+++ b/arch/arm/plat-omap/include/plat/omapfb.h
@@ -168,7 +168,7 @@ enum omapfb_update_mode {
168#include <linux/fb.h> 168#include <linux/fb.h>
169#include <linux/mutex.h> 169#include <linux/mutex.h>
170 170
171#include <mach/board.h> 171#include <plat/board.h>
172 172
173#define OMAP_LCDC_INV_VSYNC 0x0001 173#define OMAP_LCDC_INV_VSYNC 0x0001
174#define OMAP_LCDC_INV_HSYNC 0x0002 174#define OMAP_LCDC_INV_HSYNC 0x0002
diff --git a/arch/arm/plat-omap/include/mach/onenand.h b/arch/arm/plat-omap/include/plat/onenand.h
index 72f433d7d827..72f433d7d827 100644
--- a/arch/arm/plat-omap/include/mach/onenand.h
+++ b/arch/arm/plat-omap/include/plat/onenand.h
diff --git a/arch/arm/plat-omap/include/mach/param.h b/arch/arm/plat-omap/include/plat/param.h
index 1eb4dc326979..1eb4dc326979 100644
--- a/arch/arm/plat-omap/include/mach/param.h
+++ b/arch/arm/plat-omap/include/plat/param.h
diff --git a/arch/arm/plat-omap/include/mach/powerdomain.h b/arch/arm/plat-omap/include/plat/powerdomain.h
index fa6461423bd0..3d45ee1d3cf4 100644
--- a/arch/arm/plat-omap/include/mach/powerdomain.h
+++ b/arch/arm/plat-omap/include/plat/powerdomain.h
@@ -19,7 +19,7 @@
19 19
20#include <asm/atomic.h> 20#include <asm/atomic.h>
21 21
22#include <mach/cpu.h> 22#include <plat/cpu.h>
23 23
24 24
25/* Powerdomain basic power states */ 25/* Powerdomain basic power states */
diff --git a/arch/arm/plat-omap/include/mach/prcm.h b/arch/arm/plat-omap/include/plat/prcm.h
index cda2a70397b4..e63e94e18975 100644
--- a/arch/arm/plat-omap/include/mach/prcm.h
+++ b/arch/arm/plat-omap/include/plat/prcm.h
@@ -27,9 +27,13 @@ u32 omap_prcm_get_reset_sources(void);
27void omap_prcm_arch_reset(char mode); 27void omap_prcm_arch_reset(char mode);
28int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, const char *name); 28int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, const char *name);
29 29
30#endif 30#define START_PADCONF_SAVE 0x2
31#define PADCONF_SAVE_DONE 0x1
31 32
33void omap3_prcm_save_context(void);
34void omap3_prcm_restore_context(void);
32 35
36#endif
33 37
34 38
35 39
diff --git a/arch/arm/plat-omap/include/mach/sdrc.h b/arch/arm/plat-omap/include/plat/sdrc.h
index 1c09c78a48f2..f704030d2a70 100644
--- a/arch/arm/plat-omap/include/mach/sdrc.h
+++ b/arch/arm/plat-omap/include/plat/sdrc.h
@@ -44,6 +44,12 @@
44#define SDRC_RFR_CTRL_1 0x0D4 44#define SDRC_RFR_CTRL_1 0x0D4
45#define SDRC_MANUAL_1 0x0D8 45#define SDRC_MANUAL_1 0x0D8
46 46
47#define SDRC_POWER_AUTOCOUNT_SHIFT 8
48#define SDRC_POWER_AUTOCOUNT_MASK (0xffff << SDRC_POWER_AUTOCOUNT_SHIFT)
49#define SDRC_POWER_CLKCTRL_SHIFT 4
50#define SDRC_POWER_CLKCTRL_MASK (0x3 << SDRC_POWER_CLKCTRL_SHIFT)
51#define SDRC_SELF_REFRESH_ON_AUTOCOUNT (0x2 << SDRC_POWER_CLKCTRL_SHIFT)
52
47/* 53/*
48 * These values represent the number of memory clock cycles between 54 * These values represent the number of memory clock cycles between
49 * autorefresh initiation. They assume 1 refresh per 64 ms (JEDEC), 8192 55 * autorefresh initiation. They assume 1 refresh per 64 ms (JEDEC), 8192
@@ -80,11 +86,11 @@
80 */ 86 */
81 87
82#define OMAP242X_SMS_REGADDR(reg) \ 88#define OMAP242X_SMS_REGADDR(reg) \
83 (void __iomem *)OMAP2_IO_ADDRESS(OMAP2420_SMS_BASE + reg) 89 (void __iomem *)OMAP2_L3_IO_ADDRESS(OMAP2420_SMS_BASE + reg)
84#define OMAP243X_SMS_REGADDR(reg) \ 90#define OMAP243X_SMS_REGADDR(reg) \
85 (void __iomem *)OMAP2_IO_ADDRESS(OMAP243X_SMS_BASE + reg) 91 (void __iomem *)OMAP2_L3_IO_ADDRESS(OMAP243X_SMS_BASE + reg)
86#define OMAP343X_SMS_REGADDR(reg) \ 92#define OMAP343X_SMS_REGADDR(reg) \
87 (void __iomem *)OMAP2_IO_ADDRESS(OMAP343X_SMS_BASE + reg) 93 (void __iomem *)OMAP2_L3_IO_ADDRESS(OMAP343X_SMS_BASE + reg)
88 94
89/* SMS register offsets - read/write with sms_{read,write}_reg() */ 95/* SMS register offsets - read/write with sms_{read,write}_reg() */
90 96
@@ -120,6 +126,8 @@ void __init omap2_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
120int omap2_sdrc_get_params(unsigned long r, 126int omap2_sdrc_get_params(unsigned long r,
121 struct omap_sdrc_params **sdrc_cs0, 127 struct omap_sdrc_params **sdrc_cs0,
122 struct omap_sdrc_params **sdrc_cs1); 128 struct omap_sdrc_params **sdrc_cs1);
129void omap2_sms_save_context(void);
130void omap2_sms_restore_context(void);
123 131
124#ifdef CONFIG_ARCH_OMAP2 132#ifdef CONFIG_ARCH_OMAP2
125 133
diff --git a/arch/arm/plat-omap/include/mach/serial.h b/arch/arm/plat-omap/include/plat/serial.h
index e249186d26e2..9951345a25d6 100644
--- a/arch/arm/plat-omap/include/mach/serial.h
+++ b/arch/arm/plat-omap/include/plat/serial.h
@@ -20,26 +20,22 @@
20#define OMAP_UART1_BASE 0xfffb0000 20#define OMAP_UART1_BASE 0xfffb0000
21#define OMAP_UART2_BASE 0xfffb0800 21#define OMAP_UART2_BASE 0xfffb0800
22#define OMAP_UART3_BASE 0xfffb9800 22#define OMAP_UART3_BASE 0xfffb9800
23#define OMAP_MAX_NR_PORTS 3
24#elif defined(CONFIG_ARCH_OMAP2) 23#elif defined(CONFIG_ARCH_OMAP2)
25/* OMAP2 serial ports */ 24/* OMAP2 serial ports */
26#define OMAP_UART1_BASE 0x4806a000 25#define OMAP_UART1_BASE 0x4806a000
27#define OMAP_UART2_BASE 0x4806c000 26#define OMAP_UART2_BASE 0x4806c000
28#define OMAP_UART3_BASE 0x4806e000 27#define OMAP_UART3_BASE 0x4806e000
29#define OMAP_MAX_NR_PORTS 3
30#elif defined(CONFIG_ARCH_OMAP3) 28#elif defined(CONFIG_ARCH_OMAP3)
31/* OMAP3 serial ports */ 29/* OMAP3 serial ports */
32#define OMAP_UART1_BASE 0x4806a000 30#define OMAP_UART1_BASE 0x4806a000
33#define OMAP_UART2_BASE 0x4806c000 31#define OMAP_UART2_BASE 0x4806c000
34#define OMAP_UART3_BASE 0x49020000 32#define OMAP_UART3_BASE 0x49020000
35#define OMAP_MAX_NR_PORTS 3
36#elif defined(CONFIG_ARCH_OMAP4) 33#elif defined(CONFIG_ARCH_OMAP4)
37/* OMAP4 serial ports */ 34/* OMAP4 serial ports */
38#define OMAP_UART1_BASE 0x4806a000 35#define OMAP_UART1_BASE 0x4806a000
39#define OMAP_UART2_BASE 0x4806c000 36#define OMAP_UART2_BASE 0x4806c000
40#define OMAP_UART3_BASE 0x48020000 37#define OMAP_UART3_BASE 0x48020000
41#define OMAP_UART4_BASE 0x4806e000 38#define OMAP_UART4_BASE 0x4806e000
42#define OMAP_MAX_NR_PORTS 4
43#endif 39#endif
44 40
45#define OMAP1510_BASE_BAUD (12000000/16) 41#define OMAP1510_BASE_BAUD (12000000/16)
diff --git a/arch/arm/plat-omap/include/mach/smp.h b/arch/arm/plat-omap/include/plat/smp.h
index dcaa8fde7063..dcaa8fde7063 100644
--- a/arch/arm/plat-omap/include/mach/smp.h
+++ b/arch/arm/plat-omap/include/plat/smp.h
diff --git a/arch/arm/plat-omap/include/mach/sram.h b/arch/arm/plat-omap/include/plat/sram.h
index 8974e3fc2691..16a1b458d53c 100644
--- a/arch/arm/plat-omap/include/mach/sram.h
+++ b/arch/arm/plat-omap/include/plat/sram.h
@@ -27,6 +27,7 @@ extern u32 omap3_configure_core_dpll(
27 u32 sdrc_actim_ctrl_b_0, u32 sdrc_mr_0, 27 u32 sdrc_actim_ctrl_b_0, u32 sdrc_mr_0,
28 u32 sdrc_rfr_ctrl_1, u32 sdrc_actim_ctrl_a_1, 28 u32 sdrc_rfr_ctrl_1, u32 sdrc_actim_ctrl_a_1,
29 u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1); 29 u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1);
30extern void omap3_sram_restore_context(void);
30 31
31/* Do not use these */ 32/* Do not use these */
32extern void omap1_sram_reprogram_clock(u32 ckctl, u32 dpllctl); 33extern void omap1_sram_reprogram_clock(u32 ckctl, u32 dpllctl);
@@ -68,4 +69,10 @@ extern u32 omap3_sram_configure_core_dpll(
68 u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1); 69 u32 sdrc_actim_ctrl_b_1, u32 sdrc_mr_1);
69extern unsigned long omap3_sram_configure_core_dpll_sz; 70extern unsigned long omap3_sram_configure_core_dpll_sz;
70 71
72#ifdef CONFIG_PM
73extern void omap_push_sram_idle(void);
74#else
75static inline void omap_push_sram_idle(void) {}
76#endif /* CONFIG_PM */
77
71#endif 78#endif
diff --git a/arch/arm/plat-omap/include/mach/system.h b/arch/arm/plat-omap/include/plat/system.h
index ed8ec7477261..c58a4ef42a45 100644
--- a/arch/arm/plat-omap/include/mach/system.h
+++ b/arch/arm/plat-omap/include/plat/system.h
@@ -9,7 +9,7 @@
9#include <asm/mach-types.h> 9#include <asm/mach-types.h>
10#include <mach/hardware.h> 10#include <mach/hardware.h>
11 11
12#include <mach/prcm.h> 12#include <plat/prcm.h>
13 13
14#ifndef CONFIG_MACH_VOICEBLUE 14#ifndef CONFIG_MACH_VOICEBLUE
15#define voiceblue_reset() do {} while (0) 15#define voiceblue_reset() do {} while (0)
diff --git a/arch/arm/plat-omap/include/mach/tc.h b/arch/arm/plat-omap/include/plat/tc.h
index d2fcd789bb9a..d2fcd789bb9a 100644
--- a/arch/arm/plat-omap/include/mach/tc.h
+++ b/arch/arm/plat-omap/include/plat/tc.h
diff --git a/arch/arm/plat-omap/include/mach/timer-gp.h b/arch/arm/plat-omap/include/plat/timer-gp.h
index c88d346b59d9..c88d346b59d9 100644
--- a/arch/arm/plat-omap/include/mach/timer-gp.h
+++ b/arch/arm/plat-omap/include/plat/timer-gp.h
diff --git a/arch/arm/plat-omap/include/mach/timex.h b/arch/arm/plat-omap/include/plat/timex.h
index 6d35767bc48f..6d35767bc48f 100644
--- a/arch/arm/plat-omap/include/mach/timex.h
+++ b/arch/arm/plat-omap/include/plat/timex.h
diff --git a/arch/arm/plat-omap/include/mach/uncompress.h b/arch/arm/plat-omap/include/plat/uncompress.h
index 0814c5f210c3..13c305d62127 100644
--- a/arch/arm/plat-omap/include/mach/uncompress.h
+++ b/arch/arm/plat-omap/include/plat/uncompress.h
@@ -19,12 +19,13 @@
19 19
20#include <linux/types.h> 20#include <linux/types.h>
21#include <linux/serial_reg.h> 21#include <linux/serial_reg.h>
22#include <mach/serial.h> 22#include <plat/serial.h>
23 23
24unsigned int system_rev; 24unsigned int system_rev;
25 25
26#define UART_OMAP_MDR1 0x08 /* mode definition register */ 26#define UART_OMAP_MDR1 0x08 /* mode definition register */
27#define OMAP_ID_730 0x355F 27#define OMAP_ID_730 0x355F
28#define OMAP_ID_850 0x362C
28#define ID_MASK 0x7fff 29#define ID_MASK 0x7fff
29#define check_port(base, shift) ((base[UART_OMAP_MDR1 << shift] & 7) == 0) 30#define check_port(base, shift) ((base[UART_OMAP_MDR1 << shift] & 7) == 0)
30#define omap_get_id() ((*(volatile unsigned int *)(0xfffed404)) >> 12) & ID_MASK 31#define omap_get_id() ((*(volatile unsigned int *)(0xfffed404)) >> 12) & ID_MASK
@@ -43,8 +44,12 @@ static void putc(int c)
43 uart = (volatile u8 *)(OMAP_UART3_BASE); 44 uart = (volatile u8 *)(OMAP_UART3_BASE);
44#elif defined(CONFIG_OMAP_LL_DEBUG_UART2) 45#elif defined(CONFIG_OMAP_LL_DEBUG_UART2)
45 uart = (volatile u8 *)(OMAP_UART2_BASE); 46 uart = (volatile u8 *)(OMAP_UART2_BASE);
46#else 47#elif defined(CONFIG_OMAP_LL_DEBUG_UART1)
47 uart = (volatile u8 *)(OMAP_UART1_BASE); 48 uart = (volatile u8 *)(OMAP_UART1_BASE);
49#elif defined(CONFIG_OMAP_LL_DEBUG_NONE)
50 return;
51#else
52 return;
48#endif 53#endif
49 54
50#ifdef CONFIG_ARCH_OMAP1 55#ifdef CONFIG_ARCH_OMAP1
@@ -53,7 +58,7 @@ static void putc(int c)
53 /* MMU is not on, so cpu_is_omapXXXX() won't work here */ 58 /* MMU is not on, so cpu_is_omapXXXX() won't work here */
54 unsigned int omap_id = omap_get_id(); 59 unsigned int omap_id = omap_get_id();
55 60
56 if (omap_id == OMAP_ID_730) 61 if (omap_id == OMAP_ID_730 || omap_id == OMAP_ID_850)
57 shift = 0; 62 shift = 0;
58 63
59 if (check_port(uart, shift)) 64 if (check_port(uart, shift))
diff --git a/arch/arm/plat-omap/include/mach/usb.h b/arch/arm/plat-omap/include/plat/usb.h
index f337e1761e2c..33a500eb2f93 100644
--- a/arch/arm/plat-omap/include/mach/usb.h
+++ b/arch/arm/plat-omap/include/plat/usb.h
@@ -3,7 +3,22 @@
3#ifndef __ASM_ARCH_OMAP_USB_H 3#ifndef __ASM_ARCH_OMAP_USB_H
4#define __ASM_ARCH_OMAP_USB_H 4#define __ASM_ARCH_OMAP_USB_H
5 5
6#include <mach/board.h> 6#include <plat/board.h>
7
8#define OMAP3_HS_USB_PORTS 3
9enum ehci_hcd_omap_mode {
10 EHCI_HCD_OMAP_MODE_UNKNOWN,
11 EHCI_HCD_OMAP_MODE_PHY,
12 EHCI_HCD_OMAP_MODE_TLL,
13};
14
15struct ehci_hcd_omap_platform_data {
16 enum ehci_hcd_omap_mode port_mode[OMAP3_HS_USB_PORTS];
17 unsigned phy_reset:1;
18
19 /* have to be valid if phy_reset is true and portx is in phy mode */
20 int reset_gpio_port[OMAP3_HS_USB_PORTS];
21};
7 22
8/*-------------------------------------------------------------------------*/ 23/*-------------------------------------------------------------------------*/
9 24
@@ -29,6 +44,8 @@
29 44
30extern void usb_musb_init(void); 45extern void usb_musb_init(void);
31 46
47extern void usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata);
48
32#endif 49#endif
33 50
34void omap_usb_init(struct omap_usb_config *pdata); 51void omap_usb_init(struct omap_usb_config *pdata);
diff --git a/arch/arm/plat-omap/io.c b/arch/arm/plat-omap/io.c
index b6defa23e77e..11f5d7961c73 100644
--- a/arch/arm/plat-omap/io.c
+++ b/arch/arm/plat-omap/io.c
@@ -13,12 +13,12 @@
13#include <linux/io.h> 13#include <linux/io.h>
14#include <linux/mm.h> 14#include <linux/mm.h>
15 15
16#include <mach/omap730.h> 16#include <plat/omap7xx.h>
17#include <mach/omap1510.h> 17#include <plat/omap1510.h>
18#include <mach/omap16xx.h> 18#include <plat/omap16xx.h>
19#include <mach/omap24xx.h> 19#include <plat/omap24xx.h>
20#include <mach/omap34xx.h> 20#include <plat/omap34xx.h>
21#include <mach/omap44xx.h> 21#include <plat/omap44xx.h>
22 22
23#define BETWEEN(p,st,sz) ((p) >= (st) && (p) < ((st) + (sz))) 23#define BETWEEN(p,st,sz) ((p) >= (st) && (p) < ((st) + (sz)))
24#define XLATE(p,pst,vst) ((void __iomem *)((p) - (pst) + (vst))) 24#define XLATE(p,pst,vst) ((void __iomem *)((p) - (pst) + (vst)))
@@ -33,13 +33,13 @@ void __iomem *omap_ioremap(unsigned long p, size_t size, unsigned int type)
33 if (BETWEEN(p, OMAP1_IO_PHYS, OMAP1_IO_SIZE)) 33 if (BETWEEN(p, OMAP1_IO_PHYS, OMAP1_IO_SIZE))
34 return XLATE(p, OMAP1_IO_PHYS, OMAP1_IO_VIRT); 34 return XLATE(p, OMAP1_IO_PHYS, OMAP1_IO_VIRT);
35 } 35 }
36 if (cpu_is_omap730()) { 36 if (cpu_is_omap7xx()) {
37 if (BETWEEN(p, OMAP730_DSP_BASE, OMAP730_DSP_SIZE)) 37 if (BETWEEN(p, OMAP7XX_DSP_BASE, OMAP7XX_DSP_SIZE))
38 return XLATE(p, OMAP730_DSP_BASE, OMAP730_DSP_START); 38 return XLATE(p, OMAP7XX_DSP_BASE, OMAP7XX_DSP_START);
39 39
40 if (BETWEEN(p, OMAP730_DSPREG_BASE, OMAP730_DSPREG_SIZE)) 40 if (BETWEEN(p, OMAP7XX_DSPREG_BASE, OMAP7XX_DSPREG_SIZE))
41 return XLATE(p, OMAP730_DSPREG_BASE, 41 return XLATE(p, OMAP7XX_DSPREG_BASE,
42 OMAP730_DSPREG_START); 42 OMAP7XX_DSPREG_START);
43 } 43 }
44 if (cpu_is_omap15xx()) { 44 if (cpu_is_omap15xx()) {
45 if (BETWEEN(p, OMAP1510_DSP_BASE, OMAP1510_DSP_SIZE)) 45 if (BETWEEN(p, OMAP1510_DSP_BASE, OMAP1510_DSP_SIZE))
@@ -114,6 +114,14 @@ void __iomem *omap_ioremap(unsigned long p, size_t size, unsigned int type)
114 return XLATE(p, L4_WK_44XX_PHYS, L4_WK_44XX_VIRT); 114 return XLATE(p, L4_WK_44XX_PHYS, L4_WK_44XX_VIRT);
115 if (BETWEEN(p, OMAP44XX_GPMC_PHYS, OMAP44XX_GPMC_SIZE)) 115 if (BETWEEN(p, OMAP44XX_GPMC_PHYS, OMAP44XX_GPMC_SIZE))
116 return XLATE(p, OMAP44XX_GPMC_PHYS, OMAP44XX_GPMC_VIRT); 116 return XLATE(p, OMAP44XX_GPMC_PHYS, OMAP44XX_GPMC_VIRT);
117 if (BETWEEN(p, OMAP44XX_EMIF1_PHYS, OMAP44XX_EMIF1_SIZE))
118 return XLATE(p, OMAP44XX_EMIF1_PHYS, \
119 OMAP44XX_EMIF1_VIRT);
120 if (BETWEEN(p, OMAP44XX_EMIF2_PHYS, OMAP44XX_EMIF2_SIZE))
121 return XLATE(p, OMAP44XX_EMIF2_PHYS, \
122 OMAP44XX_EMIF2_VIRT);
123 if (BETWEEN(p, OMAP44XX_DMM_PHYS, OMAP44XX_DMM_SIZE))
124 return XLATE(p, OMAP44XX_DMM_PHYS, OMAP44XX_DMM_VIRT);
117 if (BETWEEN(p, L4_PER_44XX_PHYS, L4_PER_44XX_SIZE)) 125 if (BETWEEN(p, L4_PER_44XX_PHYS, L4_PER_44XX_SIZE))
118 return XLATE(p, L4_PER_44XX_PHYS, L4_PER_44XX_VIRT); 126 return XLATE(p, L4_PER_44XX_PHYS, L4_PER_44XX_VIRT);
119 if (BETWEEN(p, L4_EMU_44XX_PHYS, L4_EMU_44XX_SIZE)) 127 if (BETWEEN(p, L4_EMU_44XX_PHYS, L4_EMU_44XX_SIZE))
@@ -142,7 +150,7 @@ u8 omap_readb(u32 pa)
142 if (cpu_class_is_omap1()) 150 if (cpu_class_is_omap1())
143 return __raw_readb(OMAP1_IO_ADDRESS(pa)); 151 return __raw_readb(OMAP1_IO_ADDRESS(pa));
144 else 152 else
145 return __raw_readb(OMAP2_IO_ADDRESS(pa)); 153 return __raw_readb(OMAP2_L4_IO_ADDRESS(pa));
146} 154}
147EXPORT_SYMBOL(omap_readb); 155EXPORT_SYMBOL(omap_readb);
148 156
@@ -151,7 +159,7 @@ u16 omap_readw(u32 pa)
151 if (cpu_class_is_omap1()) 159 if (cpu_class_is_omap1())
152 return __raw_readw(OMAP1_IO_ADDRESS(pa)); 160 return __raw_readw(OMAP1_IO_ADDRESS(pa));
153 else 161 else
154 return __raw_readw(OMAP2_IO_ADDRESS(pa)); 162 return __raw_readw(OMAP2_L4_IO_ADDRESS(pa));
155} 163}
156EXPORT_SYMBOL(omap_readw); 164EXPORT_SYMBOL(omap_readw);
157 165
@@ -160,7 +168,7 @@ u32 omap_readl(u32 pa)
160 if (cpu_class_is_omap1()) 168 if (cpu_class_is_omap1())
161 return __raw_readl(OMAP1_IO_ADDRESS(pa)); 169 return __raw_readl(OMAP1_IO_ADDRESS(pa));
162 else 170 else
163 return __raw_readl(OMAP2_IO_ADDRESS(pa)); 171 return __raw_readl(OMAP2_L4_IO_ADDRESS(pa));
164} 172}
165EXPORT_SYMBOL(omap_readl); 173EXPORT_SYMBOL(omap_readl);
166 174
@@ -169,7 +177,7 @@ void omap_writeb(u8 v, u32 pa)
169 if (cpu_class_is_omap1()) 177 if (cpu_class_is_omap1())
170 __raw_writeb(v, OMAP1_IO_ADDRESS(pa)); 178 __raw_writeb(v, OMAP1_IO_ADDRESS(pa));
171 else 179 else
172 __raw_writeb(v, OMAP2_IO_ADDRESS(pa)); 180 __raw_writeb(v, OMAP2_L4_IO_ADDRESS(pa));
173} 181}
174EXPORT_SYMBOL(omap_writeb); 182EXPORT_SYMBOL(omap_writeb);
175 183
@@ -178,7 +186,7 @@ void omap_writew(u16 v, u32 pa)
178 if (cpu_class_is_omap1()) 186 if (cpu_class_is_omap1())
179 __raw_writew(v, OMAP1_IO_ADDRESS(pa)); 187 __raw_writew(v, OMAP1_IO_ADDRESS(pa));
180 else 188 else
181 __raw_writew(v, OMAP2_IO_ADDRESS(pa)); 189 __raw_writew(v, OMAP2_L4_IO_ADDRESS(pa));
182} 190}
183EXPORT_SYMBOL(omap_writew); 191EXPORT_SYMBOL(omap_writew);
184 192
@@ -187,6 +195,6 @@ void omap_writel(u32 v, u32 pa)
187 if (cpu_class_is_omap1()) 195 if (cpu_class_is_omap1())
188 __raw_writel(v, OMAP1_IO_ADDRESS(pa)); 196 __raw_writel(v, OMAP1_IO_ADDRESS(pa));
189 else 197 else
190 __raw_writel(v, OMAP2_IO_ADDRESS(pa)); 198 __raw_writel(v, OMAP2_L4_IO_ADDRESS(pa));
191} 199}
192EXPORT_SYMBOL(omap_writel); 200EXPORT_SYMBOL(omap_writel);
diff --git a/arch/arm/plat-omap/iommu-debug.c b/arch/arm/plat-omap/iommu-debug.c
index c799b3b0d709..afd1c27cff7c 100644
--- a/arch/arm/plat-omap/iommu-debug.c
+++ b/arch/arm/plat-omap/iommu-debug.c
@@ -17,8 +17,8 @@
17#include <linux/platform_device.h> 17#include <linux/platform_device.h>
18#include <linux/debugfs.h> 18#include <linux/debugfs.h>
19 19
20#include <mach/iommu.h> 20#include <plat/iommu.h>
21#include <mach/iovmm.h> 21#include <plat/iovmm.h>
22 22
23#include "iopgtable.h" 23#include "iopgtable.h"
24 24
diff --git a/arch/arm/plat-omap/iommu.c b/arch/arm/plat-omap/iommu.c
index 94584f167a82..c0ff1e39d893 100644
--- a/arch/arm/plat-omap/iommu.c
+++ b/arch/arm/plat-omap/iommu.c
@@ -20,7 +20,7 @@
20 20
21#include <asm/cacheflush.h> 21#include <asm/cacheflush.h>
22 22
23#include <mach/iommu.h> 23#include <plat/iommu.h>
24 24
25#include "iopgtable.h" 25#include "iopgtable.h"
26 26
diff --git a/arch/arm/plat-omap/iovmm.c b/arch/arm/plat-omap/iovmm.c
index dc3fac3dd0ea..936aef1971cd 100644
--- a/arch/arm/plat-omap/iovmm.c
+++ b/arch/arm/plat-omap/iovmm.c
@@ -18,8 +18,8 @@
18#include <asm/cacheflush.h> 18#include <asm/cacheflush.h>
19#include <asm/mach/map.h> 19#include <asm/mach/map.h>
20 20
21#include <mach/iommu.h> 21#include <plat/iommu.h>
22#include <mach/iovmm.h> 22#include <plat/iovmm.h>
23 23
24#include "iopgtable.h" 24#include "iopgtable.h"
25 25
@@ -392,7 +392,6 @@ static void sgtable_fill_vmalloc(struct sg_table *sgt, void *_va)
392 } 392 }
393 393
394 va_end = _va + PAGE_SIZE * i; 394 va_end = _va + PAGE_SIZE * i;
395 flush_cache_vmap((unsigned long)_va, (unsigned long)va_end);
396} 395}
397 396
398static inline void sgtable_drain_vmalloc(struct sg_table *sgt) 397static inline void sgtable_drain_vmalloc(struct sg_table *sgt)
@@ -427,8 +426,6 @@ static void sgtable_fill_kmalloc(struct sg_table *sgt, u32 pa, size_t len)
427 len -= bytes; 426 len -= bytes;
428 } 427 }
429 BUG_ON(len); 428 BUG_ON(len);
430
431 clean_dcache_area(va, len);
432} 429}
433 430
434static inline void sgtable_drain_kmalloc(struct sg_table *sgt) 431static inline void sgtable_drain_kmalloc(struct sg_table *sgt)
@@ -449,7 +446,7 @@ static int map_iovm_area(struct iommu *obj, struct iovm_struct *new,
449 struct scatterlist *sg; 446 struct scatterlist *sg;
450 u32 da = new->da_start; 447 u32 da = new->da_start;
451 448
452 if (!obj || !new || !sgt) 449 if (!obj || !sgt)
453 return -EINVAL; 450 return -EINVAL;
454 451
455 BUG_ON(!sgtable_ok(sgt)); 452 BUG_ON(!sgtable_ok(sgt));
@@ -617,7 +614,7 @@ u32 iommu_vmap(struct iommu *obj, u32 da, const struct sg_table *sgt,
617 u32 flags) 614 u32 flags)
618{ 615{
619 size_t bytes; 616 size_t bytes;
620 void *va; 617 void *va = NULL;
621 618
622 if (!obj || !obj->dev || !sgt) 619 if (!obj || !obj->dev || !sgt)
623 return -EINVAL; 620 return -EINVAL;
@@ -627,9 +624,11 @@ u32 iommu_vmap(struct iommu *obj, u32 da, const struct sg_table *sgt,
627 return -EINVAL; 624 return -EINVAL;
628 bytes = PAGE_ALIGN(bytes); 625 bytes = PAGE_ALIGN(bytes);
629 626
630 va = vmap_sg(sgt); 627 if (flags & IOVMF_MMIO) {
631 if (IS_ERR(va)) 628 va = vmap_sg(sgt);
632 return PTR_ERR(va); 629 if (IS_ERR(va))
630 return PTR_ERR(va);
631 }
633 632
634 flags &= IOVMF_HW_MASK; 633 flags &= IOVMF_HW_MASK;
635 flags |= IOVMF_DISCONT; 634 flags |= IOVMF_DISCONT;
diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c
index 40424edae939..8e90633e4cb9 100644
--- a/arch/arm/plat-omap/mailbox.c
+++ b/arch/arm/plat-omap/mailbox.c
@@ -26,55 +26,12 @@
26#include <linux/device.h> 26#include <linux/device.h>
27#include <linux/delay.h> 27#include <linux/delay.h>
28 28
29#include <mach/mailbox.h> 29#include <plat/mailbox.h>
30
31static int enable_seq_bit;
32module_param(enable_seq_bit, bool, 0);
33MODULE_PARM_DESC(enable_seq_bit, "Enable sequence bit checking.");
34 30
35static struct omap_mbox *mboxes; 31static struct omap_mbox *mboxes;
36static DEFINE_RWLOCK(mboxes_lock); 32static DEFINE_RWLOCK(mboxes_lock);
37 33
38/* 34static int mbox_configured;
39 * Mailbox sequence bit API
40 */
41
42/* seq_rcv should be initialized with any value other than
43 * 0 and 1 << 31, to allow either value for the first
44 * message. */
45static inline void mbox_seq_init(struct omap_mbox *mbox)
46{
47 if (!enable_seq_bit)
48 return;
49
50 /* any value other than 0 and 1 << 31 */
51 mbox->seq_rcv = 0xffffffff;
52}
53
54static inline void mbox_seq_toggle(struct omap_mbox *mbox, mbox_msg_t * msg)
55{
56 if (!enable_seq_bit)
57 return;
58
59 /* add seq_snd to msg */
60 *msg = (*msg & 0x7fffffff) | mbox->seq_snd;
61 /* flip seq_snd */
62 mbox->seq_snd ^= 1 << 31;
63}
64
65static inline int mbox_seq_test(struct omap_mbox *mbox, mbox_msg_t msg)
66{
67 mbox_msg_t seq;
68
69 if (!enable_seq_bit)
70 return 0;
71
72 seq = msg & (1 << 31);
73 if (seq == mbox->seq_rcv)
74 return -1;
75 mbox->seq_rcv = seq;
76 return 0;
77}
78 35
79/* Mailbox FIFO handle functions */ 36/* Mailbox FIFO handle functions */
80static inline mbox_msg_t mbox_fifo_read(struct omap_mbox *mbox) 37static inline mbox_msg_t mbox_fifo_read(struct omap_mbox *mbox)
@@ -95,14 +52,6 @@ static inline int mbox_fifo_full(struct omap_mbox *mbox)
95} 52}
96 53
97/* Mailbox IRQ handle functions */ 54/* Mailbox IRQ handle functions */
98static inline void enable_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq)
99{
100 mbox->ops->enable_irq(mbox, irq);
101}
102static inline void disable_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq)
103{
104 mbox->ops->disable_irq(mbox, irq);
105}
106static inline void ack_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) 55static inline void ack_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq)
107{ 56{
108 if (mbox->ops->ack_irq) 57 if (mbox->ops->ack_irq)
@@ -113,17 +62,10 @@ static inline int is_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq)
113 return mbox->ops->is_irq(mbox, irq); 62 return mbox->ops->is_irq(mbox, irq);
114} 63}
115 64
116/* Mailbox Sequence Bit function */
117void omap_mbox_init_seq(struct omap_mbox *mbox)
118{
119 mbox_seq_init(mbox);
120}
121EXPORT_SYMBOL(omap_mbox_init_seq);
122
123/* 65/*
124 * message sender 66 * message sender
125 */ 67 */
126static int __mbox_msg_send(struct omap_mbox *mbox, mbox_msg_t msg, void *arg) 68static int __mbox_msg_send(struct omap_mbox *mbox, mbox_msg_t msg)
127{ 69{
128 int ret = 0, i = 1000; 70 int ret = 0, i = 1000;
129 71
@@ -134,89 +76,49 @@ static int __mbox_msg_send(struct omap_mbox *mbox, mbox_msg_t msg, void *arg)
134 return -1; 76 return -1;
135 udelay(1); 77 udelay(1);
136 } 78 }
137
138 if (arg && mbox->txq->callback) {
139 ret = mbox->txq->callback(arg);
140 if (ret)
141 goto out;
142 }
143
144 mbox_seq_toggle(mbox, &msg);
145 mbox_fifo_write(mbox, msg); 79 mbox_fifo_write(mbox, msg);
146 out:
147 return ret; 80 return ret;
148} 81}
149 82
150struct omap_msg_tx_data {
151 mbox_msg_t msg;
152 void *arg;
153};
154 83
155static void omap_msg_tx_end_io(struct request *rq, int error) 84int omap_mbox_msg_send(struct omap_mbox *mbox, mbox_msg_t msg)
156{ 85{
157 kfree(rq->special);
158 __blk_put_request(rq->q, rq);
159}
160 86
161int omap_mbox_msg_send(struct omap_mbox *mbox, mbox_msg_t msg, void* arg)
162{
163 struct omap_msg_tx_data *tx_data;
164 struct request *rq; 87 struct request *rq;
165 struct request_queue *q = mbox->txq->queue; 88 struct request_queue *q = mbox->txq->queue;
166 89
167 tx_data = kmalloc(sizeof(*tx_data), GFP_ATOMIC);
168 if (unlikely(!tx_data))
169 return -ENOMEM;
170
171 rq = blk_get_request(q, WRITE, GFP_ATOMIC); 90 rq = blk_get_request(q, WRITE, GFP_ATOMIC);
172 if (unlikely(!rq)) { 91 if (unlikely(!rq))
173 kfree(tx_data);
174 return -ENOMEM; 92 return -ENOMEM;
175 }
176 93
177 tx_data->msg = msg; 94 blk_insert_request(q, rq, 0, (void *) msg);
178 tx_data->arg = arg; 95 tasklet_schedule(&mbox->txq->tasklet);
179 rq->end_io = omap_msg_tx_end_io;
180 blk_insert_request(q, rq, 0, tx_data);
181 96
182 schedule_work(&mbox->txq->work);
183 return 0; 97 return 0;
184} 98}
185EXPORT_SYMBOL(omap_mbox_msg_send); 99EXPORT_SYMBOL(omap_mbox_msg_send);
186 100
187static void mbox_tx_work(struct work_struct *work) 101static void mbox_tx_tasklet(unsigned long tx_data)
188{ 102{
189 int ret; 103 int ret;
190 struct request *rq; 104 struct request *rq;
191 struct omap_mbox_queue *mq = container_of(work, 105 struct omap_mbox *mbox = (struct omap_mbox *)tx_data;
192 struct omap_mbox_queue, work);
193 struct omap_mbox *mbox = mq->queue->queuedata;
194 struct request_queue *q = mbox->txq->queue; 106 struct request_queue *q = mbox->txq->queue;
195 107
196 while (1) { 108 while (1) {
197 struct omap_msg_tx_data *tx_data;
198 109
199 spin_lock(q->queue_lock);
200 rq = blk_fetch_request(q); 110 rq = blk_fetch_request(q);
201 spin_unlock(q->queue_lock);
202 111
203 if (!rq) 112 if (!rq)
204 break; 113 break;
205 114
206 tx_data = rq->special; 115 ret = __mbox_msg_send(mbox, (mbox_msg_t)rq->special);
207
208 ret = __mbox_msg_send(mbox, tx_data->msg, tx_data->arg);
209 if (ret) { 116 if (ret) {
210 enable_mbox_irq(mbox, IRQ_TX); 117 omap_mbox_enable_irq(mbox, IRQ_TX);
211 spin_lock(q->queue_lock);
212 blk_requeue_request(q, rq); 118 blk_requeue_request(q, rq);
213 spin_unlock(q->queue_lock);
214 return; 119 return;
215 } 120 }
216 121 blk_end_request_all(rq, 0);
217 spin_lock(q->queue_lock);
218 __blk_end_request_all(rq, 0);
219 spin_unlock(q->queue_lock);
220 } 122 }
221} 123}
222 124
@@ -233,11 +135,6 @@ static void mbox_rx_work(struct work_struct *work)
233 mbox_msg_t msg; 135 mbox_msg_t msg;
234 unsigned long flags; 136 unsigned long flags;
235 137
236 if (mbox->rxq->callback == NULL) {
237 sysfs_notify(&mbox->dev->kobj, NULL, "mbox");
238 return;
239 }
240
241 while (1) { 138 while (1) {
242 spin_lock_irqsave(q->queue_lock, flags); 139 spin_lock_irqsave(q->queue_lock, flags);
243 rq = blk_fetch_request(q); 140 rq = blk_fetch_request(q);
@@ -254,19 +151,19 @@ static void mbox_rx_work(struct work_struct *work)
254/* 151/*
255 * Mailbox interrupt handler 152 * Mailbox interrupt handler
256 */ 153 */
257static void mbox_txq_fn(struct request_queue * q) 154static void mbox_txq_fn(struct request_queue *q)
258{ 155{
259} 156}
260 157
261static void mbox_rxq_fn(struct request_queue * q) 158static void mbox_rxq_fn(struct request_queue *q)
262{ 159{
263} 160}
264 161
265static void __mbox_tx_interrupt(struct omap_mbox *mbox) 162static void __mbox_tx_interrupt(struct omap_mbox *mbox)
266{ 163{
267 disable_mbox_irq(mbox, IRQ_TX); 164 omap_mbox_disable_irq(mbox, IRQ_TX);
268 ack_mbox_irq(mbox, IRQ_TX); 165 ack_mbox_irq(mbox, IRQ_TX);
269 schedule_work(&mbox->txq->work); 166 tasklet_schedule(&mbox->txq->tasklet);
270} 167}
271 168
272static void __mbox_rx_interrupt(struct omap_mbox *mbox) 169static void __mbox_rx_interrupt(struct omap_mbox *mbox)
@@ -275,8 +172,6 @@ static void __mbox_rx_interrupt(struct omap_mbox *mbox)
275 mbox_msg_t msg; 172 mbox_msg_t msg;
276 struct request_queue *q = mbox->rxq->queue; 173 struct request_queue *q = mbox->rxq->queue;
277 174
278 disable_mbox_irq(mbox, IRQ_RX);
279
280 while (!mbox_fifo_empty(mbox)) { 175 while (!mbox_fifo_empty(mbox)) {
281 rq = blk_get_request(q, WRITE, GFP_ATOMIC); 176 rq = blk_get_request(q, WRITE, GFP_ATOMIC);
282 if (unlikely(!rq)) 177 if (unlikely(!rq))
@@ -284,11 +179,6 @@ static void __mbox_rx_interrupt(struct omap_mbox *mbox)
284 179
285 msg = mbox_fifo_read(mbox); 180 msg = mbox_fifo_read(mbox);
286 181
287 if (unlikely(mbox_seq_test(mbox, msg))) {
288 pr_info("mbox: Illegal seq bit!(%08x)\n", msg);
289 if (mbox->err_notify)
290 mbox->err_notify();
291 }
292 182
293 blk_insert_request(q, rq, 0, (void *)msg); 183 blk_insert_request(q, rq, 0, (void *)msg);
294 if (mbox->ops->type == OMAP_MBOX_TYPE1) 184 if (mbox->ops->type == OMAP_MBOX_TYPE1)
@@ -297,7 +187,6 @@ static void __mbox_rx_interrupt(struct omap_mbox *mbox)
297 187
298 /* no more messages in the fifo. clear IRQ source. */ 188 /* no more messages in the fifo. clear IRQ source. */
299 ack_mbox_irq(mbox, IRQ_RX); 189 ack_mbox_irq(mbox, IRQ_RX);
300 enable_mbox_irq(mbox, IRQ_RX);
301nomem: 190nomem:
302 schedule_work(&mbox->rxq->work); 191 schedule_work(&mbox->rxq->work);
303} 192}
@@ -315,76 +204,10 @@ static irqreturn_t mbox_interrupt(int irq, void *p)
315 return IRQ_HANDLED; 204 return IRQ_HANDLED;
316} 205}
317 206
318/*
319 * sysfs files
320 */
321static ssize_t
322omap_mbox_write(struct device *dev, struct device_attribute *attr,
323 const char * buf, size_t count)
324{
325 int ret;
326 mbox_msg_t *p = (mbox_msg_t *)buf;
327 struct omap_mbox *mbox = dev_get_drvdata(dev);
328
329 for (; count >= sizeof(mbox_msg_t); count -= sizeof(mbox_msg_t)) {
330 ret = omap_mbox_msg_send(mbox, be32_to_cpu(*p), NULL);
331 if (ret)
332 return -EAGAIN;
333 p++;
334 }
335
336 return (size_t)((char *)p - buf);
337}
338
339static ssize_t
340omap_mbox_read(struct device *dev, struct device_attribute *attr, char *buf)
341{
342 unsigned long flags;
343 struct request *rq;
344 mbox_msg_t *p = (mbox_msg_t *) buf;
345 struct omap_mbox *mbox = dev_get_drvdata(dev);
346 struct request_queue *q = mbox->rxq->queue;
347
348 while (1) {
349 spin_lock_irqsave(q->queue_lock, flags);
350 rq = blk_fetch_request(q);
351 spin_unlock_irqrestore(q->queue_lock, flags);
352
353 if (!rq)
354 break;
355
356 *p = (mbox_msg_t)rq->special;
357
358 blk_end_request_all(rq, 0);
359
360 if (unlikely(mbox_seq_test(mbox, *p))) {
361 pr_info("mbox: Illegal seq bit!(%08x) ignored\n", *p);
362 continue;
363 }
364 p++;
365 }
366
367 pr_debug("%02x %02x %02x %02x\n", buf[0], buf[1], buf[2], buf[3]);
368
369 return (size_t) ((char *)p - buf);
370}
371
372static DEVICE_ATTR(mbox, S_IRUGO | S_IWUSR, omap_mbox_read, omap_mbox_write);
373
374static ssize_t mbox_show(struct class *class, char *buf)
375{
376 return sprintf(buf, "mbox");
377}
378
379static CLASS_ATTR(mbox, S_IRUGO, mbox_show, NULL);
380
381static struct class omap_mbox_class = {
382 .name = "omap-mailbox",
383};
384
385static struct omap_mbox_queue *mbox_queue_alloc(struct omap_mbox *mbox, 207static struct omap_mbox_queue *mbox_queue_alloc(struct omap_mbox *mbox,
386 request_fn_proc * proc, 208 request_fn_proc *proc,
387 void (*work) (struct work_struct *)) 209 void (*work) (struct work_struct *),
210 void (*tasklet)(unsigned long))
388{ 211{
389 struct request_queue *q; 212 struct request_queue *q;
390 struct omap_mbox_queue *mq; 213 struct omap_mbox_queue *mq;
@@ -401,8 +224,11 @@ static struct omap_mbox_queue *mbox_queue_alloc(struct omap_mbox *mbox,
401 q->queuedata = mbox; 224 q->queuedata = mbox;
402 mq->queue = q; 225 mq->queue = q;
403 226
404 INIT_WORK(&mq->work, work); 227 if (work)
228 INIT_WORK(&mq->work, work);
405 229
230 if (tasklet)
231 tasklet_init(&mq->tasklet, tasklet, (unsigned long)mbox);
406 return mq; 232 return mq;
407error: 233error:
408 kfree(mq); 234 kfree(mq);
@@ -415,18 +241,25 @@ static void mbox_queue_free(struct omap_mbox_queue *q)
415 kfree(q); 241 kfree(q);
416} 242}
417 243
418static int omap_mbox_init(struct omap_mbox *mbox) 244static int omap_mbox_startup(struct omap_mbox *mbox)
419{ 245{
420 int ret; 246 int ret = 0;
421 struct omap_mbox_queue *mq; 247 struct omap_mbox_queue *mq;
422 248
423 if (likely(mbox->ops->startup)) { 249 if (likely(mbox->ops->startup)) {
424 ret = mbox->ops->startup(mbox); 250 write_lock(&mboxes_lock);
425 if (unlikely(ret)) 251 if (!mbox_configured)
252 ret = mbox->ops->startup(mbox);
253
254 if (unlikely(ret)) {
255 write_unlock(&mboxes_lock);
426 return ret; 256 return ret;
257 }
258 mbox_configured++;
259 write_unlock(&mboxes_lock);
427 } 260 }
428 261
429 ret = request_irq(mbox->irq, mbox_interrupt, IRQF_DISABLED, 262 ret = request_irq(mbox->irq, mbox_interrupt, IRQF_SHARED,
430 mbox->name, mbox); 263 mbox->name, mbox);
431 if (unlikely(ret)) { 264 if (unlikely(ret)) {
432 printk(KERN_ERR 265 printk(KERN_ERR
@@ -434,14 +267,14 @@ static int omap_mbox_init(struct omap_mbox *mbox)
434 goto fail_request_irq; 267 goto fail_request_irq;
435 } 268 }
436 269
437 mq = mbox_queue_alloc(mbox, mbox_txq_fn, mbox_tx_work); 270 mq = mbox_queue_alloc(mbox, mbox_txq_fn, NULL, mbox_tx_tasklet);
438 if (!mq) { 271 if (!mq) {
439 ret = -ENOMEM; 272 ret = -ENOMEM;
440 goto fail_alloc_txq; 273 goto fail_alloc_txq;
441 } 274 }
442 mbox->txq = mq; 275 mbox->txq = mq;
443 276
444 mq = mbox_queue_alloc(mbox, mbox_rxq_fn, mbox_rx_work); 277 mq = mbox_queue_alloc(mbox, mbox_rxq_fn, mbox_rx_work, NULL);
445 if (!mq) { 278 if (!mq) {
446 ret = -ENOMEM; 279 ret = -ENOMEM;
447 goto fail_alloc_rxq; 280 goto fail_alloc_rxq;
@@ -468,8 +301,14 @@ static void omap_mbox_fini(struct omap_mbox *mbox)
468 301
469 free_irq(mbox->irq, mbox); 302 free_irq(mbox->irq, mbox);
470 303
471 if (unlikely(mbox->ops->shutdown)) 304 if (unlikely(mbox->ops->shutdown)) {
472 mbox->ops->shutdown(mbox); 305 write_lock(&mboxes_lock);
306 if (mbox_configured > 0)
307 mbox_configured--;
308 if (!mbox_configured)
309 mbox->ops->shutdown(mbox);
310 write_unlock(&mboxes_lock);
311 }
473} 312}
474 313
475static struct omap_mbox **find_mboxes(const char *name) 314static struct omap_mbox **find_mboxes(const char *name)
@@ -498,7 +337,7 @@ struct omap_mbox *omap_mbox_get(const char *name)
498 337
499 read_unlock(&mboxes_lock); 338 read_unlock(&mboxes_lock);
500 339
501 ret = omap_mbox_init(mbox); 340 ret = omap_mbox_startup(mbox);
502 if (ret) 341 if (ret)
503 return ERR_PTR(-ENODEV); 342 return ERR_PTR(-ENODEV);
504 343
@@ -522,15 +361,6 @@ int omap_mbox_register(struct device *parent, struct omap_mbox *mbox)
522 if (mbox->next) 361 if (mbox->next)
523 return -EBUSY; 362 return -EBUSY;
524 363
525 mbox->dev = device_create(&omap_mbox_class,
526 parent, 0, mbox, "%s", mbox->name);
527 if (IS_ERR(mbox->dev))
528 return PTR_ERR(mbox->dev);
529
530 ret = device_create_file(mbox->dev, &dev_attr_mbox);
531 if (ret)
532 goto err_sysfs;
533
534 write_lock(&mboxes_lock); 364 write_lock(&mboxes_lock);
535 tmp = find_mboxes(mbox->name); 365 tmp = find_mboxes(mbox->name);
536 if (*tmp) { 366 if (*tmp) {
@@ -544,9 +374,6 @@ int omap_mbox_register(struct device *parent, struct omap_mbox *mbox)
544 return 0; 374 return 0;
545 375
546err_find: 376err_find:
547 device_remove_file(mbox->dev, &dev_attr_mbox);
548err_sysfs:
549 device_unregister(mbox->dev);
550 return ret; 377 return ret;
551} 378}
552EXPORT_SYMBOL(omap_mbox_register); 379EXPORT_SYMBOL(omap_mbox_register);
@@ -562,8 +389,6 @@ int omap_mbox_unregister(struct omap_mbox *mbox)
562 *tmp = mbox->next; 389 *tmp = mbox->next;
563 mbox->next = NULL; 390 mbox->next = NULL;
564 write_unlock(&mboxes_lock); 391 write_unlock(&mboxes_lock);
565 device_remove_file(mbox->dev, &dev_attr_mbox);
566 device_unregister(mbox->dev);
567 return 0; 392 return 0;
568 } 393 }
569 tmp = &(*tmp)->next; 394 tmp = &(*tmp)->next;
@@ -574,23 +399,16 @@ int omap_mbox_unregister(struct omap_mbox *mbox)
574} 399}
575EXPORT_SYMBOL(omap_mbox_unregister); 400EXPORT_SYMBOL(omap_mbox_unregister);
576 401
577static int __init omap_mbox_class_init(void) 402static int __init omap_mbox_init(void)
578{ 403{
579 int ret = class_register(&omap_mbox_class); 404 return 0;
580 if (!ret)
581 ret = class_create_file(&omap_mbox_class, &class_attr_mbox);
582
583 return ret;
584} 405}
406module_init(omap_mbox_init);
585 407
586static void __exit omap_mbox_class_exit(void) 408static void __exit omap_mbox_exit(void)
587{ 409{
588 class_remove_file(&omap_mbox_class, &class_attr_mbox);
589 class_unregister(&omap_mbox_class);
590} 410}
591 411module_exit(omap_mbox_exit);
592subsys_initcall(omap_mbox_class_init);
593module_exit(omap_mbox_class_exit);
594 412
595MODULE_LICENSE("GPL v2"); 413MODULE_LICENSE("GPL v2");
596MODULE_DESCRIPTION("omap mailbox: interrupt driven messaging"); 414MODULE_DESCRIPTION("omap mailbox: interrupt driven messaging");
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index e664b912d7bb..2cc1cc328bac 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -24,8 +24,8 @@
24#include <linux/delay.h> 24#include <linux/delay.h>
25#include <linux/io.h> 25#include <linux/io.h>
26 26
27#include <mach/dma.h> 27#include <plat/dma.h>
28#include <mach/mcbsp.h> 28#include <plat/mcbsp.h>
29 29
30struct omap_mcbsp **mcbsp_ptr; 30struct omap_mcbsp **mcbsp_ptr;
31int omap_mcbsp_count; 31int omap_mcbsp_count;
@@ -298,9 +298,7 @@ int omap_mcbsp_get_dma_op_mode(unsigned int id)
298 } 298 }
299 mcbsp = id_to_mcbsp_ptr(id); 299 mcbsp = id_to_mcbsp_ptr(id);
300 300
301 spin_lock_irq(&mcbsp->lock);
302 dma_op_mode = mcbsp->dma_op_mode; 301 dma_op_mode = mcbsp->dma_op_mode;
303 spin_unlock_irq(&mcbsp->lock);
304 302
305 return dma_op_mode; 303 return dma_op_mode;
306} 304}
@@ -318,7 +316,6 @@ static inline void omap34xx_mcbsp_request(struct omap_mcbsp *mcbsp)
318 syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON); 316 syscon = OMAP_MCBSP_READ(mcbsp->io_base, SYSCON);
319 syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03) | CLOCKACTIVITY(0x03)); 317 syscon &= ~(ENAWAKEUP | SIDLEMODE(0x03) | CLOCKACTIVITY(0x03));
320 318
321 spin_lock_irq(&mcbsp->lock);
322 if (mcbsp->dma_op_mode == MCBSP_DMA_MODE_THRESHOLD) { 319 if (mcbsp->dma_op_mode == MCBSP_DMA_MODE_THRESHOLD) {
323 syscon |= (ENAWAKEUP | SIDLEMODE(0x02) | 320 syscon |= (ENAWAKEUP | SIDLEMODE(0x02) |
324 CLOCKACTIVITY(0x02)); 321 CLOCKACTIVITY(0x02));
@@ -327,7 +324,6 @@ static inline void omap34xx_mcbsp_request(struct omap_mcbsp *mcbsp)
327 } else { 324 } else {
328 syscon |= SIDLEMODE(0x01); 325 syscon |= SIDLEMODE(0x01);
329 } 326 }
330 spin_unlock_irq(&mcbsp->lock);
331 327
332 OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon); 328 OMAP_MCBSP_WRITE(mcbsp->io_base, SYSCON, syscon);
333 } 329 }
@@ -1145,9 +1141,7 @@ static ssize_t dma_op_mode_show(struct device *dev,
1145 ssize_t len = 0; 1141 ssize_t len = 0;
1146 const char * const *s; 1142 const char * const *s;
1147 1143
1148 spin_lock_irq(&mcbsp->lock);
1149 dma_op_mode = mcbsp->dma_op_mode; 1144 dma_op_mode = mcbsp->dma_op_mode;
1150 spin_unlock_irq(&mcbsp->lock);
1151 1145
1152 for (s = &dma_op_modes[i]; i < ARRAY_SIZE(dma_op_modes); s++, i++) { 1146 for (s = &dma_op_modes[i]; i < ARRAY_SIZE(dma_op_modes); s++, i++) {
1153 if (dma_op_mode == i) 1147 if (dma_op_mode == i)
diff --git a/arch/arm/plat-omap/mux.c b/arch/arm/plat-omap/mux.c
index 8d329fb20740..05aebcad215b 100644
--- a/arch/arm/plat-omap/mux.c
+++ b/arch/arm/plat-omap/mux.c
@@ -28,7 +28,7 @@
28#include <linux/io.h> 28#include <linux/io.h>
29#include <asm/system.h> 29#include <asm/system.h>
30#include <linux/spinlock.h> 30#include <linux/spinlock.h>
31#include <mach/mux.h> 31#include <plat/mux.h>
32 32
33#ifdef CONFIG_OMAP_MUX 33#ifdef CONFIG_OMAP_MUX
34 34
diff --git a/arch/arm/plat-omap/omap-pm-noop.c b/arch/arm/plat-omap/omap-pm-noop.c
index e98f0a2a6c26..186bca82cfab 100644
--- a/arch/arm/plat-omap/omap-pm-noop.c
+++ b/arch/arm/plat-omap/omap-pm-noop.c
@@ -22,9 +22,9 @@
22#include <linux/device.h> 22#include <linux/device.h>
23 23
24/* Interface documentation is in mach/omap-pm.h */ 24/* Interface documentation is in mach/omap-pm.h */
25#include <mach/omap-pm.h> 25#include <plat/omap-pm.h>
26 26
27#include <mach/powerdomain.h> 27#include <plat/powerdomain.h>
28 28
29struct omap_opp *dsp_opps; 29struct omap_opp *dsp_opps;
30struct omap_opp *mpu_opps; 30struct omap_opp *mpu_opps;
diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c
index 2c409fc6dd21..bb16e624a557 100644
--- a/arch/arm/plat-omap/omap_device.c
+++ b/arch/arm/plat-omap/omap_device.c
@@ -82,8 +82,8 @@
82#include <linux/err.h> 82#include <linux/err.h>
83#include <linux/io.h> 83#include <linux/io.h>
84 84
85#include <mach/omap_device.h> 85#include <plat/omap_device.h>
86#include <mach/omap_hwmod.h> 86#include <plat/omap_hwmod.h>
87 87
88/* These parameters are passed to _omap_device_{de,}activate() */ 88/* These parameters are passed to _omap_device_{de,}activate() */
89#define USE_WAKEUP_LAT 0 89#define USE_WAKEUP_LAT 0
@@ -103,21 +103,6 @@
103/* Private functions */ 103/* Private functions */
104 104
105/** 105/**
106 * _read_32ksynct - read the OMAP 32K sync timer
107 *
108 * Returns the current value of the 32KiHz synchronization counter.
109 * XXX this should be generalized to simply read the system clocksource.
110 * XXX this should be moved to a separate synctimer32k.c file
111 */
112static u32 _read_32ksynct(void)
113{
114 if (!cpu_class_is_omap2())
115 BUG();
116
117 return __raw_readl(OMAP2_IO_ADDRESS(OMAP_32KSYNCT_BASE + 0x010));
118}
119
120/**
121 * _omap_device_activate - increase device readiness 106 * _omap_device_activate - increase device readiness
122 * @od: struct omap_device * 107 * @od: struct omap_device *
123 * @ignore_lat: increase to latency target (0) or full readiness (1)? 108 * @ignore_lat: increase to latency target (0) or full readiness (1)?
@@ -133,13 +118,13 @@ static u32 _read_32ksynct(void)
133 */ 118 */
134static int _omap_device_activate(struct omap_device *od, u8 ignore_lat) 119static int _omap_device_activate(struct omap_device *od, u8 ignore_lat)
135{ 120{
136 u32 a, b; 121 struct timespec a, b, c;
137 122
138 pr_debug("omap_device: %s: activating\n", od->pdev.name); 123 pr_debug("omap_device: %s: activating\n", od->pdev.name);
139 124
140 while (od->pm_lat_level > 0) { 125 while (od->pm_lat_level > 0) {
141 struct omap_device_pm_latency *odpl; 126 struct omap_device_pm_latency *odpl;
142 int act_lat = 0; 127 unsigned long long act_lat = 0;
143 128
144 od->pm_lat_level--; 129 od->pm_lat_level--;
145 130
@@ -149,20 +134,22 @@ static int _omap_device_activate(struct omap_device *od, u8 ignore_lat)
149 (od->dev_wakeup_lat <= od->_dev_wakeup_lat_limit)) 134 (od->dev_wakeup_lat <= od->_dev_wakeup_lat_limit))
150 break; 135 break;
151 136
152 a = _read_32ksynct(); 137 getnstimeofday(&a);
153 138
154 /* XXX check return code */ 139 /* XXX check return code */
155 odpl->activate_func(od); 140 odpl->activate_func(od);
156 141
157 b = _read_32ksynct(); 142 getnstimeofday(&b);
158 143
159 act_lat = (b - a) >> 15; /* 32KiHz cycles to microseconds */ 144 c = timespec_sub(b, a);
145 act_lat = timespec_to_ns(&c) * NSEC_PER_USEC;
160 146
161 pr_debug("omap_device: %s: pm_lat %d: activate: elapsed time " 147 pr_debug("omap_device: %s: pm_lat %d: activate: elapsed time "
162 "%d usec\n", od->pdev.name, od->pm_lat_level, act_lat); 148 "%llu usec\n", od->pdev.name, od->pm_lat_level,
149 act_lat);
163 150
164 WARN(act_lat > odpl->activate_lat, "omap_device: %s.%d: " 151 WARN(act_lat > odpl->activate_lat, "omap_device: %s.%d: "
165 "activate step %d took longer than expected (%d > %d)\n", 152 "activate step %d took longer than expected (%llu > %d)\n",
166 od->pdev.name, od->pdev.id, od->pm_lat_level, 153 od->pdev.name, od->pdev.id, od->pm_lat_level,
167 act_lat, odpl->activate_lat); 154 act_lat, odpl->activate_lat);
168 155
@@ -188,13 +175,13 @@ static int _omap_device_activate(struct omap_device *od, u8 ignore_lat)
188 */ 175 */
189static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat) 176static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat)
190{ 177{
191 u32 a, b; 178 struct timespec a, b, c;
192 179
193 pr_debug("omap_device: %s: deactivating\n", od->pdev.name); 180 pr_debug("omap_device: %s: deactivating\n", od->pdev.name);
194 181
195 while (od->pm_lat_level < od->pm_lats_cnt) { 182 while (od->pm_lat_level < od->pm_lats_cnt) {
196 struct omap_device_pm_latency *odpl; 183 struct omap_device_pm_latency *odpl;
197 int deact_lat = 0; 184 unsigned long long deact_lat = 0;
198 185
199 odpl = od->pm_lats + od->pm_lat_level; 186 odpl = od->pm_lats + od->pm_lat_level;
200 187
@@ -203,23 +190,24 @@ static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat)
203 od->_dev_wakeup_lat_limit)) 190 od->_dev_wakeup_lat_limit))
204 break; 191 break;
205 192
206 a = _read_32ksynct(); 193 getnstimeofday(&a);
207 194
208 /* XXX check return code */ 195 /* XXX check return code */
209 odpl->deactivate_func(od); 196 odpl->deactivate_func(od);
210 197
211 b = _read_32ksynct(); 198 getnstimeofday(&b);
212 199
213 deact_lat = (b - a) >> 15; /* 32KiHz cycles to microseconds */ 200 c = timespec_sub(b, a);
201 deact_lat = timespec_to_ns(&c) * NSEC_PER_USEC;
214 202
215 pr_debug("omap_device: %s: pm_lat %d: deactivate: elapsed time " 203 pr_debug("omap_device: %s: pm_lat %d: deactivate: elapsed time "
216 "%d usec\n", od->pdev.name, od->pm_lat_level, 204 "%llu usec\n", od->pdev.name, od->pm_lat_level,
217 deact_lat); 205 deact_lat);
218 206
219 WARN(deact_lat > odpl->deactivate_lat, "omap_device: %s.%d: " 207 WARN(deact_lat > odpl->deactivate_lat, "omap_device: %s.%d: "
220 "deactivate step %d took longer than expected (%d > %d)\n", 208 "deactivate step %d took longer than expected "
221 od->pdev.name, od->pdev.id, od->pm_lat_level, 209 "(%llu > %d)\n", od->pdev.name, od->pdev.id,
222 deact_lat, odpl->deactivate_lat); 210 od->pm_lat_level, deact_lat, odpl->deactivate_lat);
223 211
224 od->dev_wakeup_lat += odpl->activate_lat; 212 od->dev_wakeup_lat += odpl->activate_lat;
225 213
diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c
index 75d1f26e5b17..3e923668778d 100644
--- a/arch/arm/plat-omap/sram.c
+++ b/arch/arm/plat-omap/sram.c
@@ -25,11 +25,11 @@
25 25
26#include <asm/mach/map.h> 26#include <asm/mach/map.h>
27 27
28#include <mach/sram.h> 28#include <plat/sram.h>
29#include <mach/board.h> 29#include <plat/board.h>
30#include <mach/cpu.h> 30#include <plat/cpu.h>
31 31
32#include <mach/control.h> 32#include <plat/control.h>
33 33
34#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) 34#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3)
35# include "../mach-omap2/prm.h" 35# include "../mach-omap2/prm.h"
@@ -41,14 +41,14 @@
41#define OMAP1_SRAM_VA VMALLOC_END 41#define OMAP1_SRAM_VA VMALLOC_END
42#define OMAP2_SRAM_PA 0x40200000 42#define OMAP2_SRAM_PA 0x40200000
43#define OMAP2_SRAM_PUB_PA 0x4020f800 43#define OMAP2_SRAM_PUB_PA 0x4020f800
44#define OMAP2_SRAM_VA 0xe3000000 44#define OMAP2_SRAM_VA 0xfe400000
45#define OMAP2_SRAM_PUB_VA (OMAP2_SRAM_VA + 0x800) 45#define OMAP2_SRAM_PUB_VA (OMAP2_SRAM_VA + 0x800)
46#define OMAP3_SRAM_PA 0x40200000 46#define OMAP3_SRAM_PA 0x40200000
47#define OMAP3_SRAM_VA 0xe3000000 47#define OMAP3_SRAM_VA 0xfe400000
48#define OMAP3_SRAM_PUB_PA 0x40208000 48#define OMAP3_SRAM_PUB_PA 0x40208000
49#define OMAP3_SRAM_PUB_VA (OMAP3_SRAM_VA + 0x8000) 49#define OMAP3_SRAM_PUB_VA (OMAP3_SRAM_VA + 0x8000)
50#define OMAP4_SRAM_PA 0x40200000 /*0x402f0000*/ 50#define OMAP4_SRAM_PA 0x40200000 /*0x402f0000*/
51#define OMAP4_SRAM_VA 0xd7000000 /*0xd70f0000*/ 51#define OMAP4_SRAM_VA 0xfe400000 /*0xfe4f0000*/
52 52
53#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) 53#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
54#define SRAM_BOOTLOADER_SZ 0x00 54#define SRAM_BOOTLOADER_SZ 0x00
@@ -56,16 +56,16 @@
56#define SRAM_BOOTLOADER_SZ 0x80 56#define SRAM_BOOTLOADER_SZ 0x80
57#endif 57#endif
58 58
59#define OMAP24XX_VA_REQINFOPERM0 OMAP2_IO_ADDRESS(0x68005048) 59#define OMAP24XX_VA_REQINFOPERM0 OMAP2_L3_IO_ADDRESS(0x68005048)
60#define OMAP24XX_VA_READPERM0 OMAP2_IO_ADDRESS(0x68005050) 60#define OMAP24XX_VA_READPERM0 OMAP2_L3_IO_ADDRESS(0x68005050)
61#define OMAP24XX_VA_WRITEPERM0 OMAP2_IO_ADDRESS(0x68005058) 61#define OMAP24XX_VA_WRITEPERM0 OMAP2_L3_IO_ADDRESS(0x68005058)
62 62
63#define OMAP34XX_VA_REQINFOPERM0 OMAP2_IO_ADDRESS(0x68012848) 63#define OMAP34XX_VA_REQINFOPERM0 OMAP2_L3_IO_ADDRESS(0x68012848)
64#define OMAP34XX_VA_READPERM0 OMAP2_IO_ADDRESS(0x68012850) 64#define OMAP34XX_VA_READPERM0 OMAP2_L3_IO_ADDRESS(0x68012850)
65#define OMAP34XX_VA_WRITEPERM0 OMAP2_IO_ADDRESS(0x68012858) 65#define OMAP34XX_VA_WRITEPERM0 OMAP2_L3_IO_ADDRESS(0x68012858)
66#define OMAP34XX_VA_ADDR_MATCH2 OMAP2_IO_ADDRESS(0x68012880) 66#define OMAP34XX_VA_ADDR_MATCH2 OMAP2_L3_IO_ADDRESS(0x68012880)
67#define OMAP34XX_VA_SMS_RG_ATT0 OMAP2_IO_ADDRESS(0x6C000048) 67#define OMAP34XX_VA_SMS_RG_ATT0 OMAP2_L3_IO_ADDRESS(0x6C000048)
68#define OMAP34XX_VA_CONTROL_STAT OMAP2_IO_ADDRESS(0x480022F0) 68#define OMAP34XX_VA_CONTROL_STAT OMAP2_L4_IO_ADDRESS(0x480022F0)
69 69
70#define GP_DEVICE 0x300 70#define GP_DEVICE 0x300
71 71
@@ -396,22 +396,24 @@ u32 omap3_configure_core_dpll(u32 m2, u32 unlock_dll, u32 f, u32 inc,
396 sdrc_actim_ctrl_b_1, sdrc_mr_1); 396 sdrc_actim_ctrl_b_1, sdrc_mr_1);
397} 397}
398 398
399/* REVISIT: Should this be same as omap34xx_sram_init() after off-idle? */ 399#ifdef CONFIG_PM
400void restore_sram_functions(void) 400void omap3_sram_restore_context(void)
401{ 401{
402 omap_sram_ceil = omap_sram_base + omap_sram_size; 402 omap_sram_ceil = omap_sram_base + omap_sram_size;
403 403
404 _omap3_sram_configure_core_dpll = 404 _omap3_sram_configure_core_dpll =
405 omap_sram_push(omap3_sram_configure_core_dpll, 405 omap_sram_push(omap3_sram_configure_core_dpll,
406 omap3_sram_configure_core_dpll_sz); 406 omap3_sram_configure_core_dpll_sz);
407 omap_push_sram_idle();
407} 408}
409#endif /* CONFIG_PM */
408 410
409int __init omap34xx_sram_init(void) 411int __init omap34xx_sram_init(void)
410{ 412{
411 _omap3_sram_configure_core_dpll = 413 _omap3_sram_configure_core_dpll =
412 omap_sram_push(omap3_sram_configure_core_dpll, 414 omap_sram_push(omap3_sram_configure_core_dpll,
413 omap3_sram_configure_core_dpll_sz); 415 omap3_sram_configure_core_dpll_sz);
414 416 omap_push_sram_idle();
415 return 0; 417 return 0;
416} 418}
417#else 419#else
diff --git a/arch/arm/plat-omap/usb.c b/arch/arm/plat-omap/usb.c
index 509f2ed99e21..51033a4503c3 100644
--- a/arch/arm/plat-omap/usb.c
+++ b/arch/arm/plat-omap/usb.c
@@ -33,10 +33,10 @@
33#include <asm/system.h> 33#include <asm/system.h>
34#include <mach/hardware.h> 34#include <mach/hardware.h>
35 35
36#include <mach/control.h> 36#include <plat/control.h>
37#include <mach/mux.h> 37#include <plat/mux.h>
38#include <mach/usb.h> 38#include <plat/usb.h>
39#include <mach/board.h> 39#include <plat/board.h>
40 40
41#ifdef CONFIG_ARCH_OMAP1 41#ifdef CONFIG_ARCH_OMAP1
42 42
@@ -159,11 +159,14 @@ static u32 __init omap_usb0_init(unsigned nwires, unsigned is_device)
159 * - OTG support on this port not yet written 159 * - OTG support on this port not yet written
160 */ 160 */
161 161
162 l = omap_readl(USB_TRANSCEIVER_CTRL); 162 /* Don't do this for omap7xx -- it causes USB to not work correctly */
163 l &= ~(7 << 4); 163 if (!cpu_is_omap7xx()) {
164 if (!is_device) 164 l = omap_readl(USB_TRANSCEIVER_CTRL);
165 l |= (3 << 1); 165 l &= ~(7 << 4);
166 omap_writel(l, USB_TRANSCEIVER_CTRL); 166 if (!is_device)
167 l |= (3 << 1);
168 omap_writel(l, USB_TRANSCEIVER_CTRL);
169 }
167 170
168 return 3 << 16; 171 return 3 << 16;
169 } 172 }
@@ -603,7 +606,12 @@ omap_otg_init(struct omap_usb_config *config)
603 if (config->otg || config->register_dev) { 606 if (config->otg || config->register_dev) {
604 syscon &= ~DEV_IDLE_EN; 607 syscon &= ~DEV_IDLE_EN;
605 udc_device.dev.platform_data = config; 608 udc_device.dev.platform_data = config;
606 /* FIXME patch IRQ numbers for omap730 */ 609 /* IRQ numbers for omap7xx */
610 if(cpu_is_omap7xx()) {
611 udc_resources[1].start = INT_7XX_USB_GENI;
612 udc_resources[2].start = INT_7XX_USB_NON_ISO;
613 udc_resources[3].start = INT_7XX_USB_ISO;
614 }
607 status = platform_device_register(&udc_device); 615 status = platform_device_register(&udc_device);
608 if (status) 616 if (status)
609 pr_debug("can't register UDC device, %d\n", status); 617 pr_debug("can't register UDC device, %d\n", status);
@@ -614,8 +622,8 @@ omap_otg_init(struct omap_usb_config *config)
614 if (config->otg || config->register_host) { 622 if (config->otg || config->register_host) {
615 syscon &= ~HST_IDLE_EN; 623 syscon &= ~HST_IDLE_EN;
616 ohci_device.dev.platform_data = config; 624 ohci_device.dev.platform_data = config;
617 if (cpu_is_omap730()) 625 if (cpu_is_omap7xx())
618 ohci_resources[1].start = INT_730_USB_HHC_1; 626 ohci_resources[1].start = INT_7XX_USB_HHC_1;
619 status = platform_device_register(&ohci_device); 627 status = platform_device_register(&ohci_device);
620 if (status) 628 if (status)
621 pr_debug("can't register OHCI device, %d\n", status); 629 pr_debug("can't register OHCI device, %d\n", status);
@@ -626,8 +634,8 @@ omap_otg_init(struct omap_usb_config *config)
626 if (config->otg) { 634 if (config->otg) {
627 syscon &= ~OTG_IDLE_EN; 635 syscon &= ~OTG_IDLE_EN;
628 otg_device.dev.platform_data = config; 636 otg_device.dev.platform_data = config;
629 if (cpu_is_omap730()) 637 if (cpu_is_omap7xx())
630 otg_resources[1].start = INT_730_USB_OTG; 638 otg_resources[1].start = INT_7XX_USB_OTG;
631 status = platform_device_register(&otg_device); 639 status = platform_device_register(&otg_device);
632 if (status) 640 if (status)
633 pr_debug("can't register OTG device, %d\n", status); 641 pr_debug("can't register OTG device, %d\n", status);
@@ -731,7 +739,7 @@ static inline void omap_1510_usb_init(struct omap_usb_config *config) {}
731 739
732void __init omap_usb_init(struct omap_usb_config *pdata) 740void __init omap_usb_init(struct omap_usb_config *pdata)
733{ 741{
734 if (cpu_is_omap730() || cpu_is_omap16xx() || cpu_is_omap24xx()) 742 if (cpu_is_omap7xx() || cpu_is_omap16xx() || cpu_is_omap24xx())
735 omap_otg_init(pdata); 743 omap_otg_init(pdata);
736 else if (cpu_is_omap15xx()) 744 else if (cpu_is_omap15xx())
737 omap_1510_usb_init(pdata); 745 omap_1510_usb_init(pdata);